From d4451c01b020645ff060649d9da7a7faef1b6512 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 03 一月 2024 16:11:08 +0800
Subject: [PATCH] 主题库按钮分类授权权限
---
Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue | 31 +++++----
Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue | 113 +++++++++++++++++++------------------
Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue | 4
3 files changed, 78 insertions(+), 70 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
index eb130ce..9462ea6 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -451,6 +451,9 @@
type: Boolean,
default: false
},
+ btnAuthList: {
+ type:Array
+ }
},
watch: {
crudOid: {
@@ -1560,20 +1563,20 @@
...mapGetters(["permission"]),
permissionList() {
return {
- busineStatus: this.vaildData(this.permission.classifyTree.attr_add, false),
- fullscreenStatus: this.vaildData(this.permission.classifyTree.attr_view_edit, false),
- ruleStatus: this.vaildData(this.permission.classifyTree.attr_rule, false),
- attrStatus: this.vaildData(this.permission.classifyTree.attr_group, false),
- saveStatus: this.vaildData(this.permission.classifyTree.attr_save, false),
- resetStatus: this.vaildData(this.permission.classifyTree.attr_reset, false),
- injectStatus: this.vaildData(this.permission.classifyTree.attr_inject, false),
- isShowStatus: this.vaildData(this.permission.classifyTree.attr_formrule, false),
- enumStatus: this.vaildData(this.permission.classifyTree.attr_enum, false),
- cascadStatus: this.vaildData(this.permission.classifyTree.attr_parentcode, false),
- syncStatus: this.vaildData(this.permission.classifyTree.attr_sync, false),
- applicationStatus: this.vaildData(this.permission.classifyTree.attr_application, false),
- orderStatus: this.vaildData(this.permission.classifyTree.attr_sort, false),
- removeStatus: this.vaildData(this.permission.classifyTree.attr_delete, false),
+ busineStatus: this.vaildData(this.btnAuthList.attr_add, false),
+ fullscreenStatus: this.vaildData(this.btnAuthList.attr_view_edit, false),
+ ruleStatus: this.vaildData(this.btnAuthList.attr_rule, false),
+ attrStatus: this.vaildData(this.btnAuthList.attr_group, false),
+ saveStatus: this.vaildData(this.btnAuthList.attr_save, false),
+ resetStatus: this.vaildData(this.btnAuthList.attr_reset, false),
+ injectStatus: this.vaildData(this.btnAuthList.attr_inject, false),
+ isShowStatus: this.vaildData(this.btnAuthList.attr_formrule, false),
+ enumStatus: this.vaildData(this.btnAuthList.attr_enum, false),
+ cascadStatus: this.vaildData(this.btnAuthList.attr_parentcode, false),
+ syncStatus: this.vaildData(this.btnAuthList.attr_sync, false),
+ applicationStatus: this.vaildData(this.btnAuthList.attr_application, false),
+ orderStatus: this.vaildData(this.btnAuthList.attr_sort, false),
+ removeStatus: this.vaildData(this.btnAuthList.attr_delete, false),
}
},
attrOids() {
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 9e194c9..d007cbb 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -4,50 +4,26 @@
<!-- 宸︿晶鑿滃崟-->
<el-aside>
<basic-container>
- <div>
- <div>
- <div style="display: flex; flex-direction: column;">
- <div style="display: flex;">
- <el-button v-if="permissionList.TreeAddStatus" plain size="small" type="primary" @click="TreeAdd">娣诲姞
- </el-button>
- <el-button v-if="permissionList.TreeEditStatus" plain size="small" type="primary" @click="TreeEdit">淇敼
- </el-button>
- <el-button v-if="permissionList.TreeDelStatus" plain size="small" type="primary" @click="TreeDel">鍒犻櫎
- </el-button>
- <el-button v-if="permissionList.flushedStatus" plain size="small" type="primary" @click="flushed">鍒锋柊
- </el-button>
- </div>
- <div style="display: flex; margin-top: 10px">
- <el-button v-if="permissionList.EnableStatus" plain size="small" type="primary" @click="Enable">鍚敤
- </el-button>
- <el-button v-if="permissionList.DeactivateStatus" plain size="small" type="primary" @click="Deactivate">
- 鍋滅敤
- </el-button>
- <el-button v-if="permissionList.ImportExcelStatus" plain size="small" type="primary"
- @click.native="ImportExcel">瀵煎叆
- </el-button>
- <el-button v-if="permissionList.ExportExcelStatus" plain size="small" type="primary"
- @click="ExportExcel">瀵煎嚭
- </el-button>
- </div>
- </div>
- <div style="display: flex;margin-top: 5px;margin-bottom: 5px">
- <el-button v-if="permissionList.flowingBtnStuatus" plain size="mini" type="primary"
- @click="flowingDependHandler">娴佹按澶勭悊
- </el-button>
- <el-button v-if="permissionList.classifyAuth" plain size="mini" type="primary"
- @click="classifyAuthHandler">鍒嗙被鎺堟潈
- </el-button>
- </div>
+ <div style="height: 790px;!important;">
+ <div class="headerCon" style="display: flex; flex-wrap: wrap;margin-bottom: 5px">
+ <el-button v-if="permissionList.TreeAddStatus" plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button>
+ <el-button v-if="permissionList.TreeEditStatus" plain size="small" type="primary" @click="TreeEdit">淇敼</el-button>
+ <el-button v-if="permissionList.TreeDelStatus" plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button>
+ <el-button v-if="permissionList.flushedStatus" plain size="small" type="primary" @click="flushed">鍒锋柊</el-button>
+ <el-button v-if="permissionList.EnableStatus" plain size="small" type="primary" @click="Enable">鍚敤</el-button>
+ <el-button v-if="permissionList.DeactivateStatus" plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button>
+ <el-button v-if="permissionList.ImportExcelStatus" plain size="small" type="primary" @click.native="ImportExcel">瀵煎叆</el-button>
+ <el-button v-if="permissionList.ExportExcelStatus" plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button>
+ <el-button style="width: 56px;text-align: center;padding-left: 3px" v-if="permissionList.flowingBtnStuatus" plain size="small" type="primary" @click="flowingDependHandler">娴佹按澶勭悊</el-button>
+ <el-button style="width: 56px;text-align: center;padding-left: 3px" v-if="permissionList.classifyAuth" plain size="small" type="primary" @click="classifyAuthHandler">鍒嗙被鎺堟潈</el-button>
</div>
- </div>
- <!-- 宸︿晶鏍�-->
- <div style="height: calc(100vh - 230px);overflow: auto">
+ <!-- 宸︿晶鏍�-->
+
<avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="CloneTreedata"
:defaultExpandAll="false"
:option="Treeoption"
class="classifyTree"
- style="height: calc(100vh - 290px)"
+ style="height: 690px"
@node-click="nodeClick"
>
<template slot-scope="{ node, data }" class="el-tree-node__label">
@@ -61,8 +37,8 @@
</el-tooltip>
</template>
</avue-tree>
- </div>
+ </div>
<!-- 鏍戣妭鐐规坊鍔犲璇濇-->
<el-dialog v-loading="AddLoading" :before-close="TreeEscHandler"
:title="this.TreeFlag ? '娣诲姞鍒嗙被' :'娣诲姞涓婚搴�'" :visible.sync="TreeAddFormVisible" append-to-body
@@ -279,7 +255,7 @@
</basic-container>
<templatePro :Formlist="this.Formlist" :ProData="this.ProData" :codeClassifyOid="this.codeClassifyOid"
:crudArray="this.crudArray" :crudLCStatus="this.crudLCStatus" :crudOid="this.crudOid"
- :rowIndex="this.selectRow"></templatePro>
+ :rowIndex="this.selectRow" :btnAuthList="btnAuthList"></templatePro>
</span>
<!-- 缂栫爜瑙勫垯-->
<el-dialog :before-close="masterEscHandler" :visible.sync="MasterdialogVisible" append-to-body
@@ -451,12 +427,14 @@
import func from "@/util/func";
import {mapGetters} from "vuex";
import ClassifyAuth from './ClassifyAuthDialog.vue';
+import {getAuthButtonList} from '@/api/system/classifyAuth'
export default {
components: {ClassifyAuth},
name: "classifyTrees.vue",
data() {
return {
+ btnAuthList: [],
activeName: 'first',
masterRow: null,
AddLoading: false,
@@ -830,6 +808,9 @@
this.$refs.tree.setCurrentKey(null);
this.nodeClickList = {};
this.TreeFlagCode = true;
+ // this.$nextTick(()=>{
+ // this.btnAuthList = [];
+ // })
}
}, true)
},
@@ -837,20 +818,25 @@
...mapGetters(["permission"]),
permissionList() {
return {
- TreeAddStatus: this.vaildData(this.permission.classifyTree.tree_add, false),
- TreeEditStatus: this.vaildData(this.permission.classifyTree.tree_edit, false),
- TreeDelStatus: this.vaildData(this.permission.classifyTree.tree_delete, false),
- flushedStatus: this.vaildData(this.permission.classifyTree.tree_break, false),
- EnableStatus: this.vaildData(this.permission.classifyTree.tree_enable, false),
- DeactivateStatus: this.vaildData(this.permission.classifyTree.tree_stop, false),
- ImportExcelStatus: this.vaildData(this.permission.classifyTree.tree_import, false),
- ExportExcelStatus: this.vaildData(this.permission.classifyTree.tree_export, false),
- FindStatus: this.vaildData(this.permission.classifyTree.manage_search, false),
- TemRefreshStatus: this.vaildData(this.permission.classifyTree.manage_break, false),
- CloneBtnStuatus: this.vaildData(this.permission.classifyTree.manage_clone, false),
- flowingBtnStuatus: this.vaildData(this.permission.classifyTree.tree_flowing, false),
- classifyAuth: this.vaildData(this.permission.classifyTree.classify_auth, false),
+ TreeAddStatus: this.vaildData(this.btnAuthList.tree_add, false),
+ TreeEditStatus: this.vaildData(this.btnAuthList.tree_edit, false),
+ TreeDelStatus: this.vaildData(this.btnAuthList.tree_delete, false),
+ flushedStatus: this.vaildData(this.btnAuthList.tree_break, false),
+ EnableStatus: this.vaildData(this.btnAuthList.tree_enable, false),
+ DeactivateStatus: this.vaildData(this.btnAuthList.tree_stop, false),
+ ImportExcelStatus: this.vaildData(this.btnAuthList.tree_import, false),
+ ExportExcelStatus: this.vaildData(this.btnAuthList.tree_export, false),
+ FindStatus: this.vaildData(this.btnAuthList.manage_search, false),
+ TemRefreshStatus: this.vaildData(this.btnAuthList.manage_break, false),
+ CloneBtnStuatus: this.vaildData(this.btnAuthList.manage_clone, false),
+ flowingBtnStuatus: this.vaildData(this.btnAuthList.tree_flowing, false),
+ classifyAuth: this.vaildData(this.btnAuthList.classify_auth, false),
}
+ },
+ treeStyle() {
+ return {
+ height: this.btnAuthList.length > 0 ? '620px' : '785px',
+ };
},
crudTreeOption() {
return {
@@ -1428,6 +1414,11 @@
},
//鏍戠偣鍑讳簨浠�
async nodeClick(data) {
+ getAuthButtonList({classifyId: data.oid}).then(res => {
+ this.btnAuthList = res.data.data;
+ }).catch(error => {
+ console.log(error)
+ })
//鎿嶄綔鏂板鍜屼慨鏀圭殑涓氬姟绫诲瀷闅愯棌
this.TreeFlagCode = !data;
this.editTreeFLagCode = !data.parentId;
@@ -1772,4 +1763,18 @@
width: 500px;
}
+.headerCon{
+ .el-button+.el-button {
+ margin-left: 5px;
+ }
+ .el-button {
+ margin-top: 5px;
+ }
+}
+.headerCon > .el-button:nth-child(5) {
+ margin-left: 0;
+}
+.headerCon > .el-button:nth-child(9) {
+ margin-left: 0;
+}
</style>
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue b/Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue
index 3caff98..1a0018d 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeTemplatePro.vue
@@ -2,7 +2,7 @@
<basic-container>
<avue-tabs :option="Taboption" @change="handleChange"></avue-tabs>
<span v-if="type.prop==='tab1'">
- <attrCrud :ProData="ProData" :crudOid="crudOid" :checkStatus="checkStatus" :crudLCStatus="crudLCStatus" :crudArray="crudArray" :Formlist="Formlist" :codeClassifyOid="codeClassifyOid"></attrCrud>
+ <attrCrud :ProData="ProData" :btnAuthList="btnAuthList" :crudOid="crudOid" :checkStatus="checkStatus" :crudLCStatus="crudLCStatus" :crudArray="crudArray" :Formlist="Formlist" :codeClassifyOid="codeClassifyOid"></attrCrud>
</span>
<span v-else-if="type.prop==='tab2'">
<FlowPath ref="FlowPath" :code="this.crudOid" :checkStatus="checkStatus" :crudLCStatus="crudLCStatus" :Formlist="Formlist"></FlowPath>
@@ -18,7 +18,7 @@
<script>
export default {
name: "TemplatePro.vue",
- props: ['ProData','crudOid','crudLCStatus','crudArray','Formlist','codeClassifyOid','rowIndex','crudArrayFlag'],
+ props: ['ProData','crudOid','crudLCStatus','crudArray','Formlist','codeClassifyOid','rowIndex','crudArrayFlag','btnAuthList'],
data: function () {
return {
type: {},
--
Gitblit v1.9.3