diff --git a/src/views/mdp/form/formField/Field.vue b/src/views/mdp/form/formField/Field.vue index 6c6f867..16eec64 100644 --- a/src/views/mdp/form/formField/Field.vue +++ b/src/views/mdp/form/formField/Field.vue @@ -145,7 +145,7 @@ - + @@ -299,19 +299,17 @@ }, onAdd(evt){ - debugger; + let item=this.field.children[evt.newIndex]; item.isNewAdd=true var item2=JSON.parse(JSON.stringify(item)) var noSelectFieldId=this.findNotInChild() - debugger; + if(!noSelectFieldId){ - this.field.children.splice(evt.newIndex,1) - this.$notify.error('当前组件已经超过最大数量,不能再添加'); - return; + var id=this.$mdp.createSeqNo('ext_infos.').toLocaleLowerCase(); + noSelectFieldId={id:id,idCamel:id} } - item2.id=noSelectFieldId.id - item2.fieldId=noSelectFieldId.fieldId + item2.id=noSelectFieldId.id item2.idCamel=noSelectFieldId.idCamel delete item.isNewAdd this.selectedFields[evt.newIndex]=item2; diff --git a/src/views/mdp/form/formField/FieldCfg.vue b/src/views/mdp/form/formField/FieldCfg.vue index cf2d599..d55dcf8 100644 --- a/src/views/mdp/form/formField/FieldCfg.vue +++ b/src/views/mdp/form/formField/FieldCfg.vue @@ -3,29 +3,37 @@ - - - - - - - + + + + + + + - - - - - - - - - + + + + + + 编码规则: 支持两种编码格式:假设有字段 客户姓名 cust_name + 1. ext_infos.cust_name, 此编码方式的字段,用户录入的客户姓名将存储在【ext_infos.cust_name】中 + 2. cust_name 不带【ext_infos.】,此编码方式的字段,用户录入的客户姓名将存储在 【cust_name】中 + + + + + + + + + - - - 创建人 - 创建部门 - + 是否主键 是否必输 @@ -155,18 +163,26 @@ return {} } }, + + hasChild:{ + type:Function, + default:function(){ + return null; + } + }, }, watch: { value:{ deep:true, immediate:true, handler:function(){ - this.field=this.value + this.field=this.value } } }, data() { return { + oldId:'', field:{}, primaryKeys:[], @@ -196,6 +212,33 @@ onQxSetChange(){ this.handleConfirm() this.$refs['qxDialog'].close(); + }, + onBkeyChange(v){ + this.$emit('bkey-change',this.field) + }, + onIdChange(v){ + + if(!v||v.length==0){ + this.$notify.error('编码不能为空') + return; + } + if(v.indexOf(".")>=0){ + if(v.indexOf('ext_info.')!=0){ + this.$notify.error('编码格式错误,前缀只支持【空前缀、ext_info.】两种') + return; + } + } + var id=v.toLocaleLowerCase(); + this.field.isNewAdd=true + if(this.hasChild(id)){ + this.field.id=this.oldId + this.$notify.error('编码【'+id+'】已存在,请换个编码') + return; + } + this.field.isNewAdd=false + this.field.id=id; + this.field.idCamel=this.$mdp.toCamel(this.field.id) + this.$emit('id-change',this.field) } /**end 在上面加自定义方法**/ diff --git a/src/views/mdp/form/formField/Index.vue b/src/views/mdp/form/formField/Index.vue index 54a99b0..e3f05cd 100644 --- a/src/views/mdp/form/formField/Index.vue +++ b/src/views/mdp/form/formField/Index.vue @@ -360,24 +360,23 @@ export default { debugger; let item=this.selectedFields[evt.newIndex]; var item2=JSON.parse(JSON.stringify(item)) + item.isNewAdd=true var noSelectFieldId=this.fieldIds.find(i=>{ return !this.hasChild(i.id); }) - if(!noSelectFieldId){ - this.selectedFields.splice(evt.newIndex,1) - this.$notify.error('当前组件已经超过最大数量,不能再添加'); - return; + if(!noSelectFieldId){ + var id=this.$mdp.createSeqNo('ext_infos.').toLocaleLowerCase(); + noSelectFieldId={id:id,idCamel:id} } - item2.id=noSelectFieldId.id - item2.fieldId=noSelectFieldId.fieldId + item2.id=noSelectFieldId.id item2.idCamel=noSelectFieldId.idCamel + item.isNewAdd=false; this.selectedFields[evt.newIndex]=item2; this.addForm=item2; }, - deleteBaseData(){ - this.addForm.isDict='0'; + deleteBaseData(){ this.addForm.dict=''; }, calcSpan(child){ @@ -566,7 +565,7 @@ export default { return this.hasMyChild(id,this.selectedFields) }, hasMyChild(id,children){ - debugger; + if(!children||children.length==0){ return false; }else{