lipenghui 4 months ago
parent
commit
fa8f8a0d48

+ 11 - 1
src/api/system/tree/index.ts

@@ -1,5 +1,6 @@
 import request from '@/config/axios'
 import {IotProductClassifyVO} from "@/api/pms/productclassify";
+import {DeptVO} from "@/api/system/dept";
 
 // pms树 VO
 export interface IotTreeVO {
@@ -32,7 +33,16 @@ export const IotTreeApi = {
   createIotTree: async (data: IotTreeVO) => {
     return await request.post({ url: `/rq/iot-tree/create`, data })
   },
-
+  createDeptDeal: async (data: DeptVO) => {
+    console.log(JSON.stringify(data))
+    return await request.post({ url: `/rq/iot-tree/add-dept-deal`, data })
+  },
+  updateDeptDeal: async (data: DeptVO) => {
+    return await request.post({ url: `/rq/iot-tree/update-dept-deal`, data })
+  },
+  deleteDeptDeal: async (id:number) => {
+    return await request.post({ url: `/rq/iot-tree/delete-dept-deal?id=`+id })
+  },
   // 修改pms树
   updateIotTree: async (data: IotTreeVO) => {
     return await request.put({ url: `/rq/iot-tree/update`, data })

+ 13 - 2
src/views/system/dept/DeptForm.vue

@@ -64,6 +64,7 @@ import * as DeptApi from '@/api/system/dept'
 import * as UserApi from '@/api/system/user'
 import { CommonStatusEnum } from '@/utils/constants'
 import { FormRules } from 'element-plus'
+import { IotTreeApi, IotTreeVO } from '@/api/system/tree'
 
 defineOptions({ name: 'SystemDeptForm' })
 
@@ -133,10 +134,20 @@ const submitForm = async () => {
   try {
     const data = formData.value as unknown as DeptApi.DeptVO
     if (formType.value === 'create') {
-      await DeptApi.createDept(data)
+      await DeptApi.createDept(data).then(res => {
+        DeptApi.getDept(res).then(re => {
+          console.log(JSON.stringify(re))
+          debugger
+          IotTreeApi.createDeptDeal(re)
+        })
+      })
       message.success(t('common.createSuccess'))
     } else {
-      await DeptApi.updateDept(data)
+      await DeptApi.updateDept(data).then(res => {
+        DeptApi.getDept(data.id).then(re => {
+          IotTreeApi.updateDeptDeal(re)
+        })
+      })
       message.success(t('common.updateSuccess'))
     }
     dialogVisible.value = false

+ 2 - 1
src/views/system/dept/index.vue

@@ -111,7 +111,7 @@ import { handleTree } from '@/utils/tree'
 import * as DeptApi from '@/api/system/dept'
 import DeptForm from './DeptForm.vue'
 import * as UserApi from '@/api/system/user'
-
+import { IotTreeApi, IotTreeVO } from '@/api/system/tree'
 defineOptions({ name: 'SystemDept' })
 
 const message = useMessage() // 消息弹窗
@@ -175,6 +175,7 @@ const handleDelete = async (id: number) => {
     await message.delConfirm()
     // 发起删除
     await DeptApi.deleteDept(id)
+    await IotTreeApi.deleteTree(id)
     message.success(t('common.delSuccess'))
     // 刷新列表
     await getList()

+ 7 - 5
src/views/system/tree/PmsTree.vue

@@ -23,8 +23,10 @@
       <template #default="{ node}">
         <div style="display: flex; justify-content: space-between;align-items: center;width: 100%">
           <div>
-            <el-icon style="vertical-align: middle"><Folder /></el-icon>    <!-- 文件夹图标 -->
-            <span style="vertical-align: middle;margin-left: 3px">{{ node.data.name }}</span>
+            <Icon style="vertical-align: middle" v-if="node.data.type==='dept'" icon="ep:operation"/>
+            <Icon style="vertical-align: middle" v-if="node.data.type==='device'" icon="fa:wrench"/>
+            <el-icon v-if="node.data.type==='file'" style="vertical-align: middle"><Folder /></el-icon>    <!-- 文件夹图标 -->
+            <span style="vertical-align: middle;margin-left: 3px">{{ node.data.name}}</span>
           </div>
           <div>
             <icon style="vertical-align: middle" @click="handleRightClick" icon="ep:edit" />
@@ -199,9 +201,9 @@ const handleRightClick = (event, node, data) => {
 //   menuVisible.value = false
 // }
 /** 获得部门树 */
-const getTree = async () => {
-  debugger
+const getTreeInfo = async () => {
   const res = await IotTreeApi.getSimpleTreeList()
+  debugger
   treeList.value = []
   treeList.value.push(...handleTree(res))
 }
@@ -244,7 +246,7 @@ watch(deptName, (val) => {
 // })
 /** 初始化 */
 onMounted(async () => {
-  await getTree()
+  await getTreeInfo()
 })
 </script>
 <style lang="scss" scoped>

+ 3 - 3
src/views/system/tree/index.vue

@@ -232,9 +232,9 @@ const resetQuery = () => {
 }
 /** 初始化 */
 onMounted(async () => {
-  await getDetail()
-
-  deviceId.value = params.id as unknown as number
+  // await getDetail()
+  //
+  // deviceId.value = params.id as unknown as number
 })
 </script>
 <style scoped></style>