From 52ffefd06e59cbd56c1a919972866592379cfed2 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期四, 21 九月 2023 11:27:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/integration/systemInfo.vue |   74 ++++++++++++++++++++++++++++++++----
 1 files changed, 65 insertions(+), 9 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index 2efc562..bd3103f 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -20,22 +20,48 @@
                   @clear="handleClear" @keyup.enter.native="handleEnter"></el-input>
       </template>
       <template #menu="{row,index,size}">
-        <el-button type="text" icon="el-icon-menu" size="small" @click="classifyHandler">鍒嗙被鎺堟潈</el-button>
+        <el-button icon="el-icon-menu" size="small" type="text" @click="classifyHandler(row)">鍒嗙被鎺堟潈</el-button>
 
       </template>
     </avue-crud>
-    <el-dialog :visible.sync="dialogVisible" append-to-body title="鍒嗙被鎺堟潈">
+    <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈" top="-10">
+
+      <el-row>
+        <el-col :span="10">
+          <avue-tree ref="tree"
+                     v-model="TreeForm"
+                     :data="TreeData"
+                     :option="TreeOption"
+                     @check-change="checkChange">
+          </avue-tree>
+        </el-col>
+      </el-row>
+      <div slot="footer" class="dialog-footer" style="height: 50px;line-height: 50px">
+        <el-button type="primary" icon="el-icon-plus" size="small">鎺� 鏉�</el-button>
+        <el-button icon="el-icon-close"  size="small" type="danger">閲� 缃�</el-button>
+    </div>
     </el-dialog>
   </basic-container>
 </template>
 <script>
-import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel} from '@/api/integration/sysInfo.js'
+import {getSysInfoList, sysInfoAdd, sysInfoEdit, sysInfoDel, sysInfoTree} from '@/api/integration/sysInfo.js'
 
 export default {
   data() {
     return {
+      //閬垮厤缂撳瓨
+      reload: Math.random(),
+      TreeLoading: false,
+      TreeOption: {
+        defaultExpandAll: false,
+        multiple: true,
+        addBtn: false,
+        filter: false
+      },
+      TreeData: [],
+      TreeForm: {},
       loading: false,
-      dialogVisible:false,
+      dialogVisible: false,
       page: {
         currentPage: 1,
         pageSize: 10,
@@ -99,15 +125,46 @@
       },
     }
   },
+
   methods: {
+    //鍒嗙被鎺堟潈澶氶�夊洖璋�
+    checkChange(row,checked) {
+      // console.log(row)
+      // if(checked){
+      //
+      // }
+    },
     //鍒嗙被鎺堟潈
-    classifyHandler(){
-      this.dialogVisible=true;
+    classifyHandler(row) {
+      this.loading = true;
+      sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => {
+        this.TreeData = res.data;
+        this.ModifyProperties(this.TreeData, 'text', 'label');
+        // 鏍规嵁 this.TreeData 鐨勯暱搴﹁绠楀欢杩熸椂闂�
+        const delayTime = this.TreeData.length * 1;
+        setTimeout(() => {
+          this.loading = false;
+          this.reload = Math.random()
+          this.dialogVisible = true;
+        }, delayTime);
+      });
+    },
+    //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉�
+    ModifyProperties(obj, oldName, newName) {
+      for (let key in obj) {
+        if (key === oldName) {
+          obj[newName] = obj[key];
+          delete obj[key];
+        }
+        if (typeof obj[key] === 'object') {
+          this.ModifyProperties(obj[key], oldName, newName);
+        }
+      }
     },
     async getDataList() {
       this.loading = true;
       console.log(this.search);
-      const { pageSize, currentPage } = this.page;
+      const {pageSize, currentPage} = this.page;
       const conditions = {};
       if (Object.keys(this.search).length > 0) {
         for (const key in this.search) {
@@ -234,13 +291,12 @@
     },
     // 澶氶��
     selectionChange(list) {
-      console.log(list)
       let newData = list.map(item => {
         const {oid} = item
         return oid
       })
       this.delIds = {oids: newData.toString()}
-      console.log(this.delIds)
+      // console.log(this.delIds)
     },
   }
 }

--
Gitblit v1.9.3