From a5f2dad996fcdb22a670743102b9fd08370738cd Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 27 九月 2024 16:25:10 +0800 Subject: [PATCH] 整合代码 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue | 257 ++++++++++++++++++------------------ Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action.vue | 117 ++++++++++------ 2 files changed, 203 insertions(+), 171 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action.vue index 5d66a6e..c5506eb 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/components/action.vue @@ -1,55 +1,68 @@ <template> - <el-container> - - <el-aside> - <basic-container> - <!-- 宸︿晶鏍� --> - <div style="height:580px"> - <avue-tree - ref="tree" - v-model="treeForm" - :data="treeData" - :option="treeOption" - @node-click="nodeClick"> + <el-dialog + v-dialogDrag + :visible.sync="btnActionVisible" + append-to-body="true" + class="avue-dialog" + title="閫夋嫨Action" + width="70%" + @close="dialogClose"> + <el-container> + <el-aside> + <basic-container> + <!-- 宸︿晶鏍� --> + <div> + <avue-tree + ref="tree" + v-model="treeForm" + :data="treeData" + :option="treeOption" + node-key="value" + @node-click="nodeClick"> <span slot-scope="{ node, data }" class="el-tree-node__label"> <span style="font-size: 15px"> <i class="el-icon-s-promotion"></i> {{ (node || {}).label }} </span> </span> - </avue-tree> - </div> - </basic-container> - </el-aside> + </avue-tree> + </div> + </basic-container> + </el-aside> - <el-main> - <basic-container> - <div> - <avue-crud - ref="crud" - v-model="form" - :data="data" - :option="option" - :page.sync="page" - :table-loading="tableLoading" - @search-change="handleSearch" - @search-reset="handleReset" - @refresh-change="handleRefresh" - @selection-change="selectChangeHandler" - @row-click="rowClickHandler"> - <template slot="plTypeType" slot-scope="{row}"> - <el-tag :type="row.plTypeType === 'business' ? '' : 'success'"> - {{ row.plTypeType === 'business' ? '涓氬姟绫诲瀷' : '閾炬帴绫诲瀷' }} - </el-tag> - </template> + <el-main> + <basic-container> + <div> + <avue-crud + ref="crud" + v-model="form" + :data="data" + :option="option" + :page.sync="page" + :table-loading="tableLoading" + @search-change="handleSearch" + @search-reset="handleReset" + @refresh-change="handleRefresh" + @selection-change="selectChangeHandler" + @row-click="rowClickHandler"> + <template slot="plTypeType" slot-scope="{row}"> + <el-tag :type="row.plTypeType === 'business' ? '' : 'success'"> + {{ row.plTypeType === 'business' ? '涓氬姟绫诲瀷' : '閾炬帴绫诲瀷' }} + </el-tag> + </template> - </avue-crud> - </div> - </basic-container> - </el-main> + </avue-crud> + </div> + </basic-container> + </el-main> - </el-container> + </el-container> + <span slot="footer" class="dialog-footer"> + <el-button @click="btnActionVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="actionSaveHandler">纭� 瀹�</el-button> + </span> + </el-dialog> </template> <script> @@ -75,6 +88,7 @@ name: "index", data() { return { + btnActionVisible: false, currenRow: {}, // action褰撳墠琛屼俊鎭� topMethodsObj: { select: true, @@ -126,7 +140,7 @@ option: { ...basicOption, addBtn: false, - height: 'auto', + height: 500, highlightCurrentRow: true, column: [ { @@ -334,9 +348,6 @@ this.selectList = []; } ); - - // 璇锋眰action涓嬫柟鍙傛暟鍒楄〃鏁版嵁 - this.getBottomList(row); }, // 鎼滅储 @@ -368,6 +379,22 @@ this.getRightTableList(this.treeNodeRow); }, + // 淇濆瓨action + actionSaveHandler() { + if (this.selectList.length != 1) { + this.$message.error('鍙兘閫夋嫨涓�鏉℃暟鎹�'); + return; + } + this.$emit('updataAction', this.selectList[0]); + this.dialogClose(); + }, + + dialogClose(){ + this.btnActionVisible = false; + this.data = []; + this.$refs.tree.setCurrentKey(null); + } + } } </script> diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue index e569c07..ac69f17 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue @@ -21,37 +21,24 @@ </el-button> </template> - <!-- eventKey鎿嶄綔鎸夐挳 --> - <template slot="eventButtonForm" slot-scope="scope"> - <div style="width: 100%;display: flex;justify-content: center"> - <el-button plain size="mini" type="primary" @click="formDataAddClickHandler">鍒涘缓</el-button> - <el-button plain size="mini" type="danger" @click="formDataDelClickHandler">鍒犻櫎</el-button> - <el-button plain size="mini" type="primary" @click="moveUp">涓婄Щ</el-button> - <el-button plain size="mini" type="primary" @click="moveDown">涓嬬Щ</el-button> - </div> - </template> <!-- eventKey浠ュ強eventValue鏄剧ず鍖哄煙 --> <template slot="bottomValueForm" slot-scope="scope"> - <div style="height: 200px; width: 95%; border: 1px solid #bdbbbb;overflow-y: auto"> - <!-- 鍐呭 --> - <el-table - :data="FormData" - :highlight-current-row="true" - style="width: 100%" - @row-click="formDataRowClick"> - <el-table-column - align="center" - label="EventKey" - prop="eventKey"> - </el-table-column> - <el-table-column - align="center" - label="EventValue" - prop="eventValue"> - </el-table-column> - </el-table> - </div> + <avue-crud + :data="eventData" + :option="eventOption" + @row-click="formDataRowClick"> + <template slot="menuLeft" slot-scope="scope"> + <el-button plain size="mini" type="primary" @click="formDataAddClickHandler">鍒涘缓</el-button> + </template> + + <template slot="menu" slot-scope="scope"> + <el-button plain size="mini" type="danger" @click="formDataDelClickHandler(scope.row)">鍒犻櫎</el-button> + <el-button plain size="mini" type="primary" @click="moveUp(scope.row)">涓婄Щ</el-button> + <el-button plain size="mini" type="primary" @click="moveDown(scope.row)">涓嬬Щ</el-button> + </template> + </avue-crud> </template> + <!-- 鍒囨崲鎼滅储绫诲瀷 婧愬璞� 鐩爣瀵硅薄鏄剧ずlabel鍒囨崲 --> <template slot="showTypeLabel" slot-scope="{}"> @@ -129,7 +116,12 @@ <el-form-item label="Action锛�" prop="Action"> <el-col :span="14"> - <el-input v-model="basicForm.actionName" :readonly="disabledBtn" @focus="actionFoucus"></el-input> + <div style="display: flex"> + <el-input v-model="basicForm.actionName" :readonly="disabledBtn"></el-input> + <el-button :disabled="disabledBtn" size="mini" style="margin-left: 10px" type="success" + @click="actionFoucus">閫夋嫨 + </el-button> + </div> </el-col> </el-form-item> @@ -190,15 +182,7 @@ </el-container> </el-container> </el-dialog> - <el-dialog - v-dialogDrag - :visible.sync="btnActionVisible" - append-to-body="true" - class="avue-dialog" - title="閫夋嫨Action" - width="70%"> - <action-dialog></action-dialog> - </el-dialog> + <action-dialog ref="actionDialog" @updataAction="actionSaveHandler"></action-dialog> </div> </template> @@ -220,7 +204,8 @@ props: { sourceData: { type: Object, - default: () => {} + default: () => { + } }, height: { type: String, @@ -233,6 +218,50 @@ name: "index", data() { return { + eventOption: { + ...basicOption, + addBtn: false, + editBtn: false, + delBtn: false, + refreshBtn: false, + highlightCurrentRow: true, + column: [ + { + label: 'EventKey', + prop: 'eventKey', + type: 'select', + value: 'SelectionEvent', + dicData: [ + { + label: 'SelectionEvent', + value: 'SelectionEvent' + }, + { + label: 'DBClickEvent', + value: 'DBClickEvent' + }, + { + label: 'ClickEvent', + value: 'ClickEvent' + } + ], + cell: true + }, + { + label: 'EventValue', + prop: 'eventValue', + cell: true, + rules: [ + { + required: true, + message: '璇疯緭鍏ventValue', + trigger: 'blur' + } + ] + } + ] + }, + eventData: [], btnActionVisible: false, dialogLoading: false, saveType: '', @@ -438,7 +467,6 @@ ], group: [ { - icon: 'el-icon-folder-opened', label: '', arrow: false, prop: 'group1', @@ -731,45 +759,15 @@ ] }, { - icon: 'el-icon-folder-opened', label: '', arrow: false, prop: 'group2', column: [ { - label: 'EventKey', - prop: 'eventKey', - type: 'select', - value: 'SelectionEvent', - dicData: [ - { - label: 'SelectionEvent', - value: 'SelectionEvent' - }, - { - label: 'DBClickEvent', - value: 'DBClickEvent' - }, - { - label: 'ClickEvent', - value: 'ClickEvent' - } - ], - }, - { - label: 'EventValue', - prop: 'eventValue', - labelWidth: 100 - }, - { - label: '', - prop: 'eventButton', - span: 24 - }, - { label: '', prop: 'bottomValue', - span: 24 + span: 24, + labelWidth: 10 }, ] } @@ -782,28 +780,28 @@ } }, watch: { - sourceData:{ + sourceData: { handler(val) { - if(val && val.plOId) { + if (val && val.plOId) { this.getTableList() - }else{ - this.data=[]; + } else { + this.data = []; } }, immediate: true, - deep:true + deep: true } }, computed: {}, methods: { //鑾峰彇鍒楄〃鏁版嵁 - getTableList(){ + getTableList() { const params = { - pageContextOId:this.sourceData.plOId + pageContextOId: this.sourceData.plOId } - getPLPageDefinations( params).then(res => { + getPLPageDefinations(params).then(res => { this.data = res.data.data; - this.selectList=[]; + this.selectList = []; this.$refs.crud.clearSelection(); this.tableLoading = false; }) @@ -844,6 +842,11 @@ // 澧炲姞 addClickHandler() { + console.log(this.sourceData); + if (!this.sourceData || !this.sourceData.plOId) { + this.$message.error('璇峰湪涓婃柟閫夋嫨涓�鏉℃暟鎹悗杩涜娣诲姞'); + return; + } this.$refs.crud.rowAdd(); }, @@ -854,41 +857,37 @@ // 瀵硅瘽妗嗚〃鏍兼坊鍔� formDataAddClickHandler() { - if (!this.form.eventKey) { - this.$message.error('璇烽�夋嫨EventKey'); - return; - } - - if (!this.form.eventValue) { - this.$message.error('璇疯緭鍏ventValue'); - return; - } - - if (this.FormData.length >= 1) { - const eventValueStatus = this.FormData.some(item => item.eventValue === this.form.eventValue); - - if (eventValueStatus) { - this.$message.error('宸插瓨鍦ㄧ浉鍚岀殑 EventValue锛屼笉鑳介噸澶嶆坊鍔�'); - return; - } - } + // if (!this.form.eventKey) { + // this.$message.error('璇烽�夋嫨EventKey'); + // return; + // } + // + // if (!this.form.eventValue) { + // this.$message.error('璇疯緭鍏ventValue'); + // return; + // } + // + // if (this.eventData.length >= 1) { + // const eventValueStatus = this.eventData.some(item => item.eventValue === this.form.eventValue); + // + // if (eventValueStatus) { + // this.$message.error('宸插瓨鍦ㄧ浉鍚岀殑 EventValue锛屼笉鑳介噸澶嶆坊鍔�'); + // return; + // } + // } const obj = { - index: this.FormData.length, - eventKey: this.form.eventKey, - eventValue: this.form.eventValue + index: this.eventData.length, + eventKey: this.form.eventKey || 'SelectionEvent', + eventValue: this.form.eventValue, + $cellEdit: true } - this.FormData.push(obj); + this.eventData.push(obj); }, // 瀵硅瘽妗嗚〃鏍煎垹闄� - formDataDelClickHandler() { - if (func.isEmptyObject(this.formDataRow)) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); - return; - } - - this.FormData = this.FormData.filter(item => item.index !== this.formDataRow.index); + formDataDelClickHandler(row) { + this.eventData = this.eventData.filter(item => item.index !== row.index); }, // 妯℃澘绫诲瀷鏄剧ず闅愯棌鏂规硶 @@ -947,22 +946,22 @@ }, // 涓婄Щ - moveUp() { - const index = this.findIndexByEventValue(this.FormData, this.formDataRow.eventValue); + moveUp(row) { + const index = this.findIndexByEventValue(this.eventData, row.eventValue); if (index > 0) { // 浣跨敤 splice 鏉ユā鎷熶氦鎹� - const temp = this.FormData.splice(index - 1, 1, this.FormData[index])[0]; // 绉婚櫎 index-1 鐨勫厓绱� 骞跺湪鐩稿悓浣嶇疆鎻掑叆 index 鐨勫厓绱� 杩斿洖琚Щ闄ょ殑鍏冪礌 - this.FormData.splice(index, 1, temp); // 鍦� index 浣嶇疆鎻掑叆涔嬪墠琚Щ闄ょ殑鍏冪礌 + const temp = this.eventData.splice(index - 1, 1, this.eventData[index])[0]; // 绉婚櫎 index-1 鐨勫厓绱� 骞跺湪鐩稿悓浣嶇疆鎻掑叆 index 鐨勫厓绱� 杩斿洖琚Щ闄ょ殑鍏冪礌 + this.eventData.splice(index, 1, temp); // 鍦� index 浣嶇疆鎻掑叆涔嬪墠琚Щ闄ょ殑鍏冪礌 } }, // 涓嬬Щ - moveDown() { - const index = this.findIndexByEventValue(this.FormData, this.formDataRow.eventValue); - const length = this.FormData.length; + moveDown(row) { + const index = this.findIndexByEventValue(this.eventData, row.eventValue); + const length = this.eventData.length; if (index < length - 1) { - const temp = this.FormData[index]; - this.FormData.splice(index, 1, this.FormData.splice(index + 1, 1, temp)[0]); + const temp = this.eventData[index]; + this.eventData.splice(index, 1, this.eventData.splice(index + 1, 1, temp)[0]); } }, @@ -973,7 +972,7 @@ // 鎸夐挳璁捐 btnDesignClickHandler() { - if (this.selectList.length !=1) { + if (this.selectList.length != 1) { this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�'); return; } @@ -990,11 +989,11 @@ getTabButtons(params).then(res => { if (res.data.code === 200) { const data = res.data.data; - this.treeData=[{ - label: this.selectList[0].name, - oId: 'parentNode', - children:data - }]; + this.treeData = [{ + label: this.selectList[0].name, + oId: 'parentNode', + children: data + }]; this.treeLoading = false; } else { this.$message.error('璇锋鏌ユ帶鍒跺彴閿欒'); @@ -1138,7 +1137,13 @@ // 閫夋嫨action actionFoucus() { - this.btnActionVisible = true; + this.$refs.actionDialog.btnActionVisible = true; + }, + + // 淇濆瓨action + actionSaveHandler(val) { + this.$set(this.basicForm, 'actionName', val.plName); + this.$set(this.basicForm, 'actionOId', val.plOId); } } } -- Gitblit v1.9.3