现金客户和企业名称税号联动

This commit is contained in:
wuteng 2026-01-08 16:28:11 +08:00
parent e14438e243
commit 20feb8fc47
4 changed files with 116 additions and 117 deletions

View File

@ -11,7 +11,7 @@
<div>
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<!-- 运单录入 -->
<!-- 运单录入 -->
<el-col :span="6" v-if="action=='add' || action=='preAdd' || action=='got'">
<el-form-item :label="$t('发货时间')" prop="sendDate">
@ -290,13 +290,13 @@
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="isYueJie" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="isYueJie"></el-input>
</el-form-item>
</el-col>
@ -1059,6 +1059,11 @@ data() {
selectedMonthUserEnterpriseName: null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId: null,
//选中现金客户
selectedMoneyUser:{
enterpriseName:null,
enterpriseTaxId:null,
},
//寄件企业名称等级
categorySender:null,
// 收件企业名称等级
@ -1241,6 +1246,9 @@ computed: {
productType: this.form.productType,
sendSiteCode: this.form.sendSiteCode
}
},
isYueJie(){
return ['2','4','5'].includes(this.form.paymentType);
}
},
watch: {
@ -1597,28 +1605,25 @@ methods: {
},
async onPaymentTypeChange(){
// 非月结清空月结客户选择
if(this.form.paymentType == '1' ||
this.form.paymentType == '3' ||
this.form.paymentType == '6'
){
if(!this.isYueJie){
this.form.custNo=null;
this.form.customerCode=null;
// 选中寄件人 中国且企业税号为空 根据寄件人id查询企业税号
if(this.form.sender.country == '0086' && this.selectedSenderEnterpriseName == null && this.form.sender.id){
const res = await getEmisCustomerAddress(this.form.sender.id);
if(res.data){
this.form.sender.enterpriseName = res.data.enterpriseName;
this.form.sender.enterpriseTaxId = res.data.enterpriseTaxId;
this.selectedSenderEnterpriseName = res.data.enterpriseName;
this.selectedSenderEnterpriseTaxId = res.data.enterpriseTaxId;
}
}
//企业税号重新赋值
this.form.sender.enterpriseName=this.selectedSenderEnterpriseName;
this.form.sender.enterpriseTaxId=this.selectedSenderEnterpriseTaxId;
// // 选中寄件人 中国且企业税号为空 根据寄件人id查询企业税号
// if(this.form.sender.country == '0086' && this.selectedSenderEnterpriseName == null && this.form.sender.id){
// const res = await getEmisCustomerAddress(this.form.sender.id);
// if(res.data){
// this.form.sender.enterpriseName = res.data.enterpriseName;
// this.form.sender.enterpriseTaxId = res.data.enterpriseTaxId;
// this.selectedSenderEnterpriseName = res.data.enterpriseName;
// this.selectedSenderEnterpriseTaxId = res.data.enterpriseTaxId;
// }
// }
// //企业税号重新赋值
// this.form.sender.enterpriseName=this.selectedSenderEnterpriseName;
// this.form.sender.enterpriseTaxId=this.selectedSenderEnterpriseTaxId;
this.calcBillFee();
// 校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
// // 校验寄件人企业等级
// this.checkEnterprise(this.form.sender.enterpriseName);
}else{
this.form.waybillOther.moneyUserId = null;
}
@ -1665,6 +1670,15 @@ methods: {
this.form.payee = item.payee;
this.form.salesmen = item.salesmen;
this.form.waybillOther.salesSupport = item.salesSupport;
if(item.enterpriseName && item.enterpriseTaxId){
this.form.sender.enterpriseName=item.enterpriseName;
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
}else{
this.form.sender.enterpriseName = this.selectedSenderEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedSenderEnterpriseTaxId;
}
this.selectedMoneyUser = item;
this.checkEnterprise(this.form.sender.enterpriseName);
}
},
handleAddFee(){
@ -2194,20 +2208,10 @@ methods: {
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
if(!this.isYueJie && this.form.sender.country=='0086' && !this.selectedMoneyUser.enterpriseName ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if (['2', '4', '5'].includes(this.form.paymentType) && this.form.sender.country == '0086') {
this.form.sender.enterpriseName = this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedMonthUserEnterpriseTaxId;
}
//校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
},
@ -2229,7 +2233,7 @@ methods: {
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//企业税号
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
if(!this.isYueJie&& this.form.sender.country=='0086' ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}

View File

@ -292,13 +292,13 @@
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="isYueJie" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086' ">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="isYueJie"></el-input>
</el-form-item>
</el-col>
@ -1083,6 +1083,11 @@ data() {
selectedMonthUserEnterpriseName: null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId: null,
//选中现金客户
selectedMoneyUser:{
enterpriseName:null,
enterpriseTaxId:null,
},
//寄件企业名称等级
categorySender:null,
// 收件
@ -1267,6 +1272,9 @@ computed: {
productType: this.form.productType,
sendSiteCode: this.form.sendSiteCode
}
},
isYueJie(){
return ['2','4','5'].includes(this.form.paymentType);
}
},
watch: {
@ -1607,15 +1615,9 @@ methods: {
},
onPaymentTypeChange(val){
// 非月结清空月结客户选择
if(this.form.paymentType == '1' ||
this.form.paymentType == '3' ||
this.form.paymentType == '6'
){
if(!this.isYueJie){
this.form.custNo=null;
this.form.customerCode=null;
//企业税号重新赋值
this.form.sender.enterpriseName=this.selectedSenderEnterpriseName;
this.form.sender.enterpriseTaxId=this.selectedSenderEnterpriseTaxId;
this.calcBillFee();
// 校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
@ -1669,6 +1671,16 @@ methods: {
this.form.payee = item.payee;
this.form.salesmen = item.salesmen;
this.form.waybillOther.salesSupport = item.salesSupport;
if(item.enterpriseName && item.enterpriseTaxId){
this.form.sender.enterpriseName=item.enterpriseName;
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
}else{
this.form.sender.enterpriseName = this.selectedSenderEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedSenderEnterpriseTaxId;
}
this.selectedMoneyUser = item;
this.checkEnterprise(this.form.sender.enterpriseName);
}
},
handleAddFee(){
@ -2194,20 +2206,10 @@ methods: {
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
if(!this.isYueJie && this.form.sender.country=='0086' && !this.selectedMoneyUser.enterpriseName ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if (['2', '4', '5'].includes(this.form.paymentType) && this.form.sender.country == '0086') {
this.form.sender.enterpriseName = this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedMonthUserEnterpriseTaxId;
}
//校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
},

View File

@ -295,12 +295,12 @@
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="isYueJie" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="isYueJie"></el-input>
</el-form-item>
</el-col>
</el-row>
@ -1079,14 +1079,16 @@ data() {
recieverCountryCode:null,
//收件人地区名称
recieverRegionName:null,
// 选中的寄件人企业名称
selectedSenderEnterpriseName:null,
// 选中的寄件人企业税号
selectedSenderEnterpriseTaxId:null,
//选中的月结客户企业号
selectedMonthUserEnterpriseName:null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId:null,
//选中的现金客户
selectedMoneyUser:{
enterpriseTaxId:null,
enterpriseName:null,
},
//选中的寄件地址
selectedSenderAddress:{
enterpriseTaxId:null,
enterpriseName:null,
},
//寄件企业名称等级
categorySender:null,
// 收件
@ -1289,7 +1291,10 @@ computed: {
productType: this.form.productType,
sendSiteCode: this.form.sendSiteCode
}
}
},
isYueJie(){
return ['2','4','5'].includes(this.form.paymentType);
},
},
watch: {
@ -1631,12 +1636,7 @@ methods: {
){
this.form.custNo=null;
this.form.customerCode=null;
//企业税号重新赋值
this.form.sender.enterpriseName=this.selectedSenderEnterpriseName;
this.form.sender.enterpriseTaxId=this.selectedSenderEnterpriseTaxId;
this.calcBillFee();
// 校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
}else{
this.form.waybillOther.moneyUserId = null;
}
@ -1656,15 +1656,8 @@ methods: {
this.form.salesmen=item.salesmen;
this.form.waybillOther.salesSupport=item.salesSupport;
this.form.paymentType= '2';
// 企业名称
this.form.sender.enterpriseName=item.enterpriseName;
// 企业税号
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
// 选中的月结客户企业号
this.selectedMonthUserEnterpriseName=item.enterpriseName;
// 选中的月结客户企业税号
this.selectedMonthUserEnterpriseTaxId=item.enterpriseTaxId;
// 校验企业等级
this.form.sender.enterpriseName=item.enterpriseName;
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
this.checkEnterprise(this.form.sender.enterpriseName);
}else{
this.form.paymentType= '1';
@ -1680,6 +1673,14 @@ methods: {
this.form.payee = item.payee;
this.form.salesmen = item.salesmen;
this.form.waybillOther.salesSupport = item.salesSupport;
if(item.enterpriseName && item.enterpriseTaxId){
this.form.sender.enterpriseName=item.enterpriseName;
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
}else{
this.form.sender.enterpriseName= this.selectedSenderAddress.enterpriseName;
this.form.sender.enterpriseTaxId= this.selectedSenderAddress.enterpriseTaxId;
}
this.selectedMoneyUser = item;
}
},
handleAddFee(){
@ -2044,7 +2045,12 @@ methods: {
},
/** 提交按钮 */
submitForm() {
console.log('submitForm',this.form);
this.form.sendDate =this.sendDate;
if(this.form.sender.country !=='0086'){
this.form.sender.enterpriseName= null;
this.form.sender.enterpriseTaxId= null;
}
this.$refs["form"].validate((valid,obj) => {
if (valid) {
@ -2174,29 +2180,16 @@ methods: {
this.form.sender.id = value.id;
//校验数据初始化
this.senderCountryCode=value.country;
// 选中的寄件人企业名称
this.selectedSenderEnterpriseName=value.enterpriseName;
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
if(!this.isYueJie && this.form.sender.country=='0086' && !this.selectedMoneyUser.enterpriseName){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if (['2', '4', '5'].includes(this.form.paymentType) && this.form.sender.country == '0086') {
this.form.sender.enterpriseName = this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedMonthUserEnterpriseTaxId;
}
//校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
// 处理寄件人国家
this.autoAjustBillCodeSender(this.form.sender.country);
this.selectedSenderAddress = value;
},
onChangeSelectReceiver(value){
this.form.reciever.name=value.name;

View File

@ -672,13 +672,13 @@
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业名称')" prop="sender.enterpriseName">
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="['2','4','5'].includes(form.paymentType)" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
<el-input v-model="form.sender.enterpriseName" placeholder="请输入企业名称" :disabled="isYueJie" @change="checkEnterprise(form.sender.enterpriseName)"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="form.sender.country=='0086'">
<el-form-item :label="$t('企业税号')" prop="sender.enterpriseTaxId">
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="['2','4','5'].includes(form.paymentType)"></el-input>
<el-input v-model="form.sender.enterpriseTaxId" placeholder="请输入企业税号" :disabled="isYueJie"></el-input>
</el-form-item>
</el-col>
@ -1418,6 +1418,11 @@ export default {
selectedMonthUserEnterpriseName:null,
//选中的月结客户企业税号
selectedMonthUserEnterpriseTaxId:null,
//选中现金客户
selectedMoneyUser:{
enterpriseName:null,
enterpriseTaxId:null,
},
startSiteChangeCount:0,
// 表单校验
rules: {
@ -1572,6 +1577,11 @@ export default {
}
};
},
computed:{
isYueJie(){
return ['2','4','5'].includes(this.form.paymentType);
}
},
watch: {
"id": {
handler (newValue, oldValue) {
@ -1658,6 +1668,15 @@ export default {
this.form.payee = item.payee;
this.form.salesmen = item.salesmen;
this.form.waybillOther.salesSupport = item.salesSupport;
if(item.enterpriseName && item.enterpriseTaxId){
this.form.sender.enterpriseName=item.enterpriseName;
this.form.sender.enterpriseTaxId=item.enterpriseTaxId;
}else{
this.form.sender.enterpriseName = this.selectedSenderEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedSenderEnterpriseTaxId;
}
this.selectedMoneyUser = item;
this.checkEnterprise(this.form.sender.enterpriseName);
}
},
handleAddFee(){
@ -1899,20 +1918,10 @@ export default {
// 选中的寄件人企业税号
this.selectedSenderEnterpriseTaxId=value.enterpriseTaxId;
//非月结且地址是中国 企业税号取值寄件地址
if(!['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
if(!this.isYueJie && this.form.sender.country=='0086' && !this.selectedMoneyUser.enterpriseName ){
this.form.sender.enterpriseName=value.enterpriseName;
this.form.sender.enterpriseTaxId=value.enterpriseTaxId;
}
//非月结且地址是非中国 企业号置空
if(this.form.sender.country!='0086' ){
this.form.sender.enterpriseName='';
this.form.sender.enterpriseTaxId='';
}
// 月结且中国 企业号取值月结客户企业号
if(['2','4','5'].includes(this.form.paymentType) && this.form.sender.country=='0086' ){
this.form.sender.enterpriseName=this.selectedMonthUserEnterpriseName;
this.form.sender.enterpriseTaxId=this.selectedMonthUserEnterpriseTaxId;
}
//校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
},
@ -2369,19 +2378,10 @@ export default {
onPaymentTypeChange() {
//console.log("==onPaymentTypeChange==>")
// 非月结清空月结客户选择
if (this.form.paymentType == '1' ||
this.form.paymentType == '3' ||
this.form.paymentType == '6'
) {
if (!this.isYueJie) {
this.form.custNo = null;
this.form.customerCode = null;
//企业税号重新赋值
this.form.sender.enterpriseName = this.selectedSenderEnterpriseName;
this.form.sender.enterpriseTaxId = this.selectedSenderEnterpriseTaxId;
this.calcBillFee();
// 校验寄件人企业等级
this.checkEnterprise(this.form.sender.enterpriseName);
} else {
this.form.waybillOther.moneyUserId = null;
}