From c9f7c5bc088c7d20f8858b734415cf8fa9c3f527 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 18 十一月 2024 16:14:12 +0800
Subject: [PATCH] 登录添加锁定时间判断以及提示&&UI上下文按钮设计Action参数信息编辑功能数据错乱问题

---
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue |  439 +++++++++++++++++++++++++++---------------------------
 1 files changed, 218 insertions(+), 221 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
index 37e2e11..e78aadb 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue
@@ -3,13 +3,13 @@
     <avue-crud
       ref="crud"
       v-model="form"
+      :before-close="beforeClose"
+      :before-open="beforeOpen"
       :data="data"
       :option="option"
       :table-loading="tableLoading"
-      @row-del="rowDelHandler"
       @row-save="rowSaveHandler"
       @row-update="rowUpdateHandler"
-      @refresh-change="handleRefresh"
       @selection-change="selectChangeHandler"
       @row-click="rowClickHandler">
       <template slot="menuLeft" slot-scope="scope">
@@ -25,6 +25,8 @@
         <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
         </el-button>
         <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
+        </el-button>
+        <el-button icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕
         </el-button>
       </template>
 
@@ -45,7 +47,6 @@
           </template>
         </avue-crud>
       </template>
-
 
       <!-- 鍒囨崲鎼滅储绫诲瀷 婧愬璞� 鐩爣瀵硅薄鏄剧ずlabel鍒囨崲 -->
       <template slot="showTypeLabel" slot-scope="{}">
@@ -77,9 +78,9 @@
             </el-button>
             <el-button :disabled="disabledBtn" plain size="mini" type="primary" @click="escClickBtnHandler">鍙栨秷
             </el-button>
-            <el-button plain size="mini" type="primary">璋冩暣涓轰笅绾ф寜閽�</el-button>
-            <el-button plain size="mini" type="primary">璋冩暣涓轰笂绾ф寜閽�</el-button>
-            <el-button plain size="mini" type="primary">澶嶅埗鍒板叾浠栫粍浠�</el-button>
+            <el-button plain size="mini" type="primary" @click="changeBottomBtnHandler">璋冩暣涓轰笅绾ф寜閽�</el-button>
+            <el-button plain size="mini" type="primary" @click="changeTopBtnHandler">璋冩暣涓轰笂绾ф寜閽�</el-button>
+            <el-button plain size="mini" type="primary" @click="cloneClickBtnHandler">澶嶅埗鍒板叾浠栫粍浠�</el-button>
           </div>
         </el-header>
         <el-container>
@@ -133,7 +134,7 @@
                   </el-form-item>
 
                   <el-col :span="12">
-                    <el-form-item label="鏄惁鎺堟潈锛�" prop="resource">
+                    <el-form-item label="鏄惁鎺堟潈锛�" prop="authorization">
                       <el-radio v-model="basicForm.authorization" :disabled="disabledBtn" label="0">鏄�</el-radio>
                       <el-radio v-model="basicForm.authorization" :disabled="disabledBtn" label="1">鍚�</el-radio>
                     </el-form-item>
@@ -195,6 +196,10 @@
       </el-container>
     </el-dialog>
     <action-dialog ref="actionDialog" @updataAction="actionSaveHandler"></action-dialog>
+    <clone-dialog ref="cloneDialog" :fromOid="fromOid" :sourceOId="sourceOId" paramsType="tab"
+                  type="pageDef"></clone-dialog>
+    <clone-dialog ref="cloneBtnDialog" :fromOid="formBtnOid" :sourceOId="sourceBtnOid" paramsType="pageDef"
+                  type="tabButton"></clone-dialog>
   </div>
 </template>
 
@@ -203,16 +208,18 @@
 import func from "@/util/func";
 import {
   getPLPageDefinations,
-  getBtmDatasByPage,
-  getPortalVIDatasByPage,
-  getQTInfoDatasByPage,
   getTabButtons,
   addTapButton,
   updateTapButton,
-  getLinkDatasByPage,
-  addPageDefination
+  addPageDefination,
+  deleteTabButton,
+  delPageDefination,
+  joinBtn,
+  exitBtn,
+  updatePageDefination
 } from "@/api/UI/uiDefine";
-import actionDialog from '@/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action';
+import actionDialog from '@/views/modelingMenu/ui/Aciton/components/dialog';
+import cloneDialog from "@/views/modelingMenu/ui/uiDefine/rightRegion/cloneDialog";
 
 export default {
   props: {
@@ -227,16 +234,21 @@
     }
   },
   components: {
-    actionDialog
+    actionDialog,
+    cloneDialog
   },
   name: "index",
   data() {
     return {
+      formBtnOid: '',
+      sourceBtnOid: '',
+      sourceOId: '',
+      fromOid: '',
       paramsForm: {},
       eventOption: {
         ...basicOption,
         addBtn: false,
-        editBtn: false,
+        // editBtn: false,
         delBtn: false,
         refreshBtn: false,
         highlightCurrentRow: true,
@@ -426,10 +438,11 @@
               return val;
             },
             change: (val) => {
-              const list = ['showType' ,'linkType' ,'templateId', 'SubUILayout' , 'searchObjType' ,'queryTemplateName', 'controlPath' ,'expandCols', 'rootContent', 'showAbs' ,'showLinkAbs' ,'separator']
-              list.forEach(item => {
-                this.form[item] = "";
-              })
+              const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'searchObjType', 'queryTemplateName', 'controlPath', 'expandCols', 'rootContent', 'showAbs', 'showLinkAbs', 'separator']
+              // list.forEach(item => {
+              //   this.form[item] = "";
+              // })
+              this.form.searchTarger = '1'
               const searchTarger = this.option.column.find(item => item.prop === 'searchTarger');  // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤�
               searchTarger.display = true; // 鍒囨崲榛樿灞曠ず鎼滅储绫诲瀷
               // 妯℃澘绫诲瀷涓鸿〃鏍�
@@ -496,9 +509,9 @@
               }
               // 鍒囨崲娓呯┖妯℃澘绫诲瀷
               const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'queryTemplateName', 'searchObjType'];
-              list.forEach(item => {
-                this.form[item] = '';
-              })
+              // list.forEach(item => {
+              //   this.form[item] = '';
+              // })
             }
           },
           {
@@ -516,12 +529,15 @@
               {
                 label: '婧愬璞�',
                 prop: 'showType',
-                type: 'table',
-                display: false,
+                type: 'select',
+                cascader: ['linkType', 'templateId', 'SubUILayout', 'searchObjType', 'queryTemplateName'],
                 placeholder: "璇疯緭鍏ュ唴瀹�",
+                dicUrl: '/api/uiManagerController/getBtmDatasByPage?page=1&limit=-1',
+                filterable: true,
                 props: {
                   label: 'name',
-                  value: 'name'
+                  value: 'name',
+                  desc: 'label'
                 },
                 rules: [
                   {
@@ -530,81 +546,27 @@
                     trigger: 'change'
                   }
                 ],
-                children: {
-                  border: true,
-                  column: [{
-                    label: '鍚嶇О',
-                    search: true,
-                    searchSpan: 24,
-                    prop: 'name'
-                  }, {
-                    label: '鏍囩',
-                    prop: 'label'
-                  }],
-                },
-                change: (val) => {
-                  const list = ['linkType', 'templateId', 'SubUILayout', 'queryTemplateName', 'searchObjType'];
-                  list.forEach(item => {
-                    this.form[item] = '';
-                  })
-                },
-                onLoad: ({page, value, data}, callback) => {
-                  //page鍒嗛〉
-                  // 涓嶇鏄悳绱� 杩樻槸棣栨鍔犺浇閮戒細瑙﹀彂page 鎵�浠ュ彧闇�瑕佹嬁page瀛樺湪涓庡惁杩涜璇锋眰灏卞彲浠� 濡傛灉鍐嶅幓鍒ゆ柇data鎼滅储 鎴栬�卾alue鍒濇鍔犺浇灏变細閲嶅璇锋眰
-                  if (page) {
-                    const params = {
-                      "conditionMap[filterInputValue]": data ? data.name : ''
-                    };
-                    getBtmDatasByPage(page.currentPage, page.pageSize, params).then(res => {
-                      callback({
-                        total: res.data.total,
-                        data: res.data.data
-                      })
-                    })
-                  }
-                },
               },
               {
                 label: '閾炬帴绫诲瀷',
                 prop: 'linkType',
-                type: 'table',
+                type: 'select',
                 display: false,
+                filterable: true,
                 props: {
                   label: 'name',
-                  value: 'name'
+                  value: 'name',
+                  desc: 'tag'
                 },
-                children: {
-                  border: true,
-                  column: [{
-                    label: '鍚嶇О',
-                    search: true,
-                    searchSpan: 24,
-                    prop: 'name'
-                  }, {
-                    label: '鏍囩',
-                    prop: 'tag'
-                  }],
-                },
-                onLoad: ({page, value, data}, callback) => {
-                  if (page) {
-                    const params = {
-                      "conditionMap[selectBtmType]": this.form.showType,
-                    };
-                    getLinkDatasByPage(page.currentPage, page.pageSize, params).then(res => {
-                      console.log(res);
-                      callback({
-                        total: res.data.total,
-                        data: res.data.data
-                      })
-                    })
-                  }
-                },
+                dicUrl: '/api/uiManagerController/getLinkDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]={{key}}',
               },
               {
                 label: '閫夋嫨妯℃澘',
                 prop: 'templateId',
                 display: false,
-                type: 'table',
+                type: 'select',
+                filterable: true,
+                dicUrl: '/api/uiManagerController/getPortalVIDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]={{key}}',
                 rules: [
                   {
                     required: true,
@@ -614,71 +576,21 @@
                 ],
                 props: {
                   label: 'viName',
-                  value: 'viName'
-                },
-                children: {
-                  border: true,
-                  column: [{
-                    label: '鍚嶇О',
-                    search: true,
-                    searchSpan: 24,
-                    prop: 'viName'
-                  }, {
-                    label: '绫诲瀷',
-                    prop: 'viType'
-                  }],
-                },
-                onLoad: ({page, value, data}, callback) => {
-                  if (page) {
-                    const params = {
-                      "conditionMap[selectBtmType]": this.form.showType,
-                      "conditionMap[filterInputValue]": data ? data.viName : '',
-                    };
-                    getPortalVIDatasByPage(page.currentPage, page.pageSize, params).then(res => {
-                      console.log(res);
-                      callback({
-                        total: res.data.total,
-                        data: res.data.data
-                      })
-                    })
-                  }
+                  value: 'viName',
+                  desc: 'viType'
                 },
               },
               {
                 label: 'UI瀹氫箟',
                 prop: 'SubUILayout',
-                type: 'table',
+                type: 'select',
+                filterable: true,
                 display: false,
                 props: {
-                  label: 'qtName',
-                  value: 'qtName'
+                  label: 'plName',
+                  value: 'plCode',
                 },
-                children: {
-                  border: true,
-                  column: [{
-                    label: '鍚嶇О',
-                    search: true,
-                    searchSpan: 24,
-                    prop: 'qtName'
-                  }, {
-                    label: '绫诲瀷',
-                    prop: 'btmName'
-                  }],
-                },
-                onLoad: ({page, value, data}, callback) => {
-                  if (page) {
-                    const params = {
-                      "conditionMap[selectBtmType]": this.form.showType,
-                      "conditionMap[filterInputValue]": data ? data.qtName : '',
-                    };
-                    getQTInfoDatasByPage(page.currentPage, page.pageSize, params).then(res => {
-                      callback({
-                        total: res.data.total,
-                        data: res.data.data
-                      })
-                    })
-                  }
-                },
+                dicUrl: '/api/uiManagerController/getUILayoutDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]={{key}}',
               },
               {
                 label: '鏌ヨ绫诲瀷',
@@ -701,75 +613,28 @@
               {
                 label: '鏌ヨ瀵硅薄绫诲瀷',
                 prop: 'searchObjType',
-                type: 'table',
+                type: 'select',
                 display: false,
                 labelWidth: 100,
                 props: {
                   label: 'qtName',
-                  value: 'qtName'
+                  value: 'qtName',
+                  desc: 'btmName'
                 },
-                children: {
-                  border: true,
-                  column: [{
-                    label: '鍚嶇О',
-                    search: true,
-                    searchSpan: 24,
-                    prop: 'qtName'
-                  }, {
-                    label: '绫诲瀷',
-                    prop: 'btmName'
-                  }],
-                },
-                onLoad: ({page, value, data}, callback) => {
-                  if (page) {
-                    const params = {
-                      "conditionMap[selectBtmType]": null, // cs绔湁闂 鏆傛椂涓嶅睍绀哄唴瀹�
-                    };
-                    getLinkDatasByPage(page.currentPage, page.pageSize, params).then(res => {
-                      console.log(res);
-                      callback({
-                        total: res.data.total,
-                        data: res.data.data
-                      })
-                    })
-                  }
-                },
+                dicUrl: '/api/uiManagerController/getLinkDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]=',// cs绔湁闂 鏆傛椂涓嶅睍绀哄唴瀹�
               },
               {
                 label: '鏌ヨ妯℃澘',
                 prop: 'queryTemplateName',
-                type: 'table',
+                type: 'select',
+                filterable: true,
                 display: false,
                 props: {
                   label: 'qtName',
-                  value: 'qtName'
+                  value: 'qtName',
+                  desc: 'btmName'
                 },
-                children: {
-                  border: true,
-                  column: [{
-                    label: '鍚嶇О',
-                    search: true,
-                    searchSpan: 24,
-                    prop: 'qtName'
-                  }, {
-                    label: '绫诲瀷',
-                    prop: 'btmName'
-                  }],
-                },
-                onLoad: ({page, value, data}, callback) => {
-                  if (page) {
-                    const params = {
-                      "conditionMap[selectBtmType]": this.form.showType,
-                      "conditionMap[filterInputValue]": data ? data.qtName : '',
-                    };
-                    getQTInfoDatasByPage(page.currentPage, page.pageSize, params).then(res => {
-                      callback({
-                        total: res.data.total,
-                        data: res.data.data
-                      })
-                    })
-                  }
-                },
+                dicUrl: '/api/uiManagerController/getQTInfoDatasByPage?page=1&limit=-1&conditionMap[selectBtmType]={{key}}',
               },
               {
                 label: '鎺у埗璺緞',
@@ -801,7 +666,7 @@
                 prop: 'expandMode',
                 display: false,
                 type: 'radio',
-                value:'1',
+                value: '1',
                 dicData: [
                   {
                     label: '閫愮骇灞曞紑',
@@ -854,7 +719,7 @@
     sourceData: {
       handler(val) {
         if (val && val.plOId) {
-          this.getTableList()
+          this.getTableList();
         } else {
           this.data = [];
         }
@@ -877,6 +742,7 @@
         this.tableLoading = false;
       })
     },
+
     // 鏍规嵁涓嶅悓鍊煎尯鍒嗙被鍨�
     templateTypeValueHandler(val) {
       const componentMap = {
@@ -921,9 +787,23 @@
       this.$refs.crud.rowAdd();
     },
 
+    // 缂栬緫鎵撳紑琛ㄥ崟鍓�
+    beforeOpen(done, type) {
+      // if (type === 'edit') {
+      //   console.log('edit');
+      //   this.form.showType = 'Ludc';
+      // }
+      done();
+    },
+
+    // 澧炲姞鍏抽棴瀵硅瘽妗� 娓呯┖event鏁扮粍
+    beforeClose(done) {
+      this.eventData = [];
+      done();
+    },
+
     // 淇敼
     editBtnClick(row) {
-      console.log(row);
       this.eventData = [];
       if (row.eventKey && row.eventValue) {
         let keys = row.eventKey.split(',');
@@ -939,26 +819,75 @@
         });
       }
       this.$refs.crud.rowEdit(row);
+      console.log(this.form);
+    },
+
+    // 鍒犻櫎
+    rowDeleteHandler(row) {
+      console.log(row);
+      this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).then(() => {
+        const params = {
+          oids: row.id
+        }
+        delPageDefination(params).then(res => {
+          if (res.data.code === 200) {
+            this.$message.success('鍒犻櫎鎴愬姛');
+            this.getTableList();
+          }
+        })
+      }).catch(() => {
+        this.$message({
+          type: 'info',
+          message: '宸插彇娑堝垹闄�'
+        });
+      });
     },
 
     // 淇濆瓨
-    rowSaveHandler(row,done,loading){
-      if(row.templateType === '6'){
+    rowSaveHandler(row, done, loading) {
+      if (row.templateType === '6') {
         row.SubUIObjType = row.showType;
         row.showType = "";
       }
       console.log(this.sourceData);
       const params = {
         ...row,
-        tabPageOId:this.sourceData.plOId
+        tabPageOId: this.sourceData.plOId
       }
       addPageDefination(params).then(res => {
         console.log(res);
-        if(res.data.code === 200){
+        if (res.data.code === 200) {
           this.$message.success(res.data.obj);
-          done()
+          this.getTableList();
+          done();
         }
-      }).catch(err=> {
+      }).catch(err => {
+        loading();
+      })
+    },
+
+    rowUpdateHandler(row,index,done,loading){
+      if (row.templateType === '6') {
+        row.SubUIObjType = row.showType;
+        row.showType = "";
+      }
+      console.log(this.sourceData);
+      const params = {
+        ...row,
+        tabPageOId: this.sourceData.plOId
+      }
+      updatePageDefination(params).then(res => {
+        console.log(res);
+        if (res.data.code === 200) {
+          this.$message.success(res.data.obj);
+          this.getTableList();
+          done();
+        }
+      }).catch(err => {
         loading();
       })
     },
@@ -1028,7 +957,7 @@
     // 妯℃澘绫诲瀷涓烘爲琛�
     templateTypeTreeTable(val) {
       if (!val) return;
-      this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'expandCols', 'zkfs']);
+      this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'expandCols', 'expandMode']);
     },
 
     // 妯℃澘绫诲瀷涓鸿〃鍗�
@@ -1078,18 +1007,15 @@
       }
     },
 
-    // 鎸夐挳璁捐鍏抽棴瀵硅瘽妗�
-    dialogClose() {
-
-    },
-
     // 鎸夐挳璁捐
     btnDesignClickHandler() {
       if (this.selectList.length != 1) {
         this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�');
         return;
       }
+      console.log(this.selectList);
       this.btnDesignVisible = true;
+      this.formBtnOid = this.selectList[0].id;
       this.getTabBtnTree();
     },
 
@@ -1105,6 +1031,7 @@
           this.treeData = [{
             label: this.selectList[0].name,
             oId: 'parentNode',
+            disabled: true,
             children: data
           }];
           this.treeLoading = false;
@@ -1132,7 +1059,7 @@
 
     // 鎸夐挳璁捐淇℃伅鍙傛暟淇℃伅淇敼
     paramsRowEditHandler(row) {
-      this.$refs.paramsCrud.rowEdit(row);
+      this.$refs.paramsCrud.rowEdit(row,row.$index);
     },
 
     // 鎸夐挳璁捐鍙傛暟淇℃伅娣诲姞鎸夐挳
@@ -1142,6 +1069,7 @@
 
     // 鎸夐挳璁捐鍙傛暟淇℃伅淇敼淇濆瓨
     paramsRowUpdate(row, index, done, loading) {
+      console.log(row,index);
       this.paramsData.splice(index, 1, row);
       done();
     },
@@ -1208,12 +1136,12 @@
           bottomParams[item.name] = item.value
         })
       }
-      ;
 
       const params = this.saveType === 'add' ? {
         ...this.basicForm,
         parentId: this.nodeTreeRow.oId === 'parentNode' ? '' : this.nodeTreeRow.parentId,
-        buttonParams: bottomParams
+        buttonParams: bottomParams,
+        tableOId: this.selectList[0].id
       } : {
         ...this.basicForm,
         buttonParams: bottomParams
@@ -1250,7 +1178,15 @@
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-
+        deleteTabButton(this.nodeTreeRow).then(res => {
+          // console.log(res);
+          if (res.data.code === 200) {
+            this.$message.success('鍒犻櫎鎴愬姛');
+            this.getTabBtnTree();
+            this.basicForm = {};
+            this.paramsData = [];
+          }
+        })
       }).catch(() => {
         this.$message({
           type: 'info',
@@ -1259,17 +1195,78 @@
       });
     },
 
+    // 澶嶅埗鍒板叾浠栫粍浠�
+    cloneClickBtnHandler() {
+      if (func.isEmptyObject(this.nodeTreeRow)) {
+        this.$message.error('璇烽�夋嫨鑺傜偣杩涜澶嶅埗');
+        return;
+      }
+      if (this.nodeTreeRow.oId === "parentNode") {
+        this.$message.error('椤跺眰鑺傜偣涓嶅厑璁稿鍒�');
+        return;
+      }
+      this.sourceBtnOid = this.nodeTreeRow.oId;
+      this.$refs.cloneBtnDialog.openDialog(this.nodeTreeRow);
+    },
+
     // 閫夋嫨action
     actionFoucus() {
-      this.$refs.actionDialog.btnActionVisible = true;
+      this.$refs.actionDialog.openDialog();
     },
 
     // 淇濆瓨action
     actionSaveHandler(val) {
       this.$set(this.basicForm, 'actionName', val.plName);
       this.$set(this.basicForm, 'actionOId', val.plOId);
+    },
+
+    // 鎵撳紑鍏嬮殕瀵硅瘽妗�
+    rowCloneHandler(row) {
+      console.log(row);
+      this.fromOid = this.sourceData.plOId;
+      this.sourceOId = row.id;
+      this.$refs.cloneDialog.openDialog(row);
+    },
+
+    // 璋冩暣涓轰笅绾ф寜閽�
+    changeBottomBtnHandler() {
+      if (func.isEmptyObject(this.nodeTreeRow)) {
+        this.$message.error('璇烽�夋嫨鑺傜偣杩涜淇敼');
+        return;
+      }
+
+      if (this.nodeTreeRow.oId === "parentNode") {
+        this.$message.error('椤跺眰鑺傜偣涓嶅厑璁歌皟鏁�');
+        return;
+      }
+      joinBtn(this.nodeTreeRow).then(res => {
+        // console.log(res);
+        if (res.data.code === 200) {
+          this.$message.success(res.data.obj);
+          this.getTabBtnTree();
+        }
+      })
+    },
+
+    // 璋冩暣涓轰笂绾ф寜閽�
+    changeTopBtnHandler() {
+      if (func.isEmptyObject(this.nodeTreeRow)) {
+        this.$message.error('璇烽�夋嫨鑺傜偣杩涜淇敼');
+        return;
+      }
+
+      if (this.nodeTreeRow.oId === "parentNode") {
+        this.$message.error('椤跺眰鑺傜偣涓嶅厑璁歌皟鏁�');
+        return;
+      }
+      exitBtn(this.nodeTreeRow).then(res => {
+        if (res.data.code === 200) {
+          this.$message.success(res.data.obj);
+          this.getTabBtnTree();
+        }
+      })
     }
-  }
+  },
 }
 </script>
 

--
Gitblit v1.9.3