From 68da5e6be8dd55a691fb42d119bebe75611eb4b0 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期二, 26 三月 2024 15:59:46 +0800
Subject: [PATCH] UI上下文展示引擎
---
Source/ProjectWeb/src/components/custom-ui/test2.vue | 15 +
Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue | 23 +-
Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 40 ++--
Source/ProjectWeb/src/views/base/UIContentArea.vue | 4
Source/ProjectWeb/src/views/base/uiDefineVO.js | 363 ++++++++++++++++++++++++++++++++++----------
Source/ProjectWeb/src/components/custom-ui/test.vue | 15 +
Source/ProjectWeb/src/views/base/uiDefineVOInDialog.js | 18 +-
7 files changed, 353 insertions(+), 125 deletions(-)
diff --git a/Source/ProjectWeb/src/components/custom-ui/test.vue b/Source/ProjectWeb/src/components/custom-ui/test.vue
new file mode 100644
index 0000000..76f270c
--- /dev/null
+++ b/Source/ProjectWeb/src/components/custom-ui/test.vue
@@ -0,0 +1,15 @@
+<template>
+ <basic-container>
+ 娴嬭瘯鑷畾涔夌粍浠跺睍绀篸dddd
+ </basic-container>
+</template>
+
+<script>
+export default {
+ name: "test"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/ProjectWeb/src/components/custom-ui/test2.vue b/Source/ProjectWeb/src/components/custom-ui/test2.vue
new file mode 100644
index 0000000..e73b6cf
--- /dev/null
+++ b/Source/ProjectWeb/src/components/custom-ui/test2.vue
@@ -0,0 +1,15 @@
+<template>
+ <basic-container>
+ 娴嬭瘯鑷畾涔夌粍浠跺睍绀�222222222
+ </basic-container>
+</template>
+
+<script>
+export default {
+ name: "test2"
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index 14bcc52..40c33d6 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -13,9 +13,13 @@
</template>
<script>
-
export default {
name: "dynamic-custom",
+ components:{
+ 'UI':()=>import('@/views/base/UIContentViewerInDialog'),
+ 'test':()=>import('@/components/custom-ui/test'),
+ 'test2':()=>import('@/components/custom-ui/test2'),
+ },
props:{
componentVO:{
type:Object,
@@ -44,27 +48,23 @@
default: true
},
},
- components:{
- 'my-dynamic-component': ()=>import('@/views/base/UIContentViewerInDialog')
- },
data() {
return {
+ height:'300px',
customClass:this.componentVO.customClass, //UI:type#content?param=xxx鎴栬�� 缁勪欢name:type#content?param=xxx
isError:false, //璺緞瑙f瀽澶辫触
- currentComponent: 'my-dynamic-component',
- componentPath:'@/views/base/UIContentViewerInDialog' //鑷畾涔変娇鐢ㄧ殑缁勪欢璺緞
+ currentComponent: 'UI',//缁勪欢name
}
},
computed:{
customOptions() {
- let componentPath='@/views/base/UIContentViewerInDialog';
if(this.customClass.indexOf(":") <0){
this.isError=true;
return ;
}
if(this.customClass.split(':')[0]!='UI' && this.customClass.split(':')[0]!='ui'){
- componentPath='@/views/custom/'+this.customClass.split(':')[0];
+ this.currentComponent=this.customClass.split(':')[0];
}
let urlParams={};
let btmType=''
@@ -93,23 +93,27 @@
})
}
- this.componentPath=componentPath;
return {
btmType:btmType,
content:content,
- urlParams: urlParams,
- uiComponentType: this.componentVO.uiComponentType,
- uiComponentTypeText: this.componentVO.uiComponentTypeText,
- uiParseClass: this.componentVO.uiParseClass
+ urlParams: urlParams
}
- },
- asyncComponent() {
- return import(this.componentPath);
}
},
created() {
- debugger;
- this.components["my-dynamic-component"] = import(this.componentPath);
+
+ },
+ mounted() {
+ //this.getHeight(this.$parent);
+ },
+ methods:{
+ getHeight(el){
+ if(el.$el.clientHeight>50){
+ this.height=el.$el.clientHeight+'px';
+ }else {
+ this.getHeight(el.$parent);
+ }
+ }
}
}
</script>
diff --git a/Source/ProjectWeb/src/views/base/UIContentArea.vue b/Source/ProjectWeb/src/views/base/UIContentArea.vue
index 705baaf..b850356 100644
--- a/Source/ProjectWeb/src/views/base/UIContentArea.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentArea.vue
@@ -2,7 +2,7 @@
<basic-container :cradStyle="cradStyle" cardBodyStyle="height:100%;box-sizing: border-box;padding-bottom:5px;">
<el-tabs style="height: 100%;" class="UITabs" v-if="areasData.length>1" v-model="activeName" type="card" @tab-click="tabHandleClick">
<el-tab-pane style="height:100%;overflow: auto" v-for="(areaItem,index) in areasData" :key="areaItem.oid" :label="areaItem.name" :name="areasName+'-Tab-'+index">
- <el-collapse class="UI-collapse" v-model="collapseActiveNames" v-if="areaItem.componentVOs.length>1" @change="handleChange">
+ <el-collapse class="UI-collapse" :key="areaItem.oid+'-collapse'" v-model="collapseActiveNames" v-if="areaItem.componentVOs.length>1" @change="handleChange">
<el-collapse-item v-for="(componentVO,componentIndex) in areaItem.componentVOs" :name="areasName+'-collapse-'+componentIndex">
<template slot="title">
{{componentVO.name}}
@@ -30,7 +30,7 @@
</el-tab-pane>
</el-tabs>
<div v-else style="height:100%;overflow: auto">
- <el-collapse class="UI-collapse" v-model="collapseActiveNames" v-if="areasData[0].componentVOs.length>1" @change="handleChange">
+ <el-collapse class="UI-collapse" :key="areasData[0].oid+'-collapse'" v-model="collapseActiveNames" v-if="areasData[0].componentVOs.length>1" @change="handleChange">
<el-collapse-item v-for="(componentVO,componentIndex) in areasData[0].componentVOs" :name="areasName+'-collapse-'+componentIndex">
<template slot="title">
{{componentVO.name}}
diff --git a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
index 0d7ada0..54cb510 100644
--- a/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
+++ b/Source/ProjectWeb/src/views/base/UIContentViewerInDialog.vue
@@ -23,14 +23,13 @@
</el-aside>
<el-container style="height: 100%">
<el-main v-if="uiDefineVO.centerAreas && uiDefineVO.centerAreas.length>0" :style="'height: '+centerHeight">
- <UIContentArea :key="'centerArea-'+uiDefineVO.oid" areas-name="centerArea"
- cradStyle=""
- :areasData="uiDefineVO.centerAreas"
- :inDialog="inDialog"
- :sourceData="checkedData.westAreas[0]"
- :dataStore="checkedData.centerAreas[0]"
- :paramVOS="paramVOS">
- </UIContentArea>
+ <u-i-content-area :key="'centerArea-'+uiDefineVO.oid" areas-name="centerArea"
+ cradStyle=""
+ :areasData="uiDefineVO.centerAreas"
+ :inDialog="inDialog"
+ :sourceData="checkedData.westAreas[0]"
+ :dataStore="checkedData.centerAreas[0]"
+ :paramVOS="paramVOS"></u-i-content-area>
</el-main>
<el-footer v-if="uiDefineVO.southAreas && uiDefineVO.southAreas.length>0" height="300px" style="max-height: 300px">
<UIContentArea :key="'southArea-'+uiDefineVO.oid" areas-name="southArea"
@@ -72,12 +71,16 @@
paramVOS:{
type:Object,
default: {}
+ },
+ customOptions:{
+ type:Object,
+ default: {}
}
},
data() {
return {
- btmType:'',//涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
- content:'',//UI涓婁笅鏂囩殑鍚嶇О
+ btmType:this.customOptions.btmType,//涓氬姟绫诲瀷锛堟垨閾炬帴绫诲瀷锛�
+ content:this.customOptions.content,//UI涓婁笅鏂囩殑鍚嶇О
checkedData:{
//鍚勫尯鍩熼�変腑鏁版嵁
westAreas:[],
diff --git a/Source/ProjectWeb/src/views/base/uiDefineVO.js b/Source/ProjectWeb/src/views/base/uiDefineVO.js
index 204d860..697d06d 100644
--- a/Source/ProjectWeb/src/views/base/uiDefineVO.js
+++ b/Source/ProjectWeb/src/views/base/uiDefineVO.js
@@ -1085,55 +1085,6 @@
"checkOutBy": null,
"checkOutTime": null,
"componentVOs": [
-
- {
- "btmname": null,
- "buttons": [],
- "checkInBy": null,
- "checkInTime": null,
- "checkOutBy": null,
- "checkOutTime": null,
- "copyFromVersion": null,
- "createTime": null,
- "creator": null,
- "customClass": "I:processreview#DepartmentProcessReview_web?param=xxx",
- "data": null,
- "description": "",
- "extendAttr": "",
- "firstR": null,
- "firstV": null,
- "formDefineVO": null,
- "id": null,
- "lastModifier": null,
- "lastModifyTime": null,
- "lastR": null,
- "lastV": null,
- "lcStatus": null,
- "lcStatusText": null,
- "lctid": null,
- "name": "鑷畾涔夋樉绀�",
- "nameOid": null,
- "oid": "A05C554A-5589-F964-2004-15CB05CBEE6D",
- "orderNum": 2,
- "owner": null,
- "pkLayout": "C08F5364-F23D-9602-2165-2487E3DD9E0C",
- "revisionOid": null,
- "revisionRule": null,
- "revisionSeq": 0,
- "revisionValue": null,
- "secretGrade": null,
- "secretGradeText": null,
- "tableDefineVO": null,
- "treeDefineVO": null,
- "treeTableDefineVO": null,
- "ts": null,
- "uiComponentType": "customer",
- "uiComponentTypeText": "鑷畾涔夋ā鏉�",
- "uiParseClass": "",
- "versionRule": null,
- "versionSeq": 0,
- "versionValue": null
- },
{
"btmname": null,
"buttons": [
@@ -2619,6 +2570,54 @@
"versionRule": null,
"versionSeq": 0,
"versionValue": null
+ },
+ {
+ "btmname": null,
+ "buttons": [],
+ "checkInBy": null,
+ "checkInTime": null,
+ "checkOutBy": null,
+ "checkOutTime": null,
+ "copyFromVersion": null,
+ "createTime": null,
+ "creator": null,
+ "customClass": "test2:processreview#DepartmentProcessReview_web?param=xxx",
+ "data": null,
+ "description": "",
+ "extendAttr": "",
+ "firstR": null,
+ "firstV": null,
+ "formDefineVO": null,
+ "id": null,
+ "lastModifier": null,
+ "lastModifyTime": null,
+ "lastR": null,
+ "lastV": null,
+ "lcStatus": null,
+ "lcStatusText": null,
+ "lctid": null,
+ "name": "鑷畾涔夋樉绀�",
+ "nameOid": null,
+ "oid": "A05C554A-5589-F964-2004-15CB05CBEE6D",
+ "orderNum": 2,
+ "owner": null,
+ "pkLayout": "C08F5364-F23D-9602-2165-2487E3DD9E0C",
+ "revisionOid": null,
+ "revisionRule": null,
+ "revisionSeq": 0,
+ "revisionValue": null,
+ "secretGrade": null,
+ "secretGradeText": null,
+ "tableDefineVO": null,
+ "treeDefineVO": null,
+ "treeTableDefineVO": null,
+ "ts": null,
+ "uiComponentType": "customer",
+ "uiComponentTypeText": "鑷畾涔夋ā鏉�",
+ "uiParseClass": "",
+ "versionRule": null,
+ "versionSeq": 0,
+ "versionValue": null
}
],
"copyFromVersion": null,
@@ -3188,42 +3187,7 @@
"versionRule": null,
"versionSeq": 0,
"versionValue": null
- }
- ],
- "checkInBy": null,
- "checkInTime": null,
- "checkOutBy": null,
- "checkOutTime": null,
- "copyFromVersion": null,
- "createTime": "2022-02-08 10:40:50.000",
- "creator": "developer",
- "data": null,
- "description": "",
- "eastAreas": null,
- "firstR": null,
- "firstV": null,
- "id": "ProcessReviewList_web",
- "lastModifier": "developer",
- "lastModifyTime": "2022-07-18 17:30:51.000",
- "lastR": null,
- "lastV": null,
- "lcStatus": null,
- "lcStatusText": null,
- "lctid": null,
- "linkTypeFlag": false,
- "linkTypeId": null,
- "name": "宸ヨ壓璇勫鍒楄〃_web",
- "nameOid": null,
- "northAreas": [],
- "oid": "DBB13AF7-021F-ED27-B285-03E8599548EB",
- "owner": null,
- "revisionOid": null,
- "revisionRule": null,
- "revisionSeq": 0,
- "revisionValue": null,
- "secretGrade": null,
- "secretGradeText": null,
- "southAreas": [
+ },
{
"btmname": null,
"checkInBy": null,
@@ -3882,7 +3846,234 @@
"versionRule": null,
"versionSeq": 0,
"versionValue": null
- }
+ },
+ {
+ "btmname": null,
+ "checkInBy": null,
+ "checkInTime": null,
+ "checkOutBy": null,
+ "checkOutTime": null,
+ "componentVOs": [
+ {
+ "btmname": null,
+ "buttons": [],
+ "checkInBy": null,
+ "checkInTime": null,
+ "checkOutBy": null,
+ "checkOutTime": null,
+ "copyFromVersion": null,
+ "createTime": null,
+ "creator": null,
+ "customClass": "test:processreview#DepartmentProcessReview_web?param=xxx",
+ "data": null,
+ "description": "",
+ "extendAttr": "",
+ "firstR": null,
+ "firstV": null,
+ "formDefineVO": null,
+ "id": null,
+ "lastModifier": null,
+ "lastModifyTime": null,
+ "lastR": null,
+ "lastV": null,
+ "lcStatus": null,
+ "lcStatusText": null,
+ "lctid": null,
+ "name": "鑷畾涔夋樉绀�",
+ "nameOid": null,
+ "oid": "A05C554A-5589-F964-2004-15CB05CBEE6D",
+ "orderNum": 2,
+ "owner": null,
+ "pkLayout": "C08F5364-F23D-9602-2165-2487E3DD9E0C",
+ "revisionOid": null,
+ "revisionRule": null,
+ "revisionSeq": 0,
+ "revisionValue": null,
+ "secretGrade": null,
+ "secretGradeText": null,
+ "tableDefineVO": null,
+ "treeDefineVO": null,
+ "treeTableDefineVO": null,
+ "ts": null,
+ "uiComponentType": "customer",
+ "uiComponentTypeText": "鑷畾涔夋ā鏉�",
+ "uiParseClass": "",
+ "versionRule": null,
+ "versionSeq": 0,
+ "versionValue": null
+ }
+ ],
+ "copyFromVersion": null,
+ "createTime": "2022-02-08 10:40:50.000",
+ "creator": "developer",
+ "data": null,
+ "description": "",
+ "displayExpression": "",
+ "enableStatus": true,
+ "extendAttr": "",
+ "firstR": null,
+ "firstV": null,
+ "id": "2",
+ "international": null,
+ "lastModifier": "developer",
+ "lastModifyTime": "2022-07-18 17:30:52.000",
+ "lastR": null,
+ "lastV": null,
+ "layoutAreaType": "center",
+ "layoutAreaTypeText": null,
+ "lcStatus": null,
+ "lcStatusText": null,
+ "lctid": null,
+ "name": "鑷畾涔�",
+ "nameOid": null,
+ "oid": "90D6FE27-C15F-CEFF-3F5E-CB349F7954EE",
+ "orderNum": 2,
+ "owner": null,
+ "pkContent": "DBB13AF7-021F-ED27-B285-03E8599548EB",
+ "revisionOid": null,
+ "revisionRule": null,
+ "revisionSeq": 0,
+ "revisionValue": null,
+ "secretGrade": null,
+ "secretGradeText": null,
+ "title": "鑷畾涔�",
+ "ts": null,
+ "uiParseClass": "",
+ "versionRule": null,
+ "versionSeq": 0,
+ "versionValue": null
+ },
+ ],
+ "checkInBy": null,
+ "checkInTime": null,
+ "checkOutBy": null,
+ "checkOutTime": null,
+ "copyFromVersion": null,
+ "createTime": "2022-02-08 10:40:50.000",
+ "creator": "developer",
+ "data": null,
+ "description": "",
+ "eastAreas": null,
+ "firstR": null,
+ "firstV": null,
+ "id": "ProcessReviewList_web",
+ "lastModifier": "developer",
+ "lastModifyTime": "2022-07-18 17:30:51.000",
+ "lastR": null,
+ "lastV": null,
+ "lcStatus": null,
+ "lcStatusText": null,
+ "lctid": null,
+ "linkTypeFlag": false,
+ "linkTypeId": null,
+ "name": "宸ヨ壓璇勫鍒楄〃_web",
+ "nameOid": null,
+ "northAreas": [],
+ "oid": "DBB13AF7-021F-ED27-B285-03E8599548EB",
+ "owner": null,
+ "revisionOid": null,
+ "revisionRule": null,
+ "revisionSeq": 0,
+ "revisionValue": null,
+ "secretGrade": null,
+ "secretGradeText": null,
+ "southAreas": [
+ {
+ "btmname": null,
+ "checkInBy": null,
+ "checkInTime": null,
+ "checkOutBy": null,
+ "checkOutTime": null,
+ "componentVOs": [
+ {
+ "btmname": null,
+ "buttons": [],
+ "checkInBy": null,
+ "checkInTime": null,
+ "checkOutBy": null,
+ "checkOutTime": null,
+ "copyFromVersion": null,
+ "createTime": null,
+ "creator": null,
+ "customClass": "UI:processreview#DepartmentProcessReview_web?param=xxx",
+ "data": null,
+ "description": "",
+ "extendAttr": "",
+ "firstR": null,
+ "firstV": null,
+ "formDefineVO": null,
+ "id": null,
+ "lastModifier": null,
+ "lastModifyTime": null,
+ "lastR": null,
+ "lastV": null,
+ "lcStatus": null,
+ "lcStatusText": null,
+ "lctid": null,
+ "name": "鑷畾涔夋樉绀�",
+ "nameOid": null,
+ "oid": "A05C554A-5589-F964-2004-15CB05CBEE6D",
+ "orderNum": 2,
+ "owner": null,
+ "pkLayout": "C08F5364-F23D-9602-2165-2487E3DD9E0C",
+ "revisionOid": null,
+ "revisionRule": null,
+ "revisionSeq": 0,
+ "revisionValue": null,
+ "secretGrade": null,
+ "secretGradeText": null,
+ "tableDefineVO": null,
+ "treeDefineVO": null,
+ "treeTableDefineVO": null,
+ "ts": null,
+ "uiComponentType": "customer",
+ "uiComponentTypeText": "鑷畾涔夋ā鏉�",
+ "uiParseClass": "",
+ "versionRule": null,
+ "versionSeq": 0,
+ "versionValue": null
+ }
+ ],
+ "copyFromVersion": null,
+ "createTime": "2022-02-08 10:40:50.000",
+ "creator": "developer",
+ "data": null,
+ "description": "",
+ "displayExpression": "",
+ "enableStatus": true,
+ "extendAttr": "",
+ "firstR": null,
+ "firstV": null,
+ "id": "2",
+ "international": null,
+ "lastModifier": "developer",
+ "lastModifyTime": "2022-07-18 17:30:52.000",
+ "lastR": null,
+ "lastV": null,
+ "layoutAreaType": "center",
+ "layoutAreaTypeText": null,
+ "lcStatus": null,
+ "lcStatusText": null,
+ "lctid": null,
+ "name": "璇勫闂鍒楄〃",
+ "nameOid": null,
+ "oid": "90D6FE27-C15F-CEFF-3F5E-CB349F7954EE",
+ "orderNum": 2,
+ "owner": null,
+ "pkContent": "DBB13AF7-021F-ED27-B285-03E8599548EB",
+ "revisionOid": null,
+ "revisionRule": null,
+ "revisionSeq": 0,
+ "revisionValue": null,
+ "secretGrade": null,
+ "secretGradeText": null,
+ "title": "璇勫闂鍒楄〃",
+ "ts": null,
+ "uiParseClass": "",
+ "versionRule": null,
+ "versionSeq": 0,
+ "versionValue": null
+ },
],
"ts": null,
"versionRule": null,
diff --git a/Source/ProjectWeb/src/views/base/uiDefineVOInDialog.js b/Source/ProjectWeb/src/views/base/uiDefineVOInDialog.js
index 4b91c2d..4558584 100644
--- a/Source/ProjectWeb/src/views/base/uiDefineVOInDialog.js
+++ b/Source/ProjectWeb/src/views/base/uiDefineVOInDialog.js
@@ -247,10 +247,10 @@
"lctid": null,
"name": "璇勫浠诲姟鍒楄〃",
"nameOid": null,
- "oid": "2D6D571B-BB6E-677D-9764-191BC5D5D3F1",
+ "oid": "2D6D571B-BB6E-677D-9764-191BC5D5D3F11",
"orderNum": 1,
"owner": null,
- "pkLayout": "2692E26B-8584-4561-8A03-D5921A82E490",
+ "pkLayout": "2692E26B-8584-4561-8A03-D5921A82E4901",
"revisionOid": null,
"revisionRule": null,
"revisionSeq": 0,
@@ -473,7 +473,7 @@
"id": "auditTaskTable",
"limits": null,
"linkTypeFlag": false,
- "oid": "0A8030A1-2E3F-5D7D-A599-961A3829E6C5",
+ "oid": "0A8030A1-2E3F-5D7D-A599-961A3829E6C51",
"pageVO": null,
"queryColumns": [
{
@@ -1061,10 +1061,10 @@
"lctid": null,
"name": "璇勫浠诲姟鍒楄〃",
"nameOid": null,
- "oid": "2692E26B-8584-4561-8A03-D5921A82E490",
+ "oid": "2692E26B-8584-4561-8A03-D5921A82E4901",
"orderNum": 1,
"owner": null,
- "pkContent": "DBB13AF7-021F-ED27-B285-03E8599548EB",
+ "pkContent": "DBB13AF7-021F-ED27-B285-03E8599548EB1",
"revisionOid": null,
"revisionRule": null,
"revisionSeq": 0,
@@ -1392,10 +1392,10 @@
"lctid": null,
"name": "鍒嗙被鏍�",
"nameOid": null,
- "oid": "7170DFF8-C1DE-04A8-46F0-BC4379980BC7",
+ "oid": "7170DFF8-C1DE-04A8-46F0-BC4379980BC71",
"orderNum": 1,
"owner": null,
- "pkLayout": "7DDAED74-95BC-FDCE-53F4-A5E72815D5E6",
+ "pkLayout": "7DDAED74-95BC-FDCE-53F4-A5E72815D5E61",
"revisionOid": null,
"revisionRule": null,
"revisionSeq": 0,
@@ -1448,10 +1448,10 @@
"lctid": null,
"name": "宸ヨ壓璇勫鍒楄〃",
"nameOid": null,
- "oid": "E28B0555-FAF3-4F59-0EE8-64A30A77C9CB",
+ "oid": "E28B0555-FAF3-4F59-0EE8-64A30A77C9CB1",
"orderNum": 1,
"owner": null,
- "pkContent": "DBB13AF7-021F-ED27-B285-03E8599548EB",
+ "pkContent": "DBB13AF7-021F-ED27-B285-03E8599548EB1",
"revisionOid": null,
"revisionRule": null,
"revisionSeq": 0,
--
Gitblit v1.9.3