From 1b84a05dd84e535284ac6e2d2b360d76a4b8e7ac Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期二, 17 十二月 2024 16:11:30 +0800 Subject: [PATCH] 查询模板&&功能权限模块添加按钮权限 --- Source/plt-web/plt-web-ui/环境配置.txt | 2 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue | 26 ++ Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue | 17 + Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue | 39 ++-- Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue | 17 + Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue | 29 ++ Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue | 23 ++ Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue | 14 + Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue | 23 ++ Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue | 17 + Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue | 240 ++++++++++++++++------------- Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue | 23 ++ 12 files changed, 304 insertions(+), 166 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue index a5a323e..ff67598 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue @@ -22,8 +22,8 @@ <basic-container v-loading="treeLoading"> <h3 style="margin: 0 0 10px 0">鍔熻兘鏉冮檺閰嶇疆</h3> <div> - <el-button icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> - <el-button icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary" + <el-button v-if="permissionList.rightBtn" icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> + <el-button v-if="permissionList.resetBtn" icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary" @click="clearValue">閲嶇疆 </el-button> </div> @@ -46,6 +46,7 @@ <script> import {gridRoles} from "@/api/system/role/api"; import {getSysModelAuthTreeMenuByPID, getSysModelAuth, saveRoleRight} from "@/api/authority/functionView/api" +import {mapGetters} from "vuex"; export default { name: "index", @@ -83,6 +84,15 @@ contextData: [] } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + rightBtn: this.vaildData(this.permission[this.$route.query.id].RIGHT, false), + resetBtn: this.vaildData(this.permission[this.$route.query.id].reset, false), + }; + }, + }, created() { this.getTreeList(); this.getUITree(); diff --git a/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue index 86fe00f..bf9d7e3 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue @@ -8,6 +8,7 @@ <script> import {getSecretGradeConfig, saveSecretGrade} from "@/api/authority/secure/classification"; +import {mapGetters} from "vuex"; export default { name: "index", @@ -16,8 +17,18 @@ form:{ type:[], }, - formOption:{ - submitBtn: true, + } + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + saveBtn: this.vaildData(this.permission[this.$route.query.id].save, false), + }; + }, + formOption() { + return { + submitBtn: this.permissionList.saveBtn, submitText:"淇濆瓨", emptyBtn: false, menuPosition:'left', @@ -32,7 +43,7 @@ { label: '鏈哄櫒瀵嗙骇', value: 1 }, ] }] - }, + } } }, created() { diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue index 592c8b0..bf46f53 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue @@ -28,9 +28,9 @@ @refresh-change="handleRefresh" @current-row-change="rowClickHandler"> <template slot="menuLeft"> - <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button> - <el-button icon="el-icon-plus" size="small" type="primary" @click="editHandler">淇敼</el-button> - <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button> + <el-button v-if="permissionList.editBtn" icon="el-icon-plus" size="small" type="primary" @click="editHandler">淇敼</el-button> + <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> <!--<el-button icon="el-icon-view" plain size="small" type="primary" @click="viewAuthHandler">鏌ョ湅鎺堟潈缁撴灉</el-button>--> </template> </avue-crud> @@ -133,6 +133,7 @@ import {getData,saveGrand,delGrand,authResult,queryBusiness} from "@/api/authority/ui/dataAuthor"; import {listUserByUserType, listRoleByUserOid, listDeptByUserOid} from "@/api/system/user/api"; import func from "@/util/func"; +import {mapGetters} from "vuex"; export default { name: "index", components:{dataView}, @@ -229,6 +230,16 @@ } } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), + }; + }, + }, created() { this.getTreeList(); }, diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue index 7cd0fb4..c1f6102 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue @@ -2,7 +2,7 @@ <!--绫诲瀷Action--> <el-container> <el-aside> - <basic-container> + <basic-container v-loadng="treeLoading"> <div ref="TreeBox" style="height: calc(100vh - 154px);!important;"> <!-- 宸︿晶鏍� --> <div style="height: calc(100vh - 190px);"> @@ -32,8 +32,8 @@ @selection-change="selectChangeHandler" @row-click="rowClickHandler"> <template slot="menuLeft"> - <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button> - <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">绉婚櫎</el-button> + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button> + <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">绉婚櫎</el-button> </template> </avue-crud> <action-dialog ref="actionDialog" :is-muti="true" @updataAction="actionSaveHandler"></action-dialog> @@ -49,12 +49,14 @@ import {getTypeActionByType,savePLTypeAction,delPLTypeActions} from "@/api/authority/ui/typeAction" import func from "@/util/func"; import actionDialog from "@/views/modelingMenu/ui/Aciton/components/dialog" +import {mapGetters} from "vuex"; export default { name: "index", components:{actionDialog}, data() { return { + treeLoading:false, treeOption: { height: 'auto', defaultExpandAll: true, @@ -130,18 +132,27 @@ data: [], } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + }; + }, + }, created() { this.getTreeList(); }, methods: { //鏍戣〃鏌ヨ getTreeList() { - const loading = this.$loading({}); + this.treeLoading = true; getBizTree().then(res => { this.treeData = [res.data.obj]; - loading.close(); + this.treeLoading = false; }).catch(error => { - loading.close(); + this.treeLoading = false; }) }, // 鏍戠偣鍑� diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue index a77bb26..b22e484 100644 --- a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue @@ -1,7 +1,7 @@ <template> <el-container> <el-aside> - <basic-container> + <basic-container v-loading="treeLoading"> <div ref="TreeBox" style="height: calc(100vh - 154px);!important;"> <!-- 宸︿晶鏍� --> <div style="height: calc(100vh - 195px);"> @@ -19,11 +19,11 @@ </el-aside> <el-main> - <basic-container v-loading="treeLoading"> + <basic-container v-loading="mainLoading"> <h3 style="margin: 0 0 10px 0">UI鏉冮檺閰嶇疆</h3> <div> - <el-button icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> - <el-button icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary" + <el-button v-if="permissionList.rightBtn" icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button> + <el-button v-if="permissionList.resetBtn" icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary" @click="clearValue">閲嶇疆 </el-button> 涓氬姟绫诲瀷锛� @@ -68,12 +68,14 @@ import {gridRoles, getRightListByRoleId} from "@/api/system/role/api"; import {getUIAuthor, authorizedUI} from "@/api/authority/ui/uiAuthor"; import {getBizTree, gridUIContextData} from "@/api/UI/uiDefine"; +import {mapGetters} from "vuex"; export default { name: "index", data() { return { treeLoading: false, + mainLoading:false, type: '',//涓氬姟绫诲瀷 context: '',//UI涓婁笅鏂嘽ode treeOption: { @@ -105,6 +107,15 @@ contextData: [] } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + rightBtn: this.vaildData(this.permission[this.$route.query.id].RIGHT, false), + resetBtn: this.vaildData(this.permission[this.$route.query.id].reset, false), + }; + }, + }, created() { this.getTreeList(); // this.getUITree(); @@ -112,12 +123,12 @@ }, methods: { getTreeList() { - const loading = this.$loading({}); + this.treeLoading = true; gridRoles().then(res => { this.treeData = res.data.data; - loading.close(); + this.treeLoading = false; }).catch(error => { - loading.close(); + this.treeLoading = false; }) }, @@ -125,18 +136,10 @@ nodeClick(row) { this.nodeRow = row; this.getUITree(); - // const params = { - // roleId: row.oid - // } - // getRightListByRoleId(params).then(res => { - // const data = res.data.data.map(item => item.funcId); - // console.log(data); - // this.$refs.uiTree.setCheckedKeys(data); - // }) }, getUITree() { - this.treeLoading = true; + this.mainLoading = true; const params = { 'conditionMap[roleId]': this.nodeRow.oid, 'conditionMap[type]': this.type, @@ -161,9 +164,9 @@ const checkedData = this.findCheckedOids(res.data.data[0]); this.$refs.uiTree.setCheckedKeys(checkedData); - this.treeLoading = false; + this.mainLoading = false; }).catch(error => { - this.treeLoading = false; + this.mainLoading = false; }) }, diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue index 1c23959..ef198e4 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue @@ -22,11 +22,11 @@ <el-main> <basic-container> <div v-if="this.nodeRow && this.nodeRow.label"> - <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> - <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button> - <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> - <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button> - <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button> + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> + <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button> + <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> + <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button> + <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button> </div> <avue-crud ref="crud" @selection-change="selectionChange" @@ -65,6 +65,7 @@ import {dateFormat} from "@/util/date"; import FormDialog from "./formDialog.vue" import formQueryDialog from "@/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue"; +import {mapGetters} from "vuex"; export default { name: "index", components: {FormDialog,formQueryDialog}, @@ -136,6 +137,18 @@ levelFlag:0 } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), + exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false), + importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false), + }; + }, + }, created() { this.getTreeList(); }, diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue index c150e3e..b4657da 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue @@ -21,11 +21,11 @@ <el-main> <basic-container> <div v-if="this.nodeRow && this.nodeRow.label"> - <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> - <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button> - <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> - <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button> - <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button> + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> + <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button> + <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> + <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button> + <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button> </div> <avue-crud ref="crud" @selection-change="selectionChange" @@ -61,6 +61,7 @@ import FormDialog from "./formDialog.vue" import func from "@/util/func"; import formQueryDialog from "@/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue"; +import {mapGetters} from "vuex"; export default { name: "index", @@ -171,6 +172,18 @@ levelFlag:0 } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), + exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false), + importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false), + }; + }, + }, created() { this.getTreeList(); }, diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue index 749b9f9..a685dd0 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue @@ -28,9 +28,9 @@ <avue-crud ref="queryCrud" :data="attrData" :option="attrOption" :table-loading="tableLoading" style="margin-top: 10px"> <template slot="menuLeft" slot-scope="scope"> - <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> - <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button> - <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> + <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button> + <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button> </template> </avue-crud> </basic-container> @@ -70,6 +70,7 @@ import {gridTemplate,saveTemplate,updateTemplate,deleteTemplate} from "@/api/queryTemplate/queryDefine"; import basicOption from "@/util/basic-option"; import func from "@/util/func"; +import {mapGetters} from "vuex"; export default { name: "index", @@ -160,6 +161,16 @@ dialogSelectionRow:[] } }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), + }; + }, + }, created() { this.getTreeList(); }, diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue index 5a2a9f3..55a088a 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue @@ -4,15 +4,15 @@ <basic-container> <div ref="TreeBox" style="height: calc(100vh - 144px);!important;"> <div class="headerCon"> - <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addTreeClickHandler">鍒涘缓 + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addTreeClickHandler">鍒涘缓 </el-button> - <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editTreeClickHandler">淇敼 + <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editTreeClickHandler">淇敼 </el-button> - <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delTreeClickHandler">鍒犻櫎 + <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delTreeClickHandler">鍒犻櫎 </el-button> - <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭 + <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">瀵煎叆 </el-button> - <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">瀵煎叆 + <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭 </el-button> </div> <!-- 宸︿晶鏍� --> @@ -61,10 +61,10 @@ </el-tag> </template> <template slot="menuLeft" slot-scope="scope"> - <el-button v-if="treeNodeRow.id !== 'root'" icon="el-icon-plus" plain size="small" type="primary" + <el-button v-if="treeNodeRow.id !== 'root' && permissionList.actionTopAddBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞 </el-button> - <el-button icon="el-icon-download" plain size="small" type="success" @click="downLoadHandler">瀵煎嚭 + <el-button v-if="permissionList.actionTopExportBtn" icon="el-icon-download" plain size="small" type="success" @click="downLoadHandler">瀵煎嚭 </el-button> </template> </avue-crud> @@ -82,7 +82,7 @@ @row-del="BottomRowDelHandler" > <template slot="menuLeft" slot-scope="scope"> - <el-button icon="el-icon-plus" plain size="small" type="primary" @click="bottomAddClickHandler">澧炲姞 + <el-button v-if="permissionList.actionBottomAddBtn" icon="el-icon-plus" plain size="small" type="primary" @click="bottomAddClickHandler">澧炲姞 </el-button> </template> <template slot="menuForm" slot-scope="scope"> @@ -133,6 +133,7 @@ } from '@/api/UI/Action/api' import func from "@/util/func"; import basicOption from "@/util/basic-option"; +import {mapGetters} from "vuex"; export default { name: "index", @@ -151,46 +152,98 @@ bottomTableLoading: false, bottomForm:{}, bottomData: [], - bottomOption: { - ...basicOption, - addBtn: false, - calcHeight: -30, - selection: false, - refreshBtn: false, - dialogWidth:'700', - saveBtn:false, - // height:'auto', - column: [ - { - label: '鍙傛暟鍚嶇О', - prop: 'name', - rules: [ - { - required: true, - message: '璇疯緭鍏ュ弬鏁板悕绉�', - trigger: 'blur' - } - ] - }, - { - label: '榛樿鍊�', - prop: 'defaultValue', - }, - { - label: '鎻愮ず淇℃伅', - prop: 'description', - span: 24, - type: 'textarea', - rows: 4 - }, - ], - }, tableLoading: false, lastIndex: null, selectList: [], data: [], - option: { + treeNodeRow: {}, + treeForm: {}, + treeOption: { + addBtn: false, + defaultExpandedKeys: ['root'], + props: { + label: 'name', + value: 'id', + children: 'childs' + }, + dialogWidth:'800', + dialogMenuPosition: 'right', + formOption: { + dialogMenuPosition: 'right', + column: [ + { + label: '鍒嗙被鍚嶇О', + prop: 'name', + rules: [ + { + required: true, + message: '璇疯緭鍏ュ垎绫诲悕绉�', + trigger: 'blur' + } + ] + }, + { + label: '鍒嗙被搴忓彿', + prop: 'serialno', + rules: [ + { + required: true, + message: '璇疯緭鍏ュ垎绫诲簭鍙�', + trigger: 'blur' + } + ] + }, + { + label: '鍒涘缓鑰�', + prop: 'creator', + disabled: true, + }, + { + label: '鍒涘缓鏃堕棿', + prop: 'createTime', + disabled: true, + }, + { + label: '鐖朵富绫�', + prop: 'pidName', + disabled: true, + span:24 + }, + { + label: '澶囨敞', + prop: 'description', + type:'textarea', + span:24 + }, + ], + } + }, + treeData: [], + } + }, + computed:{ + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), + exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false), + importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false), + actionTopAddBtn: this.vaildData(this.permission[this.$route.query.id].actionTopAdd, false), + actionTopDelBtn: this.vaildData(this.permission[this.$route.query.id].actionTopDel, false), + actionTopEditBtn: this.vaildData(this.permission[this.$route.query.id].actionTopEdit, false), + actionTopExportBtn: this.vaildData(this.permission[this.$route.query.id].actionTopExport, false), + actionBottomAddBtn: this.vaildData(this.permission[this.$route.query.id].actionBottomAdd, false), + actionBottomDelBtn: this.vaildData(this.permission[this.$route.query.id].actionBottomDel, false), + actionBottomEditBtn: this.vaildData(this.permission[this.$route.query.id].actionBottomEdit, false), + }; + }, + option() { + return { ...basicOption, + editBtn:this.permissionList.actionTopEditBtn, + delBtn:this.permissionList.actionTopDelBtn, addBtn: false, height: 350, highlightCurrentRow: true, @@ -287,70 +340,45 @@ type: 'textarea' }, ] - }, - treeNodeRow: {}, - treeForm: {}, - treeOption: { + } + }, + bottomOption(){ + return { + ...basicOption, addBtn: false, - defaultExpandedKeys: ['root'], - props: { - label: 'name', - value: 'id', - children: 'childs' - }, - dialogWidth:'800', - dialogMenuPosition: 'right', - formOption: { - dialogMenuPosition: 'right', - column: [ - { - label: '鍒嗙被鍚嶇О', - prop: 'name', - rules: [ - { - required: true, - message: '璇疯緭鍏ュ垎绫诲悕绉�', - trigger: 'blur' - } - ] - }, - { - label: '鍒嗙被搴忓彿', - prop: 'serialno', - rules: [ - { - required: true, - message: '璇疯緭鍏ュ垎绫诲簭鍙�', - trigger: 'blur' - } - ] - }, - { - label: '鍒涘缓鑰�', - prop: 'creator', - disabled: true, - }, - { - label: '鍒涘缓鏃堕棿', - prop: 'createTime', - disabled: true, - }, - { - label: '鐖朵富绫�', - prop: 'pidName', - disabled: true, - span:24 - }, - { - label: '澶囨敞', - prop: 'description', - type:'textarea', - span:24 - }, - ], - } - }, - treeData: [], + editBtn:this.permissionList.actionBottomEditBtn, + delBtn:this.permissionList.actionBottomDelBtn, + calcHeight: -30, + selection: false, + refreshBtn: false, + dialogWidth:'700', + saveBtn:false, + // height:'auto', + column: [ + { + label: '鍙傛暟鍚嶇О', + prop: 'name', + rules: [ + { + required: true, + message: '璇疯緭鍏ュ弬鏁板悕绉�', + trigger: 'blur' + } + ] + }, + { + label: '榛樿鍊�', + prop: 'defaultValue', + }, + { + label: '鎻愮ず淇℃伅', + prop: 'description', + span: 24, + type: 'textarea', + rows: 4 + }, + ], + } } }, created() { diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue index 83f30a9..7c4962c 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue @@ -26,12 +26,12 @@ <el-main> <basic-container> <div v-if="!tableStatus" style="display: flex;justify-content: left;margin-top: 15px"> - <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞</el-button> - <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎</el-button> - <el-button icon="el-icon-document-add" plain size="small" type="primary" @click="copyClickHandler">鍏嬮殕 + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞</el-button> + <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎</el-button> + <el-button v-if="permissionList.cloneBtn" icon="el-icon-document-add" plain size="small" type="primary" @click="copyClickHandler">鍏嬮殕 </el-button> - <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button> - <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭 + <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button> + <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭 </el-button> </div> <avue-crud @@ -58,9 +58,9 @@ </div> </template> <template slot="menu" slot-scope="scope"> - <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫 + <el-button v-if="permissionList.editBtn" 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 v-if="permissionList.delBtn" icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎 </el-button> </template> </avue-crud> @@ -116,6 +116,7 @@ import {getBizTypes} from "@/api/modeling/businessType/api"; import {gridLink} from "@/api/modeling/linkType/api"; import func from "@/util/func"; +import {mapGetters} from "vuex"; export default { name: "index", @@ -188,6 +189,17 @@ this.getTreeList(); }, computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), + exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false), + importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false), + cloneBtn: this.vaildData(this.permission[this.$route.query.id].clone, false), + }; + }, tableStatus() { return func.isEmptyObject(this.nodeRow); } diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue index 2938f67..b403c07 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue @@ -33,21 +33,21 @@ @search-reset="handleReset" @row-click="rowClickHandler"> <template slot="menuLeft"> - <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> + <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button> <!--<el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button> <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>--> - <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭 + <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆 </el-button> - <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆 + <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭 </el-button> - <el-button icon="el-icon-place" plain size="small" type="primary" @click="uiAuthorHandler">鎺堟潈</el-button> + <el-button v-if="permissionList.RIGHTBtn" icon="el-icon-place" plain size="small" type="primary" @click="uiAuthorHandler">鎺堟潈</el-button> </template> <template slot="menu" slot-scope="scope"> - <el-button icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">缂栬緫 + <el-button v-if="permissionList.editBtn" icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">缂栬緫 </el-button> - <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎 + <el-button v-if="permissionList.delBtn" 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 v-if="permissionList.cloneBtn" icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕 </el-button> </template> <template slot="plName" slot-scope="{row}"> @@ -164,6 +164,7 @@ import func from "@/util/func"; import plShow from "@/views/modelingMenu/ui/uiDefine/rightRegion/plShow"; import uiAuthor from "@/views/authority/ui/uiAuthorization/UIDialog" +import {mapGetters} from "vuex"; export default { name: "index", @@ -358,6 +359,20 @@ } } }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false), + delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false), + editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false), + exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false), + importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false), + cloneBtn: this.vaildData(this.permission[this.$route.query.id].clone, false), + RIGHTBtn: this.vaildData(this.permission[this.$route.query.id].RIGHT, false), + }; + }, + }, created() { this.getTreeList(); }, diff --git "a/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt" "b/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt" index 757e7d4..8d27baa 100644 --- "a/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt" +++ "b/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt" @@ -1,2 +1,2 @@ node.js鐗堟湰锛�18.0.0 -node-sass锛�8.0.0 \ No newline at end of file +node-sass锛�8.0.0 -- Gitblit v1.9.3