Sfoglia il codice sorgente

fix: 修复下拉选择内容问题

xiaweibo 1 mese fa
parent
commit
fa57036edf

+ 36 - 21
src/views/production-safety/hiddenTroubleInvestigationAndGovernance/hiddenTroubleAccountManagement/components/hiddenTroubleAccountManagementDetail.vue

@@ -113,6 +113,7 @@
           clearable
           :disabled="isViewMode"
           style="width: 450px"
+          @change="onReviewDeptChange"
         />
       </el-form-item>
 
@@ -379,7 +380,7 @@ import { ru } from 'element-plus/es/locale';
 
   const router = useRouter();
   const route = useRoute();
-
+  const searchDeptName = ref('');
   const operate = computed(() => (route.query.operate as string) || 'hidden-trouble-account-create');
   const currentId = computed(() => Number(route.query.id));
 
@@ -512,7 +513,9 @@ const attachmentsFileList = ref([]) as any
     try {
       const [deptRes, userRes] = await Promise.all([
         getAllDepartments(),
-        queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {} }),
+        queryAvailableUserList({ pageNumber: 1, pageSize: 9999, queryParam: {
+          deptName: searchDeptName.value || undefined,
+        } }),
       ]);
       const fullTree = (deptRes as DeptTree[]) ?? [];
       deptTree.value = Array.isArray(fullTree) && fullTree[0]?.children ? fullTree[0].children : [];
@@ -829,29 +832,41 @@ 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 = [];
+  // 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: {
+  //         deptName: searchDeptName.value || undefined,
+  //       } }),
+  //     ]);
+  //     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 onReviewDeptChange = (val: number[]) => {
+    const selectedNodes = reviewDeptCascaderRef.value?.getCheckedNodes();
+    if (selectedNodes && selectedNodes.length > 0) {
+      const selectedNode = selectedNodes[0];
+      const selectedLabel = selectedNode.label;
+      searchDeptName.value = selectedLabel;
+      ruleFormData.reviewPersonId = undefined;
+      loadDeptAndUserOptions();
     }
-  };
+  }
 
   onMounted(async () => {
     cloneRuleFormData();
-    onIssueDialogOpen();
     await loadDeptAndUserOptions();
     if (isEditMode.value || isViewMode.value) {
       await getDetail();

+ 5 - 1
src/views/production-safety/risk-identification-and-control/hazard-manage/list.vue

@@ -89,7 +89,11 @@
           <el-table-column label="危险源编号" prop="hazardCode" width="180" />
           <el-table-column label="关键过程/作业单元" prop="keyProcessUnit" width="180" />
           <el-table-column label="危险源名称" prop="hazardName" width="180" />
-          <el-table-column label="是否重大危险" prop="isMajorHazard" width="180" />
+          <el-table-column label="是否重大危险" prop="isMajorHazard" width="180">
+            <template #default="scope">
+              {{ scope.row.isMajorHazard === 1 ? '是' : '否' }}
+            </template>
+          </el-table-column>
           <el-table-column label="危险源来源" prop="hazardSource" width="180" />
           <el-table-column label="涉及型号" prop="involvedDepartment" width="180" />
           <el-table-column label="危险源管理的主责单位/部门" prop="riskManagementDept" width="240" />