From d2d549d1c09087a886dece6ee6379b493d851dc5 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 18 四月 2024 00:46:13 +0800 Subject: [PATCH] 按钮权限配置 --- Source/UBCS-WEB/src/views/integration/vciAttribute.vue | 58 +++++++++++++++++++++++++++- Source/UBCS-WEB/src/views/integration/integrationIndex.vue | 36 ++++++++++++------ 2 files changed, 79 insertions(+), 15 deletions(-) diff --git a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue index 5cb52d3..083d865 100644 --- a/Source/UBCS-WEB/src/views/integration/integrationIndex.vue +++ b/Source/UBCS-WEB/src/views/integration/integrationIndex.vue @@ -59,16 +59,17 @@ <!-- <el-button :disabled="disabledPush" icon="el-icon-plus" size="small" type="primary"--> <!-- @click="dialogPush = true">鏂� 澧�--> <!-- </el-button>--> - <el-button icon="el-icon-check" size="small" type="primary" @click="handleSave">淇� 瀛� + <el-button v-if="permissionList.saveBtn" icon="el-icon-check" size="small" type="primary" + @click="handleSave">淇� 瀛� </el-button> - <el-button icon="el-icon-connection" size="small" type="primary" - @click="handleSync('all')">鍚屾涓绘ā鍨� + <el-button v-if="permissionList.allSyncBtn" icon="el-icon-connection" size="small" + type="primary" @click="handleSync('all')">鍚屾涓绘ā鍨� </el-button> - <el-button icon="el-icon-connection" size="small" type="primary" - @click="handleSync('one')">鍚屾璇︾粏妯″瀷 + <el-button v-if="permissionList.oneSyncBtn" icon="el-icon-connection" size="small" + type="primary" @click="handleSync('one')">鍚屾璇︾粏妯″瀷 </el-button> - <el-button icon="el-icon-coordinate" size="small" type="primary" - @click="handlerAuto">鑷姩濉厖 + <el-button v-if="permissionList.autoBtn" icon="el-icon-coordinate" size="small" + type="primary" @click="handlerAuto">鑷姩濉厖 </el-button> </template> </avue-crud> @@ -78,8 +79,8 @@ @row-update="handleUpdate" @row-dblclick="handleRowClick"> <template slot="menuLeft"> - <el-button icon="el-icon-coordinate" size="small" type="primary" - @click="handlerBottomAuto">鑷姩濉厖 + <el-button v-if="permissionList.bottomAutoBtn" icon="el-icon-coordinate" size="small" + type="primary" @click="handlerBottomAuto">鑷姩濉厖 </el-button> </template> </avue-crud> @@ -94,6 +95,7 @@ <script> import integrationTransfer from './integrationTransfer.vue' import pinyin from 'js-pinyin' +import {mapGetters} from "vuex"; import { referCodeClassifyTree, referTree, @@ -281,7 +283,17 @@ }, targetColumn() { return this.optionMapping.column.find(column => column.prop === 'targetAttrName'); - } + }, + ...mapGetters(["permission"]), + permissionList() { + return { + allSyncBtn: this.vaildData(this.permission.integration.integration_allSync, false), + autoBtn: this.vaildData(this.permission.integration.integration_auto, false), + bottomAutoBtn: this.vaildData(this.permission.integration.integration_bottomAuto, false), + oneSyncBtn: this.vaildData(this.permission.integration.integration_oneSync, false), + saveBtn: this.vaildData(this.permission.integration.integration_save, false), + } + }, }, methods: { handlerAuto() { @@ -314,7 +326,7 @@ } }) }) - this.$message.success('濉厖鎴愬姛锛�'); + this.$message.success('鑷姩濉厖鎴愬姛锛岃纭灞炴�у悗鐐瑰嚮淇濆瓨锛�'); }) .catch(error => { console.log(error) @@ -337,7 +349,7 @@ } }) }) - + this.$message.success('鑷姩濉厖鎴愬姛锛岃纭灞炴�у悗鐐瑰嚮淇濆瓨锛�') }) }, calculateSimilarity(str1, str2) { diff --git a/Source/UBCS-WEB/src/views/integration/vciAttribute.vue b/Source/UBCS-WEB/src/views/integration/vciAttribute.vue index 24e1a38..33230eb 100644 --- a/Source/UBCS-WEB/src/views/integration/vciAttribute.vue +++ b/Source/UBCS-WEB/src/views/integration/vciAttribute.vue @@ -4,8 +4,21 @@ @size-change="sizeChange" @row-dblclick="handleRowClick" @row-update="handleUpdate" @selection-change="selectChange"> <template slot="menuLeft"> - <el-button plain size="small" type="success" @click="savaHandler">淇濆瓨</el-button> - <el-button plain size="small" type="primary" @click="syncHandler">鍚屾</el-button> + <el-button v-if="permissionList.saveBtn" plain size="small" type="success" @click="savaHandler">淇濆瓨</el-button> + <el-button v-if="permissionList.syncBtn" plain size="small" type="primary" @click="syncHandler">鍚屾</el-button> + <span style="width: 200px;display: inline-block"> + <el-select slot="prepend" v-model="searchSelect" placeholder="璇烽�夋嫨" size="small"> + <el-option v-for="item in searchData" :key="item.prop" :label="item.label" :value="item.prop" + ></el-option> + </el-select> + </span> + <span style="margin-left: 5px"> + <el-input v-model="searchValue" class="attrSearch" clearable placeholder="璇疯緭鍏ュ唴瀹�" + prefix-icon="el-icon-search" + size="small" type="text"></el-input> + <el-button v-if="permissionList.searchBtn" icon="el-icon-search" plain size="small" type="primary" + @click="searchHandler"> 鎼滅储</el-button> + </span> </template> </avue-crud> </basic-container> @@ -14,11 +27,29 @@ <script> import {getGroupAttrPoolALlList, editGroupAttr, syncGroupAttrMapping} from '@/api/vciAttrbute' import {getPage} from "@/api/omd/OmdAttribute"; +import {mapGetters} from "vuex"; export default { name: "vciAttribute", data() { return { + searchSelect: "groupAttrKey", + searchValue: '', + searchData: [ + { + label: "闆嗗洟灞炴�х紪鍙�", + prop: "groupAttrKey", + align: "left", + display: false, + width: 200, + required: true + }, { + label: "闆嗗洟灞炴�у悕绉�", + prop: "groupAttrName", + align: "left", + display: false + } + ], data: [], options: { height: 'auto', @@ -86,9 +117,30 @@ computed: { codeMetaColumn() { return this.options.column.find(column => column.prop === 'codeMetaAttrName'); - } + }, + ...mapGetters(["permission"]), + permissionList() { + return { + saveBtn: this.vaildData(this.permission.vciAttribute.attribute_save, false), + syncBtn: this.vaildData(this.permission.vciAttribute.attribute_sync, false), + searchBtn: this.vaildData(this.permission.vciAttribute.attribute_search, false), + } + }, }, methods: { + searchHandler() { + console.log(this.searchSelect) + const params = { + [`conditionMap[${this.searchSelect}_like]`]: this.searchValue, + page: this.page.currentPage, + limit: this.page.pageSize + } + getGroupAttrPoolALlList(params).then(res => { + const data = res.data.data; + this.data = data.records; + this.page.total = data.total; + }) + }, codeMetaDis() { for (const item of this.data) { if (item.codeMetaAttrOid && item.codeMetaAttrKey && item.codeMetaAttrName) { -- Gitblit v1.9.3