This commit is contained in:
linfso 2024-10-18 06:52:31 +08:00
parent 3593a301c4
commit dd117d2f3c
7 changed files with 311 additions and 198 deletions

View File

@ -1,108 +1,188 @@
<template>
<div >
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="24">
<el-form-item label="提成方案编码" prop="quoteCode">
<el-input v-model="form.quoteCode" placeholder="请输入提成方案编码" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="提成方案名称" prop="quoteName">
<el-input v-model="form.quoteName" placeholder="请输入提成方案名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="计算类型" prop="calcType">
<el-input v-model="form.calcType" placeholder="请输入计算类型" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="岗位类型:emis_commission_post" prop="postType">
<el-input v-model="form.postType" placeholder="请输入岗位类型:emis_commission_post" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="快递类型:emis_biz_shipping_method" prop="transType">
<el-input v-model="form.transType" placeholder="请输入快递类型:emis_biz_shipping_method" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="启用状态" prop="blOpen">
<el-input v-model="form.blOpen" placeholder="请输入启用状态" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="员工编号" prop="empCode">
<el-input v-model="form.empCode" placeholder="请输入员工编号" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="员工名称" prop="empName">
<el-input v-model="form.empName" placeholder="请输入员工名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="开始日期" prop="startDate">
<el-date-picker clearable
v-model="form.startDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择开始日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="结束日期" prop="endDate">
<el-date-picker clearable
v-model="form.endDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="优先级" prop="priorityLevel">
<el-input v-model="form.priorityLevel" placeholder="请输入优先级" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form ref="form" size="mini" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="0" type='flex'>
<el-col :span="6" :xs="6" style="border-right: 1px solid #f3f3f3;padding-right: 5px;">
<el-col :span="24">
<el-form-item label="方案名称" prop="quoteName">
<el-input v-model="form.quoteName" placeholder="请输入方案名称" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="所属国家" prop="country">
<CountryPicker :placeholder="$t('所属国家')" v-model="form.country" ></CountryPicker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="开始日期" prop="startDate">
<el-date-picker
style="width:100%"
clearable
v-model="form.startDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
default-time = "00:00:00"
placeholder="请选择开始日期"
@change="onStartDateChange"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="结束日期" prop="endDate">
<el-date-picker
style="width:100%"
clearable
v-model="form.endDate"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
default-time = "23:59:59"
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="计算类型" prop="calcType">
<el-radio-group v-model="form.calcType">
<el-radio label="1">按票计算</el-radio>
<el-radio label="2">重量计算</el-radio>
<el-radio label="3">体积计算</el-radio>
<el-radio label="4">包裹数</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="优先级" prop="priorityLevel">
<el-input v-model="form.priorityLevel" placeholder="优先级" style="width:100px" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="启用状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio :label="1">启用</el-radio>
<el-radio :label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="岗位类型" prop="postType">
<el-select v-model="form.postType" placeholder="岗位类型" >
<el-option
v-for="dict in dict.type.emis_commission_post"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="快递类型" prop="transType">
<el-select v-model="form.transType" placeholder="快递类型" >
<el-option
v-for="dict in dict.type.emis_biz_shipping_method"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-col> -->
</el-col>
<el-col :span="24">
<el-form-item label="删除标志(0代表存在" prop="delFlag">
<el-input v-model="form.delFlag" placeholder="请输入删除标志(0代表存在" />
</el-form-item>
</el-col>
<el-col :span="18" :xs="18">
<el-row>
<el-col :span="24" :xs="24" style="padding: 5px;">
<el-row :gutter="0">
<el-col :span="8">
<el-button
size="mini"
type="primary"
@click="handelSelectSendArea()"
>选择员工</el-button>
</el-col>
<el-col :span="24">
<el-form-item label="" prop="empName" label-width="0px" style="margin-bottom: 0px;">
<el-input v-model="form.empName" rows="6" type="textarea" placeholder="" disabled />
</el-form-item>
</el-col>
</el-row>
<!--
<el-form-item label="上级字典">
<treeselect
ref="tree"
v-model="form.parentId"
:options="emisCommissionQuoteOptions"
:normalizer="normalizer"
:default-expand-level="1"
:show-count="true"
placeholder="选择上级"
/>
</el-form-item>
-->
</el-col>
</el-row>
<el-row>
<el-col :span="24" :xs="24" style="padding: 10px;">
<el-row>
<el-col :span="24">
<!-- 计算公式规则 -->
<el-alert
title="提成公式规则"
type="info"
description="说明: "
show-icon
:closable="false"
style="margin-bottom: 10px;"
>
</el-alert>
</el-col>
<el-col :span="24">
<!-- <div style="max-height:200px;overflow-y: auto;"> -->
<!-- @onChange="onQuoteExpressionChange" -->
<EcqExpressionPanel :quoteId="form.quoteId" :isCopy="isCopy" style="width:100%" v-model="form.exprList"></EcqExpressionPanel>
<!-- </div> -->
</el-col>
</el-row>
</el-col>
</el-row>
</el-col>
</el-row>
</el-form>
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
<!--
<el-dialog :title="titleSendAreaForm" :visible.sync="openSendAreaForm" width="90%" :destroy-on-close="true" v-dialogDrag append-to-body>
<QuoteSendAreaPanel :useSiteCode="form.useSiteCode" :useSiteName="form.useSite" :feeType="form.feeType" @on-changed="handleSendAreaFormChanged" @on-cancel="cancelSendAreaForm"></QuoteSendAreaPanel>
</el-dialog>
<el-dialog :title="titleDispAreaForm" :visible.sync="openDispAreaForm" width="90%" :destroy-on-close="true" v-dialogDrag append-to-body>
<QuoteDispAreaPanel :useSiteCode="form.useSiteCode" :useSiteName="form.useSite" :feeType="form.feeType" @on-changed="handleDispAreaFormChanged" @on-cancel="cancelDispAreaForm"></QuoteDispAreaPanel>
</el-dialog> -->
<div style="text-align: center;margin-bottom: 10px;">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</div>
</template>
<script>
import { listEmisCommissionQuote, getEmisCommissionQuote, delEmisCommissionQuote, addEmisCommissionQuote, updateEmisCommissionQuote } from "@/api/emis/emisCommissionQuote";
import { mapGetters } from 'vuex'
import { listEmisQuoteSendArea, getEmisQuoteSendArea, delEmisQuoteSendArea, addEmisQuoteSendArea, updateEmisQuoteSendArea } from "@/api/emis/emisQuoteSendArea";
import { listEmisQuotePrice, getEmisQuotePrice, delEmisQuotePrice, addEmisQuotePrice, updateEmisQuotePrice } from "@/api/emis/emisQuotePrice";
import { listEmisQuoteDispArea, getEmisQuoteDispArea, delEmisQuoteDispArea, addEmisQuoteDispArea, updateEmisQuoteDispArea } from "@/api/emis/emisQuoteDispArea";
import {checkRole} from '@/utils/permission'
import {addDateTimeByDay,dateToStr} from '@/utils/custom'
import CountryPicker from '@/views/emis/EmisBaseTools/CountryPicker.vue';
import EmisSiteSimplePicker from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue';
import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue';
import EcqExpressionPanel from '@/views/emis/emisCommissionQuote/ecqExpressionPanel.vue';
import QuoteSendAreaPanel from '@/views/emis/emisQuoteSendArea/sendAreaPanel.vue';
import QuoteDispAreaPanel from '@/views/emis/emisQuoteDispArea/dispAreaPanel.vue';
export default {
name: "emisCommissionQuoteForm",
@ -111,9 +191,12 @@ export default {
type:Number
}
},
components: { },
dicts: [
],
components: {
CountryPicker,EmisSiteSimplePicker,TransLinePicker,
TransProductPicker,EcqExpressionPanel,
QuoteSendAreaPanel,QuoteDispAreaPanel
},
dicts: ['emis_price_type','emis_fee_type','sys_currency_type','emis_commission_post','emis_biz_shipping_method'],
data() {
return {
emisCommissionQuoteOptions: [],
@ -121,14 +204,13 @@ export default {
loading: true,
// 表单参数
form: {},
isCopy:false,
// 表单校验
rules: {
quoteId: [
{ required: true, message: "序号不能为空", trigger: "blur" }
],
delFlag: [
{ required: true, message: "删除标志(0代表存在不能为空", trigger: "blur" }
],
}
};
},
@ -147,7 +229,7 @@ export default {
methods: {
initData() {
if(this.quoteId !=null) {
this.loading = true;
getEmisCommissionQuote(this.quoteId).then(response => {
@ -191,6 +273,10 @@ export default {
};
this.resetForm("form");
},
onStartDateChange(){
this.form.endDate=dateToStr(addDateTimeByDay(this.form.startDate,365));
console.log(this.form.endDate);
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
@ -209,32 +295,7 @@ export default {
}
});
},
// /** 转换菜单数据结构 */
// normalizer(node) {
// if (node.children && !node.children.length) {
// delete node.children;
// }
// return {
// id: node.quoteId,
// label: node.quoteIdName,
// children: node.children
// };
// },
// /** 查询菜单下拉树结构 */
// getTreeselect() {
// const queryParams = {}
// listEmisCommissionQuote(queryParams).then(response => {
// this.emisCommissionQuoteOptions = [];
// const rootItem = { quoteIdId: 0, emisCommissionQuoteName: '-', children: [] };
// rootItem.children = this.handleTree(response.data, "quoteId");
// this.emisCommissionQuoteOptions.push(rootItem);
// if(this.parentId != undefined) {
// this.form.parentId = this.parentId;
// }
// });
// },
}
};
</script>

View File

@ -220,7 +220,7 @@
</el-table-column>
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
<el-dialog :title="titleForm" :visible.sync="openForm" width="90%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisCommissionQuoteForm :quoteId="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisCommissionQuoteForm>
</el-dialog>
@ -300,23 +300,7 @@ export default {
/** 查询员工提成方案报价列表 */
getList() {
this.loading = true;
this.queryParams.params = {};
if (null != this.daterangeStartDate && '' != this.daterangeStartDate) {
this.queryParams.params["beginStartDate"] = this.daterangeStartDate[0];
this.queryParams.params["endStartDate"] = this.daterangeStartDate[1];
}
if (null != this.daterangeEndDate && '' != this.daterangeEndDate) {
this.queryParams.params["beginEndDate"] = this.daterangeEndDate[0];
this.queryParams.params["endEndDate"] = this.daterangeEndDate[1];
}
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
}
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
}
listEmisCommissionQuote(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
this.emisCommissionQuoteList = response.rows;
this.total = response.total;
@ -350,7 +334,7 @@ export default {
handleAdd(row) {
this.currentId=null;
this.openForm= true;
this.titleForm = "新增";
this.titleForm = "新增提成方案";
},
handleShowMoreInput(){
this.moreInputVisible = !this.moreInputVisible;

View File

@ -127,12 +127,12 @@
<dict-tag :options="dict.type.emis_cost_split_type" :value="scope.row.splitType"/>
</template>
</el-table-column>
<el-table-column :label="$t('交易时间')" align="center" prop="tradeDate" min-width="100" />
<el-table-column :label="$t('成本时间')" align="center" prop="tradeDate" min-width="100" />
<el-table-column :label="$t('总费用')" align="center" prop="costFee" min-width="100" />
<el-table-column :label="$t('总票数')" align="center" prop="sendPieceSum" min-width="100" />
<el-table-column :label="$t('运单总票数')" align="center" prop="sendPieceSum" min-width="100" />
<!-- <el-table-column :label="$t('总件数')" align="center" prop="pieceNumber" min-width="100" /> -->
<el-table-column :label="$t('总重量')" align="center" prop="totalWeight" min-width="100" />
<el-table-column :label="$t('总体积')" align="center" prop="totalVolume" min-width="100" />
<el-table-column :label="$t('运单总重')" align="center" prop="totalWeight" min-width="100" />
<el-table-column :label="$t('运单总体积')" align="center" prop="totalVolume" min-width="100" />
<el-table-column :label="$t('运输方式')" align="center" prop="transType" min-width="100" >
<template slot-scope="scope">
<dict-tag :options="dict.type.emis_trans_carrier" :value="scope.row.transType"/>
@ -143,11 +143,14 @@
<el-table-column :label="$t('供应商名称')" align="center" prop="supplierName" min-width="150" />
<el-table-column :label="$t('发件地')" align="center" prop="sendPlace" min-width="100" />
<el-table-column :label="$t('目的地')" align="center" prop="destPlace" min-width="100" />
<el-table-column :label="$t('成本费')" align="center" prop="costFee" min-width="100" />
<el-table-column :label="$t('总票数')" align="center" prop="sendPieceSum" min-width="100" />
<el-table-column :label="$t('总件数')" align="center" prop="pieceNumber" min-width="100" />
<el-table-column :label="$t('总重量')" align="center" prop="totalWeight" min-width="100" />
<el-table-column :label="$t('总体积')" align="center" prop="totalVolume" min-width="100" />
<el-table-column :label="$t('毛重(kg)')" align="center" prop="realTotalWeight" min-width="100" />
<el-table-column :label="$t('包裹数')" align="center" prop="realPieceNumber" min-width="100" />
<!-- <el-table-column :label="$t('成本费')" align="center" prop="costFee" min-width="100" /> -->
<!-- <el-table-column :label="$t('总票数')" align="center" prop="sendPieceSum" min-width="100" /> -->
<!-- <el-table-column :label="$t('总件数')" align="center" prop="pieceNumber" min-width="100" /> -->
<!-- <el-table-column :label="$t('总重量')" align="center" prop="totalWeight" min-width="100" /> -->
<!-- <el-table-column :label="$t('总体积')" align="center" prop="totalVolume" min-width="100" /> -->
<el-table-column :label="$t('财务确认状态')" align="center" prop="blConfirmCenter" min-width="120" >
<template slot-scope="scope">
<span v-if="scope.row.blConfirmCenter=='0'" >未确认</span>

View File

@ -27,14 +27,14 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="交易日期" prop="tradeDate">
<el-form-item label="成本日期" prop="tradeDate">
<el-date-picker
style="width:100%"
clearable
v-model="form.tradeDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择交易时间">
placeholder="成本日期">
</el-date-picker>
</el-form-item>
</el-col>
@ -43,7 +43,26 @@
<el-input v-model="form.costName" placeholder="请输入成本名称" />
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="毛重(kg)" prop="realTotalWeight">
<el-input-number v-model="form.realTotalWeight" style="width:100%" placeholder="结算重量" :min="1" :controls="false" :precision="2">
</el-input-number>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="包裹数" prop="realPieceNumber">
<el-input-number v-model="form.realPieceNumber" style="width:100%" placeholder="包裹数" :min="1" :controls="false" :precision="0"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="分摊类型" prop="splitType">
<el-radio-group v-model="form.splitType">
<el-radio label="1" >按重量分摊</el-radio>
<el-radio label="2">按体积分摊</el-radio>
<el-radio label="3">按票分摊</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="发件地" prop="sendPlace">
@ -56,13 +75,6 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="分摊类型" prop="splitType">
<el-radio-group v-model="form.splitType">
<el-radio label="1" >按重量分摊</el-radio>
<el-radio label="2">按体积分摊</el-radio>
<el-radio label="3">按票分摊</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运输方式" prop="transType">

View File

@ -490,7 +490,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('包装类型')" prop="packType" label-width="70px"">
<el-form-item :label="$t('包装类型')" prop="packType" label-width="70px">
<el-select multiple="" v-model="form.packType" placeholder="">
<el-option
v-for="dict in dict.type.emis_tab_packing_type"
@ -596,9 +596,8 @@
</el-col>
<el-form-item :label="$t('特殊报价')" prop="ext" label-width="70px">
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSpecialQuote" true-label="1" false-label="0"> {{ $t('特殊报价') }}</el-checkbox>
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSensitive" true-label="1" false-label="0"> {{ $t('敏感物') }}</el-checkbox>
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSpecialQuote" true-label="1" false-label="0" :disabled="form.calcFeeType==3"> {{ $t('特殊报价') }}</el-checkbox>
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSensitive" true-label="1" false-label="0" :disabled="form.calcFeeType==3"> {{ $t('敏感物') }}</el-checkbox>
</el-form-item>
<el-col :span="24">
@ -692,6 +691,7 @@
type="text"
icon="el-icon-plus"
@click="handleAddFee"
:disabled="form.calcFeeType==3"
>{{ $t('增加自定义费用') }}</el-button>
</el-popover>
</div>
@ -1881,7 +1881,13 @@ methods: {
if(expr.indexOf('s')!=-1 || expr.indexOf('d')!=-1){
expr=expr.replace("s",row.initialWeightFee);
expr=expr.replace("d",row.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight);
// 如果按重量计费,则计算重量使用体积计算费用
let calcWeight = this.form.settlementWeight;
if(this.form.calcFeeType==2){
calcWeight=this.form.totalVolume;
}
expr=expr.replace("w",calcWeight);
row.realFee=parseFloat(eval(expr)).toFixed(2);
}else{
//
@ -1893,10 +1899,15 @@ methods: {
expr=expr.replace("s",row.initialWeightFee);
expr=expr.replace("d",row.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight);
// 如果按重量计费,则计算重量使用体积计算费用
let calcWeight = this.form.settlementWeight;
if(this.form.calcFeeType==2){
calcWeight=this.form.totalVolume;
}
expr=expr.replace("w",calcWeight);
row.realFee=parseFloat(eval(expr)).toFixed(2);
// console.log("===>calcExp222==expr==>",expr);
// console.log("===>calcExp222==row==>",row);
}
@ -1913,7 +1924,7 @@ methods: {
let item=this.form.feeItems[i];
let newFee=Number(item.realFee);
if(item.currency&&item.currency !='CNY'){
let res= await getValidExchangeRate({from:item.currency,to:'CNY'});
let res= await getValidExchangeRate({from:item.currency,to:'CNY',rateDate:this.form.sendDate});
if(res.code==200){
newFee=newFee*Number(res.data);
newFee=newFee.toFixed(2);
@ -1977,6 +1988,7 @@ methods: {
}
},
calcBillFee(){
@ -1992,6 +2004,7 @@ methods: {
let calcFeeType=this.form.calcFeeType;
if(calcFeeType==3){
calcFeeType=1;
this.form.blSpecialQuote=0;
// 不要重算费用
// return;
}

View File

@ -596,9 +596,8 @@
</el-col>
<el-form-item :label="$t('特殊报价')" prop="ext" label-width="70px">
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSpecialQuote" true-label="1" false-label="0"> {{ $t('特殊报价') }}</el-checkbox>
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSensitive" true-label="1" false-label="0"> {{ $t('敏感物') }}</el-checkbox>
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSpecialQuote" true-label="1" false-label="0" :disabled="form.calcFeeType==3"> {{ $t('特殊报价') }}</el-checkbox>
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSensitive" true-label="1" false-label="0" :disabled="form.calcFeeType==3"> {{ $t('敏感物') }}</el-checkbox>
</el-form-item>
<el-col :span="24">
@ -692,6 +691,7 @@
type="text"
icon="el-icon-plus"
@click="handleAddFee"
:disabled="form.calcFeeType==3"
>{{ $t('增加自定义费用') }}</el-button>
</el-popover>
</div>
@ -1347,6 +1347,14 @@ methods: {
this.calcBillFee();
}
},
onCalcFeeTypeChange(){
if(this.form.calcFeeType == '3' ){
}
this.calcBillFee();
},
onSelectMonthUser(item){
if(item!=null){
@ -1376,7 +1384,13 @@ methods: {
if((newItem.initialWeightFee>0||newItem.addWeightPrice>0) && this.form.settlementWeight!=null){
expr=expr.replace("s",newItem.initialWeightFee);
expr=expr.replace("d",newItem.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight);
// 如果按重量计费,则计算重量使用体积计算费用
let calcWeight = this.form.settlementWeight;
if(this.form.calcFeeType==2){
calcWeight=this.form.totalVolume;
}
expr=expr.replace("w",calcWeight);
// expr=expr.replace("w",this.form.settlementWeight);
newItem.realFee=parseFloat(eval(expr)).toFixed(2);
newItem.fee=newItem.realFee;
}
@ -1881,7 +1895,13 @@ methods: {
if(expr.indexOf('s')!=-1 || expr.indexOf('d')!=-1){
expr=expr.replace("s",row.initialWeightFee);
expr=expr.replace("d",row.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight);
// 如果按重量计费,则计算重量使用体积计算费用
let calcWeight = this.form.settlementWeight;
if(this.form.calcFeeType==2){
calcWeight=this.form.totalVolume;
}
expr=expr.replace("w",calcWeight);
row.realFee=parseFloat(eval(expr)).toFixed(2);
}else{
//
@ -1893,10 +1913,15 @@ methods: {
expr=expr.replace("s",row.initialWeightFee);
expr=expr.replace("d",row.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight);
// 如果按重量计费,则计算重量使用体积计算费用
let calcWeight = this.form.settlementWeight;
if(this.form.calcFeeType==2){
calcWeight=this.form.totalVolume;
}
expr=expr.replace("w",calcWeight);
row.realFee=parseFloat(eval(expr)).toFixed(2);
// console.log("===>calcExp222==expr==>",expr);
// console.log("===>calcExp222==row==>",row);
}
@ -1913,7 +1938,8 @@ methods: {
let item=this.form.feeItems[i];
let newFee=Number(item.realFee);
if(item.currency&&item.currency !='CNY'){
let res= await getValidExchangeRate({from:item.currency,to:'CNY'});
let qObj={from:item.currency,to:'CNY',rateDate:this.form.sendDate};
let res= await getValidExchangeRate(qObj);
if(res.code==200){
newFee=newFee*Number(res.data);
newFee=newFee.toFixed(2);
@ -1977,6 +2003,7 @@ methods: {
}
},
calcBillFee(){
@ -1992,6 +2019,7 @@ methods: {
let calcFeeType=this.form.calcFeeType;
if(calcFeeType==3){
calcFeeType=1;
this.form.blSpecialQuote=0;
// 不要重算费用
// return;
}

View File

@ -740,22 +740,7 @@
</el-row>
</el-col>
<!-- v-if="applyType&&applyTypeArr.includes('12')" -->
<el-col :span="24" v-if="applyType&&applyTypeArr.includes('12')">
<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.feeRemark}}</span>
</el-col>
<el-col :span="14">
<el-form-item :label="$t('费用备注')" prop="feeRemark" >
<el-input v-model="form.feeRemark" type="textarea" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
<!-- ||applyTypeArr.includes('12') -->
@ -847,7 +832,7 @@
<span v-else>否</span>
</el-col>
<el-col :span="14" style="text-align: center">
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSpecialQuote" :true-label="1" :false-label="0"> {{ $t('特殊报价') }}</el-checkbox>
<el-checkbox style="font-size:400;margin-right:10px;font-size:10px" v-model="form.blSpecialQuote" :disabled="form.calcFeeType==3" :true-label="1" :false-label="0"> {{ $t('特殊报价') }}</el-checkbox>
</el-col>
</el-row>
</el-col>
@ -1005,6 +990,7 @@
size="mini"
type="text"
icon="el-icon-plus"
:disabled="form.calcFeeType==3"
@click="handleAddFee"
>{{ $t('增加自定义费用') }}</el-button>
</el-popover>
@ -1053,6 +1039,22 @@
</el-col>
</el-row>
</el-col>
<!-- v-if="applyType&&applyTypeArr.includes('12')" -->
<el-col :span="24" v-if="applyType&&applyTypeArr.length>0||applyType&&applyTypeArr.includes('12')">
<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.feeRemark}}</span>
</el-col>
<el-col :span="14">
<el-form-item :label="$t('费用备注')" prop="feeRemark" >
<el-input v-model="form.feeRemark" type="textarea" placeholder=""/>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
@ -1373,7 +1375,15 @@ export default {
if((newItem.initialWeightFee>0||newItem.addWeightPrice>0) && this.form.settlementWeight!=null){
expr=expr.replace("s",newItem.initialWeightFee);
expr=expr.replace("d",newItem.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight);
// 如果按重量计费,则计算重量使用体积计算费用
let calcWeight = this.form.settlementWeight;
if(this.form.calcFeeType==2){
calcWeight=this.form.totalVolume;
}
expr=expr.replace("w",calcWeight);
// expr=expr.replace("w",this.form.settlementWeight);
newItem.realFee=parseFloat(eval(expr)).toFixed(2);
newItem.fee=newItem.realFee;
}
@ -1860,7 +1870,8 @@ export default {
let item=this.form.feeItems[i];
let newFee=Number(item.realFee);
if(item.currency&&item.currency !='CNY'){
let res= await getValidExchangeRate({from:item.currency,to:'CNY',rateDate:this.form.sendDate});
let qObj={from:item.currency,to:'CNY',rateDate:this.form.sendDate};
let res= await getValidExchangeRate(qObj);
if(res.code==200){
newFee=newFee*Number(res.data);
newFee=newFee.toFixed(2);
@ -1891,6 +1902,7 @@ export default {
let calcFeeType=this.form.calcFeeType;
if(calcFeeType==3){
this.form.blSpecialQuote=0;
calcFeeType=1;
}