Merge pull request '运单录入现金客户选择' (#173) from master-dev into master

Reviewed-on: http://git.xdadan.loc/tanex/emis-frontend/pulls/173
This commit is contained in:
wuteng 2025-12-19 13:29:52 +08:00
commit 7337fa812f
3 changed files with 164 additions and 14 deletions

View File

@ -120,4 +120,13 @@ export function monthlyShipmentDetail(query) {
method: 'get',
params: query
})
}
//查询现金客户接口
export function listMoneyUserAll(query) {
return request({
url: '/emis/emisCustomerUser/listMoneyUserAll',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,115 @@
<template>
<el-select :loading="loading" filterable remote clearable v-model="svalue" :placeholder="placeholder"
style="width: 100%;" :disabled="disabled" :remote-method="dataFilter" @change="onChange" >
<el-option v-for="item in optionItems" :key="item.customerCode" :label="item.company"
:value="item.customerCode"></el-option>
</el-select>
</template>
<script>
import { listMoneyUserAll } from "@/api/emis/emisCustomerUser";
export default {
name: "EmisMoneyUserPicker",
props: {
value: {
type: [String, Number],
required: false
},
sideCode: {
type: String,
required: false
},
payee: {
type: String,
required: false
},
salesmen: {
type: String,
required: false
},
postCode: {
type: String,
required: false
},
isInitiated: {
type: [Boolean, String],
required: false,
default: false
},
placeholder: {
type: String,
required: false
},
disabled: {
type: [Boolean, String],
required: false
},
},
data() {
return {
loading: false,
bakOptionItems: [],
optionItems: [],
svalue: this.value,
optionDefault: null,
dataMap: new Map(),
};
},
watch: {
value(newVal) {
this.svalue = newVal;
},
svalue(newVal, oldVal) {
// this.$emit("input", this.svalue);
},
postCode(newVal) {
}
},
created() {
this.initData();
},
methods: {
onChange() {
this.$emit("input", this.svalue);
let itemData = null;
this.optionItems.forEach(item => {
if (item.customerCode === this.svalue) {
itemData = item;
}
});
this.$emit("onChange", itemData);
this.optionItems = this.bakOptionItems;
},
initData() {
this.loading = true;
let queryParams = {
pageNum: 1,
pageSize: 10,
};
this.bakOptionItems = [];
this.optionItems = [];
listMoneyUserAll(queryParams).then(response => {
this.loading = false;
console.log('listMoneyUserAll', response);
this.bakOptionItems = response.rows;
this.optionItems = this.bakOptionItems;
});
},
dataFilter(val) {
let params = {
pageNum: 1,
pageSize: 10,
searchValue: val
};
listMoneyUserAll(params).then(response => {
this.loading = false;
console.log('listMoneyUserAll', response);
this.bakOptionItems = response.rows;
this.optionItems = this.bakOptionItems;
});
}
}
};
</script>

View File

@ -136,30 +136,44 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('付款方式')" prop="paymentType" label-width="70px">
<el-select v-model="form.paymentType" placeholder="" @change="onPaymentTypeChange">
<el-option
v-for="dict in dict.type.emis_payment_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="8">
<el-form-item :label="$t('月结客户')" prop="custNo" :rules="(form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5)?rules.custNo:[]" >
<el-form-item :label="$t('月结客户')" prop="custNo" v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :rules="(form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5)?rules.custNo:[]" >
<EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker>
</el-form-item>
<el-form-item :label="$t('现金客户')" prop="customerCode" v-else :rules="(form.paymentType == 1 || form.paymentType == 3 || form.paymentType == 6)?rules.customerCode:[]" >
<EmisMoneyUserPicker v-model="form.customerCode" @onChange="onSelectMoneyUser"></EmisMoneyUserPicker>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item :label="$t('回款联系人')" prop="payee" label-width="85px">
<PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker>
<PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker>
<PayeePicker :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker>
<!-- <PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker> -->
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item :label="$t('销售联系人')" prop="salesmen" label-width="85px">
<SalemanPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售联系人')" v-model="form.salesmen" :disabled="true" ></SalemanPicker>
<SalemanPicker v-else :placeholder="$t('销售联系人')" v-model="form.salesmen" @change="onSalesmenChange"></SalemanPicker>
<SalemanPicker :placeholder="$t('销售联系人')" v-model="form.salesmen" :disabled="true" ></SalemanPicker>
<!-- <SalemanPicker v-else :placeholder="$t('销售联系人')" v-model="form.salesmen" @change="onSalesmenChange"></SalemanPicker> -->
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item :label="$t('销售支持')" prop="salesSupport" label-width="85px">
<SalesSupportPicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('销售支持')" v-model="form.salesSupport" :disabled="true" ></SalesSupportPicker>
<SalesSupportPicker v-else :placeholder="$t('销售支持')" v-model="form.salesSupport" :salesmen="form.salesmen"></SalesSupportPicker>
<SalesSupportPicker :placeholder="$t('销售支持')" v-model="form.salesSupport" :disabled="true" ></SalesSupportPicker>
<!-- <SalesSupportPicker v-else :placeholder="$t('销售支持')" v-model="form.salesSupport" :salesmen="form.salesmen"></SalesSupportPicker> -->
</el-form-item>
</el-col>
@ -620,7 +634,7 @@
<el-col :span="12" >
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;padding: 0px 15px;">
<el-col :span="12">
<!-- <el-col :span="12">
<el-form-item :label="$t('付款方式')" prop="paymentType" label-width="70px">
<el-select v-model="form.paymentType" placeholder="" @change="onPaymentTypeChange">
<el-option
@ -631,15 +645,15 @@
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
</el-col> -->
<!-- <el-col :span="12">
</el-col>
<el-col :span="24" v-show="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5">
<el-form-item :label="$t('付款客户')" prop="custNo" :rules="(form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5)?rules.custNo:[]" label-width="70px">
<EmisMonthpayAccountPicker v-model="form.custNo" @onChange="onSelectMonthUser"></EmisMonthpayAccountPicker>
</el-form-item>
</el-col>
<el-col :span="8">
</el-col> -->
<!-- <el-col :span="8">
<el-form-item :label="$t('回款联系人')" prop="payee" label-width="85px">
<PayeePicker v-if="form.paymentType == 2 || form.paymentType == 4 || form.paymentType == 5" :placeholder="$t('回款联系人')" v-model="form.payee" :disabled="true" ></PayeePicker>
<PayeePicker v-else :placeholder="$t('回款联系人')" v-model="form.payee" ></PayeePicker>
@ -659,7 +673,7 @@
<SalesSupportPicker v-else :placeholder="$t('销售支持')" v-model="form.salesSupport" :salesmen="form.salesmen"></SalesSupportPicker>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="24">
<el-form-item :label="$t('计费方式')" prop="calcFeeType" label-width="70px">
@ -894,6 +908,7 @@ import CustomerAddressSimplePicker1 from '@/views/emis/EmisBaseTools/CustomerAdd
import AddressSelectPicker0 from '@/views/emis/EmisBaseTools/AddressSelectPicker.vue';
import AddressSelectPicker1 from '@/views/emis/EmisBaseTools/AddressSelectPicker.vue';
import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
import EmisMoneyUserPicker from '@/views/emis/EmisBaseTools/EmisMoneyUserPicker.vue';
import WarehouseInNoPicker from '@/views/emis/EmisBaseTools/WarehouseInNoPicker.vue';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
@ -953,6 +968,7 @@ components: {
SeaSiteSimplePicker0,
SeaSiteSimplePicker1,
MasterBillCodePicker,
EmisMoneyUserPicker,
},
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
@ -1217,6 +1233,9 @@ data() {
custNo: [
{ required: true, message: "月结卡号不能为空", trigger: ["blur",'change'] }
],
customerCode: [
{ required: true, message: "现金客户不能为空", trigger: ["blur",'change'] }
],
payee: [
{ required: true, message: "销售回款人不能为空", trigger: ["blur",'change'] }
],
@ -1639,6 +1658,13 @@ methods: {
}
this.calcBillFee();
},
onSelectMoneyUser(item){
if (item != null) {
this.form.payee = item.payee;
this.form.salesmen = item.salesmen;
this.form.salesSupport = item.salesSupport;
}
},
handleAddFee(){
this.triggerCount++;
},