|
|
|
@ -32,7 +32,7 @@ |
|
|
|
<draggable id="sf" class="dragArea min-height" v-model="selectedFields" :options="{group:{ name:'g1'}, animation:150}" @add="onAdd" :no-transition-on-drag="true" @start="drag=true" @end="drag=false"> |
|
|
|
|
|
|
|
<el-col v-for="(item,index) in selectedFields" @click.ctrl.native="doChildDelete(item,index,selectedFields)" :key="index" :span="calcSpan(item)"> |
|
|
|
<mdp-field :find-not-in-child="findNotInChild" :has-child="hasChild" :gutter="0" :span="24" :value="item" @change="(v)=>Object.assign(item,v)"></mdp-field> |
|
|
|
<mdp-field @bkey-change="onBkeyChange" :find-not-in-child="findNotInChild" :has-child="hasChild" :gutter="0" :span="24" :value="item" @change="(v)=>Object.assign(item,v)"></mdp-field> |
|
|
|
</el-col> |
|
|
|
</draggable> |
|
|
|
</el-row> |
|
|
|
@ -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(); |
|
|
|
@ -333,26 +332,15 @@ 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" |
|
|
|
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){ |
|
|
|
}, |
|
|
|
@ -560,6 +548,21 @@ export default { |
|
|
|
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 |
|
|
|
} |
|
|
|
|