diff --git a/src/views/mdp/form/formField/Field.vue b/src/views/mdp/form/formField/Field.vue index 5ec9369..2c01d13 100644 --- a/src/views/mdp/form/formField/Field.vue +++ b/src/views/mdp/form/formField/Field.vue @@ -312,9 +312,30 @@ item2.id=noSelectFieldId.id item2.idCamel=noSelectFieldId.idCamel delete item.isNewAdd - this.selectedFields[evt.newIndex]=item2; - this.addForm=item2; - + this.field.children[evt.newIndex]=item2; + if(item2.children && item2.children.length>0){ + onAddWithChildren(item2.children) + } + + }, + + onAddWithChildren(children){ + children.forEach((c,idx)=>{ + var newIndex=idx + let item=children[newIndex]; + item.isNewAdd=true + var item2=JSON.parse(JSON.stringify(item)) + var noSelectFieldId=this.findNotInChild() + + if(!noSelectFieldId){ + var id=this.$mdp.createSeqNo('ext_infos.').toLocaleLowerCase(); + noSelectFieldId={id:id,idCamel:id} + } + item2.id=noSelectFieldId.id + item2.idCamel=noSelectFieldId.idCamel + delete item.isNewAdd + children[newIndex]=item2; + }) }, onBkeyChange(field){ this.$emit('bkey-change',field) diff --git a/src/views/mdp/form/formField/FieldCfg.vue b/src/views/mdp/form/formField/FieldCfg.vue index 2154572..4b37a20 100644 --- a/src/views/mdp/form/formField/FieldCfg.vue +++ b/src/views/mdp/form/formField/FieldCfg.vue @@ -113,6 +113,7 @@ diff --git a/src/views/mdp/form/formField/Index.vue b/src/views/mdp/form/formField/Index.vue index a39aeb5..0c3b7ca 100644 --- a/src/views/mdp/form/formField/Index.vue +++ b/src/views/mdp/form/formField/Index.vue @@ -181,7 +181,7 @@ export default { }, 'visible':function(visible) { if(visible==true){ - debugger + this.selectedFields=treeTool.translateDataToTree(this.formFields,'pid','id') this.setPrimaryKeys(); this.$nextTick(()=>{ @@ -351,7 +351,7 @@ export default { onTplStart(evt){ }, onAdd(evt){ - debugger + let item=this.selectedFields[evt.newIndex]; var item2=JSON.parse(JSON.stringify(item)) item.isNewAdd=true @@ -367,9 +367,31 @@ export default { item.isNewAdd=false; this.selectedFields[evt.newIndex]=item2; this.addForm=item2; + if(item2.children && item2.children.length>0){ + this.onAddWithChildren(item2.children) + } }, + onAddWithChildren(children){ + + children.forEach((c,idx)=>{ + var newIndex=idx + let item=children[newIndex]; + item.isNewAdd=true + var item2=JSON.parse(JSON.stringify(item)) + var noSelectFieldId=this.findNotInChild() + + if(!noSelectFieldId){ + var id=this.$mdp.createSeqNo('ext_infos.').toLocaleLowerCase(); + noSelectFieldId={id:id,idCamel:id} + } + item2.id=noSelectFieldId.id + item2.idCamel=noSelectFieldId.idCamel + delete item.isNewAdd + children[newIndex]=item2; + }) + }, deleteBaseData(){ this.addForm.dict=''; }, @@ -632,7 +654,7 @@ export default { draggable, MdpField }, mounted() { - debugger; + this.myFormDef=this.formDef if(this.formFields){ this.selectedFields=treeTool.translateDataToTree(this.formFields,'pid','id')