This commit is contained in:
linfso 2025-04-29 16:54:02 +08:00
parent fcb2ae3280
commit 12b2b29dda
2 changed files with 37 additions and 166 deletions

View File

@ -1,23 +1,10 @@
<template>
<div >
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-form-item label="月结客户" prop="monthlyPayCode">
<EmisMonthpayAccountPicker v-model="form.monthlyPayCode" @onChange="onMonthpayAccountChange" :disabled="form.id!=null"></EmisMonthpayAccountPicker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="运输方式" prop="transTypeIdArr">
<el-select multiple clearable collapse-tags v-model="form.transTypeIdArr" placeholder="运输方式" style="width: 100%;" >
<el-option
v-for="item in dict.type.emis_biz_shipping_method"
v-bind:key="item.value"
v-bind:label="item.label"
v-bind:value="item.value"
/>
</el-select>
<el-form-item label="额度编号" prop="accCode">
<el-input v-model="form.accCode" placeholder="额度编号" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -44,19 +31,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="固定额度" prop="creditMoney">
<el-input v-model="form.creditMoney" placeholder="请输入信用额度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售联系人" prop="salesmen">
<SalemanPicker :placeholder="$t('销售联系人')" v-model="form.salesmen" disabled ></SalemanPicker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="回款联系人" prop="payee">
<PayeePicker :placeholder="$t('回款联系人')" v-model="form.payee" disabled ></PayeePicker>
<el-form-item label="调整额度" prop="tempCreditMoneyAdjust">
<el-input v-model="form.tempCreditMoneyAdjust" placeholder="调整额度" />
</el-form-item>
</el-col>
@ -76,14 +52,11 @@
</template>
<script>
import { listEmisCreditCustomer, getEmisCreditCustomer, delEmisCreditCustomer, addEmisCreditCustomer, updateEmisCreditCustomer } from "@/api/emis/emisCreditCustomer";
import { listEmisTempCreditCustomer, getEmisTempCreditCustomer, delEmisTempCreditCustomer, addEmisTempCreditCustomer, updateEmisTempCreditCustomer } from "@/api/emis/emisTempCreditCustomer";
import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
export default {
name: "emisCreditCustomerForm",
name: "emisTempCreditCustomerForm",
props:{
id:{
type:Number
@ -91,30 +64,22 @@ export default {
},
components: {
EmisMonthpayAccountPicker,
PayeePicker,
SalemanPicker
},
dicts: ['emis_biz_shipping_method'],
data() {
return {
emisCreditCustomerOptions: [],
emisTempCreditCustomerOptions: [],
// 遮罩层
loading: true,
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "id不能为空", trigger: "blur" }
accCode: [
{ required: true, message: "额度编号不能为空", trigger: "blur" }
],
monthlyPayCode: [
{ required: true, message: "月结客户不能为空", trigger: "blur" }
],
creditMoney: [
{ required: true, message: "信用额度不能为空", trigger: "blur" }
],
transTypeIdArr: [
{ required: true, message: "运输方式不能为空", trigger: "blur" }
tempCreditMoneyAdjust: [
{ required: true, message: "临时额度不能为空", trigger: "blur" }
],
startDate: [
{ required: true, message: "开始日期不能为空", trigger: "blur" }
@ -122,9 +87,6 @@ export default {
endDate: [
{ required: true, message: "结束日期不能为空", trigger: "blur" }
],
blOpen: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
}
};
},
@ -180,7 +142,7 @@ export default {
if(this.id !=null) {
this.loading = true;
getEmisCreditCustomer(this.id).then(response => {
getEmisTempCreditCustomer(this.id).then(response => {
this.form = response.data;
if(this.form.transType){
@ -236,14 +198,14 @@ export default {
this.form.transType=this.form.transTypeIdArr.join(",");
}
if (this.form.id != null) {
updateEmisCreditCustomer(this.form).then(response => {
updateEmisTempCreditCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.$emit("on-changed");
});
} else {
this.form.curMoney=this.form.creditMoney;
this.form.curMoneyRate="100";
addEmisCreditCustomer(this.form).then(response => {
addEmisTempCreditCustomer(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.$emit("on-changed");
});

View File

@ -2,41 +2,15 @@
<XdPageContainer class="app-container">
<SearchForm slot="pageHeader" :model="queryParams" ref="queryForm" size="small" :maxShow="20" label-width="100px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form-item :label="$t('额度编号')" prop="accCode">
<el-input v-model="queryParams.accCode" placeholder="额度编号" />
</el-form-item>
<el-form-item label="月结客户" prop="customerCode">
<EmisMonthpayAccountPicker v-model="queryParams.customerCode" ></EmisMonthpayAccountPicker>
</el-form-item>
<el-form-item label="运输方式" prop="transType">
<el-select v-model="queryParams.transType" placeholder="运输方式" clearable filterable>
<el-option
v-for="item in dict.type.emis_biz_shipping_method"
v-bind:key="item.value"
v-bind:label="item.label"
v-bind:value="item.value"
/>
</el-select>
<EmisMonthpayAccountPicker v-model="queryParams.customerCode" @onChange="onMonthpayAccountChange"></EmisMonthpayAccountPicker>
</el-form-item>
<el-form-item label="剩余余额" prop="curMoney">
<NumberRangePicker style="width:200px" v-model="queryParams.params.curMoneyRange"> </NumberRangePicker>
</el-form-item>
<el-form-item label="启用状态" prop="blOpen">
<el-select v-model="queryParams.blOpen" filterable placeholder="启用状态" @change="handleQuery">
<el-option key="1" label="启用" :value="1" />
<el-option key="0" label="停用" :value="0" />
</el-select>
</el-form-item>
<el-form-item label="剩余比率(%)" prop="curMoneyRate">
<NumberRangePicker style="width:200px" v-model="queryParams.params.curMoneyRateRange"> </NumberRangePicker>
</el-form-item>
<el-form-item :label="$t('回款联系人')" prop="payee">
<PayeePicker :placeholder="$t('回款联系人')" v-model="queryParams.params.payee" ></PayeePicker>
</el-form-item>
<el-form-item :label="$t('销售联系人')" prop="salesmen">
<SalemanPicker :placeholder="$t('销售联系人')" v-model="queryParams.params.salesmen" ></SalemanPicker>
</el-form-item>
</SearchForm>
@ -48,7 +22,7 @@
ref="refTable"
storageName="emisTempCreditCustomerList_main_250310"
storageName="emisTempCreditCustomerList_main_250428"
v-loading="loading"
border stripe
@ -73,7 +47,7 @@
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增额度</el-button>
>新增临时额度</el-button>
</el-col>
<el-col :span="1.5">
<el-button
@ -109,38 +83,8 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('额度编号')" align="center" prop="accCode" min-width="150" />
<el-table-column :label="$t('月结客户')" align="center" prop="customerName" min-width="170" :sortable="true" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('固定额度')" align="center" prop="creditMoney" min-width="120" :sortable="true"/>
<!-- <el-table-column label="状态" align="center" prop="blOpen" width="100">
<template slot-scope="scope">
<el-switch
v-model="scope.row.blOpen"
active-value="1"
inactive-value="0"
@change="switchChange(scope.row)">
</el-switch>
</template>
</el-table-column> -->
<el-table-column :label="$t('剩余额度')" align="center" prop="curMoney" min-width="120" :sortable="true" >
<template slot-scope="scope">
{{ (scope.row.creditMoney - scope.row.useMoney).toFixed(2) }}
</template>
</el-table-column>
<el-table-column :label="$t('已使用额度')" align="center" prop="useMoney" min-width="120" :sortable="true">
<template slot-scope="scope">
{{ scope.row.useMoney }}
</template>
</el-table-column>
<el-table-column :label="$t('剩余比例(%)')" align="center" prop="curMoneyRate" min-width="130" :sortable="true">
<template slot-scope="scope">
{{ ( ((scope.row.creditMoney - scope.row.useMoney)/scope.row.creditMoney)*100 ).toFixed(2) }}%
</template>
</el-table-column>
<el-table-column :label="$t('运输方式')" align="center" prop="transType" min-width="200" :show-overflow-tooltip="true">
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_biz_shipping_method" :value="scope.row.transType"/>
</template>
</el-table-column>
<el-table-column :label="$t('客户名称')" align="center" prop="customerName" min-width="120" :sortable="true"/>
<el-table-column :label="$t('临时额度')" align="center" prop="tempCreditMoneyAdjust" min-width="120" :sortable="true" />
<el-table-column :label="$t('开始日期')" align="center" prop="startDate" min-width="170" />
<el-table-column :label="$t('结束日期')" align="center" prop="endDate" min-width="170" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
@ -170,8 +114,6 @@ import emisTempCreditCustomerForm from '@/views/emis/emisTempCreditCustomer/emis
import EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
import NumberRangePicker from '@/components/NumberRange/NumberRangePicker';
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import { formatSearchStr,deepClone } from '@/utils/index'
export default {
@ -181,8 +123,6 @@ export default {
emisTempCreditCustomerForm,
EmisMonthpayAccountPicker,
NumberRangePicker,
PayeePicker,
SalemanPicker
},
dicts: ['emis_biz_shipping_method'
],
@ -219,23 +159,14 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 20,
customerCode: null,
curMoney: null,
curMoneyRate: null,
creditMoney: null,
currency: null,
transType: null,
accCode: null,
customerCode:null,
customerName:null,
tempCreditMoneyAdjust: null,
startDate: null,
endDate: null,
blOpen: null,
remark: null,
delFlag: null,
params:{
curMoneyRange:null,
curMoneyRateRange:null,
salesmen:null,
payee:null
}
},
};
},
@ -243,23 +174,18 @@ export default {
this.getList();
},
methods: {
onMonthpayAccountChange(item){
if(item&&item!=null){
this.queryParams.customerName=item.custName;
}else{
this.queryParams.customerName=null;
}
},
/** 查询客户信用额度表列表 */
getList() {
this.loading = true;
let qParam = {...this.queryParams}
console.log("===>===1111==>",qParam)
if(qParam.params.curMoneyRange&&qParam.params.curMoneyRange.length>0){
qParam=this.addDateRange(qParam, qParam.params.curMoneyRange,'CurMoney')
}
if(qParam.params.curMoneyRateRange&&qParam.params.curMoneyRateRange.length>0){
qParam=this.addDateRange(qParam, qParam.params.curMoneyRateRange,'CurMoneyRate')
}
console.log("====>listEmisTempCreditCustomer==>",qParam);
listEmisTempCreditCustomer(qParam).then(response => {
this.emisTempCreditCustomerList = response.rows;
this.total = response.total;
@ -396,14 +322,6 @@ export default {
else{
let qParam = {...this.queryParams}
if(qParam.params.curMoneyRange&&qParam.params.curMoneyRange.length>0){
qParam=this.addDateRange(this.qParam, qParam.params.curMoneyRange,'CurMoney')
}
if(qParam.params.curMoneyRateRange&&qParam.params.curMoneyRateRange.length>0){
qParam=this.addDateRange(this.qParam, qParam.params.curMoneyRateRange,'CurMoneyRate')
}
qParam.pageNum=1;
qParam.pageSize=20000;
@ -424,7 +342,7 @@ export default {
excel.export_json_to_excel({
header: tHeader,
data,
filename: '月结客户额度列表',
filename: '月结客户临时额度列表',
autoWidth: true
})
loadingInstance.close()
@ -437,15 +355,6 @@ export default {
if (j === 'index') {
return ++index
}
if (j === 'curMoney') {
return (v['creditMoney'] - v['useMoney']).toFixed(2);
}
if (j === 'curMoneyRate') {
return (((v['creditMoney'] - v['useMoney'])/v['creditMoney'])*100 ).toFixed(2);
}
if (j === 'transType') {
return this.selectDictLabels(this.dict.type.emis_biz_shipping_method,v[j]);
}
return v[j]
}))