From 197a03ea2d5e38496d5495ee8bc0d4e127f233cf Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 08 四月 2024 11:31:43 +0800
Subject: [PATCH] 工具类添加
---
Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue | 95 ++++++++++++++++++++++-------------------------
1 files changed, 45 insertions(+), 50 deletions(-)
diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
index 5d85586..4ed2338 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-custom.vue
@@ -1,15 +1,16 @@
<template>
<div class="UI-dynamic" :id="'UI-dynamic-'+areasName+componentVO.oid">
- <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢║I:type#content?param=xxx杩欑褰㈠紡</div>
+ <div v-if="isError" style="color: #F56C6C">杩欎釜鑷畾涔夐〉闈㈢殑鍦板潃鏍煎紡涓嶆纭�傛帹鑽愪娇鐢╞s=?type=xxx&context=yyy&pparam=zzz杩欑褰㈠紡</div>
<component v-else :is="currentComponent"
- :customOptions="customOptions"
+ :btmType="btmType"
+ :content="content"
:inDialog="true"
:key="areasName+'customCom-'+componentVO.oid"
:componentVO="componentVO"
:sourceData="sourceData"
:dataStore="dataStore"
:areasName="areasName"
- :paramVOS="paramVOS"></component>
+ :paramVOS="urlParams"></component>
</div>
</template>
@@ -18,8 +19,8 @@
name: "dynamic-custom",
components:{
'UI':()=>import('@/views/base/UIContentViewerInDialog'),
- 'test':()=>import('@/components/custom-ui/test'),
- 'test2':()=>import('@/components/custom-ui/test2'),
+ 'test':()=>import('@/views/custom-ui/test'),
+ 'test2':()=>import('@/views/custom-ui/test2'),
},
props:{
componentVO:{
@@ -35,7 +36,7 @@
default:''
},
sourceData:{
- //鑿滃崟婧愭暟鎹垨鑰呭脊绐楁椂鎸夐挳鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
+ //鎵�灞炲尯鍩熺殑涓婁竴鍖哄煙閫変腑鏁版嵁
type:Object,
default: {}
},
@@ -56,8 +57,11 @@
},
data() {
return {
+ btmType:'',
+ content:'',
+ urlParams:{},
height:'300px',
- customClass:this.componentVO.customClass, //UI:type#content?param=xxx鎴栬�� 缁勪欢name:type#content?param=xxx
+ customClass:this.componentVO.customClass, //bs=?type=xxx&context=yyy¶m=zzz 鎴栬�� bs=缁勪欢name?type=xxx&context=yyy¶m=zzz
isError:false, //璺緞瑙f瀽澶辫触
currentComponent: 'UI',//缁勪欢name
}
@@ -65,61 +69,52 @@
watch:{
sourceData:{
handler(newval) {
+ //婧愭暟鎹湁鍙樺寲鏃跺彉鏇村綋鍓嶅尯鍩熸暟鎹�
console.log(this.areasName);
console.log(newval);
}
}
},
computed:{
- customOptions() {
- if(this.customClass.indexOf(":") <0){
- this.isError=true;
- return ;
- }
-
- if(this.customClass.split(':')[0]!='UI' && this.customClass.split(':')[0]!='ui'){
- this.currentComponent=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];
- }
- })
- }
-
- return {
- btmType:btmType,
- content:content,
- urlParams: urlParams
- }
- }
},
created() {
},
mounted() {
+ if(this.customClass.indexOf("bs=") <0){
+ this.isError=true;
+ return ;
+ }
+ this.customClass=this.componentVO.customClass.split("bs=")[1];
+ if(this.customClass.indexOf("?") <0 || this.customClass.indexOf("type=") <0 || this.customClass.indexOf("context=") <0){
+ this.isError=true;
+ return ;
+ }
+ if(this.customClass.split('?')[0]!='' && this.customClass.split('?')[0]!='UI' && this.customClass.split('?')[0]!='ui'){
+ this.currentComponent=this.customClass.split('?')[0];
+ }
+ this.customClass=this.componentVO.customClass.split("?")[1].split('&');
+ let urlParams={};
+ let btmType=''
+ let content=''
+ this.customClass.forEach(item=>{
+ var preParam =item.split("=");
+ if(preParam[0]=='type'){
+ btmType=preParam[1];
+ }else if(preParam[0]=='context'){
+ content=preParam[1];
+ }else{
+ urlParams[preParam[0]] = preParam[1];
+ }
+ })
+
+
+ this.btmType=btmType,
+ this.content=content,
+ this.urlParams=Object.assign(this.paramVOS,urlParams)
+
//this.getHeight(this.$parent);
- },
+ },
methods:{
getHeight(el){
if(el.$el.clientHeight>50){
--
Gitblit v1.9.3