From bac6b65c407a97219711d41beaa8d54a2ebca657 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 22 九月 2023 11:23:06 +0800
Subject: [PATCH] 集成系统信息管理-分类授权-父节点统一授权

---
 Source/UBCS-WEB/src/views/integration/systemInfo.vue |   72 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 14 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index a0c1f05..d816c87 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -24,7 +24,8 @@
 
       </template>
     </avue-crud>
-    <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈" top="-50px">
+    <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈"
+               top="-50px">
 
       <el-row>
         <el-col :span="10">
@@ -37,19 +38,27 @@
         </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" @click="empower">鎺� 鏉�</el-button>
-        <el-button icon="el-icon-close"  size="small" type="danger">閲� 缃�</el-button>
-    </div>
+        <el-button icon="el-icon-plus" size="small" type="primary" @click="empower">鎺� 鏉�</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, sysInfoTree,batchAddSave} from '@/api/integration/sysInfo.js'
+import {
+  getSysInfoList,
+  sysInfoAdd,
+  sysInfoEdit,
+  sysInfoDel,
+  sysInfoTree,
+  batchAddSave
+} from '@/api/integration/sysInfo.js'
 
 export default {
   data() {
     return {
-      checkAll:[],
+      checkAll: {},
+      ParentList: [],
       //閬垮厤缂撳瓨
       reload: Math.random(),
       TreeLoading: false,
@@ -128,22 +137,57 @@
   },
 
   methods: {
-    empower(){
-      batchAddSave({systemOid: this.checkAll.oid, systemId: this.checkAll.id}).then(res=>{
+    empower() {
+      batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => {
         console.log(res)
       })
     },
     //鍒嗙被鎺堟潈澶氶�夊洖璋�
-    checkChange(row,checked) {
-      if(checked){
-        console.log('row',row)
-        this.checkAll.push(row);
-        // console.log('checkAll',this.checkAll)
+    checkChange(row, checked) {
+      if (checked) {
+        if (!row.parentId && row.children) {
+          const parentRecord = {
+            oid: row.oid,
+            classifyId: row.attributes.classifyId,
+            classifyOid: row.attributes.classifyOid,
+            classParentOid: row.parentId,
+          };
+          this.ParentList.push(parentRecord);
+          // 濡傛灉row鐨刢hildren涓嶄负绌猴紝缁х画寰幆children涓殑姣忎釜瀵硅薄
+          if (row.children && row.children.length > 0) {
+            for (let child of row.children) {
+              const childRecord = {
+                oid: child.oid,
+                classifyId: child.attributes.classifyId,
+                classifyOid: child.attributes.classifyOid,
+                classParentOid: child.parentId,
+              };
+              this.ParentList.push(childRecord);
+              // 濡傛灉瀛愬璞$殑children涓嶄负绌猴紝缁х画寰幆鑾峰彇鏁版嵁
+              if (child.children && child.children.length > 0) {
+                for (let subChild of child.children) {
+                  const subRecord = {
+                    oid: subChild.oid,
+                    classifyId: subChild.attributes.classifyId,
+                    classifyOid: subChild.attributes.classifyOid,
+                    classParentOid: subChild.parentId,
+                  };
+                  this.ParentList.push(subRecord);
+                }
+              }
+            }
+          }
+          console.log(this.ParentList);
+        }
+      }else {
+        this.ParentList = this.ParentList.filter(res => res.classifyId !== row.classifyId);
+        console.log(this.ParentList);
       }
     },
     //鍒嗙被鎺堟潈
     classifyHandler(row) {
       this.loading = true;
+      this.checkAll = row
       sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => {
         this.TreeData = res.data;
         this.ModifyProperties(this.TreeData, 'text', 'label');
@@ -273,7 +317,7 @@
     },
     // enter鎼滅储
     handleEnter() {
-     this.getDataList()
+      this.getDataList()
     },
     // 杈撳叆妗嗘竻绌�
     handleClear() {

--
Gitblit v1.9.3