From 11a4e8b8ba0695b3228c3f3245ef401f3f9ecf2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Sat, 7 Oct 2023 22:40:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mdp-ui-ext/mdp-ext-infos/Index.vue | 137 ++++++++++-------- src/views/mdp/form/formField/FieldCfg.vue | 68 +++++++-- 2 files changed, 134 insertions(+), 71 deletions(-) diff --git a/src/components/mdp-ui-ext/mdp-ext-infos/Index.vue b/src/components/mdp-ui-ext/mdp-ext-infos/Index.vue index 3cda5bd..bfc9b1d 100644 --- a/src/components/mdp-ui-ext/mdp-ext-infos/Index.vue +++ b/src/components/mdp-ui-ext/mdp-ext-infos/Index.vue @@ -8,9 +8,9 @@ {{it.name}} -   :   -   :   -    + : + : + @@ -18,9 +18,9 @@ {{it.name}} -   :   -   :   -    + : + : + @@ -28,9 +28,9 @@ {{it.name}} -   :   -   :   -    + : + : + @@ -38,9 +38,9 @@ {{it.name}} -   :   -   :   -    + : + : + @@ -49,9 +49,9 @@ {{it.name}} -   :   -   :   -    + : + : + @@ -59,11 +59,11 @@ {{it.name}} -   :   -   :   -    -    -    + : + : + + + @@ -71,10 +71,10 @@ {{it.name}} -   :   -   :   -    -    + : + : + + @@ -85,40 +85,39 @@ 新增一行 - + - - -    -    -    - - -    - - -    - - - -    - - - -    - - - -    - - -    -    - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + 配置扩展字段 @@ -132,7 +131,25 @@ export default { name: 'MdpExtInfos', - props:['value','unConfig'], + props:{ + value:{ + type:Array, + default:[], + }, + cfgDisabled:{ + type:Boolean, + default:true, + }, + span:{ + type:Number, + default:24 + }, + labelWidth:{ + type:String, + default:'120px' + } + + }, computed: { ...mapGetters([ 'userInfo' @@ -148,8 +165,13 @@ handler(val,oldVal){ if(this.value instanceof Array){ this.$emit("input",val) + this.$emit("change",val) + this.$emit("change2",val) }else{ - this.$emit("input",JSON.stringify(val)) + var v=JSON.stringify(val); + this.$emit("input",JSON.stringify(v)) + this.$emit("change",v) + this.$emit("change2",v) } } }, @@ -183,6 +205,7 @@ this.extInfosList.splice(index,1) }, initData(){ + debugger; if(this.value){ if(this.value instanceof Array){ this.extInfosList=this.value diff --git a/src/views/mdp/form/formField/FieldCfg.vue b/src/views/mdp/form/formField/FieldCfg.vue index d55dcf8..b31518e 100644 --- a/src/views/mdp/form/formField/FieldCfg.vue +++ b/src/views/mdp/form/formField/FieldCfg.vue @@ -1,5 +1,5 @@ @@ -177,6 +170,7 @@ immediate:true, handler:function(){ this.field=this.value + this.setExtInfos(); } } }, @@ -184,13 +178,40 @@ return { oldId:'', field:{}, - primaryKeys:[], - + primaryKeys:[], fieldRules: { id: [ //{ required: false, message: '主键', trigger: 'blur' } ] }, + componentsExtInfosCfg:{ + select:[ + //{id:'',value:'',name:''} + ], + date:[ + {id:'format',value:'yyyy-MM-dd',name:'显示格式'}, + {id:'valueFormat',value:'yyyy-MM-dd HH:mm:ss',name:'值格式'}, + ], + daterange:[ + {id:'format',value:'yyyy-MM-dd',name:'显示格式'}, + {id:'valueFormat',value:'yyyy-MM-dd HH:mm:ss',name:'值格式'}, + {id:'startKey',value:'startTime',name:'开始key'}, + {id:'endKey',value:'endTime',name:'结束key'}, + ], + textarea:[ + {id:'rows',value:'4',name:'行数'}, + ], + number:[ + {id:'min',value:'',name:'最小值'}, + {id:'max',value:'',name:'最大值'}, + {id:'step',value:'',name:'最大值'}, + {id:'precision',value:'',name:'数值精度'}, + {id:'controls',value:'1',name:'使用控制'}, + {id:'controlsPosition',value:'right',name:'按钮位置 '}, + ], + + }, + extInfos:[], /**end 在上面加自定义属性**/ }//end return },//end data @@ -201,6 +222,7 @@ this.$emit('close'); }, handleConfirm(){ + this.field.extInfos=JSON.stringify(this.extInfos.filter(k=>!k.value)) this.$emit('input',this.field) this.$emit('change',this.field) this.$emit('change2',this.field) @@ -239,7 +261,25 @@ this.field.id=id; this.field.idCamel=this.$mdp.toCamel(this.field.id) this.$emit('id-change',this.field) - } + }, + setExtInfos(){ + var cfgs=[] + var x= this.componentsExtInfosCfg[this.field.typ] + var extInfos=this.field.extInfos?JSON.parse(this.field.extInfos):[] + if(x && x.length>0){ + x.forEach(k=>{ + var cfg=extInfos.find(c=>c.id==k.id) + if(cfg){ + cfgs.push(cfg) + }else{ + cfgs.push({...k}) + } + }) + }else{ + cfgs=extInfos + } + this.extInfos=cfgs + }, /**end 在上面加自定义方法**/ },//end method