#94 qhse调整

Fusionné
yanghao a fusionné 7 commits à partir de shuzhihua/qhse_ptw vers shuzhihua/master il y a 1 jour

+ 248 - 2
src/views/pms/qhse/certPerson/CertPersonForm.vue

@@ -32,6 +32,230 @@
       <el-form-item label="备注" prop="remark">
         <el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" />
       </el-form-item>
+
+      <el-divider>是否需要相关证书</el-divider>
+
+      <!-- <div class="flex flex-wrap items-center justify-between">
+        <el-form-item label="硫化氢证" prop="lsh">
+          <el-select v-model="formData.lsh" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="井控证" prop="jk">
+          <el-select v-model="formData.jk" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="HSE证" prop="hse">
+          <el-select v-model="formData.hse" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="司钻证" prop="sz">
+          <el-select v-model="formData.sz" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="高处作业证" prop="gczy">
+          <el-select v-model="formData.gczy" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="电工证" prop="dg">
+          <el-select v-model="formData.dg" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item
+          label="连续油管主操证"
+          prop="lxygzc"
+          label-width="auto"
+          style="margin-left: -5px">
+          <el-select v-model="formData.lxygzc" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="吊装证" prop="dz">
+          <el-select v-model="formData.dz" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="特种作业证" prop="tzzy">
+          <el-select v-model="formData.tzzy" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="安全管理证" prop="aqgl">
+          <el-select v-model="formData.aqgl" placeholder="请选择" clearable style="width: 150px">
+            <el-option
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value" />
+          </el-select>
+        </el-form-item>
+      </div> -->
+
+      <div class="flex flex-wrap items-center justify-between">
+        <el-form-item label="硫化氢证" prop="lsh">
+          <el-radio-group v-model="formData.lsh">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="井控证" prop="jk">
+          <el-radio-group v-model="formData.jk">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="HSE证" prop="hse">
+          <el-radio-group v-model="formData.hse">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="司钻证" prop="sz">
+          <el-radio-group v-model="formData.sz">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="高处作业证" prop="gczy">
+          <el-radio-group v-model="formData.gczy">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="电工证" prop="dg">
+          <el-radio-group v-model="formData.dg">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item
+          label="连续油管主操证"
+          prop="lxygzc"
+          label-width="auto"
+          style="margin-left: -5px">
+          <el-radio-group v-model="formData.lxygzc">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="吊装证" prop="dz">
+          <el-radio-group v-model="formData.dz">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="特种作业证" prop="tzzy">
+          <el-radio-group v-model="formData.tzzy">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+
+        <el-form-item label="安全管理证" prop="aqgl">
+          <el-radio-group v-model="formData.aqgl">
+            <el-radio
+              v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+              :key="dict.value"
+              :value="dict.value">
+              {{ dict.label }}
+            </el-radio>
+          </el-radio-group>
+        </el-form-item>
+      </div>
     </el-form>
     <template #footer>
       <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
@@ -45,6 +269,7 @@ import { handleTree, defaultProps } from '@/utils/tree'
 import * as DeptApi from '@/api/system/dept'
 import { useUserStore } from '@/store/modules/user'
 import { ElMessageBox } from 'element-plus'
+import { DICT_TYPE, getBoolDictOptions } from '@/utils/dict'
 /** SOC卡汇总 表单 */
 defineOptions({ name: 'IotSocSummaryForm' })
 
@@ -65,13 +290,34 @@ const formData = ref({
 
   remark: undefined,
   deptId: undefined,
-  deptName: undefined
+  deptName: undefined,
+  lsh: undefined,
+  jk: undefined,
+  hse: undefined,
+  sz: undefined,
+  gczy: undefined,
+  dg: undefined,
+  lxygzc: undefined,
+  dz: undefined,
+  tzzy: undefined,
+  aqgl: undefined
 })
 const formRules = reactive({
   nickname: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
   deptId: [{ required: true, message: '请选择所属队伍', trigger: 'blur' }],
   mobile: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
-  postName: [{ required: true, message: '请输入岗位名称', trigger: 'blur' }]
+  postName: [{ required: true, message: '请输入岗位名称', trigger: 'blur' }],
+
+  lsh: [{ required: true, message: '请选择', trigger: 'blur' }],
+  jk: [{ required: true, message: '请选择', trigger: 'blur' }],
+  hse: [{ required: true, message: '请选择', trigger: 'blur' }],
+  sz: [{ required: true, message: '请选择', trigger: 'blur' }],
+  gczy: [{ required: true, message: '请选择', trigger: 'blur' }],
+  dg: [{ required: true, message: '请选择', trigger: 'blur' }],
+  lxygzc: [{ required: true, message: '请选择', trigger: 'blur' }],
+  dz: [{ required: true, message: '请选择', trigger: 'blur' }],
+  tzzy: [{ required: true, message: '请选择', trigger: 'blur' }],
+  aqgl: [{ required: true, message: '请选择', trigger: 'blur' }]
 })
 const formRef = ref() // 表单 Ref
 

+ 109 - 0
src/views/pms/qhse/certPerson/index.vue

@@ -79,6 +79,115 @@
           <zm-table-column label="岗位" align="center" prop="postName" />
           <zm-table-column label="手机号" align="center" prop="mobile" />
           <zm-table-column label="部门名称" align="center" prop="deptName" />
+          <zm-table-column label="三小证" align="center">
+            <zm-table-column label="硫化氢" align="center">
+              <template #default="scope">
+                <el-button circle type="success" style="border: none" plain v-if="scope.row.lsh">
+                  <span class="text-[#259644]">
+                    {{ '✔' }}
+                  </span>
+                </el-button>
+                <span v-else></span>
+              </template>
+            </zm-table-column>
+            <zm-table-column label="井控(A2)" align="center">
+              <template #default="scope">
+                <el-button circle type="success" style="border: none" plain v-if="scope.row.jk">
+                  <span class="text-[#259644]">
+                    {{ '✔' }}
+                  </span>
+                </el-button>
+                <span v-else></span>
+              </template>
+            </zm-table-column>
+            <zm-table-column label="HSE" align="center">
+              <template #default="scope">
+                <el-button circle type="success" style="border: none" plain v-if="scope.row.hse">
+                  <span class="text-[#259644]">
+                    {{ '✔' }}
+                  </span>
+                </el-button>
+                <span v-else></span>
+              </template>
+            </zm-table-column>
+          </zm-table-column>
+
+          <zm-table-column label="司钻证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.sz">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="高处作业证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.gczy">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="电工证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.dg">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="连续油管主操证" align="center" min-width="120px">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.lxygzc">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="吊装证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.dz">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="特种作业证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.tzzy">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
+
+          <zm-table-column label="安全管理证" align="center">
+            <template #default="scope">
+              <el-button circle type="success" style="border: none" plain v-if="scope.row.aqgl">
+                <span class="text-[#259644]">
+                  {{ '✔' }}
+                </span>
+              </el-button>
+              <span v-else></span>
+            </template>
+          </zm-table-column>
 
           <zm-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
 

+ 16 - 1
src/views/pms/qhse/certificate.vue

@@ -49,6 +49,20 @@
             </el-select>
           </el-form-item>
 
+          <el-form-item label="是否预警" prop="alertWarn">
+            <el-select
+              v-model="queryParams.alertWarn"
+              placeholder="请选择是否预警"
+              clearable
+              style="width: 150px">
+              <el-option
+                v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value" />
+            </el-select>
+          </el-form-item>
+
           <el-form-item>
             <el-button @click="handleAdd" type="primary"
               ><Icon icon="ep:plus" class="mr-5px" />新增</el-button
@@ -429,7 +443,8 @@ const queryParams = reactive({
   type: undefined,
   classify: undefined,
   deptId: '',
-  expired: undefined
+  expired: undefined,
+  alertWarn: undefined
 })
 const queryFormRef = ref(null) // 搜索的表单
 

+ 21 - 5
src/views/pms/qhse/index.vue

@@ -14,14 +14,28 @@
               placeholder="请输入计量器具名称"
               clearable
               @keyup.enter="handleQuery"
-              class="!w-180px" />
+              class="!w-150px" />
           </el-form-item>
           <el-form-item label="是否过期" prop="expired">
             <el-select
               v-model="queryParams.expired"
               placeholder="请选择是否过期"
               clearable
-              style="width: 180px">
+              style="width: 120px">
+              <el-option
+                v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
+                :key="dict.value"
+                :label="dict.label"
+                :value="dict.value" />
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="是否预警" prop="alertWarn">
+            <el-select
+              v-model="queryParams.alertWarn"
+              placeholder="请选择是否预警"
+              clearable
+              style="width: 120px">
               <el-option
                 v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
                 :key="dict.value"
@@ -88,7 +102,7 @@
         <zm-table
           :loading="loading"
           :data="list"
-          height="calc(46vh - 140px)"
+          height="calc(46vh - 130px)"
           :show-overflow-tooltip="true"
           :row-style="tableRowStyle"
           :row-class-name="tableRowClassName">
@@ -205,7 +219,7 @@
               v-model="formData.deptId"
               :data="deptList2"
               :props="defaultProps"
-              check-strictly
+              :check-strictly="false"
               node-key="id"
               filterable
               placeholder="请选择所在部门" />
@@ -453,7 +467,8 @@ const queryParams = reactive({
   pageSize: 10,
   measureName: undefined,
   deptId: undefined,
-  expired: undefined
+  expired: undefined,
+  alertWarn: undefined
 })
 const queryFormRef = ref(null) // 搜索的表单
 
@@ -609,6 +624,7 @@ const handleAdd = () => {
   isEdit.value = false
   dialogTitle.value = '新增台账'
   resetForm()
+  formData.value.deptId = userStore.getUser.deptId // 默认选择当前用户的部门
   dialogVisible.value = true
 }
 

+ 42 - 24
src/views/pms/qhse/iotmeasuredetect/IotMeasureDetectForm.vue

@@ -115,6 +115,15 @@
             class="!w-200px" />
         </el-form-item>
 
+        <el-form-item label="计量器具编码" prop="measureName">
+          <el-input
+            v-model="queryParams.measureCode"
+            placeholder="请输入计量器具编码"
+            clearable
+            @keyup.enter="handleQuery"
+            class="!w-200px" />
+        </el-form-item>
+
         <el-form-item label="责任人" prop="dutyPerson">
           <el-input
             v-model="queryParams.dutyPerson"
@@ -134,13 +143,13 @@
       </el-form>
     </ContentWrap>
     <div class="pb-10">
-      <el-table
-        v-loading="loading"
+      <zm-table
+        :loading="loading"
         :data="measureList"
         :stripe="true"
         :show-overflow-tooltip="true"
         ref="measureTableRef">
-        <el-table-column width="50" align="center">
+        <zm-table-column width="50" align="center">
           <template #default="scope">
             <el-radio
               :model-value="selectedMeasureId"
@@ -149,40 +158,42 @@
               &nbsp;
             </el-radio>
           </template>
-        </el-table-column>
-        <el-table-column :label="t('monitor.serial')" width="70" align="center">
+        </zm-table-column>
+        <zm-table-column :label="t('monitor.serial')" width="70" align="center">
           <template #default="scope">
             {{ scope.$index + 1 }}
           </template>
-        </el-table-column>
-        <el-table-column label="计量单位" align="center" prop="measureUnit" />
-        <el-table-column label="名称" align="center" prop="measureName" />
-        <el-table-column label="责任人" align="center" prop="dutyPerson" />
-        <el-table-column label="品牌" align="center" prop="brand" />
-        <el-table-column label="规格型号" align="center" prop="modelName" />
-        <el-table-column label="分类" align="center" prop="classify" />
-        <el-table-column label="采购日期" align="center" prop="buyDate">
+        </zm-table-column>
+        <zm-table-column label="计量器具编码" align="center" prop="measureCode" />
+        <zm-table-column label="计量器具名称" align="center" prop="measureName" />
+        <zm-table-column label="计量单位" align="center" prop="measureUnit" />
+
+        <zm-table-column label="责任人" align="center" prop="dutyPerson" />
+        <zm-table-column label="品牌" align="center" prop="brand" />
+        <zm-table-column label="规格型号" align="center" prop="modelName" />
+        <zm-table-column label="分类" align="center" prop="classify" />
+        <zm-table-column label="采购日期" align="center" prop="buyDate">
           <template #default="scope">
             {{ formatDateCorrectly(scope.row.buyDate) }}
           </template>
-        </el-table-column>
-        <el-table-column label="有效期" align="center" prop="validity">
+        </zm-table-column>
+        <zm-table-column label="有效期" align="center" prop="validity">
           <template #default="scope">
             {{ formatDateCorrectly(scope.row.validity) }}
           </template>
-        </el-table-column>
-        <el-table-column label="上次检验日期" align="center" prop="lastTime" min-width="150">
+        </zm-table-column>
+        <zm-table-column label="上次检验日期" align="center" prop="lastTime" min-width="150">
           <template #default="scope">
             {{ formatDateCorrectly(scope.row.lastTime) }}
           </template>
-        </el-table-column>
-        <el-table-column label="价格" align="center" prop="measurePrice">
+        </zm-table-column>
+        <zm-table-column label="价格" align="center" prop="measurePrice">
           <template #default="scope">
             {{ scope.row.measurePrice }}
           </template>
-        </el-table-column>
-        <el-table-column label="备注" align="center" prop="remark" />
-      </el-table>
+        </zm-table-column>
+        <zm-table-column label="备注" align="center" prop="remark" />
+      </zm-table>
       <!-- 分页 -->
       <Pagination
         :total="total"
@@ -253,7 +264,10 @@ const open = async (type: string, id?: number) => {
   if (id) {
     formLoading.value = true
     try {
-      formData.value = await IotMeasureDetectApi.getIotMeasureDetect(id)
+      const res = await IotMeasureDetectApi.getIotMeasureDetect(id)
+      console.log('res>>>>>>>>>>>>>>>>>>>', res)
+      formData.value = { ...res }
+      formData.value.measureName = res.measureCode
       formData.value.detectDate = Number(formData.value.detectDate)
     } finally {
       formLoading.value = false
@@ -345,6 +359,7 @@ const queryParams = reactive({
   pageNo: 1,
   pageSize: 10,
   measureName: undefined,
+  measureCode: undefined,
   deptId: undefined,
   dutyPerson: undefined
 })
@@ -355,6 +370,7 @@ const handleQuery = () => {
 }
 const resetQuery = () => {
   queryParams.measureName = undefined
+  queryParams.measureCode = undefined
   queryParams.deptId = undefined
   queryParams.dutyPerson = undefined
   handleQuery()
@@ -371,6 +387,8 @@ const handleRadioChange = (row: any) => {
 const selectMeasure = () => {
   measureDialogVisible.value = true
   getList()
+
+  selectedMeasureId.value = formData.value.measureId
 }
 
 // 确认选择仪器
@@ -382,7 +400,7 @@ const confirmSelectMeasure = () => {
 
   // 将选中的仪器信息填入表单
   formData.value.measureId = selectedMeasure.value.id
-  formData.value.measureName = selectedMeasure.value.measureName
+  formData.value.measureName = selectedMeasure.value.measureCode
   formData.value.deptId = selectedMeasure.value.deptId
 
   // 关闭选择仪器对话框

+ 8 - 23
src/views/pms/qhse/iotmeasuredetect/index.vue

@@ -14,8 +14,7 @@
               start-placeholder="开始日期"
               end-placeholder="结束日期"
               :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
-              class="!w-200px"
-            />
+              class="!w-200px" />
           </el-form-item>
           <el-form-item label="检测/校准机构" prop="detectOrg">
             <el-input
@@ -23,8 +22,7 @@
               placeholder="请输入检测/校准机构"
               clearable
               @keyup.enter="handleQuery"
-              class="!w-150px"
-            />
+              class="!w-150px" />
           </el-form-item>
           <el-form-item label="检测/校准有效期" prop="validityPeriod">
             <el-date-picker
@@ -33,17 +31,7 @@
               type="date"
               placeholder="选择检测/校准有效期"
               clearable
-              class="!w-150px"
-            />
-          </el-form-item>
-          <el-form-item label="校准金额" prop="detectAmount">
-            <el-input
-              v-model="queryParams.detectAmount"
-              placeholder="请输入校准金额"
-              clearable
-              @keyup.enter="handleQuery"
-              class="!w-150px"
-            />
+              class="!w-150px" />
           </el-form-item>
 
           <el-form-item>
@@ -70,13 +58,13 @@
           :data="list"
           :stripe="true"
           height="calc(85vh - 195px)"
-          :show-overflow-tooltip="true"
-        >
+          :show-overflow-tooltip="true">
           <zm-table-column :label="t('monitor.serial')" width="70" align="center">
             <template #default="scope">
               {{ scope.$index + 1 }}
             </template>
           </zm-table-column>
+          <zm-table-column label="计量器具编码" align="center" prop="measureCode" />
           <zm-table-column label="计量器具名称" align="center" prop="measureName" />
           <zm-table-column label="证书编码" align="center" prop="measureCertNo" />
           <zm-table-column label="检测/校准日期" align="center" prop="detectDate" width="140">
@@ -104,8 +92,7 @@
                 v-if="scope.row.file"
                 link
                 type="primary"
-                @click="viewFile(scope.row.file)"
-              >
+                @click="viewFile(scope.row.file)">
                 查看
               </el-button>
             </template>
@@ -124,8 +111,7 @@
             :total="total"
             v-model:page="queryParams.pageNo"
             v-model:limit="queryParams.pageSize"
-            @pagination="getList"
-          />
+            @pagination="getList" />
         </div>
       </ContentWrap>
     </el-col>
@@ -135,8 +121,7 @@
     <div
       v-for="(file, index) in fileList"
       :key="index"
-      class="flex items-center justify-between mt-5"
-    >
+      class="flex items-center justify-between mt-5">
       <span class="file-name-text">{{ extractFileName(file) }}</span>
       <div>
         <el-button link type="primary" @click="viewFileInfo(file)">

+ 19 - 3
src/views/pms/qhse/kanban/index.vue

@@ -50,8 +50,6 @@ type SummaryTabValue = 'home' | 'certificate'
 const userStore = useUserStore()
 
 const type = ref('day')
-const nowDate = new Date()
-const curYear = nowDate.getFullYear()
 
 const handelChange = (value: any) => {
   console.log('Selected time:', value)
@@ -99,8 +97,26 @@ const summaryTabs: Array<{ label: string; value: SummaryTabValue }> = [
   { label: '首页看板', value: 'home' },
   { label: '证书信息', value: 'certificate' }
 ]
+
 const activeSummaryTab = ref<SummaryTabValue>('home')
-const summaryDate = ref(null)
+
+watch(
+  () => activeSummaryTab.value,
+  async (value) => {
+    if (value === 'certificate') {
+      await getCertificateBoardList()
+    } else {
+      nextTick(() => {
+        initHazardChart()
+        initSafeDayChart()
+        initSocChart()
+        resizeHazardChart()
+        resizeSafeDayChart()
+        resizeSocChart()
+      })
+    }
+  }
+)
 
 const pageTitle = computed(() =>
   activeSummaryTab.value === 'certificate' ? '证书信息看板' : 'QHSE管理看板'