spring
2025-03-24 1946fb936d68fafa616310d4a7e453b6b7381cf8
合并装备修改
已修改22个文件
621 ■■■■ 文件已修改
src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue 101 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResults/qualityControlPlan/components/detailFormDialog.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue 130 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/addVerificationYearPlanDia.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/addYearPlanDia.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/borrow.vue 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/calibration.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentAcceptance.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentAccident.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentCalibrationPlan.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentFailure.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentMaintenancePlan.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentScrap.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/equipmentVerificationPlan.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/inspectionOfEquipment.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/maintenance.vue 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/operationInstruction.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/quantityValueTraceabilityPlan.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/state.vue 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/systemManagement/documentRecords/approvalRecord.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/systemManagement/documentRecords/cancellationRecord.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue
@@ -18,7 +18,7 @@
        </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;">
@@ -39,7 +39,7 @@
        </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>
    <!--新增修改弹框-->
@@ -47,7 +47,7 @@
      @closeDia="closeDia"></detail-form-dialog>
    <!--实施流程弹框-->
    <carry-out-dialog v-if="carryOutDia" ref="carryOutDia" :qualityMonitorId="qualityMonitorId"
      @closeDia="closeCarryOutDia"></carry-out-dialog>
      @closeCarryOutDia="closeCarryOutDia"></carry-out-dialog>
    <!--评价流程弹框-->
    <evaluate-dialog v-if="evaluateDialog" ref="evaluateDialog" @closeEvaDia="closeEvaDia"></evaluate-dialog>
    <el-dialog :visible.sync="examineDialog" title="审核" width="30%" @close="closeExamineDia">
@@ -196,20 +196,20 @@
        {
          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 '不通过';
@@ -231,20 +231,20 @@
        }, {
          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 '不批准';
@@ -266,18 +266,17 @@
        }, {
          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: [
@@ -355,30 +354,87 @@
        }, {
          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: 'tag',
          label: '实施状态',
          prop: 'detailsRatifyStatus',
          width: '100',
          formatData: (params) => {
            if (params === 0) {
              return '未开始';
            } else if (params === 1) {
              return '待批准';
            } else if (params === 2) {
              return '已批准';
            } else {
              return null;
            }
          },
          formatType: (params) => {
            if (params === 0) {
              return '';
            } else if (params === 1) {
              return 'warning';
            } else if (params === 2) {
              return 'success';
            } else {
              return null;
            }
          }
        },{
          dataType: 'tag',
          label: '评价状态',
          prop: 'evaluateStatus',
          width: '100',
          formatData: (params) => {
            if (params === 0) {
              return '未开始';
            } else if (params === 1) {
              return '待评价';
            }  else if (params === 2) {
              return '待批准';
            } else if (params === 3) {
              return '已批准';
            } else {
              return null;
            }
          },
          formatType: (params) => {
            if (params === 0) {
              return '';
            } else if (params === 1) {
              return 'warning';
            } else if (params === 2) {
              return 'info';
            }  else if (params === 3) {
              return 'success';
            } else {
              return null;
            }
          }
        }, {
          dataType: 'action',
          width: '280',
          label: '操作',
          fixed: 'right',
          operation: [
@@ -661,6 +717,7 @@
        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
src/views/CNAS/process/ensureResults/qualityControlPlan/components/detailFormDialog.vue
@@ -10,12 +10,12 @@
            <el-date-picker
              v-model="form.superviseTime"
              clearable
              format="yyyy-MM"
              format="yyyy.M"
              placeholder="选择日期"
              size="small"
              style="width: 100%"
              type="month"
              value-format="yyyy-MM">
              value-format="yyyy.M">
            </el-date-picker>
          </el-form-item>
        </el-col>
src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue
@@ -24,7 +24,7 @@
      <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>
@@ -36,7 +36,7 @@
            <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>
@@ -45,8 +45,7 @@
        </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"
@@ -59,7 +58,7 @@
      @closeProcessingDia="closeProcessingDia"></processing-sheet>
    <!--纠正处理流程弹框-->
    <rectify-dialog-new v-if="rectifyDia" ref="rectifyDia" :superviseId="superviseId"
      @closeProcessingDia="closeRectifyDia"></rectify-dialog-new>
      @closeRectifyDia="closeRectifyDia"></rectify-dialog-new>
    <el-dialog :visible.sync="ratifyDialog" title="批准" width="30%" @close="closeRatifyDia">
      <span>
        批准备注:
@@ -154,20 +153,19 @@
        {
          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 '不批准';
@@ -189,19 +187,16 @@
        }, {
          label: '批准内容',
          prop: 'ratifyRemark',
          minWidth: '100'
        }, {
          label: '批准人',
          prop: 'ratifyUserName',
          minWidth: '100'
        }, {
          label: '批准日期',
          prop: 'ratifyTime',
          minWidth: '160'
          width: '160'
        }, {
          dataType: 'action',
          label: '操作',
          fixed: 'right',
          operation: [
            {
              name: '批准',
@@ -259,32 +254,110 @@
        {
          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'
        },{
          dataType: 'tag',
          label: '记录状态',
          prop: 'recordStatus',
          width: '100',
          formatData: (params) => {
            if (params === 0) {
              return '未开始';
            } else if (params === 1) {
              return '待批准';
            } else if (params === 2) {
              return '已批准';
            } else {
              return null;
            }
          },
          formatType: (params) => {
            if (params === 0) {
              return '';
            } else if (params === 1) {
              return 'warning';
            } else if (params === 2) {
              return 'success';
            } else {
              return null;
            }
          }
        },{
          dataType: 'tag',
          label: '控制状态',
          prop: 'accordingStatus',
          width: '100',
          formatData: (params) => {
            if (params === 0) {
              return '未开始';
            } else if (params === 1) {
              return '待批准';
            } else if (params === 2) {
              return '已批准';
            } else {
              return null;
            }
          },
          formatType: (params) => {
            if (params === 0) {
              return '';
            } else if (params === 1) {
              return 'warning';
            } else if (params === 2) {
              return 'success';
            } else {
              return null;
            }
          }
        },{
          dataType: 'tag',
          label: '纠正状态',
          prop: 'correctStatus',
          width: '100',
          formatData: (params) => {
            if (params === 0) {
              return '未开始';
            } else if (params === 1) {
              return '待批准';
            } else if (params === 2) {
              return '已批准';
            } else {
              return null;
            }
          },
          formatType: (params) => {
            if (params === 0) {
              return '';
            } else if (params === 1) {
              return 'warning';
            } else if (params === 2) {
              return 'success';
            } else {
              return null;
            }
          }
        }, {
          label: '备注',
          prop: 'remark',
          minWidth: '150px'
        }, {
          dataType: 'action',
          label: '操作',
          fixed: 'right',
          operation: [
            {
              name: '编辑',
@@ -353,6 +426,7 @@
        size: 20,
        total: 0
      },
      currentScrollPosition: 0,
      superviseId: '',
      formDia: false,
      recordsDia: false,
@@ -404,11 +478,6 @@
    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();
    },
    // 导入流程
@@ -536,6 +605,11 @@
    // 年度计划表格,点击行数据后刷新详情
    rowClick(row) {
      this.superviseId = row.superviseId
      this.getYearDetailPlan()
    },
    getYearDetailPlan () {
      this.yearDetailPage.current = 1
      this.yearDetailPage.size = 20
      this.getYearDetailPlanList()
    },
    // 获取年度明细表
@@ -557,6 +631,10 @@
        this.yearDetailLoading = false
      })
    },
    pagination1(page) {
      this.yearDetailPage.size = page.limit;
      this.getYearDetailPlanList();
    },
    // 重置明细表
    clearDetail() {
      this.yearDetailForm = {
src/views/CNAS/resourceDemand/device/component/addVerificationYearPlanDia.vue
@@ -13,7 +13,8 @@
      </div>
      <div style="margin: 10px 0">
        <el-table ref="yearTable" :data="examinePlanDetailsList" id="templateParamTable" row-key="deviceId"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border height="500px" style="width: 100% ;">
                  v-loading="yearTableLoading"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border height="500px">
          <el-table-column label="设备名称" min-width="190" prop="deviceName">
            <template slot-scope="scope">
              <el-input v-model="scope.row.deviceName" clearable size="small"></el-input>
@@ -118,7 +119,8 @@
        planId: '',
        examinePlanDetailsList: [],
      },
      operationType: ''
      operationType: '',
      yearTableLoading: false
    }
  },
  mounted() {
@@ -134,6 +136,7 @@
          planYear: '',
          examinePlanDetailsList: [],
        }
        this.examinePlanDetailsList = []
      } else {
        this.getRowInfo(row)
      }
@@ -141,13 +144,17 @@
      this.getUserList()
    },
    getRowInfo(row) {
      this.yearTableLoading = true
      getDeviceExaminePlan({ planId: row.planId }).then(res => {
        this.yearTableLoading = false
        if (res.code == 200) {
          this.examinePlanDetailsList = res.data.examinePlanDetailsList
          this.form.planName = res.data.planName
          this.form.planYear = res.data.planYear
          this.form.planId = res.data.planId
        }
      }).catch(error => {
        this.yearTableLoading = false
      })
    },
    // 添加设备
src/views/CNAS/resourceDemand/device/component/addYearPlanDia.vue
@@ -13,6 +13,7 @@
      </div>
      <div style="margin: 10px 0">
        <el-table id="templateParamTable" ref="yearTable" :data="calibrationPlanDetailList" height="300px"
                  v-loading="yearTableLoading"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
          row-key="deviceId" style="width: 100% ;">
          <el-table-column label="设备名称及型号" min-width="190" prop="deviceName">
@@ -115,7 +116,8 @@
        planId: '',
        calibrationPlanDetailList: [],
      },
      operationType: ''
      operationType: '',
      yearTableLoading: false
    }
  },
  mounted() {
@@ -129,21 +131,26 @@
        this.form = {
          planName: '',
          planYear: '',
          examinePlanDetailsList: [],
          calibrationPlanDetailList: [],
        }
        this.calibrationPlanDetailList = []
      } else {
        this.getRowInfo(row)
      }
      this.applicationForm = true
    },
    getRowInfo(row) {
      this.yearTableLoading = true
      getDeviceCalibrationPlan({ planId: row.planId }).then(res => {
        this.yearTableLoading = false
        if (res.code == 200) {
          this.calibrationPlanDetailList = res.data.calibrationPlanDetailList
          this.form.planName = res.data.planName
          this.form.planYear = res.data.planYear
          this.form.planId = res.data.planId
        }
      }).catch(err => {
        this.yearTableLoading = false
      })
    },
    // 添加设备
@@ -158,7 +165,12 @@
      this.selectionRows.map(val => {
        this.calibrationPlanDetailList.push({
          deviceId: val.id, deviceName: val.label, deviceNumber: val.value,
          specificationModel: val.specificationModel, verificationCycles: val.calibrationDate, lastDate: val.lastCalibrationDate.substring(0, 10), planDate: val.nextCalibrationDate.substring(0, 10)
          specificationModel: val.specificationModel,
          verificationCycles: val.calibrationDate,
          lastDate: val.lastCalibrationDate.substring(0, 10),
          planDate: val.nextCalibrationDate.substring(0, 10),
          verificationUnit: val.calibrationServices,
          deviceAmount: 1
        })
      })
      this.addEquipDia = false
src/views/CNAS/resourceDemand/device/component/borrow.vue
@@ -2,25 +2,24 @@
<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-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>
      </div>
      <div class="btns">
        </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>
@@ -118,7 +117,6 @@
              <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">
@@ -147,7 +145,6 @@
              <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">
@@ -160,7 +157,6 @@
                  <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;">
@@ -576,76 +572,10 @@
</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>
src/views/CNAS/resourceDemand/device/component/calibration.vue
@@ -36,8 +36,8 @@
        </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>
    <!-- 校准项目维护 -->
src/views/CNAS/resourceDemand/device/component/equipmentAcceptance.vue
@@ -27,7 +27,7 @@
          </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>
src/views/CNAS/resourceDemand/device/component/equipmentAccident.vue
@@ -30,7 +30,7 @@
          </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>
src/views/CNAS/resourceDemand/device/component/equipmentCalibrationPlan.vue
@@ -15,12 +15,12 @@
      <div>
        <el-table ref="yearTable" v-loading="yearTableDataLoading" :data="yearTableData" height="calc(60vh - 20em)"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
          highlight-current-row style="width: 100% ;" @current-change="currentChange">
                  highlight-current-row @current-change="currentChange">
          <!-- 表格列 -->
          <el-table-column align="center" header-align="center" label="序号" prop="prop" type="index"
            width="70"></el-table-column>
          <el-table-column label="年份" min-width="80" prop="planYear"></el-table-column>
          <el-table-column label="计划名称" min-width="180" prop="planName"></el-table-column>
          <el-table-column label="计划名称" min-width="180" prop="planName" show-overflow-tooltip></el-table-column>
          <el-table-column label="编制人" min-width="100" prop="writeName"></el-table-column>
          <el-table-column label="编制日期" min-width="160" prop="writeTime"></el-table-column>
          <el-table-column label="批准状态" min-width="100" prop="ratifyStatus">
@@ -83,7 +83,7 @@
          <!-- 表格列 -->
          <el-table-column align="center" header-align="center" label="序号" prop="prop" type="index"
            width="70"></el-table-column>
          <el-table-column label="设备名称及型号" min-width="180" prop="deviceName"></el-table-column>
          <el-table-column label="设备名称及型号" min-width="180" prop="deviceName" show-overflow-tooltip></el-table-column>
          <el-table-column label="设备数量" min-width="180" prop="deviceAmount"></el-table-column>
          <el-table-column label="仪器编号" min-width="150" prop="deviceNumber"></el-table-column>
          <el-table-column label="检定单位" min-width="150" prop="verificationUnit"> </el-table-column>
src/views/CNAS/resourceDemand/device/component/equipmentFailure.vue
@@ -28,7 +28,7 @@
          </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>
src/views/CNAS/resourceDemand/device/component/equipmentMaintenancePlan.vue
@@ -48,7 +48,7 @@
      title="设备保养计划表" width="80%" @close="closeDialog">
      <div style="display: flex;align-items: center;">
        <el-button v-if="operationType !== 'check'" size="small" type="primary" @click="addTableRow">添加</el-button>
        <span style="width: 60px">年份:</span>
        <span style="width: 60px;margin-left: 10px">年份:</span>
        <el-date-picker v-model="form.planYear" type="year" value-format="yyyy" clearable size="small" format="yyyy"
          placeholder="选择年">
        </el-date-picker>
src/views/CNAS/resourceDemand/device/component/equipmentScrap.vue
@@ -30,7 +30,7 @@
        </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"
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1">
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1" background>
        </el-pagination>
      </div>
    </div>
src/views/CNAS/resourceDemand/device/component/equipmentVerificationPlan.vue
@@ -19,12 +19,12 @@
      <div>
        <el-table ref="yearTable" v-loading="yearTableDataLoading" :data="yearTableData" height="calc(60vh - 20em)"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
          highlight-current-row style="width: 100% ;" @current-change="currentChange">
                  highlight-current-row @current-change="currentChange">
          <!-- 表格列 -->
          <el-table-column align="center" header-align="center" label="序号" prop="prop" type="index"
            width="70"></el-table-column>
          <el-table-column label="年份" min-width="80" prop="planYear"></el-table-column>
          <el-table-column label="计划名称" min-width="180" prop="planName"></el-table-column>
          <el-table-column label="计划名称" min-width="180" prop="planName" show-overflow-tooltip></el-table-column>
          <el-table-column label="编制人" min-width="100" prop="writeName"></el-table-column>
          <el-table-column label="编制日期" min-width="160" prop="writeTime"></el-table-column>
          <el-table-column label="批准状态" min-width="100" prop="ratifyStatus">
@@ -88,7 +88,7 @@
          <el-table-column align="center" header-align="center" label="序号" prop="prop" type="index"
            width="70"></el-table-column>
          <el-table-column label="设备编号" min-width="180" prop="deviceNumber"></el-table-column>
          <el-table-column label="设备名称" min-width="180" prop="deviceName"></el-table-column>
          <el-table-column label="设备名称" min-width="180" prop="deviceName" show-overflow-tooltip></el-table-column>
          <el-table-column label="核查时间" min-width="150" prop="checkTime"></el-table-column>
          <el-table-column label="核查指标" min-width="150" prop="checkIndex"> </el-table-column>
          <el-table-column label="核查方法" min-width="150" prop="checkMethod"></el-table-column>
src/views/CNAS/resourceDemand/device/component/inspectionOfEquipment.vue
@@ -38,7 +38,7 @@
          </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>
src/views/CNAS/resourceDemand/device/component/maintenance.vue
@@ -2,21 +2,22 @@
<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-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>
      </div>
      <div class="btns">
        </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">
@@ -41,7 +42,7 @@
      </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>
    <!-- 新建维护 -->
@@ -276,66 +277,11 @@
</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>
src/views/CNAS/resourceDemand/device/component/operationInstruction.vue
@@ -40,7 +40,7 @@
    </el-table>
    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="1"
      :page-sizes="[10, 20, 30, 50, 100]" :page-size="search.size" layout="->,total, sizes, prev, pager, next, jumper"
      :total="search.total">
      :total="search.total" background>
    </el-pagination>
    <el-dialog :visible.sync="dialogVisible" title="受控申请" width="60%">
      <div style="height: 60vh; overflow-y: auto; overflow-x: hidden;">
src/views/CNAS/resourceDemand/device/component/quantityValueTraceabilityPlan.vue
@@ -50,7 +50,7 @@
      title="仪器设备量值溯源管理总体计划" width="80%" @close="closeDialog">
      <div style="display: flex;align-items: center;">
        <el-button v-if="operationType !== 'check'" size="small" type="primary" @click="addTableRow">添加</el-button>
        <span style="width: 60px">年份:</span>
        <span style="width: 60px;margin-left: 10px">年份:</span>
        <el-date-picker v-model="form.planYear" type="year" value-format="yyyy" clearable size="small" format="yyyy"
          placeholder="选择年">
        </el-date-picker>
@@ -58,7 +58,7 @@
      <div style="margin: 10px 0">
        <el-table ref="yearTable" :data="deviceTraceabilityManagementDetails" height="300px" id="templateParamTable"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
          row-key="deviceId" style="width: 100% ;">
                  row-key="deviceId" v-loading="yearTableLoading">
          <el-table-column align="center" header-align="center" label="序号" type="index" width="60"></el-table-column>
          <el-table-column label="设备名称" min-width="170" prop="deviceId">
            <template slot-scope="scope">
@@ -211,6 +211,7 @@
      notificationLoading: false,
      auditId: '',
      traceabilityManagementId: '',
      yearTableLoading: false
    }
  },
  mounted() {
@@ -272,17 +273,20 @@
      this.form = {
        planYear: '',
        deviceTraceabilityManagementDetails: []
      },
      }
        this.deviceTraceabilityManagementDetails = []
      if (row) {
        this.traceabilityManagementId = row.traceabilityManagementId
        this.yearTableLoading = true
        getTraceabilityManagementDetail({ traceabilityManagementId: this.traceabilityManagementId }).then(res => {
          this.yearTableLoading = false
          if (res.code === 200) {
            this.form = res.data
            this.deviceTraceabilityManagementDetails = this.form.deviceTraceabilityManagementDetails
          }
        }).catch(error => {
          console.error(error)
          this.yearTableLoading = false
        })
      }
    },
@@ -298,7 +302,14 @@
    changeMachineName() {
      this.deviceTraceabilityManagementDetails = []
      this.selectionRows.map(val => {
        this.deviceTraceabilityManagementDetails.push({ deviceId: val.id, managementNumber: val.value, deviceName: val.label, specificationModel: val.specificationModel })
        this.deviceTraceabilityManagementDetails.push({
          deviceId: val.id,
          managementNumber: val.value,
          deviceName: val.label,
          specificationModel: val.specificationModel,
          verificationUnit: val.calibrationServices,
          verificationCycle: val.calibrationDate
        })
      })
      this.addEquipDia = false
      this.rowDrop()
src/views/CNAS/resourceDemand/device/component/state.vue
@@ -2,27 +2,20 @@
<template>
  <div>
    <div class="search">
      <el-row :gutter="10" style="width: 100%;">
        <el-col :span="20" style="display: flex;flex-wrap: wrap;">
          <div class="search_thing">
            <div class="search_label">流程编号:</div>
            <div class="search_input">
      <el-form :model="search" ref="search" size="small" :inline="true">
        <el-form-item label="流程编号">
              <el-input v-model="search.processNumber" clearable placeholder="请输入" size="small" style="width: 100%"
                @keyup.enter.native="getDeviceStatePage(clickNodeVal.value)"></el-input>
            </div>
          </div>
          <div class="search_thing" style="padding-left: 20px;">
        </el-form-item>
        <el-form-item>
            <el-button size="mini" type="primary" @click="getDeviceStatePage(clickNodeVal.value)">查询</el-button>
            <el-button size="mini" @click="resetSearch">重置</el-button>
          </div>
        </el-col>
        <el-col :span="4">
          <div class="btns">
        </el-form-item>
      </el-form>
      <div>
            <el-button size="small" type="primary" @click="dialogVisible = true">新建</el-button>
            <el-button :loading="outLoading" size="small" type="primary" @click="handleDown">导出Excel</el-button>
          </div>
        </el-col>
      </el-row>
    </div>
    <div>
      <el-table :data="tableDatalist" height="calc(100vh - 20em)" style="width: 100% ;"
@@ -54,7 +47,7 @@
      </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>
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="dialogVisible" title="设备情况"
@@ -509,98 +502,10 @@
</script>
<style scoped>
.dialog-content {
  max-height: 70vh;
  /* 设置最大高度 */
  overflow-y: auto;
  /* 启用垂直滚动 */
}
h4 {
  font-weight: 400;
  font-size: 16px;
  margin: 10px 0;
}
/*
保存提交按钮样式
*/
h4 .title {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
h4 .title .line {
  display: inline-block;
  width: 3px;
  height: 16px;
  background: #3A7BFA;
  margin-right: 4px;
}
.tables {
  width: 100%;
  height: calc(100vh - 15em);
}
.el-from {
  max-width: 400px;
  margin: 0 auto;
}
.form-row {
  display: flex;
  justify-content: space-between;
}
.form-row .el-form-item {
  flex: 1;
  /* 每个表单项占据相同比例的空间 */
  margin-right: 100px;
  /* 可选:为右侧元素添加间距 */
}
/* 移除最后一个元素的右边距 */
.form-row .el-form-item:last-child {
  margin-right: 0;
}
.search {
  background-color: #fff;
  margin: 10px 0;
  height: 46px;
  display: flex;
  align-items: center;
  position: relative;
}
.search_thing {
  display: flex;
  align-items: center;
  height: 40px;
}
.search_label {
  width: 70px;
  font-size: 14px;
  text-align: right;
}
.search_input {
  width: 70%;
}
.btns {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.form .search_label {
  width: 120px;
  justify-content: space-between;
  margin-top: 10px;
}
</style>
src/views/CNAS/systemManagement/documentRecords/approvalRecord.vue
@@ -22,10 +22,9 @@
        <el-button size="small" type="primary" @click="openAdd('新增')">新增</el-button>
        <el-upload :action="action" :multiple="false" :show-file-list="false" accept='.doc,.docx'
                   :headers="uploadHeader" :on-change="beforeUpload" :on-error="onError" ref='upload'
                   :on-success="handleSuccessUp" style="display:inline-block;margin-left: 20px;">
                   :on-success="handleSuccessUp" style="display: inline-block;margin: 0 8px">
          <el-button type="primary" size="small">导入</el-button></el-upload>
        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading"
                   style="display:inline-block;margin-left: 20px;">导出</el-button>
        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">导出</el-button>
      </div>
    </div>
    <div class="table">
src/views/CNAS/systemManagement/documentRecords/cancellationRecord.vue
@@ -22,10 +22,9 @@
        <el-button size="small" type="primary" @click="openAdd">新增</el-button>
        <el-upload :action="action" :multiple="false" :show-file-list="false" accept='.doc,.docx'
                   :headers="uploadHeader" :on-change="beforeUpload" :on-error="onError" ref='upload'
                   :on-success="handleSuccessUp" style="display:inline-block;margin-left: 20px;">
                   :on-success="handleSuccessUp" style="display:inline-block;margin: 0 8px;">
          <el-button type="primary" size="small">导入</el-button></el-upload>
        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading"
                   style="display:inline-block;margin-left: 20px;">导出</el-button>
        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">导出</el-button>
      </div>
    </div>
    <div class="table">
src/views/CNAS/systemManagement/documentRecords/distributionCollectionRecord.vue
@@ -22,10 +22,9 @@
        <el-button size="small" type="primary" @click="openAdd">新增</el-button>
        <el-upload :action="action" :multiple="false" :show-file-list="false" accept='.doc,.docx'
                   :headers="uploadHeader" :on-change="beforeUpload" :on-error="onError" ref='upload'
                   :on-success="handleSuccessUp" style="display:inline-block;margin-left: 20px;">
                   :on-success="handleSuccessUp" style="display:inline-block;margin: 0 8px;">
          <el-button type="primary" size="small">导入</el-button></el-upload>
        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading"
                   style="display:inline-block;margin-left: 20px;">导出</el-button>
        <el-button size="small" type="primary" @click="handleDown" :loading="outLoading">导出</el-button>
      </div>
    </div>
    <div class="table">