This commit is contained in:
linfso 2024-07-18 20:05:49 +08:00
parent 578912c6f4
commit 2e8dfafe1c
9 changed files with 387 additions and 226 deletions

View File

@ -9,6 +9,14 @@ export function listEmisExchangeRate(query) {
})
}
export function getValidExchangeRate(query) {
return request({
url: '/emis/emisExchangeRate/getValidExchangeRate',
method: 'get',
params: query
})
}
// 查询汇率维护详细
export function getEmisExchangeRate(id) {
return request({

View File

@ -9,6 +9,32 @@ export function listEmisWaybill(query) {
})
}
export function getSiteSendStatInfoMap(query) {
return request({
url: '/emis/emisWaybill/getSiteSendStatInfoMap',
method: 'get',
params: query
})
}
export function getSiteDestStatInfoMap(query) {
return request({
url: '/emis/emisWaybill/getSiteDestStatInfoMap',
method: 'get',
params: query
})
}
export function queryScanStatInfoDtlList(query) {
return request({
url: '/emis/emisWaybill/queryScanStatInfoDtlList',
method: 'get',
params: query
})
}
export function getQueryStatInfoMap(query) {
return request({
url: '/emis/emisWaybill/getQueryStatInfoMap',

View File

@ -51,6 +51,7 @@
@queryTable="getList"
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
:default-sort="{prop: 'orderNum', order: 'descending'}"
>
<div slot="toolbar">

View File

@ -394,7 +394,7 @@
<span>{{ scope.row.blUnpack == "1" ? "是" : "否" }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('操作员')" align="center" prop="createByName" min-width="150" />
<el-table-column :label="$t('创建人')" align="center" prop="createByName" min-width="150" />
<!-- <el-table-column :label="$t('票数')" align="center" prop="totalWaybillQty" min-width="100" /> -->
<el-table-column :label="$t('件数')" align="center" prop="totalParcelQty" min-width="100" />
<el-table-column :label="$t('合包重量')" align="center" prop="totalWeight" min-width="100" />

View File

@ -16,14 +16,25 @@
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-col :span="12">
<el-form-item :label="$t('实收')" prop="realFee" >
<el-input-number v-model="form.realFee" :min="1.00" :controls="false" :precision="2"></el-input-number>
<!-- <el-input v-model="form.realFee" oninput="value=value.replace(/[^0-9.]/g,'')" placeholder="" /> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="币种" prop="currency">
<el-select v-model="form.currency" placeholder="" >
<el-option
v-for="dict in dict.type.sys_currency_type.filter(item=> (item.value=='CNY' || item.value=='USD') )"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('首重费')" prop="initialWeightFee" >
<el-input-number v-model="form.initialWeightFee" :min="0.00" :controls="false" :precision="2"></el-input-number>
@ -69,7 +80,7 @@ export default {
}
},
components: { },
dicts: ['emis_fee_type'],
dicts: ['emis_fee_type','sys_currency_type'],
data() {
return {
emisWaybillFeeitemOptions: [],
@ -87,6 +98,9 @@ export default {
realFee: [
{ required: true, message: "费用不能为空", trigger: "blur" }
],
currency: [
{ required: true, message: "币种不能为空", trigger: "blur" }
],
}
};
},
@ -100,6 +114,9 @@ export default {
},
triggerCount(newVal){
this.initData();
},
feeList(newVal){
this.initData();
}
},
created() {
@ -118,9 +135,11 @@ export default {
this.reset();
this.feeTypeList=[];
this.feeMap = new Map();
if(this.feeList){
this.feeList.forEach(item => {
this.feeMap[item.feeCode]=item;
});
}
this.dict.type.emis_fee_type.forEach(item => {
if(!(item.value in this.feeMap)){
@ -141,7 +160,7 @@ export default {
feeName: null,
fee: null,
realFee: null,
currency: null,
currency: 'CNY',
initialWeightFee: 0,
addWeightPrice: 0,
blAutoGen: 0,

View File

@ -1,46 +1,5 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="mini" :maxShow="8" label-width="100px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-form-item label="录单日期" prop="dateTimeRange">
<elDateAdvPicker clearable v-model="dateTimeRange" @dateTimeChange="onDateSelect" ></elDateAdvPicker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="12">
<el-form-item label="寄件财务中心" prop="productType">
<EmisSiteSimplePicker1 v-model="queryParams.sendSiteCode" ></EmisSiteSimplePicker1>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="目的财务中心" prop="productType">
<EmisSiteSimplePicker3 v-model="queryParams.sendSiteCode" ></EmisSiteSimplePicker3>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="寄件网点" prop="productType">
<EmisSiteSimplePicker2 v-model="queryParams.sendSiteCode" ></EmisSiteSimplePicker2>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="目的网点" prop="dispatchUnderlingSiteCode">
<EmisSiteSimplePicker4 v-model="queryParams.dispatchUnderlingSiteCode" ></EmisSiteSimplePicker4>
</el-form-item>
</el-col>
</el-row>
</el-col>
</el-row>
</el-form>
<el-row :gutter="0" type='flex'>
<el-col :span="24" :xs="24">
@ -50,24 +9,89 @@
<el-tab-pane label="扫描数据统计" name="a3" />
<el-tab-pane label="全部明细统计" name="a4" />
</el-tabs>
<!-- <div v-show="activeTab==='areaPanel'">
<EmisCountryAreaPanel :countryCode="queryParams.countryCode"></EmisCountryAreaPanel>
</div> -->
</el-col>
</el-row>
<SearchForm :model="queryParams" ref="queryForm" size="mini" :maxShow="8" label-width="100px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
<el-form-item label="录单日期" prop="dateTimeRange">
<elDateAdvPicker clearable v-model="dateTimeRange" @dateTimeChange="onDateSelect" ></elDateAdvPicker>
</el-form-item>
<el-form-item label="寄件财务中心" prop="sendCenterCode">
<EmisSiteSimplePicker1 v-model="queryParams.sendCenterCode" :siteType="2" ></EmisSiteSimplePicker1>
</el-form-item>
<el-form-item label="寄件网点" prop="sendSiteCode">
<EmisSiteSimplePicker2 v-model="queryParams.sendSiteCode" ></EmisSiteSimplePicker2>
</el-form-item>
<el-form-item label="目的财务中心" prop="productType">
<EmisSiteSimplePicker3 v-model="queryParams.destinationCenterCode" ></EmisSiteSimplePicker3>
</el-form-item>
<el-form-item label="目的网点" prop="dispatchUnderlingSiteCode">
<EmisSiteSimplePicker4 v-model="queryParams.dispatchUnderlingSiteCode" ></EmisSiteSimplePicker4>
</el-form-item>
</SearchForm>
<div v-show="activeTab==='a1'">
<!-- 账单表 -->
<XdTable
v-loading="loading"
border
size="mini"
:data="sendStatList"
:showSearch.sync="showSearch"
:queryParams="queryParams"
:total="total"
@queryTable="getSendStatList"
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
@row-dblclick="handleSendDbClick"
>
<div slot="toolbar">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-col>
</el-row>
</div>
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="$t('录单日期')" align="center" prop="sendDate" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('寄件财务中心')" align="center" prop="sendCenterName" min-width="100" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('网点')" align="center" prop="sendSiteName" min-width="150" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('票数')" align="center" prop="totalNum" min-width="100" />
<el-table-column :label="$t('件数')" align="center" prop="totalParcelQty" min-width="100" />
<el-table-column :label="$t('结算重量')" align="center" prop="totalSettlementWeight" min-width="100" />
<el-table-column :label="$t('体积重量')" align="center" prop="totalVolumeWeight" min-width="100" />
</XdTable>
</div>
<!-- <div v-show="activeTab==='pcdPanel'">
<EmisPcdPanel :countryCode="queryParams.countryCode"></EmisPcdPanel>
</div> -->
<!-- <div v-show="activeTab==='townPanel'">
<EmisTownPanel :countryCode="queryParams.countryCode"></EmisTownPanel>
</div> -->
</el-col>
</el-row>
</div>
</template>
<script>
import { listEmisWaybill, getEmisWaybill, delEmisWaybill, addEmisWaybill, updateEmisWaybill } from "@/api/emis/emisWaybill";
import {
getSiteSendStatInfoMap,
getSiteDestStatInfoMap,
queryScanStatInfoDtlList,
} from "@/api/emis/emisWaybill";
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
import EmisSiteSimplePicker1 from '@/views/emis/EmisBaseTools/EmisSiteSimplePicker.vue';
@ -92,10 +116,10 @@ export default {
],
data() {
return {
tableHeight: 200,
activeTab:'a1',
// 遮罩层
loading: true,
loading: false,
// 选中数组
ids: [],
// 非单个禁用
@ -109,40 +133,17 @@ export default {
// 总条数
total: 0,
// 运单列表表格数据
emisWaybillList: [],
sendStatList:[],
destStatList:[],
currentId:null,
openForm: false,
titleForm: "",
billCode:null,
statDtlList:[],
queryOrderType:null,
queryOrderDateType:null,
// 弹出展示层
id:null,
titleView:"",
openView: false,
// 更新网点时间范围
daterangeOrderDate: [],
// 更新网点时间范围
daterangeEstimateDate: [],
// 更新网点时间范围
daterangePickStartDate: [],
// 更新网点时间范围
daterangePickFinishDate: [],
// 更新网点时间范围
daterangeDispFdDate: [],
// 更新网点时间范围
daterangeRegisterDate: [],
// 更新网点时间范围
daterangeSendDate: [],
// 更新网点时间范围
daterangeProduceBillDate: [],
// 更新网点时间范围
daterangeCreateTime: [],
// 更新网点时间范围
daterangeUpdateTime: [],
// 查询参数
queryParams: {
pageNum: 1,
@ -260,6 +261,7 @@ export default {
registerManCode: null,
takePieceEmployeeCode: null,
sendSiteCode: null,
sendCenterCode:null,
sendDate: null,
dispatchManCode: null,
dispatchDate: null,
@ -300,103 +302,33 @@ export default {
};
},
created() {
this.getList();
this.queryOrderType="1";
this.queryOrderDateType="1";
// 调整表格的高度,不允许滚动
this.$nextTick(function() {
let queryFormEl = this.$refs.queryForm.$el;
let tableH = queryFormEl.offsetHeight+190;
this.tableHeight = window.innerHeight - tableH;
});
},
methods: {
/** 查询运单列表列表 */
getList() {
getSendStatList() {
this.loading = true;
this.queryParams.params = {};
// this.queryOrderType="1";
// this.queryOrderDateType="1";
if(this.queryParams.billCode){
if(this.queryOrderType != "1"){
this.queryParams.orderSn=this.queryParams.billCode+"";
this.queryParams.billCode=null;
}else{
// 处理子单号
let billArr = this.queryParams.billCode.split(",");
let newBillCodeStr="";
billArr.forEach(item=>{
if(item.startsWith("T")){
let mainBillCode=item.substr(0,14);
newBillCodeStr=newBillCodeStr+mainBillCode+",";
}else{
newBillCodeStr=newBillCodeStr+item+",";
}
getSiteSendStatInfoMap(this.queryParams).then(response => {
this.sendStatList = response.rows;
this.total = response.total;
this.loading = false;
});
this.queryParams.billCode=newBillCodeStr;
},
}
}
if(this.dateTimeRange&&this.dateTimeRange.length==2){
getDestStatList() {
this.loading = true;
this.queryParams.params = {};
getSiteDestStatInfoMap(this.queryParams).then(response => {
this.sendStatList = response.rows;
this.total = response.total;
this.loading = false;
});
},
let startDate = new Date(this.dateTimeRange[0]);
let endDate= new Date(this.dateTimeRange[1]);
startDate=dateToStr(startDate);
endDate=dateToStr(endDate)
if(this.queryOrderDateType != "1"){
this.queryParams.params["beginCreateTime"] = startDate;
this.queryParams.params["endCreateTime"] = endDate;
}else{
this.queryParams.params["beginSendDate"] = startDate;
this.queryParams.params["endSendDate"] = endDate;
}
}
// if (null != this.daterangeOrderDate && '' != this.daterangeOrderDate) {
// this.queryParams.params["beginOrderDate"] = this.daterangeOrderDate[0];
// this.queryParams.params["endOrderDate"] = this.daterangeOrderDate[1];
// }
// if (null != this.daterangeEstimateDate && '' != this.daterangeEstimateDate) {
// this.queryParams.params["beginEstimateDate"] = this.daterangeEstimateDate[0];
// this.queryParams.params["endEstimateDate"] = this.daterangeEstimateDate[1];
// }
// if (null != this.daterangePickStartDate && '' != this.daterangePickStartDate) {
// this.queryParams.params["beginPickStartDate"] = this.daterangePickStartDate[0];
// this.queryParams.params["endPickStartDate"] = this.daterangePickStartDate[1];
// }
// if (null != this.daterangePickFinishDate && '' != this.daterangePickFinishDate) {
// this.queryParams.params["beginPickFinishDate"] = this.daterangePickFinishDate[0];
// this.queryParams.params["endPickFinishDate"] = this.daterangePickFinishDate[1];
// }
// if (null != this.daterangeDispFdDate && '' != this.daterangeDispFdDate) {
// this.queryParams.params["beginDispFdDate"] = this.daterangeDispFdDate[0];
// this.queryParams.params["endDispFdDate"] = this.daterangeDispFdDate[1];
// }
// if (null != this.daterangeRegisterDate && '' != this.daterangeRegisterDate) {
// this.queryParams.params["beginRegisterDate"] = this.daterangeRegisterDate[0];
// this.queryParams.params["endRegisterDate"] = this.daterangeRegisterDate[1];
// }
// if (null != this.daterangeSendDate && '' != this.daterangeSendDate) {
// this.queryParams.params["beginSendDate"] = this.daterangeSendDate[0];
// this.queryParams.params["endSendDate"] = this.daterangeSendDate[1];
// }
// if (null != this.daterangeProduceBillDate && '' != this.daterangeProduceBillDate) {
// this.queryParams.params["beginProduceBillDate"] = this.daterangeProduceBillDate[0];
// this.queryParams.params["endProduceBillDate"] = this.daterangeProduceBillDate[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];
// }
listEmisWaybill(this.queryParams).then(response => {
this.emisWaybillList = response.rows;
getScanDtlList() {
this.loading = true;
this.queryParams.params = {};
queryScanStatInfoDtlList(this.queryParams).then(response => {
this.scanStatDtlList = response.rows;
this.total = response.total;
this.loading = false;
});
@ -405,11 +337,14 @@ export default {
onDateSelect(value){
this.dateTimeRange=value;
// scanDate
},
handleSendDbClick(){
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.getSendStatList();
},
/** 重置按钮操作 */
resetQuery() {
@ -431,20 +366,6 @@ export default {
this.queryParams.isAsc = column.order;
this.getList();
},
/** 新增按钮操作 */
handleAdd(row) {
// <router-link :to="'/waybillManagement/waybillEntry?billCode=' + scope.row.billCode" class="link-type">
this.$router.push({ path: '/d24/waybillManagement/WaybillEntry', query: { action:"add"} });
},
/** 修改按钮操作 */
handleUpdate(row) {
// const waybill = this.emisWaybillList.find(item => item.id === id)
this.$router.push({ path: '/d24/waybillManagement/WaybillModify', query: { action:"modify",billCode: this.billCode }})
},
handleView(row) {
this.$router.push({ path: '/d24/waybillManagement/WaybillDetail', query: { billCode: this.billCode }})
},
handleFormChanged(){
this.openForm = false;
this.getList();

View File

@ -612,9 +612,14 @@
<el-table-column prop="feeName" :label="$t('收费项')" align="center" width="70">
<template slot-scope="scope">
<span style="font-weight:600;color:red">{{ scope.row.feeName }}</span>
<span style="font-weight:600;color:red">{{ scope.row.feeName }}({{scope.row.currency}})</span>
</template>
</el-table-column>
<!-- <el-table-column prop="feeName" :label="$t('币种')" align="center" width="50" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span><dict-tag :options="dict.type.sys_currency_type" :value="scope.row.currency"/></span>
</template>
</el-table-column> -->
<el-table-column prop="fee" :label="$t('应收')" align="center" width="50">
<template slot-scope="scope">
<span>{{ scope.row.fee }}</span>
@ -827,7 +832,7 @@ components: {
},
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
'emis_calc_fee_type','emis_print_type'],
'emis_calc_fee_type','emis_print_type','sys_currency_type'],
data() {
return {
activeNames:['1','2','3','4'],
@ -1019,6 +1024,9 @@ computed: {
created() {
this.action=this.$route.query.action;
if(!this.action){
this.action="add";
}
this.initData();
},
mounted() {
@ -1154,8 +1162,6 @@ methods: {
if(this.printerStatus == 1){
if(this.form.billCode){
let billCount=1;
let printDataList=[]
// 打印主单,子单
let orderList=[];
@ -1170,12 +1176,12 @@ methods: {
printDataList.push(customerItem);
// 主单
// let mainBillItem ={
// "tplCode":"TAN-GM-130",
// "printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
// "orderList":orderList.toString()
// }
// printDataList.push(mainBillItem);
let mainBillItem ={
"tplCode":"TAN-GM-130",
"printerName":this.$refs.tanexPrinter.getDefaultPrinter(),
"orderList":orderList.toString()
}
printDataList.push(mainBillItem);
// 打印子单
@ -1191,7 +1197,7 @@ methods: {
let item=subBillArr[i];
if(item!=null && item!=''){
childOrderList.push(item);
billCount=billCount+1;
// billCount=billCount+1;
}
}
@ -1204,6 +1210,7 @@ methods: {
printDataList.push(subBillItem);
}
let billCount=2+childOrderList.length;
// 预览主子单
this.$refs.tanexPrinter.printPreviewAdv(printDataList,billCount)
@ -1748,7 +1755,9 @@ methods: {
let totalFee=0;
if(this.form.feeItems&&this.form.feeItems.length>0){
this.form.feeItems.forEach(item=>{
totalFee=totalFee+parseInt(item.realFee);
totalFee=parseFloat(totalFee)+parseFloat(item.realFee);
console.log("===>totalFee==>:",totalFee);
});
}
this.form.freight = totalFee;
@ -1824,9 +1833,9 @@ methods: {
let calcFeeType=this.form.calcFeeType;
if(calcFeeType==3){
// calcFeeType=1;
calcFeeType=1;
// 不要重算费用
return;
// return;
}

View File

@ -612,9 +612,14 @@
<el-table-column prop="feeName" :label="$t('收费项')" align="center" width="70">
<template slot-scope="scope">
<span style="font-weight:600;color:red">{{ scope.row.feeName }}</span>
<span style="font-weight:600;color:red">{{ scope.row.feeName }}({{scope.row.currency}})</span>
</template>
</el-table-column>
<!-- <el-table-column prop="feeName" :label="$t('币种')" align="center" width="50" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span><dict-tag :options="dict.type.sys_currency_type" :value="scope.row.currency"/></span>
</template>
</el-table-column> -->
<el-table-column prop="fee" :label="$t('应收')" align="center" width="50">
<template slot-scope="scope">
<span>{{ scope.row.fee }}</span>
@ -683,8 +688,15 @@
</el-col>
<el-col :span="24">
<el-form-item :label="$t('总运费')" prop="freight" label-width="70px">
<el-input-number v-if="form.calcFeeType == 3" :min="0.00" v-model="form.freight" placeholder="" :controls="false" :precision="2"> </el-input-number>
<el-input v-else v-model="form.freight" disabled placeholder="" > </el-input>
<el-input-number v-if="form.calcFeeType == 3" :min="0.00" v-model="form.freight" placeholder="" :controls="false" :precision="2">
<span slot="suffix">(CNY)</span>
</el-input-number>
<el-input v-else v-model="form.freight" disabled placeholder="" >
<span slot="suffix">(CNY)</span>
</el-input>
</el-form-item>
<el-form-item :label="$t('汇率')" prop="exchangeRate" label-width="70px">
<ExchangeRatePanel from="USD" to="CNY" v-model="exchangeRate"></ExchangeRatePanel>
</el-form-item>
<el-form-item :label="$t('费用备注')" prop="feeRemark" label-width="70px">
<el-input v-model="form.feeRemark" type="textarea" maxlength="150"
@ -778,6 +790,9 @@ import WarehouseInNoPicker from '@/views/emis/EmisBaseTools/WarehouseInNoPicker.
import PayeePicker from '@/views/emis/EmisBaseTools/PayeePicker.vue';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import ExchangeRatePanel from '@/views/emis/EmisBaseTools/ExchangeRatePanel.vue';
import TransProductCasPicker from '@/views/emis/EmisBaseTools/TransProductCasPicker.vue';
@ -824,10 +839,11 @@ components: {
ProvincePicker2,
CityPicker2,
DistrictPicker2,
ExchangeRatePanel
},
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
'emis_calc_fee_type','emis_print_type'],
'emis_calc_fee_type','emis_print_type','sys_currency_type'],
data() {
return {
activeNames:['1','2','3','4'],
@ -1019,6 +1035,9 @@ computed: {
created() {
this.action=this.$route.query.action;
if(!this.action){
this.action="add";
}
this.initData();
},
mounted() {
@ -1729,7 +1748,6 @@ methods: {
handleCalcFeeItem(row){
console.log("===>handleCalcFeeItem==>",row);
if(row!=null){
if(row.calcExp){
let expr=row.calcExp;
@ -1737,17 +1755,17 @@ methods: {
expr=expr.replace("d",row.addWeightPrice);
expr=expr.replace("w",this.form.settlementWeight);
console.log("===>eval(expr):",eval(expr));
// console.log("===>eval(expr):",eval(expr));
row.realFee=parseFloat(eval(expr)).toFixed(2);
console.log("===>row.calcExp==>expr==>row.realFee:",row.calcExp,expr,row.realFee);
// console.log("===>row.calcExp==>expr==>row.realFee:",row.calcExp,expr,row.realFee);
}
}
let totalFee=0;
if(this.form.feeItems&&this.form.feeItems.length>0){
this.form.feeItems.forEach(item=>{
totalFee=totalFee+parseInt(item.realFee);
totalFee=parseFloat(totalFee)+parseFloat(item.realFee);
});
}
this.form.freight = totalFee;
@ -1823,9 +1841,9 @@ methods: {
let calcFeeType=this.form.calcFeeType;
if(calcFeeType==3){
// calcFeeType=1;
calcFeeType=1;
// 不要重算费用
return;
// return;
}

View File

@ -790,7 +790,22 @@
</el-col>
</el-row>
</el-col>
<el-col :span="24" v-if="billDetail.freight!=form.freight">
<el-col :span="24" >
<el-row :gutter="0" class="md-row">
<el-col :span="3" class="md-title">
<span style="font-weight:600">特殊报价调整</span>
</el-col>
<el-col :span="7" class="md-value">
<span v-if="billDetail.blSpecialQuote==1" >是</span>
<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-col>
</el-row>
</el-col>
<!-- v-if="applyType&&(applyTypeArr.includes('36'))" -->
<el-col :span="24" >
<el-row :gutter="0" class="md-row">
<el-col :span="3" class="md-title">
<span style="font-weight:600">费用明细变化</span>
@ -819,11 +834,32 @@
<span style="font-weight:600;color:red">{{ scope.row.feeName }}</span>
</template>
</el-table-column>
<el-table-column prop="fee" :label="$t('应收')" align="center" width="50">
<template slot-scope="scope">
<span>{{ scope.row.fee }}</span>
</template>
</el-table-column>
<el-table-column prop="initialWeightFee" :label="$t('首重费')" align="center" width="60">
<template slot-scope="scope">
<div > {{scope.row.initialWeightFee}} </div>
</template>
</el-table-column>
<el-table-column prop="addWeightPrice" :label="$t('续重单价')" align="center" width="70">
<template slot-scope="scope">
<div> {{scope.row.addWeightPrice}} </div>
</template>
</el-table-column>
<el-table-column prop="realFee" :label="$t('实收')" align="center" width="50">
<template slot-scope="scope">
<div> {{scope.row.realFee}} </div>
</template>
</el-table-column>
<el-table-column prop="remark" :label="$t('描述')" align="center" min-width="50">
<template slot-scope="scope">
<div> {{scope.row.remark}} </div>
</template>
</el-table-column>
</el-table>
</el-col>
<el-col :span="14" style="text-align: center">
@ -851,14 +887,76 @@
<span style="font-weight:600;color:red">{{ scope.row.feeName }}</span>
</template>
</el-table-column>
<el-table-column prop="fee" :label="$t('币种')" align="center" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_currency_type" :value="scope.row.currency"/>
</template>
</el-table-column>
<el-table-column prop="fee" :label="$t('应收')" align="center" width="50">
<template slot-scope="scope">
<span>{{ scope.row.fee }}</span>
</template>
</el-table-column>
<el-table-column prop="initialWeightFee" :label="$t('首重费')" align="center" width="60">
<template slot-scope="scope">
<el-input-number v-if="form.blSpecialQuote==1" v-model="scope.row.initialWeightFee" @input="(val)=>handleCalcFeeItem(scope.row)" size="mini" placeholder="" :min="0.00" :controls="false" :precision="2"></el-input-number>
<div v-else> {{scope.row.initialWeightFee}} </div>
</template>
</el-table-column>
<el-table-column prop="addWeightPrice" :label="$t('续重单价')" align="center" width="70">
<template slot-scope="scope">
<el-input-number v-if="form.blSpecialQuote==1" v-model="scope.row.addWeightPrice" @input="(val)=>handleCalcFeeItem(scope.row)" size="mini" placeholder="" :min="0.00" :controls="false" :precision="2"></el-input-number>
<div v-else> {{scope.row.addWeightPrice}} </div>
</template>
</el-table-column>
<el-table-column prop="realFee" :label="$t('实收')" align="center" width="50">
<template slot-scope="scope">
<div> {{scope.row.realFee}} </div>
<el-input-number v-if="form.blSpecialQuote==1" v-model="scope.row.realFee" @input="(val)=>handleCalcFeeItem(scope.row)" size="mini" placeholder="" :min="0.00" :controls="false" :precision="2"></el-input-number>
<div v-else> {{scope.row.realFee}} </div>
</template>
</el-table-column>
<el-table-column prop="remark" :label="$t('描述')" align="center" min-width="50">
<template slot-scope="scope">
<el-input v-if="form.blSpecialQuote==1" v-model="scope.row.remark" size="mini" placeholder=""></el-input>
<div v-else> {{scope.row.remark}} </div>
</template>
</el-table-column>
<el-table-column :label="$t('操作')" align="center" width="50">
<template slot-scope="scope">
<span class="icon iconfont"
style="cursor: pointer;font-size: 21px;color: #6e6e6e;"
v-if="scope.row.blAutoGen==0"
@click="()=>deleteFeeItem(scope.row)">&#xe7ae;</span>
</template>
</el-table-column>
</el-table>
<div>
<el-popover
trigger="click"
ref="popoverFeeRef"
placement="top"
:width="450"
effect="light"
:show-arrow="false"
>
<feeItemForm :triggerCount="triggerCount" :feeList="this.form.feeItems" @on-changed="onFeeItemChange" @on-cancel="onFeeItemChange"></feeItemForm>
<el-button
slot="reference"
style="padding: 0px;font-size: 12px;"
size="mini"
type="text"
icon="el-icon-plus"
>{{ $t('增加自定义费用') }}</el-button>
</el-popover>
<!-- @click="handleAddFee" -->
</div>
</el-col>
</el-row>
@ -930,6 +1028,9 @@ import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import TransProductCasPicker from '@/views/emis/EmisBaseTools/TransProductCasPicker.vue';
import feeItemForm from '@/views/emis/emisWaybill/feeItemForm.vue';
import { debounce } from 'throttle-debounce'
import { deepClone } from '@/utils/index'
@ -978,14 +1079,14 @@ export default {
ProvincePicker2,
CityPicker2,
DistrictPicker2,
feeItemForm
},
dicts: ['emis_qujian_fangshi','emis_declare_mode','emis_customs_clear',
'emis_tab_packing_type','emis_tab_dispatch_mode','emis_payment_type',
'emis_calc_fee_type','emis_print_type'],
'emis_calc_fee_type','emis_print_type','sys_currency_type'],
data() {
return {
triggerCount:0,
activeNames:['1','2','3','4'],
emisWaybillAjustApplyOptions: [],
@ -1175,6 +1276,41 @@ export default {
this.initData();
},
methods: {
handleAddFee(){
this.triggerCount++;
},
onFeeItemChange(item){
this.$refs.popoverFeeRef.doClose();
if(item!=null){
let newItem=Object.assign({},item)
if(!this.form.feeItems){
this.form.feeItems=[];
}
this.form.feeItems.push(newItem);
this.handleCalcFeeItem();
}
},
deleteFeeItem(row){
if(row.blAutoGen==1){
this.$message('不允许删除!')
return;
}
this.$confirm('确定删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let newList = this.form.feeItems.filter(item => item.feeCode !== row.feeCode);
console.log("======>newList===>",newList)
this.form.feeItems=newList;
}).catch(() => {
})
},
onSelectMonthUser(item){
if(item!=null){
this.form.payee=item.payee;
@ -1614,8 +1750,6 @@ export default {
calcFeeType=1;
}
let postData={
productType: this.form.productType,
customerCode: this.form.customerCode,
@ -1705,6 +1839,7 @@ export default {
}
.cargoList{
.el-input__inner {
height: 28px;
@ -1715,6 +1850,30 @@ export default {
padding: 0px;
text-align: center;
}
.el-table .cell{
padding:0px!important;
}
// .el-input-number--mini {
// width: 100%;
// line-height: 26px;
// }
.el-input-number {
width: 100%!important;
}
.el-input-number.is-without-controls .el-input__inner {
height: 28px;
line-height: 28px;
border: none;
background: #ffffcd;
font-size: 10px;
padding: 0px;
text-align: center;
}
}
</style>