Jelajahi Sumber

fix:修复员工上报隐患管理,员工上报隐患审核管理bug

sunqijun 2 bulan lalu
induk
melakukan
fcec99543d

+ 27 - 31
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/employeeReportHiddenTroubleManagement/components/employeeReportHiddenTroubleManagementDetail.vue

@@ -1,11 +1,6 @@
 <template>
   <main class="safety-platform-container__main">
-    <BasicForm
-      ref="basicFormRef"
-      :formData="ruleFormData"
-      :formRules="formRules"
-      :formConfig="formConfig"
-    >
+    <BasicForm ref="basicFormRef" :formData="ruleFormData" :formRules="formRules" :formConfig="formConfig">
       <template #attachment>
         <UploadFiles
           label="上传附件"
@@ -33,12 +28,7 @@
           </el-radio-group>
         </el-form-item>
         <el-form-item label="审批意见:">
-          <el-input
-            v-model="approveForm.approvalContent"
-            type="textarea"
-            :rows="4"
-            placeholder="请输入审批意见"
-          />
+          <el-input v-model="approveForm.approvalContent" type="textarea" :rows="4" placeholder="请输入审批意见" />
         </el-form-item>
       </el-form>
       <template #footer>
@@ -51,7 +41,11 @@
   <footer class="safety-platform-container__footer">
     <el-button @click="router.back()">返回</el-button>
     <el-button v-if="isCreateOrEditMode" type="primary" @click="handleSubmit">
-      {{ operate === 'employee-report-hidden-trouble-create' || operate === 'hidden-trouble-review-create' ? '提交' : '保存' }}
+      {{
+        operate === 'employee-report-hidden-trouble-create' || operate === 'hidden-trouble-review-create'
+          ? '提交'
+          : '保存'
+      }}
     </el-button>
     <el-button v-if="isApproveMode" type="primary" @click="handleApproveClick">审核</el-button>
   </footer>
@@ -84,14 +78,11 @@
 
   // 支持员工上报与管理员审核两套 operate
   const isViewMode = computed(
-    () =>
-      operate.value === 'employee-report-hidden-trouble-view' ||
-      operate.value === 'hidden-trouble-review-view',
+    () => operate.value === 'employee-report-hidden-trouble-view' || operate.value === 'hidden-trouble-review-view',
   );
   const isApproveMode = computed(
     () =>
-      operate.value === 'employee-report-hidden-trouble-approve' ||
-      operate.value === 'hidden-trouble-review-approve',
+      operate.value === 'employee-report-hidden-trouble-approve' || operate.value === 'hidden-trouble-review-approve',
   );
   // 新增/编辑时表单可编辑,查看/审核时禁用
   const isCreateOrEditMode = computed(
@@ -102,16 +93,17 @@
       operate.value === 'hidden-trouble-review-edit',
   );
 
-  const { ruleFormData, formRules, ruleFormConfig, cloneRuleFormData } =
-    useFormConfigHook(ACADEMY_FILE_FORM_CONFIG, ACADEMY_FILE_FORM_DATA, ACADEMY_FILE_FORM_RULES);
+  const { ruleFormData, formRules, ruleFormConfig, cloneRuleFormData } = useFormConfigHook(
+    ACADEMY_FILE_FORM_CONFIG,
+    ACADEMY_FILE_FORM_DATA,
+    ACADEMY_FILE_FORM_RULES,
+  );
 
   const formConfig = computed(() =>
     isCreateOrEditMode.value
       ? ruleFormConfig.value.map((item) => ({
           ...item,
-          componentProps: item.componentProps
-            ? { ...item.componentProps, disabled: false }
-            : undefined,
+          componentProps: item.componentProps ? { ...item.componentProps, disabled: false } : undefined,
         }))
       : ruleFormConfig.value,
   );
@@ -157,10 +149,12 @@
     }
     try {
       const list = await formatAttachmentList(files);
-      const jsonArr = (list || []).map((r) => ({
-        file_name: r.fileName,
-        url: r.fileUrl || '',
-      })).filter((x) => x.url);
+      const jsonArr = (list || [])
+        .map((r) => ({
+          file_name: r.fileName,
+          url: r.fileUrl || '',
+        }))
+        .filter((x) => x.url);
       ruleFormData.attachment = JSON.stringify(jsonArr);
     } catch (e) {
       console.error('附件上传失败:', e);
@@ -186,7 +180,7 @@
         ruleFormData.categoryId = res.categoryId ?? 0;
         ruleFormData.hazardDesc = res.hazardDesc || '';
         ruleFormData.location = res.location || '';
-        ruleFormData.reportTime = formatReportTimeToDate(res.reportTime);
+        ruleFormData.reportTime = res.reportTime;
         ruleFormData.sourceTypeName = res.sourceTypeName || '';
         ruleFormData.sourceType = res.sourceType ?? 1;
         ruleFormData.taskSource = res.taskSource || '';
@@ -266,9 +260,12 @@
         reporterName: ruleFormData.reporterName || '',
         reporterJobNo: ruleFormData.reporterJobNo || '',
         reporterMobile: ruleFormData.reporterMobile || '',
-        attachment: JSON.parse(ruleFormData.attachment) || '',
+        attachment: ruleFormData.attachment ? JSON.parse(ruleFormData.attachment) : '',
       };
-      if (operate.value === 'employee-report-hidden-trouble-create' || operate.value === 'hidden-trouble-review-create') {
+      if (
+        operate.value === 'employee-report-hidden-trouble-create' ||
+        operate.value === 'hidden-trouble-review-create'
+      ) {
         await saveEmployeeHazardReport(payload);
         ElMessage.success('提交成功');
       } else if (currentId.value) {
@@ -293,4 +290,3 @@
 <style scoped lang="scss">
   @use '@/styles/page-details-layout.scss' as *;
 </style>
-

+ 0 - 1
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/employeeReportHiddenTroubleManagement/configs/form.ts

@@ -89,4 +89,3 @@ export const ACADEMY_FILE_FORM_DATA = {
 };
 
 export const ACADEMY_FILE_FORM_RULES = {};
-

+ 0 - 1
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/employeeReportHiddenTroubleManagement/configs/tables.ts

@@ -73,4 +73,3 @@ export const INVENTORY_TABLE_COLUMNS: TableColumnProps[] = [
     align: 'left',
   },
 ];
-

+ 5 - 16
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/employeeReportHiddenTroubleManagement/employeeReportHiddenTroubleManagement.vue

@@ -7,15 +7,8 @@
       <div class="search-table-container">
         <header>
           <div style="position: relative">
-            <el-button type="primary" class="search-table-container--button" @click="handleCreate">
-              新增
-            </el-button>
-            <el-button plain class="search-table-container--button" @click="handleImport">
-              导入
-            </el-button>
-            <el-button plain class="search-table-container--button" @click="handleDownload">
-              导出
-            </el-button>
+            <el-button type="primary" class="search-table-container--button" @click="handleCreate"> 新增 </el-button>
+            <el-button plain class="search-table-container--button" @click="handleImport"> 导入 </el-button>
           </div>
 
           <div class="act-search">
@@ -30,11 +23,7 @@
               </div>
               <div class="select-box--item">
                 <span>状态:</span>
-                <el-select
-                  v-model="tableQuery.queryParam.statusType"
-                  placeholder="请选择状态"
-                  clearable
-                >
+                <el-select v-model="tableQuery.queryParam.statusType" placeholder="请选择状态" clearable>
                   <el-option label="全部" :value="0" />
                   <el-option label="待审核" :value="1" />
                   <el-option label="审核通过" :value="2" />
@@ -53,6 +42,7 @@
             <section class="search-btn">
               <el-button type="primary" @click="handleSearch">查询</el-button>
               <el-button @click="handleReset">重置</el-button>
+              <el-button plain class="search-table-container--button" @click="handleDownload"> 导出 </el-button>
             </section>
           </div>
         </header>
@@ -189,7 +179,6 @@
     getTableData();
   };
 
-
   async function getTableData() {
     tableConfig.loading = true;
     try {
@@ -325,4 +314,4 @@
   @use '@/styles/page-main-layout.scss' as *;
   @use '@/styles/basic-table-action.scss' as *;
   @use '@/views/traffic/violation/style/act-search-table.scss' as *;
-</style>
+</style>

+ 0 - 1
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/employeeReportHiddenTroubleManagement/employeeReportHiddenTroubleManagementItem.vue

@@ -43,4 +43,3 @@
     gap: 8px !important;
   }
 </style>
-

+ 7 - 5
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/hiddenTroubleReviewManagement/components/hiddenTroubleReviewManagementDetail.vue

@@ -83,8 +83,11 @@
   const isEditMode = computed(() => operate.value === 'hidden-trouble-review-edit');
   const isViewMode = computed(() => operate.value === 'hidden-trouble-review-view');
 
-  const { ruleFormData, formRules, ruleFormConfig, cloneRuleFormData } =
-    useFormConfigHook(ACADEMY_FILE_FORM_CONFIG, ACADEMY_FILE_FORM_DATA, ACADEMY_FILE_FORM_RULES);
+  const { ruleFormData, formRules, ruleFormConfig, cloneRuleFormData } = useFormConfigHook(
+    ACADEMY_FILE_FORM_CONFIG,
+    ACADEMY_FILE_FORM_DATA,
+    ACADEMY_FILE_FORM_RULES,
+  );
 
   // 查看模式下,所有字段设为只读
   const viewFormConfig = ref(
@@ -105,7 +108,7 @@
   });
 
   const basicFormRef = ref<InstanceType<typeof BasicForm>>();
-  
+
   // 富文本编辑器
   const editorRef = shallowRef();
   const editorConfig = {
@@ -160,7 +163,7 @@
         ruleFormData.fileUrl = res.fileUrl || '';
         ruleFormData.content = res.content || '';
         ruleFormData.status = res.status ?? 1;
-        
+
         // 如果有文件URL,转换为FileItem格式
         if (res.fileUrl) {
           uploadFileList.value = [
@@ -260,4 +263,3 @@
     color: rgba(0, 0, 0, 0.65);
   }
 </style>
-

+ 5 - 13
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/hiddenTroubleReviewManagement/hiddenTroubleReviewManagement.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="safety-platform-container">
     <header class="safety-platform-container__header">
-      <div class="breadcrumb-title"> 员工上报隐患管理(管理员审核) </div>
+      <div class="breadcrumb-title"> 员工上报隐患管理 </div>
     </header>
     <main class="safety-platform-container__main">
       <div class="search-table-container">
@@ -10,12 +10,7 @@
             <!-- <el-button type="primary" class="search-table-container--button" @click="handleCreate">
               新增
             </el-button> -->
-            <el-button plain class="search-table-container--button" @click="handleImport">
-              导入
-            </el-button>
-            <el-button plain class="search-table-container--button" @click="handleDownload">
-              导出
-            </el-button>
+            <el-button plain class="search-table-container--button" @click="handleImport"> 导入 </el-button>
           </div>
 
           <div class="act-search">
@@ -30,11 +25,7 @@
               </div>
               <div class="select-box--item">
                 <span>状态:</span>
-                <el-select
-                  v-model="tableQuery.queryParam.statusType"
-                  placeholder="请选择状态"
-                  clearable
-                >
+                <el-select v-model="tableQuery.queryParam.statusType" placeholder="请选择状态" clearable>
                   <el-option label="全部" :value="0" />
                   <el-option label="待审核" :value="1" />
                   <el-option label="审核通过" :value="2" />
@@ -53,6 +44,7 @@
             <section class="search-btn">
               <el-button type="primary" @click="handleSearch">查询</el-button>
               <el-button @click="handleReset">重置</el-button>
+              <el-button plain class="search-table-container--button" @click="handleDownload"> 导出 </el-button>
             </section>
           </div>
         </header>
@@ -229,7 +221,7 @@
       };
       const response = await exportHiddenDanger(exportParams);
       if (response) {
-        const fileName = `员工上报隐患管理(管理员审核)_${new Date().toISOString().split('T')[0]}.xlsx`;
+        const fileName = `员工上报隐患管理_${new Date().toISOString().split('T')[0]}.xlsx`;
         downloadByData(response, fileName);
         ElMessage.success('导出成功');
       }

+ 5 - 5
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/hiddenTroubleReviewManagement/hiddenTroubleReviewManagementItem.vue

@@ -20,15 +20,15 @@
   const headerTitle = computed(() => {
     switch (operate) {
       case 'hidden-trouble-review-create':
-        return '新增员工上报隐患(管理员审核)';
+        return '新增员工上报隐患';
       case 'hidden-trouble-review-edit':
-        return '编辑员工上报隐患(管理员审核)';
+        return '编辑员工上报隐患';
       case 'hidden-trouble-review-view':
-        return '查看员工上报隐患(管理员审核)';
+        return '查看员工上报隐患';
       case 'hidden-trouble-review-approve':
-        return '审核员工上报隐患(管理员审核)';
+        return '审核员工上报隐患';
       default:
-        return '查看员工上报隐患(管理员审核)';
+        return '查看员工上报隐患';
     }
   });
 </script>