From a55d22468017679f4503c1f4c5f595300e8d2f34 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 27 十一月 2024 23:02:20 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue | 222 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 222 insertions(+), 0 deletions(-) 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 45507cf..1412b4f 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 @@ -20,6 +20,60 @@ <el-main> <basic-container> + <avue-crud + ref="crud" + :data="data" + :option="option" + :table-loading="tableLoading" + @refresh-change="handleRefresh" + @selection-change="selectChange" + @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 icon="el-icon-view" plain size="small" type="primary" @click="chekView">鏌ョ湅鎺堟潈缁撴灉</el-button> + </template> + </avue-crud> + <div> + <data-view key="dataView" :btmNode="nodeRow" :data="viewData" :readOnly="true" height="400px"></data-view> + </div> + <!-- 鏂板 && 缂栬緫 --> + <el-dialog + v-dialogDrag + :title="title === 'add' ? '鍒涘缓' : '淇敼'" + :visible.sync="visible" + append-to-body="true" + class="avue-dialog" + width="75%" + @close="addDialogClose"> + <div> + <data-view key="editView" :btmNode="nodeRow" :data="viewData" :readOnly="false" height="60vh"></data-view> + </div> + <span slot="footer" class="dialog-footer"> + <el-button size="small" type="primary" @click="addDialogSavaHandler">纭� 瀹�</el-button> + <el-button size="small" @click="addDialogClose">鍙� 娑�</el-button> + </span> + </el-dialog> + <!-- 鏌ョ湅鎺堟潈缁撴灉 --> + <el-dialog + v-dialogDrag + v-loading="checkViewLoading" + :visible.sync="checkViewVisible" + append-to-body="true" + class="avue-dialog" + title="鏌ョ湅浣跨敤鑼冨洿" + width="60%" + > + <avue-crud + ref="checkViewCrud" + :data="checkViewData" + :option="checkViewOption" + @search-change="checkHandleSearch" + @search-reset="checkHandleReset" + > + + </avue-crud> + </el-dialog> </basic-container> </el-main> @@ -28,8 +82,15 @@ <script> import {getBizTree} from "@/api/UI/uiDefine"; +import basicOption from "@/util/basic-option"; +import dataView from "./dataView"; +import {getTypeActionByType} from "@/api/authority/ui/typeAction"; +import func from "@/util/func"; +import {getUsedEnumList} from "@/api/modeling/enumType/api"; +import {deleteTemplate, saveTemplate, updateTemplate} from "@/api/queryTemplate/queryDefine"; export default { name: "index", + components:{dataView}, data:function (){ return{ treeOption: { @@ -45,6 +106,38 @@ }, nodeRow: {}, treeData: [], + tableLoading: false, + selectList: [], + option: { + ...basicOption, + height:260, + addBtn: false, + editBtn: false, + delBtn: false, + filterBtn:false, + columnBtn:false, + gridBtn:false, + tip: false, + align: 'left', + menu:false, + column: [ + { + label: '瑙勫垯鍚嶇О', + prop: 'plCode', + overHidden: true + }, + { + label: '瑙勫垯绫诲瀷', + prop: 'plName', + overHidden: true + } + ] + }, + data: [], + viewData:{}, + title: '', + visible: false, + form:{} } }, created() { @@ -69,7 +162,136 @@ } }, getTableList() { + getTypeActionByType({ + 'typeName': this.nodeRow.attributes.name, + }).then(res => { + this.data = res.data.data; + this.$refs.crud.clearSelection(); + this.tableLoading = false; + }) + }, + handleRefresh() { + this.getTableList(); + }, + // 琛岀偣鍑� + rowClickHandler(row) { + func.rowClickHandler( + row, + this.$refs.crud, + this.lastIndex, + (newIndex) => { + this.lastIndex = newIndex; + }, + () => { + this.selectList = [row]; + } + ); + this.getViewData(row) + }, + // 閫夋嫨妗� + selectChange(row) { + this.selectList = row; + }, + //鑾峰彇涓嬫柟鏁版嵁 + getViewData(row){ + this.viewData={}; + }, + // 鏌ョ湅鎺堟潈缁撴灉 + chekView() { + if (this.selectList.length <= 0) { + this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); + return; + } + if (this.selectList.length > 1) { + this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹繘琛屾煡鐪�'); + return; + } + getUsedEnumList({enumName: this.selectList[0].id}).then(res => { + if (res.data.code === 200) { + this.checkViewVisible = true; + this.checkViewData = res.data.data; + this.checkViewDataSearch = res.data.data; + } + }) + }, + + // 鏌ョ湅鎺堟潈缁撴灉鏌ヨ + checkHandleSearch(params, done) { + const {source} = params; + + if (!params.source) { + this.checkViewData = this.checkViewDataSearch; + return done(); + } + ; + + this.checkViewData = this.checkViewData.filter(item => { + return item.source && item.source.includes(source); + }); + + done(); + + }, + //鍒涘缓 + addHandler(){ + if (func.isEmptyObject(this.nodeRow)) { + this.$message.error('璇烽�夋嫨瑕佹坊鍔犵殑鑺傜偣'); + return; + } + this.title = 'add'; + this.visible = true; + }, + //淇敼 + editHandler(){ + if (func.isEmptyObject(this.nodeRow)) { + this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); + return; + } + this.title = 'edit'; + this.visible = true; + }, + // 鏂板缂栬緫淇濆瓨 + addDialogSavaHandler() { + saveTemplate(this.viewData).then(res => { + if (res.data.code === 200) { + this.$message.success(res.data.obj); + this.getTableList(); + this.addDialogClose(); + } + }) + }, + // 鏂板缂栬緫瀵硅瘽妗嗗彇娑� + addDialogClose() { + this.visible = false; + }, + //鍒犻櫎 + delHandler(){ + if (func.isEmptyObject(this.nodeRow)) { + this.$message.error('璇烽�夋嫨鏁版嵁'); + return; + } + this.$confirm('鎮ㄧ‘瀹氳鍒犻櫎鎵�閫夋嫨鐨勬暟鎹悧锛�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + deleteTemplate({name:this.templateForm}).then(res => { + if (res.data.code === 200) { + this.$message.success(res.data.obj); + this.getTableList(); + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑堝垹闄�' + }); + }); + }, + // 鏌ョ湅浣跨敤鑼冨洿閲嶇疆 + checkHandleReset() { + this.checkViewData = this.checkViewDataSearch; }, } } -- Gitblit v1.9.3