网点费用申请调整虚拟单功能

This commit is contained in:
wuteng 2025-06-20 13:30:42 +08:00
parent cc716a27e2
commit 1997180f10
2 changed files with 65 additions and 8 deletions

View File

@ -24,8 +24,10 @@
<script>
import { getMasterEmisWaybills } from "@/api/emis/emisWaybill";
import emitter from 'element-ui/src/mixins/emitter';
export default {
mixins: [emitter],
props: {
value: {
type: [String],
@ -42,7 +44,7 @@ export default {
},
data() {
return {
svalue: [],
svalue: this.value,
// 搜索后的数据
filterData: [],
filterMap: new Map(),
@ -53,6 +55,13 @@ export default {
},
};
},
watch: {
value(newVal,oldVal) {
// 逻辑 有初始值先查询初值
this.svalue=this.value;
this.queryData(null,this.svalue);
},
},
created() {
this.queryData();
},
@ -64,13 +73,12 @@ export default {
onChange(val) {
//通过value获取到transLineType
let valObject = this.filterData.find((item) => item.value == val);
//子组件值传到父组件
this.$emit("onMasterBillCodeChange", valObject);
this.$emit("onMasterBillCodeChange", valObject);//子组件传选中对象到父组件
this.$emit("input", this.svalue); // 子组件值传到父组件 基础双向绑定
},
queryData(val) {
this.queryParams.transLineType = this.transLineType;
// this.queryParams.transLineType = "CN-VN"; //测试
this.queryParams.billCode = val;
getMasterEmisWaybills(this.queryParams).then((response) => {
this.filterData = response.rows.map((item) => {

View File

@ -831,7 +831,32 @@
</el-col>
</el-row>
</el-col>
<!-- 虚拟单调整 -->
<el-col :span="24" v-if="(form.transLine==='012' || form.transLine=='002' || form.transLine === '014') && applyType&&(applyTypeArr.includes('43'))">
<el-row :gutter="0" class="md-row">
<el-col :span="3" class="md-title">
<span>虚拟单调整</span>
</el-col>
<el-col :span="7" class="md-value">
<span>
是否为虚拟单:{{billDetail.blVirtual ==='1'?'是':'否'}} <br>
关联主单:{{billDetail.masterBillCode}} <br>
</span>
</el-col>
<el-col :span="14">
<el-form-item :label="$t('是否为虚拟单')" prop="blVirtual" label-width="100px" >
<div style="">
<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>
</div>
</el-form-item>
<el-form-item :label="$t('关联主单')" prop="masterBillCode" label-width="100px" v-if="form.blVirtual === '1'">
<div style="">
<MasterBillCodePicker :placeholder="$t('关联主单')" v-model="form.masterBillCode" :transLineType="billDetail.transLine" @onMasterBillCodeChange="onMasterBillCodeChange"></MasterBillCodePicker>
</div>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
<!-- ||applyTypeArr.includes('12') -->
<el-row v-if="billDetail&&applyType&&(
@ -1183,6 +1208,7 @@ import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import TransProductCasPicker from '@/views/emis/EmisBaseTools/TransProductCasPicker.vue';
import MasterBillCodePicker from '@/views/emis/EmisBaseTools/MasterBillCodePicker.vue';
import feeItemForm from '@/views/emis/emisWaybill/feeItemForm.vue';
@ -1238,12 +1264,21 @@ export default {
DistrictPicker2,
feeItemForm,
SeaSiteSimplePicker0,
SeaSiteSimplePicker1
SeaSiteSimplePicker1,
MasterBillCodePicker,
},
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
'emis_calc_fee_type','emis_print_type','sys_currency_type'],
data() {
//校验关联主单线路
var checkmasterProductType = (rule, value, callback) => {
if (this.masterBillProductType && this.masterBillProductType != this.form.productType) {
callback(new Error('输入单号不正确'));// 关联主单和运单线路不一致
} else {
callback();
}
}
return {
triggerCount:0,
activeNames:['1','2','3','4'],
@ -1258,6 +1293,7 @@ export default {
billDetail:{},
applyTypeArr:[],
masterBillProductType:null,
// 表单参数
form:{},
// 表单校验
@ -1393,6 +1429,9 @@ export default {
operateEmployeeCode: [
{ required: true, message: "操作员代码不能为空", trigger: ["blur",'change'] }
],
masterBillCode:[
{validator: checkmasterProductType, trigger: ['blur', 'change']}
],
}
};
},
@ -1985,7 +2024,7 @@ export default {
}
this.form.freight = totalFee.toFixed(2);
},
calcBillFee(){
calcBillFee(){
if(this.form.settlementWeight
&& this.form.productType
@ -2053,7 +2092,17 @@ export default {
});
}
},
onMasterBillCodeChange(val) {
if (val) {
this.masterBillProductType = val.productType;
}
},
//虚拟单变化
handleVirtualChange() {
if (this.form.blVirtual !== '1') {
this.form.masterBillCode = null;
}
}
}
};
</script>