gaoluyang
2025-03-24 6bdeb3668666e6be8ad03e4c65ca3debc802a04a
设备页面-样式优化
已修改8个文件
320 ■■■■ 文件已修改
src/components/Table/lims-table.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResults/ensureResultsValidity/index.vue 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/process/ensureResults/qualityControlPlan/index.vue 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CNAS/resourceDemand/device/component/borrow.vue 98 ●●●● 补丁 | 查看 | 原始文档 | 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/maintenance.vue 86 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/workers/DataWorker.worker.js 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Table/lims-table.vue
@@ -302,8 +302,8 @@
          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('零件')) {
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>
    <!--新增修改弹框-->
@@ -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,29 @@
        }, {
          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: [
@@ -661,6 +659,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/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"
@@ -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,29 @@
        {
          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: '编辑',
@@ -353,6 +345,7 @@
        size: 20,
        total: 0
      },
      currentScrollPosition: 0,
      superviseId: '',
      formDia: false,
      recordsDia: false,
@@ -404,11 +397,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 +524,11 @@
    // 年度计划表格,点击行数据后刷新详情
    rowClick(row) {
      this.superviseId = row.superviseId
      this.getYearDetailPlan()
    },
    getYearDetailPlan () {
      this.yearDetailPage.current = 1
      this.yearDetailPage.size = 20
      this.getYearDetailPlanList()
    },
    // 获取年度明细表
@@ -557,6 +550,10 @@
        this.yearDetailLoading = false
      })
    },
    pagination1(page) {
      this.yearDetailPage.size = page.limit;
      this.getYearDetailPlanList();
    },
    // 重置明细表
    clearDetail() {
      this.yearDetailForm = {
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-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>
@@ -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/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-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">
@@ -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/workers/DataWorker.worker.js
@@ -65,27 +65,25 @@
                  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{