From 3ef0ee19b5991ee38ec6404a36c325171014f7fa Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期二, 07 一月 2025 18:01:47 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue | 107 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 75 insertions(+), 32 deletions(-) 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 1a286ff..94d1078 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,13 +2,13 @@ <!--绫诲瀷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);"> <avue-tree :data="treeData" :option="treeOption" @node-click="nodeClick"> <span slot-scope="{ node, data }" class="el-tree-node__label"> - <span style="font-size: 15px"> + <span> <i class="el-icon-s-promotion"></i> {{ (node || {}).label }} </span> @@ -26,14 +26,23 @@ :data="data" :option="option" :table-loading="tableLoading" + @refresh-change="handleRefresh" + @search-change="handleSearch" + @search-reset="handleReset" @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" class="button-custom-icon" size="small" type="primary" @click="addHandler"> + <icon-show :name="permissionList.addBtn.source"></icon-show> + 娣诲姞 + </el-button> + <el-button v-if="permissionList.delBtn" class="button-custom-icon" plain size="small" type="danger" @click="delHandler"> + <icon-show :name="permissionList.delBtn.source"></icon-show> + 绉婚櫎 + </el-button> </template> </avue-crud> - <action-dialog ref="actionDialog"></action-dialog> + <action-dialog ref="actionDialog" :is-muti="true" @updataAction="actionSaveHandler"></action-dialog> </basic-container> </el-main> @@ -42,22 +51,18 @@ <script> import basicOption from "@/util/basic-option"; -import { - cloneUIContextData, - delUIContextData, expUIContextData, - getBizTree, getExpContextTree, - gridUIContextData, - saveUIContextData, - updateUIContextData -} from "@/api/UI/uiDefine"; +import { getBizTree} from "@/api/UI/uiDefine"; +import {getTypeActionByType,savePLTypeAction,delPLTypeActions} from "@/api/authority/ui/typeAction" import func from "@/util/func"; -import actionDialog from "@/views/modelingMenu/ui/Aciton/dialog" +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, @@ -71,13 +76,12 @@ }, nodeRow: {}, treeData: [], - searchParams: { - }, + searchParams: {}, tableLoading: false, selectList: [], option: { ...basicOption, - calcHeight: -50, + calcHeight: -35, addBtn: false, editBtn: false, delBtn: false, @@ -101,21 +105,18 @@ { label: 'C/S绫昏矾寰�', prop: 'plCSClass', - search: true, searchLabelWidth:120, overHidden: true, }, { label: 'B/S閾炬帴鍦板潃', prop: 'plBSUrl', - search: true, searchLabelWidth:120, overHidden: true, }, { label: '绫诲瀷', prop: 'plTypeType', - search: true, type: 'select', width:100, dicData: [{ @@ -129,13 +130,22 @@ { label: '鎻忚堪', prop: 'plDesc', - search: true, overHidden: true, }, ] }, + allData: [], 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(); @@ -143,12 +153,12 @@ 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; }) }, // 鏍戠偣鍑� @@ -160,11 +170,11 @@ } }, getTableList() { - const params = Object.assign(this.searchParams, { - 'conditionMap[btmName]': this.nodeRow.attributes.name, - }) - gridUIContextData(1, 50, params).then(res => { + getTypeActionByType({ + 'typeName': this.nodeRow.attributes.name, + }).then(res => { this.data = res.data.data; + this.allData = res.data.data; this.$refs.crud.clearSelection(); this.tableLoading = false; }) @@ -183,18 +193,50 @@ this.lastIndex = newIndex; }, () => { - this.selectList = []; + this.selectList = [row]; } ); }, + handleRefresh() { + this.getTableList(); + }, + // 鎼滅储鏌ヨ + handleSearch(params, done) { + const data=this.allData.filter(item=>{ + if(item.plCode.includes(params.plCode ||'') && item.plName.includes(params.plName || '')){ + return true; + }else { + return false; + } + }) + this.data=data; + done(); + }, + // 閲嶇疆鎼滅储鏉′欢 + handleReset() { + this.data=this.allData; + }, //鍒涘缓 addHandler() { if (this.nodeRow && this.nodeRow.oid && this.nodeRow.oid!='') { - this.$refs.actionDialog.openDialog(this.nodeRow); + this.$refs.actionDialog.openDialog(); } else { this.$message.error('璇烽�夋嫨涓氬姟绫诲瀷'); } + }, + // 淇濆瓨action + actionSaveHandler(val) { + const params = { + plTypeName: this.nodeRow.attributes.name, + actions:val + } + savePLTypeAction(params).then(res => { + if(res.data.code == 200){ + this.$message.success(res.data.obj); + this.getTableList(); + } + }) }, delHandler() { if (this.selectList.length <= 0) { @@ -202,14 +244,15 @@ return; } const params = { - oids: this.selectList.map(item => item.plOId).join(',') + typeName: this.nodeRow.attributes.name, + typeActionOIds: this.selectList.map(item => item.plOId).join(',') } this.$confirm('鏄惁绉婚櫎閫変腑鐨凙ction锛�', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - delUIContextData(params).then(res => { + delPLTypeActions(params).then(res => { if (res.data.code === 200) { this.$message.success('鍒犻櫎鎴愬姛'); this.getTableList(); -- Gitblit v1.9.3