From 07750146df48ccd080533d7774f3a19443816908 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 16:29:54 +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 --- src/views/mdp/form/formDef/Form.vue | 18 +++++----- src/views/mdp/form/formField/Field.vue | 9 +++-- src/views/mdp/form/formField/Index.vue | 48 ++++++++++++++------------ 3 files changed, 42 insertions(+), 33 deletions(-) diff --git a/src/views/mdp/form/formDef/Form.vue b/src/views/mdp/form/formDef/Form.vue index 1f51fd9..ab3c144 100644 --- a/src/views/mdp/form/formDef/Form.vue +++ b/src/views/mdp/form/formDef/Form.vue @@ -33,7 +33,7 @@ - + @@ -128,6 +128,7 @@ export default { formFields:[], editable:false,//是否可编辑模式 formFieldsVisible:false, + oldPks:'',// } }, methods: { @@ -201,11 +202,6 @@ export default { this.$notify({position:'bottom-left',showClose:true,message: '最少需要定义一个字段', type: 'error' }); return; } - var max=this.$refs.formFields.getMaxFields(); - if(formFields.length>max){ - this.$notify({position:'bottom-left',showClose:true,message: '最多支持'+max+'个字段', type: 'error' }); - return; - } this.$confirm('确认提交吗?', '提示', {}).then(() => { this.load.edit=true let formDef = Object.assign({}, this.editForm); @@ -216,7 +212,7 @@ export default { this.$refs.formFields.setPrimaryKeys(); - formFields.forEach((i,index)=>{i.seqNo=index}); + formFields.forEach((i,index)=>{i.seq=index}); var params={formDef:formDef,formFields:formFields}; if(!this.preParamCheck(params)){ this.load.edit=false @@ -244,8 +240,14 @@ export default { goToFormDefIndex(){ this.$router.push({path:'/mdp/form/index'}) this.close(); + }, + onPksChange(pks){ + var pksCtimeList=pks.filter(k=>k.id.indexOf('ctime')>=0) + if(pksCtimeList && pksCtimeList.length>1){ + this.editForm.pks=this.oldPks; + this.$notify.error("创建日期最多只能选一个作为主键") + } } - }, mounted() { diff --git a/src/views/mdp/form/formField/Field.vue b/src/views/mdp/form/formField/Field.vue index 16eec64..73c6366 100644 --- a/src/views/mdp/form/formField/Field.vue +++ b/src/views/mdp/form/formField/Field.vue @@ -3,12 +3,12 @@ - + @@ -145,7 +145,7 @@ - + @@ -316,6 +316,9 @@ this.addForm=item2; }, + onBkeyChange(field){ + this.$emit('bkey-change',field) + } },//end method components: { diff --git a/src/views/mdp/form/formField/Index.vue b/src/views/mdp/form/formField/Index.vue index 849bc33..2bcfb49 100644 --- a/src/views/mdp/form/formField/Index.vue +++ b/src/views/mdp/form/formField/Index.vue @@ -32,7 +32,7 @@ - + @@ -181,8 +181,7 @@ export default { }, 'visible':function(visible) { if(visible==true){ - - this.selectedFields=JSON.parse(JSON.stringify(this.formFields)) + this.selectedFields=treeTool.translateDataToTree(this.formFields,'pid','id') this.setPrimaryKeys(); this.$nextTick(()=>{ this.$refs.showDataRef.clearValidate(); @@ -332,27 +331,16 @@ export default { }, - setPrimaryKeys:function( ) { - var primaryKeys=this.primaryKeys; - var bkeyPrefix=""; - if(primaryKeys.some(i=>i=='cuserid')){ - bkeyPrefix="1" - }else{ - bkeyPrefix="0" - } - - if(primaryKeys.some(i=>i=='deptid')){ - bkeyPrefix=bkeyPrefix+"1" - }else{ - bkeyPrefix=bkeyPrefix+"0" - } - this.selectedFields.forEach(field=>{ - if(primaryKeys.some(key=>field.idCamel==key)){ - field.bkey=bkeyPrefix+"1" + setPrimaryKeys:function() { + this.primaryKeys=this.formDef.pks.split(",") + var allFields=this.getFieldList(); + allFields.forEach(f=>{ + if(this.primaryKeys.some(k=>k==f.id)){ + f.bkey="1" }else{ - field.bkey=bkeyPrefix+"0" + f.bkey="0" } - }); + }) }, onTplStart(evt){ }, @@ -559,6 +547,21 @@ export default { doChildDelete(child,idx,children){ children.splice(idx,1) this.$emit('delete',child,idx,children) + }, + onBkeyChange(field){ + this.$emit('bkey-change',field) + if(field.bkey=='1'){//设为主键 + if(!this.primaryKeys.some(k=>k==field.id)){ + this.primaryKeys.push(field.id) + this.formDef.pks=this.primaryKeys.join(",") + } + }else{//取消主键 + var idx=this.primaryKeys.findIndex(k=>k==field.id) + if(idx>=0){ + this.primaryKeys.splice(idx,1) + this.formDef.pks=this.primaryKeys.join(",") + } + } }, hasChild(id){ return this.hasMyChild(id,this.selectedFields) @@ -625,6 +628,7 @@ export default { }else{ this.selectedFields=[] } + this.setPrimaryKeys(); }//end mounted }