yanghao 2 недель назад
Родитель
Сommit
24fc84dbf6
1 измененных файлов с 23 добавлено и 2 удалено
  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 uploadLoading = ref(false)
 const currentTreeOriginId = ref<TreeKey | undefined>(undefined)
 const currentTreeOriginId = ref<TreeKey | undefined>(undefined)
+const rootDeptOriginId = ref<TreeKey | undefined>(undefined)
+const rootNodeName = ref('')
 
 
 const syncSelectedTreeOriginId = () => {
 const syncSelectedTreeOriginId = () => {
   queryParams.deptId = currentTreeOriginId.value
   queryParams.deptId = currentTreeOriginId.value
@@ -270,6 +272,18 @@ const successList = async (id?: TreeKey) => {
 
 
   queryParams.classId = id
   queryParams.classId = id
   topNodeId.value = 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')
   const rootItem = breadcrumbs.value.find((item) => item.type === 'root')
   if (rootItem) {
   if (rootItem) {
     rootItem.id = id
     rootItem.id = id
@@ -363,8 +377,11 @@ const loadRootBreadcrumb = async () => {
 
 
   try {
   try {
     const currentDept = await getUserProfile()
     const currentDept = await getUserProfile()
+    rootDeptOriginId.value = currentDept.dept.id
+    currentTreeOriginId.value = currentDept.dept.id
     deptId.value = String(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
     breadcrumbs.value[0].name = currentDept.dept.name
   } catch {}
   } catch {}
 }
 }
@@ -477,7 +494,11 @@ const handleBreadcrumbClick = async (index: number) => {
   queryParams.classId = targetId
   queryParams.classId = targetId
   clickNodeId.value = String(targetId)
   clickNodeId.value = String(targetId)
   nodeId.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()
   syncSelectedTreeOriginId()
   const data = await DataLibraryApi.DataLibraryApi.getChildContentFile(queryParams)
   const data = await DataLibraryApi.DataLibraryApi.getChildContentFile(queryParams)
   list.value = data
   list.value = data