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