Browse Source

解决编辑时客户置空必填项仍然能提交成功bug

master
陈裕财 2 years ago
parent
commit
7ed0447b7a
  1. 48
      src/components/mdp-ui/mixin/MdpFormMixin.js
  2. 9
      src/views/mdp/sys/dept/Form.vue

48
src/components/mdp-ui/mixin/MdpFormMixin.js

@ -315,6 +315,7 @@ export const MdpFormMixin = {
if(this.currOpType=='add' || this.currOpType=='subAdd' || this.currOpType=='detail'){ if(this.currOpType=='add' || this.currOpType=='subAdd' || this.currOpType=='detail'){
return false; return false;
}else{ }else{
return true; return true;
} }
}, },
@ -331,9 +332,8 @@ export const MdpFormMixin = {
return true; return true;
}, },
editSomeFields(row,fieldName,$event){ editSomeFields(row,fieldName,$event){
if(!this.editSomeFieldQxCheck()){
return;
}
var params={}; var params={};
var that=this; var that=this;
var sels=[row] var sels=[row]
@ -346,6 +346,9 @@ export const MdpFormMixin = {
} }
return; return;
} }
if(!this.editSomeFieldQxCheck()){
return;
}
this.setPks(sels,params); this.setPks(sels,params);
var apiName="apis.editSomeFields" var apiName="apis.editSomeFields"
if(!this.apiCheck(this.apis.editSomeFields,apiName)){ if(!this.apiCheck(this.apis.editSomeFields,apiName)){
@ -353,22 +356,33 @@ export const MdpFormMixin = {
} }
this.load.editSomeFields=true; this.load.editSomeFields=true;
var func = this.apis.editSomeFields; var func = this.apis.editSomeFields;
func(params).then(res=>{
var tips = res.data.tips;
if(tips.isOk){
Object.assign(row,params)
that.afterEditSomeFields(res,tips.isOk,params,row)
that.dataBak=Object.assign({},this.editForm)
}else{
if(this.dataBak && this.justPkIsMatch(row,this.dataBak)){
Object.assign(row,this.dataBak)
}
that.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
var form=this.$refs['editFormRef'];
if(!form){
form=this.$refs['editForm'];
}
form.validate((valid) => {
if (valid) {
func(params).then(res=>{
var tips = res.data.tips;
if(tips.isOk){
Object.assign(row,params)
that.afterEditSomeFields(res,tips.isOk,params,row)
that.dataBak=Object.assign({},this.editForm)
}else{
if(this.dataBak && this.justPkIsMatch(row,this.dataBak)){
Object.assign(row,this.dataBak)
}
that.$notify({position:'bottom-left',showClose:true,message:tips.msg,type:tips.isOk?'success':'error'})
}
}).catch(err=>{
this.load.editSomeFields=false;
});
}else{
this.$notify({ showClose:true, message: "表单验证不通过,请修改表单数据再提交", type: 'error' });
} }
}).catch(err=>{
this.load.editSomeFields=false;
}); });
}, },
afterSubmit(res,isOk,currOpType){ afterSubmit(res,isOk,currOpType){
if(isOk && currOpType=='add'){ if(isOk && currOpType=='add'){

9
src/views/mdp/sys/dept/Form.vue

@ -16,13 +16,13 @@
<el-form-item label="部门编码" prop="displayDeptid" v-if="currOpType!='add' && currOpType!='subAdd'"> <el-form-item label="部门编码" prop="displayDeptid" v-if="currOpType!='add' && currOpType!='subAdd'">
<el-input v-model="editForm.displayDeptid" placeholder="部门编码外部使用" :maxlength="40" @change="editSomeFields(editForm,'displayDeptid',$event)" :disabled="disabledJudge('displayDeptid')"></el-input> <el-input v-model="editForm.displayDeptid" placeholder="部门编码外部使用" :maxlength="40" @change="editSomeFields(editForm,'displayDeptid',$event)" :disabled="disabledJudge('displayDeptid')"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="负责人名称" prop="manager">
<el-form-item label="负责人" prop="manager">
<mdp-select-user show-style="origin" v-model="editForm.manager" placeholder="负责人名称" :maxlength="40" @change2="editSomeFields(editForm,'manager',$event)" :disabled="disabledJudge('manager')"></mdp-select-user> <mdp-select-user show-style="origin" v-model="editForm.manager" placeholder="负责人名称" :maxlength="40" @change2="editSomeFields(editForm,'manager',$event)" :disabled="disabledJudge('manager')"></mdp-select-user>
</el-form-item> </el-form-item>
<el-form-item label="上级部门" prop="pdeptid"> <el-form-item label="上级部门" prop="pdeptid">
<el-input v-model="editForm.pdeptid" placeholder="上级部门编号" :maxlength="40" @change="editSomeFields(editForm,'pdeptid',$event)" :disabled="disabledJudge('pdeptid')||true"></el-input> <el-input v-model="editForm.pdeptid" placeholder="上级部门编号" :maxlength="40" @change="editSomeFields(editForm,'pdeptid',$event)" :disabled="disabledJudge('pdeptid')||true"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="上级领导名称" prop="leader">
<el-form-item label="上级领导" prop="leader">
<mdp-select-user show-style="origin" v-model="editForm.leader" placeholder="上级领导名称" :maxlength="40" @change2="editSomeFields(editForm,'leader',$event)" :disabled="disabledJudge('leader')"></mdp-select-user> <mdp-select-user show-style="origin" v-model="editForm.leader" placeholder="上级领导名称" :maxlength="40" @change2="editSomeFields(editForm,'leader',$event)" :disabled="disabledJudge('leader')"></mdp-select-user>
</el-form-item> </el-form-item>
<!-- <!--
@ -175,15 +175,14 @@ export default {
* @returns true/false 返回false ,将取消更新数据库 * @returns true/false 返回false ,将取消更新数据库
*/ */
editSomeFieldsCheck(row,fieldName,$event,params){ editSomeFieldsCheck(row,fieldName,$event,params){
if(this.currOpType=='add'||this.currOpType=='subAdd'){
return false;
}
if(fieldName=='manager'){ if(fieldName=='manager'){
row.managerName=$event.username row.managerName=$event.username
row.manager=$event.userid
params.managerName=$event.username params.managerName=$event.username
params.manager=$event.userid params.manager=$event.userid
}else if(fieldName=='leader'){ }else if(fieldName=='leader'){
row.leaderName=$event.username row.leaderName=$event.username
row.leader=$event.userid
params.leaderName=$event.username params.leaderName=$event.username
params.leader=$event.userid params.leader=$event.userid
}else{ }else{

Loading…
Cancel
Save