| | |
| | | count += a.name.length; |
| | | } |
| | | }); |
| | | this.btnWidth = count * 15 + 60 + "px"; |
| | | return count * 15 + 60 + "px"; |
| | | this.btnWidth = count * 18 + 60 + "px"; |
| | | return count * 18 + 60 + "px"; |
| | | }, |
| | | getTitleWidth(row) { |
| | | if (row.label.includes('时间') || row.label.includes('编号') || row.label.includes('样品名称') || row.label.includes('零件')) { |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearTableData" :column="yearColumnData" :page="yearPage" :tableLoading="yearLoading" |
| | | height="40vh" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table> |
| | | :height="'calc(100vh - 34em)'" @pagination="pagination" :rowClick="rowClick" key="yearTableData"></lims-table> |
| | | </div> |
| | | <div style="margin-top: 20px"> |
| | | <div style="display: flex;justify-content: space-between;"> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearDetailTableData" :column="yearDetailColumnData" :page="yearDetailPage" |
| | | :tableLoading="yearDetailLoading" height="40vh" @pagination="pagination1" |
| | | :tableLoading="yearDetailLoading" :height="'calc(100vh - 34em)'" @pagination="pagination1" ref="yearDetailTableData" |
| | | key="yearDetailTableData"></lims-table> |
| | | </div> |
| | | <!--新增修改弹框--> |
| | |
| | | { |
| | | label: '计划名称', |
| | | prop: 'monitorName', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '编制人', |
| | | prop: 'writeName', |
| | | minWidth: '100' |
| | | width: '100' |
| | | }, { |
| | | label: '编制日期', |
| | | prop: 'writeTime', |
| | | minWidth: '160' |
| | | width: '160' |
| | | }, { |
| | | dataType: 'tag', |
| | | label: '审核状态', |
| | | prop: 'examineStatus', |
| | | minWidth: '100', |
| | | width: '100', |
| | | formatData: (params) => { |
| | | if (params === 0) { |
| | | return '不通过'; |
| | |
| | | }, { |
| | | label: '审核内容', |
| | | prop: 'examineRemark', |
| | | minWidth: '100' |
| | | width: '100' |
| | | }, { |
| | | label: '审核人', |
| | | prop: 'examineName', |
| | | minWidth: '100' |
| | | width: '100' |
| | | }, { |
| | | label: '审核日期', |
| | | prop: 'examineTime', |
| | | minWidth: '160' |
| | | width: '160' |
| | | }, { |
| | | dataType: 'tag', |
| | | label: '批准状态', |
| | | prop: 'ratifyStatus', |
| | | minWidth: '100', |
| | | width: '100', |
| | | formatData: (params) => { |
| | | if (params === 0) { |
| | | return '不批准'; |
| | |
| | | }, { |
| | | label: '批准内容', |
| | | prop: 'ratifyRemark', |
| | | minWidth: '100' |
| | | width: '100' |
| | | }, { |
| | | label: '批准人', |
| | | prop: 'ratifyName', |
| | | minWidth: '100' |
| | | width: '100' |
| | | }, { |
| | | label: '批准日期', |
| | | prop: 'ratifyTime', |
| | | minWidth: '160' |
| | | width: '160' |
| | | }, { |
| | | dataType: 'action', |
| | | minWidth: '190', |
| | | label: '操作', |
| | | fixed: 'right', |
| | | operation: [ |
| | |
| | | }, { |
| | | label: '计划开展时间', |
| | | prop: 'plannedTime', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '监控项目', |
| | | prop: 'monitorProject', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '参加单位(人员)', |
| | | prop: 'participant', |
| | | minWidth: '150px' |
| | | width: '190px' |
| | | }, { |
| | | label: '预算(元)', |
| | | prop: 'budget', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '组织人员', |
| | | prop: 'organization', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '监控方式', |
| | | prop: 'monitorWay', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | dataType: 'action', |
| | | width: '280', |
| | | label: '操作', |
| | | fixed: 'right', |
| | | operation: [ |
| | |
| | | this.yearDetailLoading = false |
| | | this.yearDetailTableData = res.data.records |
| | | this.yearDetailPage.total = res.data.total |
| | | this.$refs.yearDetailTableData.$refs.multipleTable.doLayout() |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.yearDetailLoading = false |
| | |
| | | <div style="display: flex;justify-content: space-between;"> |
| | | <el-form :model="yearDetailForm" ref="yearDetailForm" size="small" :inline="true"> |
| | | <el-form-item> |
| | | <el-radio-group v-model="yearDetailForm.causeType" @change="getYearDetailPlanList" size="small"> |
| | | <el-radio-group v-model="yearDetailForm.causeType" @change="getYearDetailPlan" size="small"> |
| | | <el-radio-button :label="1">定期监督</el-radio-button> |
| | | <el-radio-button :label="2">动态监督</el-radio-button> |
| | | </el-radio-group> |
| | |
| | | <el-input v-model="yearDetailForm.superviseProject" placeholder="请输入" size="small"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" size="mini" @click="getYearDetailPlanList">查询</el-button> |
| | | <el-button type="primary" size="mini" @click="getYearDetailPlan">查询</el-button> |
| | | <el-button size="mini" @click="clearDetail">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | |
| | | </div> |
| | | </div> |
| | | <lims-table :tableData="yearDetailTableData" :column="yearDetailColumnData" :page="yearDetailPage" |
| | | :tableLoading="yearDetailLoading" height="40vh" @pagination="pagination1" |
| | | key="yearDetailTableData"></lims-table> |
| | | :tableLoading="yearDetailLoading" height="40vh" @pagination="pagination1" key="yearDetailColumnData"></lims-table> |
| | | </div> |
| | | <!--新增修改弹框--> |
| | | <detail-form-dialog v-if="formDia" ref="formDia" :superviseId="superviseId" |
| | |
| | | { |
| | | label: '计划名称', |
| | | prop: 'superviseName', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '编制人', |
| | | prop: 'writeUserName', |
| | | minWidth: '100' |
| | | }, { |
| | | label: '编制日期', |
| | | prop: 'writeTime', |
| | | minWidth: '160' |
| | | width: '160' |
| | | }, { |
| | | dataType: 'tag', |
| | | label: '批准状态', |
| | | prop: 'ratifyStatus', |
| | | minWidth: '100', |
| | | width: '100', |
| | | formatData: (params) => { |
| | | if (params === 0) { |
| | | return '不批准'; |
| | |
| | | }, { |
| | | label: '批准内容', |
| | | prop: 'ratifyRemark', |
| | | minWidth: '100' |
| | | }, { |
| | | label: '批准人', |
| | | prop: 'ratifyUserName', |
| | | minWidth: '100' |
| | | }, { |
| | | label: '批准日期', |
| | | prop: 'ratifyTime', |
| | | minWidth: '160' |
| | | width: '160' |
| | | }, { |
| | | dataType: 'action', |
| | | label: '操作', |
| | | fixed: 'right', |
| | | operation: [ |
| | | { |
| | | name: '批准', |
| | |
| | | { |
| | | label: '监督日期', |
| | | prop: 'superviseTime', |
| | | minWidth: '150px' |
| | | width: '120px' |
| | | }, { |
| | | label: '监督目的', |
| | | prop: 'supervisePurpose', |
| | | minWidth: '150px', |
| | | showOverflowTooltip: true, |
| | | width: '150px', |
| | | }, { |
| | | label: '监控项目', |
| | | prop: 'superviseProject', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '被监督人员', |
| | | prop: 'supervisee', |
| | | minWidth: '150px' |
| | | width: '120px' |
| | | }, { |
| | | label: '监督原因', |
| | | prop: 'superviseReason', |
| | | minWidth: '150px' |
| | | width: '150px' |
| | | }, { |
| | | label: '备注', |
| | | prop: 'remark', |
| | | minWidth: '150px' |
| | | }, { |
| | | dataType: 'action', |
| | | label: '操作', |
| | | fixed: 'right', |
| | | operation: [ |
| | | { |
| | | name: '编辑', |
| | |
| | | size: 20, |
| | | total: 0 |
| | | }, |
| | | currentScrollPosition: 0, |
| | | superviseId: '', |
| | | formDia: false, |
| | | recordsDia: false, |
| | |
| | | pagination({ page, limit }) { |
| | | this.yearPage.current = page; |
| | | this.yearPage.size = limit; |
| | | this.getYearPlanList(); |
| | | }, |
| | | pagination1({ page, limit }) { |
| | | this.yearDetailPage.current = page; |
| | | this.yearDetailPage.size = limit; |
| | | this.getYearPlanList(); |
| | | }, |
| | | // 导入流程 |
| | |
| | | // 年度计划表格,点击行数据后刷新详情 |
| | | rowClick(row) { |
| | | this.superviseId = row.superviseId |
| | | this.getYearDetailPlan() |
| | | }, |
| | | getYearDetailPlan () { |
| | | this.yearDetailPage.current = 1 |
| | | this.yearDetailPage.size = 20 |
| | | this.getYearDetailPlanList() |
| | | }, |
| | | // 获取年度明细表 |
| | |
| | | this.yearDetailLoading = false |
| | | }) |
| | | }, |
| | | pagination1(page) { |
| | | this.yearDetailPage.size = page.limit; |
| | | this.getYearDetailPlanList(); |
| | | }, |
| | | // 重置明细表 |
| | | clearDetail() { |
| | | this.yearDetailForm = { |
| | |
| | | <template> |
| | | <div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">流程编号:</div> |
| | | <div><el-input size="small" placeholder="请输入" clearable v-model="queryParams.processNumber" |
| | | @keyup.enter.native="refreshTable()"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button> |
| | | <el-button size="mini" @click="refresh()">重置</el-button> |
| | | </div> |
| | | <div class="btns"> |
| | | <el-form :model="queryParams" ref="queryParams" size="small" :inline="true"> |
| | | <el-form-item label="流程编号"> |
| | | <el-input size="small" placeholder="请输入" clearable v-model="queryParams.processNumber" |
| | | @keyup.enter.native="refreshTable()"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="refreshTable()">查询</el-button> |
| | | <el-button size="mini" @click="refresh()">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div> |
| | | <el-button size="small" type="primary" @click="add">新增</el-button> |
| | | <!-- <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">导出</el-button>--> |
| | | </div> |
| | | </div> |
| | | <div class="tables" style="margin-top: 10px;"> |
| | | <div class="tables"> |
| | | <lims-table :tableData="tableData" :column="column" :tableLoading="tableLoading" :height="'calc(100vh - 290px)'" |
| | | :page="page" @pagination="pagination"></lims-table> |
| | | <!-- <ValueTable ref="ValueTable" :url="$api.deviceBorrow.deviceBorrowPage" |
| | | :delUrl="$api.deviceBorrow.deleteDeviceBorrow" :componentData="componentData" :key="upIndex" /> --> |
| | | </div> |
| | | <el-dialog title="仪器设备领(借)用登记" top="5vh" :visible.sync="dialogVisible" width="60%"> |
| | | <el-steps :active="currentStep" finish-status="success" align-center> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="归还人:" prop="rebackUser" |
| | | :rules="[{ required: currentStep === 1, message: '请输入归还人', trigger: 'change' }]"> |
| | | <!-- <el-input v-model="form.rebackUser" size="small" :disabled="currentStep !== 1"></el-input> --> |
| | | <el-select v-model="form.rebackUser" filterable placeholder="请选择" clearable size="small" |
| | | style="width: 50%;" :disabled="currentStep !== 1"> |
| | | <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name"> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="设备负责人:" prop="deviceUser" |
| | | :rules="[{ required: currentStep === 1, message: '请选择设备负责人', trigger: 'change' }]"> |
| | | <!-- <el-input v-model="form.deviceUser" size="small" :disabled="currentStep !== 1"></el-input> --> |
| | | <el-select v-model="form.deviceUser" filterable placeholder="请选择" clearable size="small" |
| | | style="width: 50%;" :disabled="currentStep !== 1"> |
| | | <el-option v-for="item in responsibleOptions" :key="item.id" :label="item.name" :value="item.name"> |
| | |
| | | <el-input type="textarea" v-model="form.note" :disabled="currentStep !== 1" size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </el-row> |
| | | </el-card> |
| | | <el-row style="margin-top: 1em;"> |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | h4 { |
| | | font-weight: 400; |
| | | font-size: 16px; |
| | | .search { |
| | | height: 46px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin: 10px 0; |
| | | } |
| | | |
| | | h4 .line { |
| | | display: inline-block; |
| | | width: 3px; |
| | | height: 16px; |
| | | background: #3A7BFA; |
| | | margin-right: 4px; |
| | | } |
| | | |
| | | .tables { |
| | | width: 100%; |
| | | height: calc(100vh - 15em); |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | position: relative; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 40px; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 70px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 120px); |
| | | } |
| | | |
| | | .btns { |
| | | position: absolute; |
| | | right: 0px; |
| | | top: 50%; |
| | | transform: translate(0, -50%); |
| | | } |
| | | |
| | | .btns_thing { |
| | | position: absolute; |
| | | right: 230px; |
| | | top: 50%; |
| | | transform: translate(0, -50%); |
| | | } |
| | | |
| | | .form .search_label { |
| | | width: 120px; |
| | | } |
| | | |
| | | .el-radio { |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | .el-radio-group { |
| | | width: 100%; |
| | | display: flex; |
| | | margin-top: 12px; |
| | | } |
| | | </style> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]" |
| | | :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" style="margin-right: 5%;" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange"> |
| | | :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" |
| | | @size-change="handleSizeChange" @current-change="handleCurrentChange" background> |
| | | </el-pagination> |
| | | </div> |
| | | <!-- 校准项目维护 --> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]" |
| | | :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" |
| | | :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" background |
| | | @size-change="handleSizeChange1" @current-change="handleCurrentChange1"> |
| | | </el-pagination> |
| | | </div> |
| | |
| | | <template> |
| | | <div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">流程编号:</div> |
| | | <div class="search_input"><el-input v-model="search.deviceNumber" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input></div> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px;"> |
| | | <el-button size="mini" type="primary" @click="getAllMessage(clickNodeVal.value)">查询</el-button> |
| | | <el-button size="mini" @click="resetSearch">重置</el-button> |
| | | </div> |
| | | <div class="btns"> |
| | | <el-form :model="search" ref="search" size="small" :inline="true"> |
| | | <el-form-item label="流程编号"> |
| | | <el-input v-model="search.deviceNumber" clearable placeholder="请输入" size="small" |
| | | @keyup.enter.native="getAllMessage(clickNodeVal.value)"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" @click="getAllMessage(clickNodeVal.value)">查询</el-button> |
| | | <el-button size="mini" @click="resetSearch">重置</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div> |
| | | <el-button size="small" type="primary" @click="dialogVisible = true; add()">添加维护记录</el-button> |
| | | <el-button :loading="outLoading" size="small" type="primary" @click="handleDownOne">导出</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="tables" style="margin-top: 10px;"> |
| | | <div> |
| | | <el-table ref="table" :data="MaintainParam" height="calc(100vh - 20em)" |
| | | :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border> |
| | | <el-table-column label="序号" type="index" width="120"> |
| | |
| | | </el-table> |
| | | <el-pagination :current-page="1" :page-size="search.size" :page-sizes="[10, 20, 30, 50, 100]" |
| | | :total="search.total" layout="->,total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange"> |
| | | @current-change="handleCurrentChange" background> |
| | | </el-pagination> |
| | | </div> |
| | | <!-- 新建维护 --> |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | h4 { |
| | | font-weight: 400; |
| | | font-size: 16px; |
| | | .search { |
| | | height: 46px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | margin: 10px 0; |
| | | } |
| | | |
| | | h4 .line { |
| | | display: inline-block; |
| | | width: 3px; |
| | | height: 16px; |
| | | background: #3A7BFA; |
| | | margin-right: 4px; |
| | | } |
| | | |
| | | .tables { |
| | | width: 100%; |
| | | height: calc(100vh - 17em); |
| | | } |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | position: relative; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .search_thing { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 40px; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 80px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: 73%; |
| | | } |
| | | |
| | | .btns { |
| | | position: absolute; |
| | | right: 0px; |
| | | top: 50%; |
| | | transform: translate(0, -50%); |
| | | } |
| | | |
| | | .btns_thing { |
| | | position: absolute; |
| | | right: 230px; |
| | | top: 50%; |
| | | transform: translate(0, -50%); |
| | | } |
| | | |
| | | .form .search_label { |
| | | width: 120px; |
| | | align-items: flex-start; |
| | | } |
| | | </style> |
| | |
| | | if(i+1==arr[1]){ |
| | | // 赋值数采优化检验项列表 |
| | | arrSpecial.push(n.i) |
| | | setTimeout(()=>{ |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | | // 保留模板配置的小数点位数 |
| | | let str0 = n.v.ct.fa.split('.')[1] |
| | | num0 = str0.length |
| | | n.v.v = dataAcquisitionInfo[str].value[i]?Number(dataAcquisitionInfo[str].value[i]).toFixed(num0):dataAcquisitionInfo[str].value[i] |
| | | }else{ |
| | | // 直接赋值 |
| | | n.v.v = dataAcquisitionInfo[str].value[i] |
| | | let num0 = 0 |
| | | if(n.v.ct&&n.v.ct.fa&&typeof n.v.ct.fa == 'string'&&n.v.ct.fa.includes('.')){ |
| | | // 保留模板配置的小数点位数 |
| | | let str0 = n.v.ct.fa.split('.')[1] |
| | | num0 = str0.length |
| | | n.v.v = dataAcquisitionInfo[str].value[i]?Number(dataAcquisitionInfo[str].value[i]).toFixed(num0):dataAcquisitionInfo[str].value[i] |
| | | }else{ |
| | | // 直接赋值 |
| | | n.v.v = dataAcquisitionInfo[str].value[i] |
| | | } |
| | | // 传递给主线程 |
| | | result = { |
| | | method:'changeInput', |
| | | value:{ |
| | | list:list, |
| | | n:n |
| | | } |
| | | // 传递给主线程 |
| | | result = { |
| | | method:'changeInput', |
| | | value:{ |
| | | list:list, |
| | | n:n |
| | | } |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | | },2000) |
| | | } |
| | | self.postMessage(JSON.stringify(result)) |
| | | } |
| | | } |
| | | }else{ |