Jelajahi Sumber

feat:检查信息需要回填进去,检查人不能修改

sunqijun 3 minggu lalu
induk
melakukan
10fa37451c

+ 8 - 0
src/api/production-safety-system/index.ts

@@ -776,7 +776,15 @@ const LABEL_TO_FREQUENCY: Record<string, number> = {
 export interface AreaCheckPlanManageApiRecord {
   id?: number; // 主键ID
   areaCheckPlanName?: string; // 区域检查计划名称
+  checkPersonName?: string; // 检查人名称(兼容后端返回)
   checkPlace?: string; // 检查场所
+  checkPerson?: string; // 检查人(兼容后端返回)
+  checkedCompany?: string; // 被检查单位
+  checkedCompanyName?: string; // 被检查单位名称(兼容后端返回)
+  overallDesc?: string; // 整体检查情况描述
+  overallCheckDesc?: string; // 整体检查情况描述(兼容后端返回)
+  checkTime?: string; // 检查时间
+  checkAddress?: string; // 检查场所地址
   checkPlaceCategory?: string; // 检查场所所属类别
   checkCategory?: string; // 检查类别
   status?: number | string; // 状态:0=未开始 1=进行中 2=已完成 3=已终止

+ 1 - 0
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/areaCheckPlanManagementDept/components/areaCheckPlanManagementDeptDetail.vue

@@ -975,6 +975,7 @@ const onReviewDept = (row)=>{
         operate: 'area-check-plan-record-view',
         recordId: row.id,
         planId: currentId.value,
+        areaPlanId: row.areaPlanId,
         needOverallDesc,
         needSigneeSign,
       },

+ 28 - 10
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/areaCheckPlanManagementDept/components/areaCheckPlanRecordDetailDept.vue

@@ -5,7 +5,7 @@
         <el-input v-model="formData.inspectedUnit" :disabled="!isAddMode || checkType===1" placeholder="请输入被检查单位" clearable />
       </el-form-item>
       <el-form-item label="检查人员:" prop="inspector">
-        <el-input v-model="formData.inspector" :disabled="!isAddMode" placeholder="请输入检查人员" clearable />
+        <el-input v-model="formData.inspector" :disabled="true" placeholder="请输入检查人员" clearable />
       </el-form-item>
       <el-form-item label="检查时间:" prop="checkTime">
         <el-date-picker
@@ -298,9 +298,19 @@
       const res = await fetchDeptAreaCheckRecord(recordId.value);
       const list = res.areaCheckRecords || [];
       checkItemData = res
+
       if(checkType.value === 1){
-        formData.value.inspectedUnit = res.checkedCompanyName || ''
+        formData.value.inspectedUnit = res.checkedCompanyName ?? res.checkedCompany ?? ''
+      }
+      formData.value.inspector = res.checkPersonName ?? res.checkPerson ?? ''
+      formData.value.checkTime = res.checkTime ?? ''
+      formData.value.checkPlace = res.checkAddress ?? res.checkPlace ?? ''
+      formData.value.overallDesc = res.overallCheckDesc || ''
+      if(res.checkedPersonSign){
+       formData.value.signFile = JSON.stringify(convertSignFileToFileItems(String(res.checkedPersonSign || '')))
       }
+      signFileList.value = convertSignFileToFileItems(String(res.checkedPersonSign || ''))
+
       if (Array.isArray(list) && list.length > 0) {
         checkItems.value = list;
       } else {
@@ -339,7 +349,7 @@
   };
   const viewDetailData = ref<Record<string, unknown>>({});
   const authority = ref(false)
-  const currentId = computed(() => Number(route.query.recordId));
+  const currentId = computed(() => Number(route.query.areaPlanId));
   const getDetail = async () => {
     if (!currentId.value) return;
     try {
@@ -348,15 +358,23 @@
       // 若是自查,则被检查单位默认就是本单位,不需要手动输入。
       if(checkType.value === 1){
         authority.value = true
-        formData.value.inspectedUnit = res.responsibleDeptName || ''
+        formData.value.inspectedUnit = res.checkedCompanyName ?? res.checkedCompany ?? ''
       }
+      formData.value.inspector = res.checkPersonName ?? res.checkPerson ?? ''
+      formData.value.checkTime = res.checkTime || ''
+      formData.value.checkPlace = res.checkAddress ?? res.checkPlace ?? ''
+      formData.value.overallDesc = res.overallCheckDesc || ''
+      if(res.checkedPersonSign){
+       formData.value.signFile = JSON.stringify(convertSignFileToFileItems(String(res.checkedPersonSign || '')))
+      }
+      signFileList.value = convertSignFileToFileItems(String(res.checkedPersonSign || ''))
       // 如果主责部门责任人ID包含当前登录人ID,则直接回填(被检查单位、 检查人员、检查时间、检查地点),且不可更改
-    //   let primaryResponsibleDeptPersonCode = res.primaryResponsibleDeptPersonCode?.split(',').map(Number)
-    //   if(primaryResponsibleDeptPersonCode?.includes(id)){
-    //     authority.value = true
-    //     formData.value.inspectedUnit = res.responsibleDeptName || ''
-    //     formData.value.inspector = String(res.primaryResponsibleDeptPersonName) || ''
-    //   }
+      let primaryResponsibleDeptPersonCode = res.primaryResponsibleDeptPersonCode?.split(',').map(Number)
+      if(primaryResponsibleDeptPersonCode?.includes(id)){
+        authority.value = true
+        formData.value.inspectedUnit = res.responsibleDeptName || ''
+        formData.value.inspector = String(res.primaryResponsibleDeptPersonName) || ''
+      }
     } catch (e) {
       console.error('获取详情失败:', e);
     }

+ 25 - 9
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/areaCheckPlanTaskDept/components/areaCheckPlanRecordDetail.vue

@@ -5,7 +5,7 @@
         <el-input v-model="formData.inspectedUnit" :disabled="!isAddMode || checkType===1" placeholder="请输入被检查单位" clearable />
       </el-form-item>
       <el-form-item label="检查人员:" prop="inspector">
-        <el-input v-model="formData.inspector" :disabled="!isAddMode" placeholder="请输入检查人员" clearable />
+        <el-input v-model="formData.inspector" :disabled="true" placeholder="请输入检查人员" clearable />
       </el-form-item>
       <el-form-item label="检查时间:" prop="checkTime">
         <el-date-picker
@@ -313,8 +313,16 @@
       const list = res.areaCheckRecords || [];
       checkItemData = res
       if(checkType.value === 1){
-        formData.value.inspectedUnit = res.checkedCompanyName || ''
+        formData.value.inspectedUnit = res.responsibleDeptName || ''
+      }
+      formData.value.inspector = res.checkPersonName ?? res.checkPerson ?? ''
+      formData.value.checkTime = res.checkTime || ''
+      formData.value.checkPlace = res.checkAddress ?? res.checkPlace ?? ''
+      formData.value.overallDesc = res.overallCheckDesc || ''
+      if(res.checkedPersonSign){
+       formData.value.signFile = JSON.stringify(convertSignFileToFileItems(String(res.checkedPersonSign || '')))
       }
+      signFileList.value = convertSignFileToFileItems(String(res.checkedPersonSign || ''))
       if (Array.isArray(list) && list.length > 0) {
         checkItems.value = list;
       } else {
@@ -352,7 +360,7 @@
   };
 
   const authority = ref(false)
-  const currentId = computed(() => Number(route.query.recordId));
+  const currentId = computed(() => Number(route.query.planId));
   const getDetail = async () => {
     if (!currentId.value) return;
     try {
@@ -363,13 +371,21 @@
         authority.value = true
         formData.value.inspectedUnit = res.responsibleDeptName || ''
       }
+      formData.value.inspector = res.checkPersonName ?? res.checkPerson ?? ''
+      formData.value.checkTime = res.checkTime || ''
+      formData.value.checkPlace = res.checkAddress ?? res.checkPlace ?? ''
+      formData.value.overallDesc = res.overallCheckDesc || ''
+      if(res.checkedPersonSign){
+       formData.value.signFile = JSON.stringify(convertSignFileToFileItems(String(res.checkedPersonSign || '')))
+      }
+      signFileList.value = convertSignFileToFileItems(String(res.checkedPersonSign || ''))
       // 如果主责部门责任人ID包含当前登录人ID,则直接回填(被检查单位、 检查人员、检查时间、检查地点),且不可更改
-    //   let primaryResponsibleDeptPersonCode = res.primaryResponsibleDeptPersonCode?.split(',').map(Number)
-    //   if(primaryResponsibleDeptPersonCode?.includes(id)){
-    //     authority.value = true
-    //     formData.value.inspectedUnit = res.responsibleDeptName || ''
-    //     formData.value.inspector = String(res.primaryResponsibleDeptPersonName) || ''
-    //   }
+      let primaryResponsibleDeptPersonCode = res.primaryResponsibleDeptPersonCode?.split(',').map(Number)
+      if(primaryResponsibleDeptPersonCode?.includes(id)){
+        authority.value = true
+        formData.value.inspectedUnit = res.responsibleDeptName || ''
+        formData.value.inspector = String(res.primaryResponsibleDeptPersonName) || ''
+      }
     } catch (e) {
       console.error('获取详情失败:', e);
     }