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> <template>
<div > <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-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="月结客户" prop="monthlyPayCode"> <el-form-item label="额度编号" prop="accCode">
<EmisMonthpayAccountPicker v-model="form.monthlyPayCode" @onChange="onMonthpayAccountChange" :disabled="form.id!=null"></EmisMonthpayAccountPicker> <el-input v-model="form.accCode" placeholder="额度编号" />
</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> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -44,19 +31,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="固定额度" prop="creditMoney"> <el-form-item label="调整额度" prop="tempCreditMoneyAdjust">
<el-input v-model="form.creditMoney" placeholder="请输入信用额度" /> <el-input v-model="form.tempCreditMoneyAdjust" 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> </el-form-item>
</el-col> </el-col>
@ -76,14 +52,11 @@
</template> </template>
<script> <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 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 { export default {
name: "emisCreditCustomerForm", name: "emisTempCreditCustomerForm",
props:{ props:{
id:{ id:{
type:Number type:Number
@ -91,30 +64,22 @@ export default {
}, },
components: { components: {
EmisMonthpayAccountPicker, EmisMonthpayAccountPicker,
PayeePicker,
SalemanPicker
}, },
dicts: ['emis_biz_shipping_method'], dicts: ['emis_biz_shipping_method'],
data() { data() {
return { return {
emisCreditCustomerOptions: [], emisTempCreditCustomerOptions: [],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 表单参数 // 表单参数
form: {}, form: {},
// 表单校验 // 表单校验
rules: { rules: {
id: [ accCode: [
{ required: true, message: "id不能为空", trigger: "blur" } { required: true, message: "额度编号不能为空", trigger: "blur" }
], ],
monthlyPayCode: [ tempCreditMoneyAdjust: [
{ required: true, message: "月结客户不能为空", trigger: "blur" } { required: true, message: "临时额度不能为空", trigger: "blur" }
],
creditMoney: [
{ required: true, message: "信用额度不能为空", trigger: "blur" }
],
transTypeIdArr: [
{ required: true, message: "运输方式不能为空", trigger: "blur" }
], ],
startDate: [ startDate: [
{ required: true, message: "开始日期不能为空", trigger: "blur" } { required: true, message: "开始日期不能为空", trigger: "blur" }
@ -122,9 +87,6 @@ export default {
endDate: [ endDate: [
{ required: true, message: "结束日期不能为空", trigger: "blur" } { required: true, message: "结束日期不能为空", trigger: "blur" }
], ],
blOpen: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
} }
}; };
}, },
@ -180,7 +142,7 @@ export default {
if(this.id !=null) { if(this.id !=null) {
this.loading = true; this.loading = true;
getEmisCreditCustomer(this.id).then(response => { getEmisTempCreditCustomer(this.id).then(response => {
this.form = response.data; this.form = response.data;
if(this.form.transType){ if(this.form.transType){
@ -236,14 +198,14 @@ export default {
this.form.transType=this.form.transTypeIdArr.join(","); this.form.transType=this.form.transTypeIdArr.join(",");
} }
if (this.form.id != null) { if (this.form.id != null) {
updateEmisCreditCustomer(this.form).then(response => { updateEmisTempCreditCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.$emit("on-changed"); this.$emit("on-changed");
}); });
} else { } else {
this.form.curMoney=this.form.creditMoney; this.form.curMoney=this.form.creditMoney;
this.form.curMoneyRate="100"; this.form.curMoneyRate="100";
addEmisCreditCustomer(this.form).then(response => { addEmisTempCreditCustomer(this.form).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.$emit("on-changed"); this.$emit("on-changed");
}); });

View File

@ -2,41 +2,15 @@
<XdPageContainer class="app-container"> <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"> <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"> <el-form-item label="月结客户" prop="customerCode">
<EmisMonthpayAccountPicker v-model="queryParams.customerCode" ></EmisMonthpayAccountPicker> <EmisMonthpayAccountPicker v-model="queryParams.customerCode" @onChange="onMonthpayAccountChange"></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>
</el-form-item> </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> </SearchForm>
@ -48,7 +22,7 @@
ref="refTable" ref="refTable"
storageName="emisTempCreditCustomerList_main_250310" storageName="emisTempCreditCustomerList_main_250428"
v-loading="loading" v-loading="loading"
border stripe border stripe
@ -73,7 +47,7 @@
icon="el-icon-plus" icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
>新增额度</el-button> >新增临时额度</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -109,38 +83,8 @@
<el-table-column type="selection" width="55" align="center" /> <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="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="customerName" min-width="120" :sortable="true"/>
<el-table-column :label="$t('固定额度')" align="center" prop="creditMoney" min-width="120" :sortable="true"/> <el-table-column :label="$t('临时额度')" align="center" prop="tempCreditMoneyAdjust" 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="startDate" min-width="170" /> <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="endDate" min-width="170" />
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" /> <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 EmisMonthpayAccountPicker from '@/views/emis/EmisBaseTools/EmisMonthpayAccountPicker.vue';
import NumberRangePicker from '@/components/NumberRange/NumberRangePicker'; 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' import { formatSearchStr,deepClone } from '@/utils/index'
export default { export default {
@ -181,8 +123,6 @@ export default {
emisTempCreditCustomerForm, emisTempCreditCustomerForm,
EmisMonthpayAccountPicker, EmisMonthpayAccountPicker,
NumberRangePicker, NumberRangePicker,
PayeePicker,
SalemanPicker
}, },
dicts: ['emis_biz_shipping_method' dicts: ['emis_biz_shipping_method'
], ],
@ -219,23 +159,14 @@ export default {
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 20, pageSize: 20,
customerCode: null, accCode: null,
curMoney: null, customerCode:null,
curMoneyRate: null, customerName:null,
creditMoney: null, tempCreditMoneyAdjust: null,
currency: null,
transType: null,
startDate: null, startDate: null,
endDate: null, endDate: null,
blOpen: null,
remark: null, remark: null,
delFlag: null, delFlag: null,
params:{
curMoneyRange:null,
curMoneyRateRange:null,
salesmen:null,
payee:null
}
}, },
}; };
}, },
@ -243,23 +174,18 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
onMonthpayAccountChange(item){
if(item&&item!=null){
this.queryParams.customerName=item.custName;
}else{
this.queryParams.customerName=null;
}
},
/** 查询客户信用额度表列表 */ /** 查询客户信用额度表列表 */
getList() { getList() {
this.loading = true; this.loading = true;
let qParam = {...this.queryParams} 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 => { listEmisTempCreditCustomer(qParam).then(response => {
this.emisTempCreditCustomerList = response.rows; this.emisTempCreditCustomerList = response.rows;
this.total = response.total; this.total = response.total;
@ -396,14 +322,6 @@ export default {
else{ else{
let qParam = {...this.queryParams} 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.pageNum=1;
qParam.pageSize=20000; qParam.pageSize=20000;
@ -424,7 +342,7 @@ export default {
excel.export_json_to_excel({ excel.export_json_to_excel({
header: tHeader, header: tHeader,
data, data,
filename: '月结客户额度列表', filename: '月结客户临时额度列表',
autoWidth: true autoWidth: true
}) })
loadingInstance.close() loadingInstance.close()
@ -437,15 +355,6 @@ export default {
if (j === 'index') { if (j === 'index') {
return ++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] return v[j]
})) }))