Commit 9309313e authored by 邓春圆's avatar 邓春圆

Merge remote-tracking branch 'origin/release2.2' into release2.2

parents d5be20e0 68e231cc
......@@ -795,3 +795,12 @@ export function orderDetailSummary(orderId){
method: 'get'
})
}
// 自编号的订单费用汇总
export function orderSummaryByContainerNumber(params){
return request({
url: '/ecw/orderCount/containerNumber/orderSummary',
method: 'get',
params
})
}
......@@ -1181,7 +1181,7 @@
"待收款": "Payment Unreceived",
"请输入唛头": "Please enter shipping mark",
"收款": "Receipt",
"收款单": "receipt",
"收款单": "Collection Note",
"商品名称": "product name",
"请输入商品名称": "Please enter a product name",
"收款类型": "Receipt Type",
......@@ -4040,5 +4040,6 @@
"码头": "wharf",
"保费币种": "Premium Currency",
"是否支持控货": "Does it support controlling goods",
"默认送货上门": "Default door-to-door delivery"
"默认送货上门": "Default door-to-door delivery",
"广州市捷道国际货运代理有限公司": "E&C LOGISTICS LIMITED"
}
......@@ -120,6 +120,7 @@ export const DICT_TYPE = {
ECW_CUSTOMER_TRANSPORT_TYPE: 'customer_transport_type', // 客户出货渠道(跟运输方式相同,但是显示全部)
ECW_ORDER_APPROVAL_TYPE: 'order_approval_type', // 订单相关审批类型
ECW_FEE_SOURCE: 'fee_source', // 费用来源
RECEIPT_FEE_TYPE:'receipt_fee_type',
//--------ecw---------
CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source',
......
......@@ -370,7 +370,7 @@ export default {
});
});
})
.catch((_) => {
.catch((action) => {
if(action =='cancel'){
createGoods({ ...params, relationStatus: 2, singleLoad: true }).then((res) => {
serviceMsg(res, this).then(() => {
......
......@@ -724,7 +724,7 @@ export default {
});
});
})
.catch((_) => {
.catch((action) => {
if(action =='cancel'){
createGoods({ ...params, relationStatus: 2, singleLoad: true }).then((res) => {
serviceMsg(res, this).then(() => {
......
......@@ -2,7 +2,11 @@
<div class="app-container" >
<div id="print" style="font-size: 18px;">
<div style="text-align: center;font-weight: bold;font-size: 26px;padding: 22px 0;border-top: 1px solid #666;border-left:1px solid #666;border-right: 1px solid #666;">{{$t('捷道货运收款单')}}</div>
<div style="position:relative;text-align: center;font-weight: bold;font-size: 26px;padding: 22px 0;border-top: 1px solid #666;border-left:1px solid #666;border-right: 1px solid #666;">
<div style="position:absolute;left:4px;top:4px">{{$t('广州市捷道国际货运代理有限公司')}}
</div>
<span>{{$t('收款单')}}</span>
</div>
<table border="1" style="width: 100%;text-align: center;border-collapse: collapse; ">
<tr>
<td style="font-weight: bold;width:12.5%">{{$t('部门')}}</td>
......@@ -27,20 +31,20 @@
<th style="width: 12.5%;">{{$t('序号')}}</th>
<th style="width: 12.5%;">{{$t('提单号')}}</th>
<th style="width: 12.5%;">{{$t('订单号')}}</th>
<th style="width: 12.5%;">{{$t('品名')}}</th>
<!-- <th style="width: 12.5%;">{{$t('品名')}}</th> -->
<th style="width: 12.5%;">{{$t('收入类型')}}</th>
<th style="width: 12.5%;">{{$t('金额')}}</th>
<th style="width: 12.5%;">{{$t('币种')}}</th>
<th style="width: 12.5%;">{{$t('金额')}}</th>
<th style="width: 12.5%;">{{$t('优惠金额')}}</th>
</tr>
<tr v-for="(item, index) in list" :key="index">
<tr v-for="(item, index) in list" :key="item.id">
<td>{{ index + 1 }}</td>
<td>{{ orderData.tidanNo||''}}</td>
<td>{{ item.orderNo }}</td>
<td>{{ $i18n.locale=='zh_CN'?item.titleZh:item.titleEn }}</td>
<td><dict-tag :value="item.feeType" :type="DICT_TYPE.FEE_TYPE"></dict-tag></td>
<td> {{item.totalAmount}}</td>
<!-- <td>{{ $i18n.locale=='zh_CN'?item.titleZh:item.titleEn }}</td> -->
<td><dict-tag :value="item.feeType" :type="DICT_TYPE.RECEIPT_FEE_TYPE"></dict-tag></td>
<td>{{getCurrencyLabel(item.currencyId)}}</td>
<td> {{item.totalAmount}}</td>
<td>{{ item.discountTotal||0 }}</td>
</tr>
<tr v-for="(items, indexs) in receiptAccountList" :key="indexs">
......
......@@ -10,13 +10,13 @@
class="card"
>
<el-form-item :label="$t('编号')">
<el-input v-model="queryParams.selfNo" clearable placeholder="订单号、唛头、提单号"></el-input>
<el-input v-model="queryParams.numberKey" clearable placeholder="订单号、唛头、提单号"></el-input>
</el-form-item>
<el-form-item :label="$t('发货人')">
<el-input v-model="queryParams.fhr" placeholder="发货人名称、手机号"></el-input>
<el-input v-model="queryParams.consignorKey" placeholder="发货人名称、手机号"></el-input>
</el-form-item>
<el-form-item :label="$t('收货人')">
<el-input v-model="queryParams.fhr" placeholder="收货人名称、手机号"></el-input>
<el-input v-model="queryParams.consigneeKey" placeholder="收货人名称、手机号"></el-input>
</el-form-item>
<el-form-item>
......@@ -29,13 +29,13 @@
>
</el-date-picker>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId" v-if="!transportId">
<!--<el-form-item :label="$t('运输方式')" prop="transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery"/>
</el-form-item>
</el-form-item>-->
<el-form-item :label="$t('始发仓')">
<el-select v-model="queryParams.warehouseId" placeholder="请选择" clearable>
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择" clearable>
<el-option
v-for="item in warehouseList"
v-for="item in exportWarehouseList"
:key="item.id"
:label="$l(item, 'title')"
:value="item.id"
......@@ -43,9 +43,9 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')">
<el-select v-model="queryParams.destinationWarehouseId" placeholder="请选择" clearable>
<el-select v-model="queryParams.dstWarehouseId" placeholder="请选择" clearable>
<el-option
v-for="item in warehouseList"
v-for="item in importWarehouseList"
:key="item.id"
:label="$l(item, 'title')"
:value="item.id"
......@@ -76,128 +76,128 @@
{{index + 1}}
</template>
</el-table-column>
<el-table-column :label="$t('订单号')" width="150" prop="orderNo" />
<el-table-column :label="$t('唛头')" width="150" prop="mark" />
<el-table-column :label="$t('始发仓')" width="150" prop="warehouseName" />
<el-table-column :label="$t('运输方式/目的地')" width="150">
<template slot-scope="{row}">
<div>{{row.transportName}}/{{row.destinationCountryName}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('仓库实测')" width="150">
<el-table-column :label="$t('订单号')" prop="orderNo" />
<el-table-column :label="$t('唛头')" prop="marks" />
<el-table-column :label="$t('始发仓')" prop="startWarehouseName" />
<el-table-column :label="$t('运输方式') + '/' + $t('目的地')">
<template slot-scope="{row}">
<div>{{row.warehouseMeasure}}</div>
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="row.transportId"></dict-tag>
/{{row.objectiveName}}
</template>
</el-table-column>
<el-table-column :label="$t('是否重泡货')" width="150">
<el-table-column :label="$t('仓库实测')">
<template slot-scope="{row}">
<div>{{row.isHeavyBubble | dict(DICT_TYPE.YES_NO)}}</div>
{{row.sumNum}}{{$t('')}},{{row.sumVolume}}m³,{{row.sumWeight}}kg
</template>
</el-table-column>
<el-table-column :label="$t('收费数据')" width="150">
<el-table-column :label="$t('是否重泡货')">
<template slot-scope="{row}">
<div>{{row.chargeData}}</div>
<!--1 普货 2 重货 3 泡货-->
<dict-tag :type="DICT_TYPE.ECW_YESNO" :value="row.itemType != 1 ? '1' : '0'"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('订单状态')" width="150">
<el-table-column :label="$t('收费数据')">
<template slot-scope="{row}">
<div>{{row.status | dict(DICT_TYPE.ORDER_STATUS)}}</div>
{{row.realityChargeNum}}{{$t('')}},{{row.realityChargeVolume}}m³,{{row.realityChargeWeight}}kg
</template>
</el-table-column>
<el-table-column :label="$t('应收总金额')" width="150">
<el-table-column :label="$t('订单状态')" prop="statusMsg"></el-table-column>
<el-table-column :label="$t('应收总金额')">
<template slot-scope="{row}">
<div>{{row.totalAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('订单优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.orderDiscountAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('实收总金额')" width="150">
<template slot-scope="{row}">
<div>{{row.actualTotalAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('已收总金额')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedTotalAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('应收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.freightAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('运费优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.freightDiscountAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('实收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.actualFreightAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('已收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedFreightAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('应收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.customsClearanceAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('实收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.actualCustomsClearanceAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('清关费优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.customsClearanceDiscountAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('已收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedCustomsClearanceAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('应收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.storageAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('实收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.actualStorageAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('额外费用优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.storageDiscountAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('已收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedStorageAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('是否全部核销')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
<span v-if="row.writeOffRatio >= 100">{{$t('全部核销')}}</span>
<span v-else-if="row.writeOffRatio > 0">{{$t('部分核销')}}</span>
<span v-else>{{$t('未核销')}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" prop="name"></el-table-column>
<el-table-column :label="$t('客户经理')" prop="name">// TODO</el-table-column>
<el-table-column :label="$t('订单入仓时间')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
// TODO
</template>
</el-table-column>
<el-table-column :label="$t('订单装柜时间')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
// TODO
</template>
</el-table-column>
</el-table>
......@@ -215,12 +215,13 @@
import { getTradeCityList } from "@/api/ecw/region";
import { getCurrencyPage } from "@/api/ecw/currency";
import {getWarehouseList} from '@/api/ecw/warehouse'
import Template from "@/views/cms/template/index.vue";
import store from "@/store";
import UserSelector from "@/components/UserSelector/index.vue";
import {orderSummaryByContainerNumber} from "@/api/ecw/order";
import {DICT_TYPE} from "@/utils/dict";
export default {
components: {UserSelector, Template},
components: {UserSelector},
data() {
return {
loading: false, // 加载中
......@@ -248,6 +249,9 @@ export default {
getWarehouseList().then(res => this.warehouseList = res.data)
},
computed: {
DICT_TYPE() {
return DICT_TYPE
},
permissions(){
return store.getters.permissions
},
......@@ -259,10 +263,10 @@ export default {
},
exportWarehouseList(){
/* tradeType 1 进口,2出口,3进出口 */
return this.warehouseList.filter(item => item.tradeType === 2 || item.tradeType === 3)
return this.warehouseList.filter(item => +item.tradeType === 2 || +item.tradeType === 3)
},
importWarehouseList(){
return this.warehouseList.filter(item => item.tradeType === 1 || item.tradeType === 3)
return this.warehouseList.filter(item => +item.tradeType === 1 || +item.tradeType === 3)
},
},
methods: {
......@@ -273,27 +277,30 @@ export default {
},
/** 查询列表 */
getList() {
return false
this.loading = true;
let params = {...this.queryParams}
this.addBeginAndEndTime(params, this.dateType, "createTime");
let params = {...this.queryParams, containerNumber: this.$route.query.containerNumber}
this.addBeginAndEndTime(params, this.dateFilter, this.dateFilterType, false);
// 执行查询
/* TODO getListApi(params).then((response) => {
orderSummaryByContainerNumber(params).then((response) => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});*/
});
},
/** 搜索按钮操作 */
handleQuery() {
this.$refs['queryForm'].resetFields()
this.queryParams.page = 1;
// TODO 重置结算时间
this.getList();
},
handleReset(){
this.$refs['queryForm'].resetFields()
this.dateFilter = []
this.dateFilterType = ''
this.handleQuery()
},
// 导出搜索
handleExport(){
// TODO 导出搜索
this.$alert('// TODO')
}
},
};
......
<template>
<el-dialog visible width="1500px" title="NG23022222L费用汇总" :before-close="close">
<el-card>
<el-card v-if="orderSummary">
<span slot="header" class="header-title">{{$t('订单收费汇总')}}</span>
<el-descriptions :column="4">
<el-descriptions-item :label="$t('应收运费')"></el-descriptions-item>
<el-descriptions-item :label="$t('应收清关费')"></el-descriptions-item>
<el-descriptions-item :label="$t('应收额外费用')"></el-descriptions-item>
<el-descriptions-item :label="$t('应收总金额')"></el-descriptions-item>
<el-descriptions-item :label="$t('实收运费')"></el-descriptions-item>
<el-descriptions-item :label="$t('实收清关费')"></el-descriptions-item>
<el-descriptions-item :label="$t('实收额外费用')"></el-descriptions-item>
<el-descriptions-item :label="$t('实收总额')"></el-descriptions-item>
<el-descriptions-item :label="$t('运费优惠金额')"></el-descriptions-item>
<el-descriptions-item :label="$t('清关费优惠金额')"></el-descriptions-item>
<el-descriptions-item :label="$t('额外费用优惠金额')"></el-descriptions-item>
<el-descriptions-item :label="$t('订单优惠金额')"></el-descriptions-item>
<el-descriptions-item :label="$t('已核销总金额')"></el-descriptions-item>
<el-descriptions-item :label="$t('已核销比例')"></el-descriptions-item>
<el-descriptions-item :label="$t('应收运费')">
{{orderSummary.receivableFreightFee}}{{currencyMap[orderSummary.seaFreightCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('应收清关费')">
{{orderSummary.receivableClearanceFee}}{{currencyMap[orderSummary.clearanceFreightCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('应收额外费用')">
{{orderSummary.receivableOtherFee}}{{currencyMap[orderSummary.otherFeeCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('应收总金额')">
{{orderSummary.receivableTotalAmount}}{{currencyMap[orderSummary.writeOffCurrencyId]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('实收运费')">
{{orderSummary.netReceiptsFreightFee}}{{currencyMap[orderSummary.seaFreightCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('实收清关费')">
{{orderSummary.netReceiptsClearanceFee}}{{currencyMap[orderSummary.clearanceFreightCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('实收额外费用')">
{{orderSummary.netReceiptsOtherFee}}{{currencyMap[orderSummary.otherFeeCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('实收总额')">
{{orderSummary.netReceiptsTotalAmount}}{{currencyMap[orderSummary.writeOffCurrencyId]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('运费优惠金额')">
{{orderSummary.discountFreightTotalPrice}}{{currencyMap[orderSummary.seaFreightCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('清关费优惠金额')">
{{orderSummary.discountClearanceFee}}{{currencyMap[orderSummary.clearanceFreightCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('额外费用优惠金额')">
{{orderSummary.discountOtherFee}}{{currencyMap[orderSummary.otherFeeCurrency]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('订单优惠金额')">
{{orderSummary.discountTotalAmount}}{{currencyMap[orderSummary.writeOffCurrencyId]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('已核销总金额')">
{{orderSummary.writeOffAmount}}{{currencyMap[orderSummary.writeOffCurrencyId]}}
</el-descriptions-item>
<el-descriptions-item :label="$t('已核销比例')">
{{orderSummary.writeOffRatio}}%
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-10">
<el-card class="mt-10" v-if="orderSummary">
<span slot="header">{{$t('入仓信息')}}</span>
<!--仓库实测,是否重货,原重货标准,原收费数据
优惠重货标准,实际收费数据,货值-->
<el-descriptions :column="4">
<el-descriptions-item :label="$t('仓库实测')"></el-descriptions-item>
<el-descriptions-item :label="$t('是否重货')"></el-descriptions-item>
<el-descriptions-item :label="$t('原重货标准')"></el-descriptions-item>
<el-descriptions-item :label="$t('原收费数据')"></el-descriptions-item>
<el-descriptions-item :label="$t('优惠重货标准')"></el-descriptions-item>
<el-descriptions-item :label="$t('实际收费数据')"></el-descriptions-item>
<el-descriptions-item :label="$t('货值')"></el-descriptions-item>
<el-descriptions-item :label="$t('仓库实测')">
<span>{{orderSummary.sumNum}}{{$t('')}}</span>
<span class="ml-5">{{orderSummary.sumVolume}}</span>
<span class="ml-5">{{orderSummary.sumWeight}}kg</span>
<span class="ml-5" v-if="orderSummary.sumQuantity">{{orderSummary.sumQuantity}}{{$t('')}}</span>
</el-descriptions-item>
<el-descriptions-item :label="$t('是否重货')">
<!--1 普货 2 重货 3 泡货-->
<dict-tag :type="DICT_TYPE.ECW_YESNO" :value="orderSummary.itemType != 1 ? '1' : '0'"></dict-tag>
</el-descriptions-item>
<el-descriptions-item :label="$t('原重货标准')" v-if="[1,2].indexOf(orderSummary.transportId) > -1">
{{orderSummary.orgWeightUnit}}KG/m³
</el-descriptions-item>
<el-descriptions-item :label="$t('原泡货标准')" v-else>
{{orderSummary.orgVolumeUnit}}kg/m³
</el-descriptions-item>
<el-descriptions-item :label="$t('原收费数据')">
<span>{{orderSummary.orgChargeNum}}{{$t('')}}</span>
<span class="ml-5">{{orderSummary.orgChargeVolume}}</span>
<span class="ml-5">{{orderSummary.orgChargeWeight}}kg</span>
<span class="ml-5" v-if="orderSummary.orgChargeQuantity">{{orderSummary.orgChargeQuantity}}{{$t('')}}</span>
</el-descriptions-item>
<el-descriptions-item :label="$t('优惠重货标准')" v-if="[1,2].indexOf(orderSummary.transportId) > -1">
{{orderSummary.weightUnit}}KG/m³
</el-descriptions-item>
<el-descriptions-item :label="$t('优惠泡货标准')" v-else>
{{orderSummary.volumeUnit}}kg/m³
</el-descriptions-item>
<el-descriptions-item :label="$t('实际收费数据')">
<span>{{orderSummary.realityChargeNum}}{{$t('')}}</span>
<span class="ml-5">{{orderSummary.realityChargeVolume}}</span>
<span class="ml-5">{{orderSummary.realityChargeWeight}}kg</span>
<span class="ml-5" v-if="orderSummary.realityChargeQuantity">{{orderSummary.realityChargeQuantity}}{{$t('')}}</span>
</el-descriptions-item>
<el-descriptions-item :label="$t('货值')">
{{orderSummary.totalWorth}}{{currencyMap[orderSummary.worthCurrency]}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-10" v-if="orderDetailSummary">
......@@ -189,14 +247,14 @@
<el-table-column :label="$t('特需类型')">
<template slot-scope="{row}">
<!--<dict-tag :type="DICT_TYPE.ORDER_SPECIAL_NEEDS" value="row."></dict-tag>-->
<dict-tag :type="DICT_TYPE.FEE_TYPE" value="row.feeType"></dict-tag>
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="row.feeType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('金额')" prop="realityTotalAmount">
<!--<el-table-column :label="$t('金额')" prop="realityTotalAmount">
<template slot-scope="{row}">
TODO {{currencyMap[row.currencyId]}}
</template>
</el-table-column>
</el-table-column>-->
<el-table-column :label="$t('付款类型')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance"></dict-tag>
......@@ -210,7 +268,7 @@
</el-table-column>
<el-table-column :label="$t('收款优惠金额')" width="120" prop="discountFee">
<template slot-scope="{row}">
{{row.discountTotal}}{{currencyMap[row.currencyId]}}
{{row.discountTotal || 0}}{{currencyMap[row.currencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('实收美元金额')" width="120" prop="realFee">
......@@ -223,7 +281,7 @@
<dict-tag :type="DICT_TYPE.ECW_RECEIVABLE_STATE" :value="row.state"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('申请人')" prop="author"></el-table-column>
<el-table-column :label="$t('申请人')" prop="authorName"></el-table-column>
<el-table-column :label="$t('申请时间')" prop="applyTime">
<template slot-scope="{row}">{{row.createTime|parseTime}}</template>
</el-table-column>
......@@ -231,53 +289,125 @@
</el-card>
<el-card class="mt-10">
<span slot="header">{{$t('费用申请')}}</span>
<el-table :data="[]" show-summary :summary-method="getSpecialSummaries">
<el-table-column :label="$t('费用类型')" width="120" prop="type"></el-table-column>
<el-table-column :label="$t('金额')" width="120" prop="fee"></el-table-column>
<el-table-column :label="$t('付款类型')" width="120" prop="payType"></el-table-column>
<el-table-column :label="$t('备注')" width="120" prop="remark"></el-table-column>
<el-table-column :label="$t('应收金额')" width="120" prop="shouldFee"></el-table-column>
<el-table-column :label="$t('收款优惠金额')" width="120" prop="discountFee"></el-table-column>
<el-table-column :label="$t('实收金额')" width="120" prop="realFee"></el-table-column>
<el-table-column :label="$t('确认收款')" width="120" prop="confirm"></el-table-column>
<el-table-column :label="$t('申请人')" width="120" prop="applyUser"></el-table-column>
<el-table-column :label="$t('申请时间')" width="120" prop="applyTime"></el-table-column>
<el-table :data="feeApplicationList" show-summary :summary-method="getFeeApplicationSummaries">
<el-table-column :label="$t('费用类型')" prop="feeType">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="row.feeType"></dict-tag>
</template>
</el-table-column>
<!--<el-table-column :label="$t('金额')" prop="fee">
<template slot-scope="{row}">
TODO {{currencyMap[row.currencyId]}}
</template>
</el-table-column>-->
<el-table-column :label="$t('付款类型')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('备注')" prop="remark"></el-table-column>
<el-table-column :label="$t('应收金额')">
<template slot-scope="{row}">
{{row.receivableTotalAmount}}{{currencyMap[row.currencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('收款优惠金额')">
<template slot-scope="{row}">
{{row.discountTotal || 0}}{{currencyMap[row.currencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('实收金额')">
<template slot-scope="{row}">
{{row.realityTotalAmount}}{{currencyMap[row.currencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('确认收款')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_RECEIVABLE_STATE" :value="row.state"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('申请人')" prop="author"></el-table-column>
<el-table-column :label="$t('申请时间')">
<template slot-scope="{row}">
{{row.createTime|parseTime}}
</template>
</el-table-column>
</el-table>
</el-card>
<el-card class="mt-10">
<span slot="header">{{$t('优惠活动')}}</span>
<el-table :data="[]">
<el-table-column :label="$t('优惠ID')" width="120" prop="id"></el-table-column>
<el-table-column :label="$t('优惠名称')" width="120" prop="name"></el-table-column>
<el-table-column :label="$t('类型')" width="120" prop="type"></el-table-column>
<el-table-column :label="$t('运费优惠')" width="120" prop="fee"></el-table-column>
<el-table-column :label="$t('清关费优惠')" width="120" prop="clearFee"></el-table-column>
<el-table-column :label="$t('优惠ID')" width="100" prop="couponId"></el-table-column>
<el-table-column :label="$t('优惠名称')" width="120">
<template slot-scope="{row}">{{$l(row, 'title')}}</template>
</el-table-column>
<el-table-column :label="$t('类型')" prop="type">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('运费优惠')" prop="fee">
<template slot-scope="{row}">
{{row.freightReduceAmount}}{{currencyMap[row.freightReduceCurrencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('清关费优惠')" prop="clearFee">
<template slot-scope="{row}">
{{row.clearanceReduceAmount}}{{currencyMap[row.clearanceReduceCurrencyId]}}
</template>
</el-table-column>
</el-table>
</el-card>
<el-card class="mt-10">
<span slot="header">{{$t('特价折扣')}}</span>
<el-table :data="[]">
<el-table-column :label="$t('商品类型')" width="120" prop="type"></el-table-column>
<el-table-column :label="$t('商品名称')" width="120" prop="name"></el-table-column>
<el-table-column :label="$t('英文名称')" width="120" prop="enName"></el-table-column>
<el-table-column :label="$t('线路')" width="120" prop="line"></el-table-column>
<el-table-column :label="$t('是否预付')" width="120" prop="isPrepay"></el-table-column>
<el-table-column :label="$t('旧运费')" width="120" prop="oldFee"></el-table-column>
<el-table-column :label="$t('新运费')" width="120" prop="newFee"></el-table-column>
<el-table-column :label="$t('旧清关费')" width="120" prop="oldClearFee"></el-table-column>
<el-table-column :label="$t('新清关费')" width="120" prop="newClearFee"></el-table-column>
<el-table-column :label="$t('申请人')" width="120" prop="applyUser"></el-table-column>
<el-table-column :label="$t('申请时间')" width="120" prop="applyTime"></el-table-column>
<el-table-column :label="$t('商品类型')" prop="prodType"></el-table-column>
<el-table-column :label="$t('商品名称')" prop="prodTitleEn"></el-table-column>
<el-table-column :label="$t('英文名称')" prop="prodTitleEn"></el-table-column>
<!--<el-table-column :label="$t('线路')" width="120" prop="line">
</el-table-column>-->
<el-table-column :label="$t('是否预付')" width="120" prop="isPrepay">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('旧运费')">
<template slot-scope="{row}">
{{row.orgFreight}}{{currencyMap[row.freightCurrency]}}
</template>
</el-table-column>
<el-table-column :label="$t('新运费')">
<template slot-scope="{row}">
{{row.freight}}{{currencyMap[row.freightCurrency]}}
</template>
</el-table-column>
<el-table-column :label="$t('旧清关费')">
<template slot-scope="{row}">
{{row.orgClearanceFreight}}{{currencyMap[row.clearanceFreightCurrency]}}
</template>
</el-table-column>
<el-table-column :label="$t('新清关费')">
<template slot-scope="{row}">
{{row.clearanceFreight}}{{currencyMap[row.clearanceFreightCurrency]}}
</template>
</el-table-column>
<el-table-column :label="$t('申请人')">TODO</el-table-column>
<el-table-column :label="$t('申请时间')">
<template slot-scope="{row}">
{{row.createTime|parseTime}}
</template>
</el-table-column>
</el-table>
</el-card>
</el-dialog>
</template>
<script>
import {orderDetailSummary, orderSummary} from "@/api/ecw/order";
import {DICT_TYPE} from "@/utils/dict";
import Price from "@/views/ecw/order/components/price.vue";
import {parseTime} from "@/utils/ruoyi";
import Decimal from "decimal.js";
import {createElementVNode} from "@vue/runtime-dom";
export default {
props:{
orderId: [Number, String],
......@@ -299,11 +429,17 @@ export default {
}
},
computed:{
// 保费
insuranceFeeDto(){
return this.orderDetailSummary?.insuranceFeeDto
},
// 特需
specialNeedFeeList(){
return this.orderDetailSummary?.specialNeedFeeList || []
},
// 费用申请
feeApplicationList(){
return this.orderDetailSummary?.feeApplicationList || []
}
},
mounted() {
......@@ -311,10 +447,45 @@ export default {
this.getOrderDetailSummary()
},
methods:{
// 根据不同货币计算总额,返回currencyId: Decimal键值对
calcTotalByCurrency(arr, amountField, currencyField){
let total = {}
arr.forEach(item => {
const currency = item[currencyField]
if(!total[currency]){
total[currency] = new Decimal(0)
}
total[currency] = total[currency].plus(new Decimal(item[amountField] || 0))
})
console.log('currencyField', total)
return Object.keys(total).map(currencyId => {
return `${total[currencyId].toNumber()}${this.currencyMap[currencyId]}`
}).join(";")
},
// 特需汇总
getSpecialSummaries(){
return [
1,2,3,4,5,5,6,7,8,9
]
let arr = []
arr[2] = this.$t('合计')
// 应收金额
arr[3] = this.calcTotalByCurrency(this.specialNeedFeeList, 'receivableTotalAmount', 'currencyId')
// 收款优惠金额
arr[4] = this.calcTotalByCurrency(this.specialNeedFeeList, 'discountTotal', 'currencyId')
// 实收金额
arr[5] = this.calcTotalByCurrency(this.specialNeedFeeList, 'realityTotalAmount', 'currencyId')
return arr
},
// 费用申请汇总
getFeeApplicationSummaries(){
if(!this.feeApplicationList) return []
let arr = []
arr[3] = this.$t('合计')
// 应收金额
arr[4] = this.calcTotalByCurrency(this.feeApplicationList, 'receivableTotalAmount', 'currencyId')
// 收款优惠金额
arr[5] = this.calcTotalByCurrency(this.feeApplicationList, 'discountTotal', 'currencyId')
// 实收金额
arr[6] = this.calcTotalByCurrency(this.feeApplicationList, 'realityTotalAmount', 'currencyId')
return arr
},
close(){
this.$emit('close')
......
......@@ -77,7 +77,8 @@ import lodop from '@/utils/lodop'
export default {
filters: {parseTime},
props:{
orderId: [String, Number]
orderId: [String, Number],
warehouseInNum: Number
},
data(){
return {
......@@ -116,7 +117,9 @@ export default {
loadData(){
printTag(this.orderId).then(res => {
this.$set(this, 'tags', res.data)
this.form.start = res.data[0].num
// this.form.start = res.data[0].num
// 起始标签为入仓数 + 1
this.form.start = this.warehouseInNum + 1
this.form.end = res.data[res.data.length-1].num
})
},
......@@ -126,9 +129,10 @@ export default {
this.$emit('close');
},
showPreview(){
/* 2023-07-17 要求不限制范围
if(this.form.end > this.tags[this.tags.length-1].num){
return this.$message.error(this.$t('结束标签不对'))
}
}*/
if(!this.printTags.length){
return this.$message.error(this.$t('指定区域无可打印标签'))
}
......
......@@ -253,7 +253,7 @@
<el-button v-hasPermi="['ecw:order:show_customs']" type="text" @click="showDeclaration=true">{{$t('查看报关资料')}}</el-button>
</el-tab-pane>
<el-tab-pane :label="$t('费用明细')" name="four">
<el-button type="primary" @click="showFeeDetail=true">{{$t('费用汇总')}}</el-button>
<el-button type="primary" @click="showFeeSummary=true">{{$t('费用汇总')}}</el-button>
<el-table :data="feeList">
<el-table-column :label="$t('订单号')" prop="orderNo">
<template slot-scope="{row}">
......@@ -425,10 +425,10 @@
<declaration-documents v-if="showDeclaration" :order-id="order.orderId" :order-no="order.orderNo" @close="showDeclaration=false" />
<!--费用汇总-->
<fee-detail
v-if="showFeeDetail"
v-if="showFeeSummary"
:order-id="order.orderId"
:currency-map="currencyMap"
@close="showFeeDetail=false" />
@close="showFeeSummary=false" />
</div>
</template>
......@@ -503,7 +503,7 @@ export default {
consigneeText:this.$t('更多'),
showLogDetailId: null, // 显示日志详情的ID,
showDeclaration:false, //显示报关资料
showFeeDetail: false, // 是否显示费用汇总
showFeeSummary: false, // 是否显示费用汇总
}
},
computed:{
......@@ -559,14 +559,6 @@ export default {
})
this.region = region
})
},
showFeeDetail(){
if(!this.orderSummary){
this.getOrderSummary()
}
if(!this.orderDetailSummary){
this.getOrderDetailSummary()
}
}
},
created() {
......
......@@ -430,7 +430,7 @@
exclude(scope.row.status, [0]) &&
exclude(scope.row.abnormalState, [5,6,7,8])
">
<el-dropdown-item @click.native="printTagOrderId=scope.row.orderId" v-hasPermi="['ecw:order:print_tag']">{{$t('打印标签')}}</el-dropdown-item>
<el-dropdown-item @click.native="printTag(scope.row)" v-hasPermi="['ecw:order:print_tag']">{{$t('打印标签')}}</el-dropdown-item>
</template>
<!-- 打印入仓单 -->
......@@ -456,7 +456,7 @@
@pagination="getList" />
<special-needs :orderNo="orderNo" :show.sync="isShow" :currency="JSON.stringify(currencyList)" :order-id="orderId" @determine="getList" ></special-needs>
<print-tag v-if="printTagOrderId !== null" :order-id="printTagOrderId" @close="printTagOrderId=null" />
<print-tag v-if="printTagOrderId !== null" :order-id="printTagOrderId" @close="printTagOrderId=null" :warehouse-in-num="printTagWarehouseInNum" />
<print-warehouse-receipt v-if="printWarehouseReceiptOrderId !== null" :order-id="printWarehouseReceiptOrderId" @close="printWarehouseReceiptOrderId=null" />
<print-lading-bill v-if="printLadingBillOrderId !== null" :order-id="printLadingBillOrderId" @close="printLadingBillOrderId=null" />
<batch-pickup v-if="showBatchPickup" @close="onBatchClose" @success="onBatchClose"/>
......@@ -567,6 +567,7 @@ export default {
dateFilter: [], //筛选日期
printTagOrderId: null, // 显示打印标签的订单ID
printTagWarehouseInNum: 0, // 打印标签的订单入仓箱数
printWarehouseReceiptOrderId: null, // 打印入仓单的订单ID
printLadingBillOrderId: null, // 打印提单的订单ID
showBatchPickup: false, // 是否显示批量提货弹窗
......@@ -881,6 +882,11 @@ export default {
onBatchClose(){
this.showBatchPickup = false
this.handleQuery()
},
// 打印标签
printTag(order){
this.printTagOrderId=order.orderId
this.printTagWarehouseInNum = order.sumNum
}
}
};
......
......@@ -44,8 +44,8 @@
</el-form-item>
</div>
<div v-if="formData.areaType==0">
<el-form-item :label="$t('供应商类别')" prop="companyType">
<div>
<el-form-item v-if="formData.areaType==0" :label="$t('供应商类别')" prop="companyType">
<dict-selector v-model="formData.companyTypeArr" type="company_type" multiple disabled />
</el-form-item>
<el-form-item :label="$t('目的港码头')" prop="dockIds">
......
......@@ -56,11 +56,6 @@
<el-form-item :label="$t('供应商类别')" prop="companyType">
<dict-selector v-model="formData.companyTypeArr" type="company_type" multiple />
</el-form-item>
<el-form-item :label="$t('目的港码头')" prop="dockIds">
<el-select v-model="formData.dockIds" filterable multiple clearable>
<el-option v-for="(item) in allDocks" :key="item.id" :label="$l(item, 'title')" :value="item.id"></el-option>
</el-select>
</el-form-item>
</div>
<div>
......@@ -68,6 +63,13 @@
<dict-selector v-model="formData.cooperationType" type="cooperation_type" />
</el-form-item>
</div>
<div>
<el-form-item :label="$t('目的港码头')" prop="dockIds">
<el-select v-model="formData.dockIds" filterable multiple clearable>
<el-option v-for="(item) in allDocks" :key="item.id" :label="$l(item, 'title')" :value="item.id"></el-option>
</el-select>
</el-form-item>
</div>
<div v-if="formData.areaType==1">
<el-form-item :label="$t('国家')" prop="cooperationType">
<el-select v-model="formData.country" :placeholder="$t('请选择国家')">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment