فهرست منبع

fix: 参数修改

xiaweibo 1 ماه پیش
والد
کامیت
269f79734d

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

@@ -1027,6 +1027,7 @@ function buildPageQuery(uiQuery: { pageNumber: number; pageSize: number; queryPa
       checkPlaceCategory: q.venueCategory ?? undefined,
       startDate: q.startDate ?? q.planStartTime ?? undefined,
       endDate: q.endDate ?? q.planEndTime ?? undefined,
+      id: q.id ?? undefined,
     },
   };
 }

+ 101 - 2
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/areaCheckPlanManagementDept/components/areaCheckPlanManagementDeptDetail.vue

@@ -251,6 +251,38 @@
       :formRules="sandHiddenDangerFormRulesDept"
       :formConfig="sandHiddenDangerFormConfigDept"
     >
+      <template #rectificationDepartmentIds>
+        <el-form-item prop="rectificationDepartmentIds" style="width: 100%;">
+          <el-cascader
+            v-model="sandHiddenDangerFormDataDept.rectificationDepartmentIds"
+            :options="issueDeptTree"
+            :props="cascaderDeptProp"
+            :show-all-levels="false"
+            placeholder="请选择整改责任部门"
+            filterable
+            clearable
+            @change="onIssueDeptChange"
+          />
+        </el-form-item>
+      </template>
+      <template #rectificationResponsibleIds>
+        <el-form-item prop="rectificationResponsibleIds" style="width: 100%;">
+          <el-select
+            v-model="sandHiddenDangerFormDataDept.rectificationResponsibleIds"
+            placeholder="选择整改负责人"
+            filterable
+            clearable
+            style="width: 100%"
+          >
+            <el-option
+              v-for="user in issueUserList"
+              :key="user.id"
+              :label="user.realname ?? user.username"
+              :value="user.id"
+            />
+          </el-select>
+        </el-form-item>
+      </template>
       <template #reviewDepartmentId>
         <el-cascader
           v-model="sandHiddenDangerFormDataDept.reviewDepartmentId"
@@ -280,12 +312,12 @@
         </el-select>
       </template>
       <template #isDrawLessonsPush>
-        <el-radio-group v-model="sandHiddenDangerFormDataDept.isDrawLessonsPush">
+        <el-radio-group v-model="sandHiddenDangerFormDataDept.isDrawLessonsPush" @change="isDrawLessonsPushChange">
           <el-radio :value="0">否</el-radio>
           <el-radio :value="1">是</el-radio>
         </el-radio-group>
       </template>
-      <template #drawLessonsDepartmentIds>
+      <template #drawLessonsDepartmentIds> 
         <el-select
           v-model="drawLessonsDeptIdsArrayDept"
           placeholder="请选择举一反三责任部门,可多选"
@@ -305,6 +337,16 @@
           />
         </el-select>
       </template>
+      <template #drawLessonsDeadline>
+        <el-form-item prop="drawLessonsDeadline" style="width: 100%;">
+          <el-date-picker
+            v-model="sandHiddenDangerFormDataDept.drawLessonsDeadline"
+            type="date"
+            value-format="YYYY-MM-DD"
+            placeholder="请选择举一反三截止日期(选填)"
+          />
+        </el-form-item>
+      </template>
     </BasicForm>
     <template #footer>
       <el-button @click="showSandConfirmDialogDept = false">取消</el-button>
@@ -394,6 +436,26 @@
     };
   });
 
+  const issueDeptTree = ref<DeptTree[]>([]);
+  const issueUserList = ref<Array<{ id: number; realname?: string; username?: string }>>([]);
+
+  const onIssueDialogOpen = async () => {
+    try {
+      const [deptRes, userRes] = await Promise.all([
+        getAllDepartments(),
+        queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {} }),
+      ]);
+      const fullTree = (deptRes as DeptTree[]) ?? [];
+      issueDeptTree.value = Array.isArray(fullTree) && fullTree[0]?.children ? fullTree[0].children : [];
+      issueUserList.value = (userRes as any)?.records ?? [];
+    } catch (e) {
+      console.error('获取部门/用户列表失败:', e);
+      ElMessage.error(e?.message || e?.data || '加载部门或负责人列表失败');
+      issueDeptTree.value = [];
+      issueUserList.value = [];
+    }
+  };
+
   const inspectionContentList = computed(() => {
     const content = (viewDetailData.value?.checkKeyContent ?? '') as string;
     if (!content || typeof content !== 'string') {
@@ -532,6 +594,7 @@
           searchKey: recordSearchKeyword.value || undefined,
           startDate: start || undefined,
           endDate: end || undefined,
+          id: currentId.value,
         },
       });
       const raw = (res as { data?: { records?: Array<Record<string, unknown>>; totalRow?: number } })?.data ?? res;
@@ -673,6 +736,11 @@
         drawLessonsDepartmentIds: d.drawLessonsDepartmentIds || '',
         drawLessonsDeadline: d.drawLessonsDeadline || '',
         attachments: d.attachments || '',
+        confirmSandToHiddenDangerDept: d.confirmSandToHiddenDangerDept ?? 0,
+        rectificationResponsibleIds: d.rectificationResponsibleIds || '',
+        drawLessonsContent: d.drawLessonsContent || '',
+        drawLessonsDepartmentIds: d.drawLessonsDepartmentIds || '',
+        drawLessonsDeadline: d.drawLessonsDeadline || '',
       };
       await sandAreaCheckRecordToProductionHiddenDanger(payload);
       ElMessage.success('入账成功');
@@ -753,10 +821,41 @@
     }
   };
 
+  const isDrawLessonsPushChange = () => {
+    console.log(sandHiddenDangerFormDataDept.isDrawLessonsPush)
+    console.log('HIDDEN_DANGER_FORM_CONFIG', HIDDEN_DANGER_FORM_CONFIG)
+    let data = [
+        {
+          prop: 'drawLessonsContent',
+          label: '举一反三内容:',
+          component: 'ElInput',
+          componentProps: {
+            placeholder: '如:上级检查、院内自查',
+          },
+        },
+        {
+          prop: 'drawLessonsDepartmentIds',
+          label: '举一反三责任部门:',
+          slot: 'drawLessonsDepartmentIds',
+        },
+        {
+          prop: 'drawLessonsDeadline',
+          label: '举一反三时限:',
+          slot: 'drawLessonsDeadline',
+        },
+    ]
+  };
+
+  const onIssueDeptChange = () => {
+    sandHiddenDangerFormDataDept.rectificationResponsibleIds = undefined;
+  };
+
   onMounted(() => {
     loadDeptAndUserOptionsDept();
     getDetail();
+    onIssueDialogOpen();
   });
+  
 </script>
 
 <style scoped lang="scss">

+ 46 - 3
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/hiddenTroubleAccountManagement/components/hiddenTroubleAccountManagementDetail.vue

@@ -72,6 +72,24 @@
         />
       </el-form-item>
 
+      <el-form-item label="整改责任部门:" prop="rectificationDepartmentId" v-if="ruleFormData.statusId !== 1 && !isCreateMode">
+        <el-input
+          v-model="ruleFormData.rectificationDepartmentNames"
+          placeholder="整改责任部门"
+          disabled
+          style="width: 450px"
+        />
+      </el-form-item>
+
+      <el-form-item label="整改负责人:" prop="rectificationResponsibleUserId" v-if="ruleFormData.statusId !== 1 && !isCreateMode">
+        <el-input
+          v-model="ruleFormData.rectificationResponsiblePerson"
+          placeholder="整改负责人"
+          disabled
+          style="width: 450px"
+        />
+      </el-form-item>
+
       <el-form-item label="整改日期:" prop="rectificationDeadline">
         <el-date-picker
           v-model="ruleFormData.rectificationDeadline"
@@ -162,7 +180,7 @@
             v-model="ruleFormData.rectificationCompletionStatus"
             placeholder="请输入整改完成情况"
             show-word-limit
-            :disabled="detailStatusOrder>=3"
+            :disabled="!isRectifyMode"
             style="width: 450px"
           />
         </el-form-item>
@@ -170,7 +188,7 @@
             <el-date-picker
             v-model="ruleFormData.rectificationCompletionTime"
             type="date"
-            :disabled="detailStatusOrder>=3"
+            :disabled="!isRectifyMode"
             value-format="YYYY-MM-DD"
             placeholder="请选择整改完成时间"
             style="width: 450px"
@@ -181,7 +199,7 @@
                 label="选择附件"
                 :maxCount="1"
                 v-if="detailStatusOrder==2"
-                :disabled="detailStatusOrder>=3"
+                :disabled="!isRectifyMode"
                 :file-list="attachmentsFileList"
                 :allow-all-file-types="true"
                 @uploadSuccess="(list: FileItem[]) => handleAttachmentsUploadSuccess(list)"
@@ -357,6 +375,7 @@
   import type { DeptTree } from '@/types/dept/type';
   import { queryAvailableUserList } from '@/api/production-safety/responsibility-implementation';
   import PreviewOnline from '@/views/disaster/components/PreviewOnline.vue';
+import { ru } from 'element-plus/es/locale';
 
   const router = useRouter();
   const route = useRoute();
@@ -562,6 +581,8 @@ const attachmentsFileList = ref([]) as any
         ruleFormData.attachments = d.attachments ?? '';
         attachmentsFileList.value = JSON.parse(d.attachments|| '[]');
         ruleFormData.reviewComments = d.reviewComments?? '';
+        ruleFormData.rectificationResponsibleUserId = d.rectificationResponsibleUserId;
+        ruleFormData.rectificationDepartmentNames = d.rectificationDepartmentNames ?? '';
         // 整改页:保存审查不通过原因供 el-alert 展示(后端字段 reviewReason)
         if (isRectifyMode.value && d.reviewReason != null && String(d.reviewReason).trim()) {
           detailReviewRejectReason.value = String(d.reviewReason).trim();
@@ -609,6 +630,7 @@ const attachmentsFileList = ref([]) as any
         taskSource: ruleFormData.taskSource,
         rectificationRequirement: ruleFormData.rectificationRequirement,
         rectificationDeadline: rectificationDeadline,
+        rectificationDepartmentId: ruleFormData.rectificationDepartmentId,
         rectificationDepartmentIds: ruleFormData.rectificationDepartmentIds,
         rectificationResponsiblePerson: ruleFormData.rectificationResponsiblePerson,
         reviewDepartmentId: ruleFormData.reviewDepartmentId!,
@@ -807,8 +829,29 @@ const attachmentsFileList = ref([]) as any
     }
   }
 
+  const issueDeptTree = ref<DeptTree[]>([]);
+  const issueUserList = ref<Array<{ id: number; realname?: string; username?: string }>>([]);
+
+  const onIssueDialogOpen = async () => {
+    try {
+      const [deptRes, userRes] = await Promise.all([
+        getAllDepartments(),
+        queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {} }),
+      ]);
+      const fullTree = (deptRes as DeptTree[]) ?? [];
+      issueDeptTree.value = Array.isArray(fullTree) && fullTree[0]?.children ? fullTree[0].children : [];
+      issueUserList.value = (userRes as any)?.records ?? [];
+    } catch (e) {
+      console.error('获取部门/用户列表失败:', e);
+      ElMessage.error(e?.message || e?.data || '加载部门或负责人列表失败');
+      issueDeptTree.value = [];
+      issueUserList.value = [];
+    }
+  };
+
   onMounted(async () => {
     cloneRuleFormData();
+    onIssueDialogOpen();
     await loadDeptAndUserOptions();
     if (isEditMode.value || isViewMode.value) {
       await getDetail();

+ 37 - 29
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/hiddenTroubleAccountManagement/configs/form.ts

@@ -60,6 +60,16 @@ export const HIDDEN_DANGER_FORM_CONFIG: FormConfig[] = [
       placeholder: '请输入整改要求',
     },
   },
+  {
+    prop: 'rectificationDepartmentIds',
+    label: '整改责任部门:',
+    slot: 'rectificationDepartmentIds',
+  }, 
+  {
+    prop: 'rectificationResponsibleIds',
+    label: '整改负责人:',
+    slot: 'rectificationResponsibleIds',
+  },
   {
     prop: 'rectificationDeadline',
     label: '整改日期:',
@@ -94,34 +104,25 @@ export const HIDDEN_DANGER_FORM_CONFIG: FormConfig[] = [
     label: '举一反三是否推送:',
     slot: 'isDrawLessonsPush',
   },
-  //   {
-  //     prop: 'drawLessonsContent',
-  //     label: '举一反三内容:',
-  //     component: 'ElInput',
-  //     componentProps: {
-  //       placeholder: '选填,推送举一反三时建议填写',
-  //     },
-  //   },
-  //   {
-  //     prop: 'drawLessonsDepartmentIds',
-  //     label: '举一反三责任部门:',
-  //     slot: 'drawLessonsDepartmentIds',
-  //     componentProps: {
-  //       placeholder: '请选择举一反三责任部门,可多选',
-  //       style: { width: '100%' },
-  //     },
-  //   },
-  //   {
-  //     prop: 'drawLessonsDeadline',
-  //     label: '举一反三时限:',
-  //     component: 'ElDatePicker',
-  //     componentProps: {
-  //       type: 'date',
-  //       placeholder: '请选择举一反三时限',
-  //       valueFormat: 'YYYY-MM-DD',
-  //       style: { width: '100%' },
-  //     },
-  //   },
+  {
+    prop: 'drawLessonsContent',
+    label: '',
+    component: 'ElInput',
+    componentProps: {
+      placeholder: '如:上级检查、院内自查',
+      style: { paddingLeft: '136.5px' },
+    },
+  },
+  {
+    prop: 'drawLessonsDepartmentIds',
+    label: '举一反三责任部门:',
+    slot: 'drawLessonsDepartmentIds',
+  },
+  {
+    prop: 'drawLessonsDeadline',
+    label: '举一反三时限:',
+    slot: 'drawLessonsDeadline',
+  },
 ];
 
 /**
@@ -320,6 +321,7 @@ export const HIDDEN_DANGER_FORM_DATA = {
   rectificationCompletionTime: '',
   attachments: '',
   reviewComments: '',
+  rectificationResponsibleUserId: '',
 };
 
 export const HIDDEN_DANGER_FORM_RULES = {
@@ -358,5 +360,11 @@ export const HIDDEN_DANGER_FORM_RULES = {
   ],
   rectificationCompletionTime: [
     { required: true, message: '请选择整改完成时间', trigger: 'change' }
-  ]
+  ],
+  rectificationDepartmentIds: [
+    { required: true, message: '请选择整改责任部门', trigger: 'change' }
+  ],
+  rectificationResponsibleIds: [
+    { required: true, message: '请选择整改负责人', trigger: 'change' }
+  ],
 };