From e88c8eb524bc477ec8a3cac2902c55a4e0982ce7 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 22 三月 2024 10:02:02 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/ProjectWeb/src/router/page/index.js | 2 Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 74 ++++++++++++++++++++++++ Source/ProjectWeb/src/components/dynamic-components/index.vue | 2 Source/ProjectWeb/src/views/base/uiDefineVO.js | 48 ++++++++++++++++ Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue | 3 5 files changed, 124 insertions(+), 5 deletions(-) diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue index f84226e..4074c3d 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue @@ -1,6 +1,14 @@ <template> <div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid"> - + <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢║I:type#content?param=xxx杩欑褰㈠紡</div> + <component v-else :is="asyncComponent" + :customOptions="customOptions" + :inDialog="inDialog" + :key="areasName+'customCom-'+componentVO.oid" + :componentVO="componentVO" + :sourceData="sourceData" + :areasName="areasName" + :paramVOS="paramVOS"></component> </div> </template> @@ -35,8 +43,70 @@ default: true }, }, + components:{ + + }, data() { - return {} + return { + customClass:this.componentVO.customClass, //UI:type#content?param=xxx鎴栬�� 缁勪欢name:type#content?param=xxx + isError:false, //璺緞瑙f瀽澶辫触 + componentPath:'@/views/base/UIContentViewer' //鑷畾涔変娇鐢ㄧ殑缁勪欢璺緞 + } + }, + computed:{ + customOptions() { + let componentPath='@/views/base/UIContentViewer'; + 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]; + } + let urlParams={}; + let btmType='' + let content='' + if(this.customClass.split(':')[1].indexOf("?") <0){ + btmType=this.customClass.split(':')[1].split('#')[0]; + content=this.customClass.split(':')[1].split('#')[1]; + }else { + let split1 = this.customClass.split(':')[1].split('?')[0]; + let split2 = this.customClass.split(':')[1].split('?')[1]; + btmType=split1.split('#')[0]; + content=split1.split('#')[1]; + let paramsArray = split2.split("&"); + paramsArray.forEach(item=>{ + var preParam =item.split("="); + if(preParam[0]=='btmname'){ + urlParams['btmType']=preParam[1]; + }else if(preParam[0]=='imagetype'){ + urlParams['imageType']=preParam[1]; + if(preParam[1]=='fileobject'){ + + } + }else{ + urlParams[preParam[0]] = preParam[1]; + } + }) + } + + this.componentPath=componentPath; + return { + btmType:btmType, + content:content, + urlParams: urlParams, + uiComponentType: this.componentVO.uiComponentType, + uiComponentTypeText: this.componentVO.uiComponentTypeText, + uiParseClass: this.componentVO.uiParseClass + } + }, + asyncComponent() { + return import(this.componentPath); + } + }, + created() { + } } </script> diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue index 31c933c..e36cab4 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-tree.vue @@ -57,7 +57,8 @@ isShow:{ handler(newval) { if(newval) { - console.log(this.$el.clientHeight)} + //console.log(this.$el.clientHeight) + } } } }, diff --git a/Source/ProjectWeb/src/components/dynamic-components/index.vue b/Source/ProjectWeb/src/components/dynamic-components/index.vue index 6e8006d..58df815 100644 --- a/Source/ProjectWeb/src/components/dynamic-components/index.vue +++ b/Source/ProjectWeb/src/components/dynamic-components/index.vue @@ -28,7 +28,7 @@ :paramVOS="paramVOS" :isShow="isShow"> </dynamic-tree> - <dynamic-custom v-else-if="componentVO.uiComponentType=='custom'" :inDialog="inDialog" + <dynamic-custom v-else-if="componentVO.uiComponentType=='customer'" :inDialog="inDialog" :key="areasName+'custom-'+componentVO.oid" :componentVO="componentVO" :sourceData="sourceData" diff --git a/Source/ProjectWeb/src/router/page/index.js b/Source/ProjectWeb/src/router/page/index.js index 4c511ba..1c12de2 100644 --- a/Source/ProjectWeb/src/router/page/index.js +++ b/Source/ProjectWeb/src/router/page/index.js @@ -84,7 +84,7 @@ children: [ { path: '', - component: () => import("@/views/base/UIContentVIewer"), + component: () => import("@/views/base/UIContentViewer"), props: true } ] diff --git a/Source/ProjectWeb/src/views/base/uiDefineVO.js b/Source/ProjectWeb/src/views/base/uiDefineVO.js index 01477f5..9571282 100644 --- a/Source/ProjectWeb/src/views/base/uiDefineVO.js +++ b/Source/ProjectWeb/src/views/base/uiDefineVO.js @@ -1639,6 +1639,54 @@ "versionSeq": 0, "versionValue": null }, + { + "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", -- Gitblit v1.9.3