From e9eb9ee7bec1dd64e3b9a494a2814a5bc3952709 Mon Sep 17 00:00:00 2001
From: yuxc <yuxc@vci-tech.com>
Date: 星期五, 27 十二月 2024 11:57:43 +0800
Subject: [PATCH] 1、主要优化业务类型加载过慢由于重复加载平台的属性、枚举数据,属性数据通过第一次加载全部进行传递解决,枚举数据通过新增枚举的本地线程工具类来进行实现。
---
Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/rightRegion/bottomTable/index.vue | 108 +++++++++++++++++++++++++++++++++++------------------
1 files changed, 71 insertions(+), 37 deletions(-)
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 b035270..8f682cd 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
@@ -13,20 +13,20 @@
@selection-change="selectChangeHandler"
@row-click="rowClickHandler">
<template slot="menuLeft" slot-scope="scope">
- <el-button icon="el-icon-plus" plain size="small" type="primary"
+ <el-button v-if="permissionChildrenList.UiPageLayoutAddBtn" icon="el-icon-plus" plain size="small" type="primary"
@click="addClickHandler">澧炲姞
</el-button>
- <el-button icon="el-icon-edit-outline" plain size="small" type="primary"
+ <el-button v-if="permissionChildrenList.UiPageLayoutDesignBtn" icon="el-icon-edit-outline" plain size="small" type="primary"
@click="btnDesignClickHandler">鎸夐挳璁捐
</el-button>
</template>
<template slot="menu" slot-scope="scope">
- <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
+ <el-button v-if="permissionChildrenList.UiPageLayoutEditBtn" icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
</el-button>
- <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
+ <el-button v-if="permissionChildrenList.UiPageLayoutDelBtn" icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
</el-button>
- <el-button icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕
+ <el-button v-if="permissionChildrenList.UiPageLayoutCloneBtn" icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕
</el-button>
</template>
@@ -268,6 +268,7 @@
} from "@/api/UI/uiDefine";
import actionDialog from '@/views/modelingMenu/ui/Aciton/components/dialog';
import cloneDialog from "@/views/modelingMenu/ui/uiDefine/rightRegion/cloneDialog";
+import {mapGetters} from "vuex";
export default {
props: {
@@ -414,6 +415,7 @@
data: [],
option: {
...basicOption,
+ size:'mini',
height: this.height,
addBtn: false,
index: true,
@@ -424,6 +426,7 @@
{
label: '鍚嶇О',
prop: 'name',
+ labelWidth: 110,
rules: [
{
required: true,
@@ -435,6 +438,7 @@
{
label: '缂栧彿',
prop: 'seq',
+ labelWidth: 110,
hide: false,
rules: [
{
@@ -448,17 +452,25 @@
label: '',
prop: 'uiParser',
hide: true,
- labelWidth: 100,
+ labelWidth: 110,
},
{
label: '',
prop: 'extAttr',
hide: true,
+ labelWidth: 110,
+ },
+ {
+ label: '鎻忚堪',
+ prop: 'description',
+ labelWidth: 110,
+ hide: false,
},
{
label: '妯℃澘绫诲瀷',
prop: 'templateType',
type: 'radio',
+ labelWidth: 110,
span: 24,
value: '1',
dicData: [
@@ -517,6 +529,7 @@
label: '鏄剧ず绫诲瀷',
prop: 'navigatorType',
type: 'radio',
+ labelWidth: 110,
span: 24,
value: '1',
hide: true,
@@ -539,6 +552,7 @@
label: '鎼滅储绫诲瀷',
prop: 'searchTarger',
display: true,
+ labelWidth: 110,
type: 'radio',
value: '1',
span: 24,
@@ -564,7 +578,7 @@
if (this.searchTargerChangeFlag) {
// 鍒囨崲娓呯┖妯℃澘绫诲瀷
- const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'queryTemplateName', 'searchObjType', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl'];
+ const list = ['showType', 'linkType', 'templateId', 'SubUILayout', 'queryTemplateName', 'searchObjType', 'bsDataModel', 'csDataModel'];
list.forEach(item => {
this.form[item] = '';
})
@@ -573,22 +587,19 @@
}
}
},
- {
- label: '鎻忚堪',
- prop: 'description',
- display: false
- },
],
group: [
{
- label: '',
- arrow: false,
+ icon:'el-icon-info',
+ label:'',
+ arrow: true,
prop: 'group1',
column: [
{
label: '婧愬璞�',
prop: 'showType',
type: 'select',
+ labelWidth: 115,
cascader: ['linkType', 'SubUILayout', 'searchObjType'],
placeholder: "璇疯緭鍏ュ唴瀹�",
dicUrl: '/api/uiManagerController/getBtmDatasByPage?page=1&limit=-1',
@@ -596,7 +607,7 @@
change: (val) => {
if (val.value) {
let params = {
- 'conditionMap[selectBtmType]': this.form.searchTarger === '1' ? this.form.showType : this.form.linkType
+ 'conditionMap[selectBtmType]': this.form.searchTarger === '1' ? val.value : this.form.linkType
}
getPortalVIDatasByPage(1, -1, params).then(res => {
this.templateIdList = res.data.data;
@@ -638,6 +649,7 @@
prop: 'linkType',
type: 'select',
display: false,
+ labelWidth: 115,
filterable: true,
props: {
label: 'name',
@@ -670,6 +682,7 @@
{
label: '閫夋嫨妯℃澘',
prop: 'templateId',
+ labelWidth: 115,
display: false,
formslot: true,
rules: [
@@ -684,6 +697,7 @@
label: 'UI瀹氫箟',
prop: 'SubUILayout',
type: 'select',
+ labelWidth: 115,
filterable: true,
display: false,
props: {
@@ -698,6 +712,7 @@
display: false,
value: '1',
type: 'radio',
+ labelWidth: 115,
span: 24,
dicData: [
{
@@ -715,7 +730,7 @@
prop: 'searchObjType',
type: 'select',
display: false,
- labelWidth: 100,
+ labelWidth: 115,
props: {
label: 'qtName',
value: 'qtName',
@@ -726,6 +741,7 @@
{
label: '鏌ヨ妯℃澘',
prop: 'queryTemplateName',
+ labelWidth: 115,
type: 'select',
display: false,
formslot: true,
@@ -733,6 +749,7 @@
{
label: '鎺у埗璺緞',
prop: 'controlPath',
+ labelWidth: 115,
display: false,
type: 'textarea',
span: 24,
@@ -741,18 +758,20 @@
{
label: '鏍戠粨鏋勫睍寮�鍒�',
prop: 'expandCols',
- labelWidth: 110,
+ labelWidth: 115,
display: false,
span: 12
},
{
label: '鍙傜収鏍戣缃�',
prop: 'showLinkAbs',
+ labelWidth: 115,
display: false,
},
{
label: '鍒嗛殧绗�',
prop: 'separator',
+ labelWidth: 115,
display: false,
},
{
@@ -760,6 +779,7 @@
prop: 'expandMode',
display: false,
type: 'radio',
+ labelWidth: 115,
value: '1',
dicData: [
{
@@ -773,6 +793,20 @@
]
},
{
+ label: 'B/S鑷畾涔夋煡璇�',
+ prop: 'bsDataModel',
+ display: false,
+ labelWidth: 115,
+ span: 12
+ },
+ {
+ label: 'C/S鑷畾涔夋煡璇�',
+ prop: 'csDataModel',
+ display: false,
+ labelWidth: 115,
+ span: 12
+ },
+ {
label: '鏍硅妭鐐规樉绀鸿〃杈惧紡',
prop: 'rootContent',
display: false,
@@ -784,20 +818,6 @@
prop: 'showAbs',
display: false,
labelWidth: 135,
- span: 12
- },
- {
- label: 'B/S鑷畾涔夋煡璇�',
- prop: 'bsCustQueryCLsOrUrl',
- display: false,
- labelWidth: 115,
- span: 12
- },
- {
- label: 'C/S鑷畾涔夋煡璇�',
- prop: 'csCustQueryCLsOrUrl',
- display: false,
- labelWidth: 115,
span: 12
},
]
@@ -823,6 +843,18 @@
formDataRow: {},
}
},
+ computed:{
+ ...mapGetters(["permission"]),
+ permissionChildrenList() {
+ return {
+ UiPageLayoutAddBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutAdd, false),
+ UiPageLayoutEditBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutEdit, false),
+ UiPageLayoutDelBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutDel, false),
+ UiPageLayoutCloneBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutClone, false),
+ UiPageLayoutDesignBtn: this.vaildData(this.permission[this.$route.query.id].UiPageLayoutDesign, false),
+ }
+ }
+ },
watch: {
sourceData: {
handler(val) {
@@ -836,7 +868,6 @@
deep: true
}
},
- computed: {},
methods: {
//鑾峰彇鍒楄〃鏁版嵁
getTableList() {
@@ -897,6 +928,8 @@
// 澧炲姞鍏抽棴瀵硅瘽妗� 娓呯┖event鏁扮粍
beforeClose(done) {
this.eventData = [];
+ this.showTypeChangeFlag = false;
+ this.linkTypeChangeFlag = false;
done();
},
@@ -916,6 +949,7 @@
};
});
}
+ console.log('row',row);
this.searchTargerChangeFlag = false;
this.$refs.crud.rowEdit(row);
},
@@ -1036,7 +1070,7 @@
// 妯℃澘绫诲瀷涓鸿〃鏍�
templateTypeTable(val) {
if (!val) return;
- this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
+ this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsDataModel', 'csDataModel']);
},
// 妯℃澘绫诲瀷涓鸿嚜瀹氫箟妯℃澘
@@ -1050,13 +1084,13 @@
// 妯℃澘绫诲瀷涓烘爲琛�
templateTypeTreeTable(val) {
if (!val) return;
- this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'expandCols', 'expandMode', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
+ this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'expandCols', 'expandMode', 'bsDataModel', 'csDataModel']);
},
// 妯℃澘绫诲瀷涓鸿〃鍗�
templateTypeForm(val) {
if (!val) return;
- this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
+ this.updateDisplay(val, ['showType', 'templateId', 'queryTemplateName', 'bsDataModel', 'csDataModel']);
},
// 妯℃澘绫诲瀷涓烘爲
@@ -1064,7 +1098,7 @@
if (!val) return;
const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤�
searchTarger.display = false; // 涓嶅睍绀烘悳绱㈢被鍨�
- this.updateDisplay(val, ['showType', 'queryTemplateName', 'rootContent', 'showAbs', 'showLinkAbs', 'separator', 'expandMode', 'linkType', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
+ this.updateDisplay(val, ['showType', 'queryTemplateName', 'rootContent', 'showAbs', 'showLinkAbs', 'separator', 'expandMode', 'linkType', 'bsDataModel', 'csDataModel']);
},
// 妯℃澘绫诲瀷涓篣I瀹氫箟
@@ -1072,7 +1106,7 @@
if (!val) return;
const searchTarger = this.option.column.find(item => item.prop === 'searchTarger'); // 鑾峰彇鎼滅储绫诲瀷閰嶇疆椤�
searchTarger.display = false; // 涓嶅睍绀烘悳绱㈢被鍨�
- this.updateDisplay(val, ['showType', 'SubUILayout', 'searchType', 'searchObjType', 'queryTemplateName', 'bsCustQueryCLsOrUrl', 'csCustQueryCLsOrUrl']);
+ this.updateDisplay(val, ['showType', 'SubUILayout', 'searchType', 'searchObjType', 'queryTemplateName', 'bsDataModel', 'csDataModel']);
},
// 鏌ユ壘鏁扮粍涓璞$储寮�
--
Gitblit v1.9.3