From d0b163b5f1114a93b5d0f04e77a00ed8adb91894 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 14 十二月 2023 20:18:37 +0800
Subject: [PATCH] 整合代码
---
Source/UBCS-WEB/src/views/integration/systemInfo.vue | 69 +++++++++++++++++++++++-----------
1 files changed, 47 insertions(+), 22 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index f7e2560..d7707ef 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -1,13 +1,16 @@
<template>
<basic-container>
- <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :search.sync="search" :table-loading="loading"
+ <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :permission="permissionList"
+ :search.sync="search"
+ :table-loading="loading"
@on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit"
@refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage"
@selection-change="selectionChange" @row-click="handleRowClick">
<template slot="menuLeft">
<!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇�
</el-button> -->
- <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">鍒� 闄�
+ <el-button v-if="permissionList.delBtn" icon="el-icon-delete" size="small" type="danger"
+ @click="handleDeleteByIds">鍒� 闄�
</el-button>
</template>
<template slot="search" slot-scope="{row,size}">
@@ -19,10 +22,11 @@
:size="size" clearable style="width:300px;margin-left: 10px;"
@clear="handleClear" @keyup.enter.native="handleEnter"></el-input>
</template>
- <template #menu="{row,index,size}">
+ <template v-if="permissionList.empower" #menu="{row,index,size}">
<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 class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈"
top="-50px">
@@ -54,6 +58,7 @@
sysInfoTree,
batchAddSave
} from '@/api/integration/sysInfo.js'
+import {mapGetters} from "vuex";
export default {
data() {
@@ -90,7 +95,23 @@
search: {},
delIds: [],
data: [],
- option: {
+
+ }
+ },
+ created() {
+ },
+ computed: {
+ ...mapGetters(["permission"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.systemInfo.systemInfo_add, false),
+ editBtn: this.vaildData(this.permission.systemInfo.systemInfo_edit, false),
+ delBtn: this.vaildData(this.permission.systemInfo.systemInfo_delete, false),
+ empower: this.vaildData(this.permission.systemInfo.systemInfo_empower, false),
+ }
+ },
+ option() {
+ return {
height: "auto",
tip: false,
border: true,
@@ -134,23 +155,21 @@
type: 'textarea'
}
]
- },
+ }
}
- },
- created() {
},
methods: {
//閲嶇疆
- resetting(){
+ resetting() {
this.$refs.tree.setCheckedKeys([])
// console.log(this.ParentList)
},
empower() {
batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => {
// console.log(res.data)
- if(res.data.code === 200){
+ if (res.data.code === 200) {
this.$message.success(res.data.msg)
- this.dialogVisible=false;
+ this.dialogVisible = false;
}
})
},
@@ -159,35 +178,35 @@
if (checked) {
this.addAllChildren(row.children);
this.addToParentList(row);
- // 鍕鹃�夎鏃讹紝灏嗗綋鍓嶈浠ュ強鍏舵墍鏈夊瓙鑺傜偣娣诲姞鍒癙arentList涓�
+ // 鍕鹃�夎鏃跺皢鎵�鏈夎妭鐐规坊鍔犲埌ParentList涓�
} else {
this.removeAllChildren(row.children);
this.removeFromParentList(row);
- // 鍙栨秷鍕鹃�夎鏃讹紝灏嗗綋鍓嶈浠ュ強鍏舵墍鏈夊瓙鑺傜偣浠嶱arentList涓Щ闄�
+ // 鍙栨秷鍕鹃�夊皢鎵�鏈夎妭鐐规坊鍔犱粠ParentList涓Щ闄�
}
-
// console.table(this.ParentList);
},
+ //瀛愯妭鐐规坊鍔�
addAllChildren(children) {
for (let child of children) {
this.addToParentList(child);
// 灏嗗瓙鑺傜偣娣诲姞鍒� ParentList 涓�
if (child.children && child.children.length > 0) {
this.addAllChildren(child.children);
- // 閫掑綊璋冪敤缁х画娣诲姞瀛愯妭鐐圭殑瀛愯妭鐐�
}
}
},
+ //瀛愯妭鐐圭Щ闄�
removeAllChildren(children) {
for (let child of children) {
this.removeFromParentList(child);
// 灏嗗瓙鑺傜偣浠� ParentList 涓Щ闄�
if (child.children && child.children.length > 0) {
this.removeAllChildren(child.children);
- // 閫掑綊璋冪敤缁х画绉婚櫎瀛愯妭鐐圭殑瀛愯妭鐐�
}
}
},
+ //褰撳墠鐖惰妭鐐规坊鍔�
addToParentList(item) {
const classifyOid = item.attributes.classifyOid;
if (!this.isClassifyOidExists(classifyOid)) {
@@ -197,9 +216,9 @@
classifyOid: classifyOid,
};
this.ParentList.push(record);
- // 灏嗚妭鐐规坊鍔犲埌ParentList涓�
}
},
+ //褰撳墠鐖惰妭鐐圭Щ闄�
removeFromParentList(item) {
const classifyOid = item.attributes.classifyOid;
if (this.isClassifyOidExists(classifyOid)) {
@@ -207,12 +226,13 @@
if (index !== -1) {
this.ParentList.splice(index, 1);
}
- // 灏嗚妭鐐逛粠ParentList涓Щ闄�
}
},
+ //鍒ら噸-ParentList
isClassifyOidExists(classifyOid) {
return this.ParentList.some(item => item.classifyOid === classifyOid);
},
+ //鏌ユ壘index浣嶇疆
findIndexByClassifyOid(classifyOid) {
return this.ParentList.findIndex(item => item.classifyOid === classifyOid);
},
@@ -223,16 +243,17 @@
sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => {
let List = [];
let value = 0;
- let NumberList= [];
+ let NumberList = [];
+
function traverse(obj, parent) {
//閲嶆柊鏋勫缓涓�娆¢�変腑褰撳墠row鐨勬暟鎹�
const record = {
label: obj.text,
oid: obj.oid,
- attributes:{
+ attributes: {
classifyId: obj.attributes.classifyId,
classifyOid: obj.attributes.classifyOid,
- selected:obj.attributes.selected
+ selected: obj.attributes.selected
},
classParentOid: obj.parentId,
value: value,
@@ -265,6 +286,7 @@
}
}
}
+
for (let item of res.data) {
traverse(item, null);
}
@@ -273,6 +295,7 @@
// this.ModifyProperties(this.TreeData, 'text', 'label');
// 鏍规嵁this.TreeData鐨勯暱搴﹁绠楀欢杩熸椂闂�
const delayTime = this.TreeData.length * 1;
+ console.log(delayTime)
setTimeout(() => {
this.loading = false;
this.reload = Math.random();
@@ -330,6 +353,7 @@
message: '鏂板鏁版嵁鎴愬姛锛�'
})
done(row)
+ await this.getDataList();
// this.$refs.crud.refreshTable()
// this.getDataList()
}
@@ -350,6 +374,7 @@
})
done(row)
}
+ await this.getDataList();
} catch {
loading()
}
@@ -385,7 +410,7 @@
type: 'success',
message: '鍒犻櫎鎴愬姛!'
});
- this.getDataList()
+ await this.getDataList()
}
})
},
--
Gitblit v1.9.3