Jelajahi Sumber

qhse体系文件目录

yanghao 2 minggu lalu
induk
melakukan
24fc84dbf6
1 mengubah file dengan 23 tambahan dan 2 penghapusan
  1. 23 2
      src/views/pms/qhse/data/index.vue

+ 23 - 2
src/views/pms/qhse/data/index.vue

@@ -251,6 +251,8 @@ interface IotInfoFormTreeExpose {
 
 const uploadLoading = ref(false)
 const currentTreeOriginId = ref<TreeKey | undefined>(undefined)
+const rootDeptOriginId = ref<TreeKey | undefined>(undefined)
+const rootNodeName = ref('')
 
 const syncSelectedTreeOriginId = () => {
   queryParams.deptId = currentTreeOriginId.value
@@ -270,6 +272,18 @@ const successList = async (id?: TreeKey) => {
 
   queryParams.classId = id
   topNodeId.value = id
+  nodeId.value = String(id)
+  clickNodeId.value = String(id)
+  if (!nodeName.value) {
+    nodeName.value = rootNodeName.value
+  }
+  if (!deptId.value && rootDeptOriginId.value != null) {
+    deptId.value = String(rootDeptOriginId.value)
+  }
+  if (currentTreeOriginId.value == null && rootDeptOriginId.value != null) {
+    currentTreeOriginId.value = rootDeptOriginId.value
+  }
+  syncSelectedTreeOriginId()
   const rootItem = breadcrumbs.value.find((item) => item.type === 'root')
   if (rootItem) {
     rootItem.id = id
@@ -363,8 +377,11 @@ const loadRootBreadcrumb = async () => {
 
   try {
     const currentDept = await getUserProfile()
+    rootDeptOriginId.value = currentDept.dept.id
+    currentTreeOriginId.value = currentDept.dept.id
     deptId.value = String(currentDept.dept.id)
-
+    rootNodeName.value = currentDept.dept.name
+    nodeName.value = currentDept.dept.name
     breadcrumbs.value[0].name = currentDept.dept.name
   } catch {}
 }
@@ -477,7 +494,11 @@ const handleBreadcrumbClick = async (index: number) => {
   queryParams.classId = targetId
   clickNodeId.value = String(targetId)
   nodeId.value = String(targetId)
-  nodeName.value = targetBreadcrumbs[index].name || ''
+  nodeName.value = targetBreadcrumbs[index].name || rootNodeName.value || ''
+  if (index === 0 && rootDeptOriginId.value != null) {
+    currentTreeOriginId.value = rootDeptOriginId.value
+    deptId.value = String(rootDeptOriginId.value)
+  }
   syncSelectedTreeOriginId()
   const data = await DataLibraryApi.DataLibraryApi.getChildContentFile(queryParams)
   list.value = data