虚拟单,关联主单必填

This commit is contained in:
wuteng 2025-06-26 10:13:33 +08:00
parent 5ad5911cc8
commit 9c3d5bccd7
4 changed files with 35 additions and 19 deletions

View File

@ -9,6 +9,7 @@
v-model="svalue" v-model="svalue"
:placeholder="placeholder" :placeholder="placeholder"
style="width: 100%" style="width: 100%"
@blur="onBlur"
@focus="onFocus" @focus="onFocus"
@change="onChange" @change="onChange"
> >
@ -83,7 +84,10 @@ export default {
this.$emit("onMasterBillCodeChange", valObject);//子组件传选中对象到父组件 this.$emit("onMasterBillCodeChange", valObject);//子组件传选中对象到父组件
this.$emit("input", this.svalue); // 子组件值传到父组件 基础双向绑定 this.$emit("input", this.svalue); // 子组件值传到父组件 基础双向绑定
}, },
onBlur(val) {
this.$emit("input", this.svalue);
this.dispatch('ElFormItem', 'el.form.blur');
},
queryData(val) { queryData(val) {
this.queryParams = {...this.searchParams}; this.queryParams = {...this.searchParams};
this.queryParams.billCode = val; this.queryParams.billCode = val;

View File

@ -530,7 +530,7 @@
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blVirtual" :true-label="'1'" :false-label="'0'" @change="handleVirtualChange"><span style="font-size:10px">是否为虚拟单</span></el-checkbox> <el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blVirtual" :true-label="'1'" :false-label="'0'" @change="handleVirtualChange"><span style="font-size:10px">是否为虚拟单</span></el-checkbox>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="['012','002','014','078'].includes(form.transLine)"> <el-col :span="12" v-if="['012','002','014','078'].includes(form.transLine) && form.blVirtual === '1'">
<el-form-item :label="$t('关联主单')" prop="masterBillCode" label-width="70px"> <el-form-item :label="$t('关联主单')" prop="masterBillCode" label-width="70px">
<MasterBillCodePicker v-model="form.masterBillCode" :searchParams="masterBillSearchParams" @onMasterBillCodeChange="onMasterBillCodeChange"></MasterBillCodePicker> <MasterBillCodePicker v-model="form.masterBillCode" :searchParams="masterBillSearchParams" @onMasterBillCodeChange="onMasterBillCodeChange"></MasterBillCodePicker>
</el-form-item> </el-form-item>
@ -1051,7 +1051,7 @@ data() {
{ required: true, message: "包装类型不能为空",trigger: ["blur",'change'] } { required: true, message: "包装类型不能为空",trigger: ["blur",'change'] }
], ],
//自定义校验 //自定义校验
masterBillCode:[ masterBillCode:[{ required: true, message: "关联主单不能为空", trigger: ["blur", 'change'] },
{validator: checkmasterProductType, trigger: ['blur', 'change']} {validator: checkmasterProductType, trigger: ['blur', 'change']}
], ],
dispatchMethod: [ dispatchMethod: [
@ -2448,7 +2448,7 @@ methods: {
this.form.masterBillCode = val.value; this.form.masterBillCode = val.value;
this.masterBillProductType = val.productType; this.masterBillProductType = val.productType;
if (['002'].includes(this.form.transLine)) { if (['002'].includes(this.form.transLine)) {
if (this.form.remark==null || this.form.remark.trim() === '') { if (this.form.remark == null || this.form.remark.trim() === '') {
//生成备注 //生成备注
this.form.remark = `该单为虚拟单:对应主单为${this.form.masterBillCode}`; this.form.remark = `该单为虚拟单:对应主单为${this.form.masterBillCode}`;
} else { } else {
@ -2457,18 +2457,22 @@ methods: {
this.form.remark = this.form.remark.replace(/主单为[\da-zA-Z]+/g, '主单为' + val.value); this.form.remark = this.form.remark.replace(/主单为[\da-zA-Z]+/g, '主单为' + val.value);
} else { } else {
//判断结尾是不是逗号 //判断结尾是不是逗号
if(!this.form.remark.endsWith(',')){ if (!this.form.remark.endsWith(',')) {
this.form.remark = this.form.remark +','; this.form.remark = this.form.remark + ',';
} }
this.form.remark =this.form.remark + '该单为虚拟单:对应主单为' + val.value; this.form.remark = this.form.remark + '该单为虚拟单:对应主单为' + val.value;
} }
} }
} else { } else {
//删除备注中虚拟单部分 //删除备注中虚拟单部分
if (this.form.remark) {
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
}
}
} else {
if (this.form.remark) {
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, ''); this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
} }
}else{
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
} }
}, },
//虚拟单变化 //虚拟单变化

View File

@ -532,7 +532,7 @@
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blVirtual" :true-label="'1'" :false-label="'0'" @change="handleVirtualChange"><span style="font-size:10px">是否为虚拟单</span></el-checkbox> <el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blVirtual" :true-label="'1'" :false-label="'0'" @change="handleVirtualChange"><span style="font-size:10px">是否为虚拟单</span></el-checkbox>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="['012','002','014','078'].includes(form.transLine)"> <el-col :span="12" v-if="['012','002','014','078'].includes(form.transLine) && form.blVirtual === '1' ">
<el-form-item :label="$t('关联主单')" prop="masterBillCode" label-width="70px"> <el-form-item :label="$t('关联主单')" prop="masterBillCode" label-width="70px">
<MasterBillCodePicker v-model="form.masterBillCode" :searchParams="masterBillSearchParams" @onMasterBillCodeChange="onMasterBillCodeChange"></MasterBillCodePicker> <MasterBillCodePicker v-model="form.masterBillCode" :searchParams="masterBillSearchParams" @onMasterBillCodeChange="onMasterBillCodeChange"></MasterBillCodePicker>
</el-form-item> </el-form-item>
@ -1050,8 +1050,8 @@ data() {
packType: [ packType: [
{ required: true, message: "包装类型不能为空",trigger: ["blur",'change'] } { required: true, message: "包装类型不能为空",trigger: ["blur",'change'] }
], ],
//自定义校验 //自定义校验
masterBillCode:[ masterBillCode:[{ required: true, message: "关联主单不能为空", trigger: ["blur", 'change'] },
{validator: checkmasterProductType, trigger: ['blur', 'change']} {validator: checkmasterProductType, trigger: ['blur', 'change']}
], ],
dispatchMethod: [ dispatchMethod: [
@ -2465,11 +2465,15 @@ methods: {
} }
} else { } else {
//删除备注中虚拟单部分 //删除备注中虚拟单部分
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, ''); if(this.form.remark){
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
}
} }
} else { } else {
//删除备注中虚拟单部分 //删除备注中虚拟单部分
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, ''); if(this.form.remark){
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
}
} }
}, },
//虚拟单变化 //虚拟单变化

View File

@ -534,7 +534,7 @@
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blVirtual" :true-label="'1'" :false-label="'0'" @change="handleVirtualChange"><span style="font-size:10px">是否为虚拟单</span></el-checkbox> <el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blVirtual" :true-label="'1'" :false-label="'0'" @change="handleVirtualChange"><span style="font-size:10px">是否为虚拟单</span></el-checkbox>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="['012','002','014','078'].includes(form.transLine)"> <el-col :span="12" v-if="['012','002','014','078'].includes(form.transLine) && form.blVirtual === '1'">
<el-form-item :label="$t('关联主单')" prop="masterBillCode" label-width="70px"> <el-form-item :label="$t('关联主单')" prop="masterBillCode" label-width="70px">
<MasterBillCodePicker v-model="form.masterBillCode" :searchParams="masterBillSearchParams" @onMasterBillCodeChange="onMasterBillCodeChange"></MasterBillCodePicker> <MasterBillCodePicker v-model="form.masterBillCode" :searchParams="masterBillSearchParams" @onMasterBillCodeChange="onMasterBillCodeChange"></MasterBillCodePicker>
</el-form-item> </el-form-item>
@ -1055,8 +1055,8 @@ data() {
{ required: true, message: "包装类型不能为空",trigger: ["blur",'change'] } { required: true, message: "包装类型不能为空",trigger: ["blur",'change'] }
], ],
//自定义校验 //自定义校验
masterBillCode:[ masterBillCode: [{ required: true, message: "关联主单不能为空", trigger: ["blur", 'change'] },
{validator: checkmasterProductType, trigger: ['blur', 'change']} { validator: checkmasterProductType, trigger: ['blur', 'change'] }
], ],
dispatchMethod: [ dispatchMethod: [
{ required: true, message: "派件方式不能为空", trigger: ["blur",'change'] } { required: true, message: "派件方式不能为空", trigger: ["blur",'change'] }
@ -2453,11 +2453,15 @@ methods: {
} }
} else { } else {
//删除备注中虚拟单部分 //删除备注中虚拟单部分
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, ''); if (this.form.remark) {
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
}
} }
} else { } else {
//删除备注中虚拟单部分 //删除备注中虚拟单部分
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, ''); if(this.form.remark){
this.form.remark = this.form.remark.replace(/该单为虚拟单:对应主单为[\da-zA-Z]+/g, '');
}
} }
}, },
//虚拟单变化 //虚拟单变化