Commit 4e527980 authored by 我在何方's avatar 我在何方

Merge branch 'release2.2' of...

Merge branch 'release2.2' of http://gitlab.jdshangmen.com/jiedao-app/jiedao-app-operator into release2.2
parents e84f9d69 935dc7c6
......@@ -822,3 +822,23 @@ export function orderDetailSummary(orderId){
method: 'get'
})
}
// 自编号的订单费用汇总
export function orderSummaryByContainerNumber(params){
return request({
url: '/ecw/orderCount/containerNumber/orderSummary',
method: 'get',
params
})
}
// 导出自编号订单汇总列表
export function exportOrderSummaryByContainerNumber(params){
return request({
url: '/ecw/order/export/export-order-summary',
method: 'get',
params,
timeout: 5 * 60000,
responseType: 'blob'
})
}
......@@ -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(() => {
......
......@@ -323,6 +323,36 @@ export default {
this.exportLoading = false;
}).catch(() => {});
}
},
watch:{
'queryParams.titleZh':{
handler(value){
if(value === ''){
this.queryParams.titleZh = undefined
}
}
},
'queryParams.titleEn':{
handler(value){
if(value === ''){
this.queryParams.titleEn = undefined
}
},
},
'queryParams.fuhao':{
handler(value){
if(value === ''){
this.queryParams.fuhao = undefined
}
},
},
'queryParams.status':{
handler(value){
if(value === ''){
this.queryParams.status = undefined
}
}
}
}
};
</script>
......@@ -109,6 +109,12 @@
{{$t('例子:1RMB = 0.138611USD')}}
</p>
</el-form-item>
<el-form-item :label="$t('有效期')" prop="expireDate">
<el-date-picker v-model="form.expireDate" type="datetime" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" ></el-date-picker>
</el-form-item>
<el-form-item v-if="form.id" :label="$t('状态')">
<div> {{status ? '已过期' : '正常'}}</div>
</el-form-item>
<el-form-item :label="$t('备注')">
<el-input type="textarea" v-model="form.note"></el-input>
</el-form-item>
......@@ -167,6 +173,7 @@ export default {
},
data() {
return {
status:0,
currencyList:[],
allSimplList:[],
listLog:[],
......@@ -202,6 +209,7 @@ export default {
targetCurrencyId: [{ required: true, message: this.$t('币种2不能为空'), trigger: "change" }],
targetCurrencyCode: [{ required: true, message: this.$t('目标种代码不能为空'), trigger: "blur" }],
currencyRate: [{ required: true, message: this.$t('汇率不能为空'), trigger: "blur" }],
expireDate: [{ required: true, message: this.$t('有效期不能为空'), trigger: "blur" }],
},
formLog:{
rows:10,
......@@ -287,6 +295,7 @@ export default {
"targetCurrencyCode": "",
"targetCurrencyId": '',
id: null,
expireDate:""
};
this.resetForm("form");
},
......@@ -305,7 +314,7 @@ export default {
handleAdd() {
this.reset();
this.open = true;
this.title = "新增";
this.title = this.$t('新增');
},
/** 修改按钮操作 */
handleUpdate(row) {
......@@ -313,9 +322,19 @@ export default {
const id = row.id;
getExchangeRate(id).then(response => {
this.form = {...this.form,...response.data};
console.log( this.form,' this.form')
this.form.expireDate = this.parseTime(this.form.expireDate);
if(this.form.expireDate){
if(new Date(this.form.expireDate).getTime() >= new Date().getTime()){
this.status = 0
}else {
this.status = 1
}
}else {
this.status = 1
}
this.open = true;
this.title = "修改";
this.title = this.$t('修改');
});
},
/** 提交按钮 */
......@@ -334,6 +353,7 @@ export default {
sourceCurrencyId: this.form.sourceCurrencyId ,
targetCurrencyCode: this.form.targetCurrencyCode,
targetCurrencyId: this.form.targetCurrencyId,
expireDate:this.form.expireDate
}
updateExchangeRate(p).then(response => {
......
......@@ -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"
......@@ -66,138 +66,170 @@
icon="el-icon-search"
@click="handleQuery"
>{{$t('查询')}}</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleExport">{{$t('导出搜索')}}</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleExport" :loading="exporting">{{$t('导出搜索')}}</el-button>
</el-form-item>
</el-form>
</el-card>
<el-table v-loading="loading" :data="list" border class="card">
<el-table v-loading="loading" :data="list" border class="card" :element-loading-text="$t('汇总计算中...')">
<el-table-column :label="$t('序号')" width="50">
<template slot-scope="{row, index}">
{{index + 1}}
<template slot-scope="{row, $index}">
{{startNo + $index}}
</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">
<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.transportName}}/{{row.destinationCountryName}}</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.warehouseMeasure}}</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.isHeavyBubble | dict(DICT_TYPE.YES_NO)}}</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.chargeData}}</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.status | dict(DICT_TYPE.ORDER_STATUS)}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('应收总金额')" width="150">
<template slot-scope="{row}">
<div>{{row.totalAmount}}</div>
<div v-for="item in row.receivableTotalFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('订单优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.orderDiscountAmount}}</div>
<div v-for="item in row.discountTotalFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收总金额')" width="150">
<template slot-scope="{row}">
<div>{{row.actualTotalAmount}}</div>
<div v-for="item in row.netReceiptsTotalFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收总金额')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedTotalAmount}}</div>
<div v-for="item in row.writeOffTotalFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('应收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.freightAmount}}</div>
<div v-for="item in row.receivableFreightFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('运费优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.freightDiscountAmount}}</div>
<div v-for="item in row.discountFreightFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.actualFreightAmount}}</div>
<div v-for="item in row.netReceiptsFreightFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedFreightAmount}}</div>
<div v-for="item in row.writeOffFreightFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('应收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.customsClearanceAmount}}</div>
<div v-for="item in row.receivableClearanceFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.actualCustomsClearanceAmount}}</div>
<div v-for="item in row.netReceiptsClearanceFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('清关费优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.customsClearanceDiscountAmount}}</div>
<div v-for="item in row.discountClearanceFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedCustomsClearanceAmount}}</div>
<div v-for="item in row.writeOffClearanceFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('应收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.storageAmount}}</div>
<div v-for="item in row.receivableOtherFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.actualStorageAmount}}</div>
<div v-for="item in row.netReceiptsOtherFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('额外费用优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.storageDiscountAmount}}</div>
<div v-for="item in row.discountOtherFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedStorageAmount}}</div>
<div v-for="item in row.writeOffOtherFeeGroupDtoList || []" :key="item.currencyId">
{{item.amount}}{{item.currencyName}}
</div>
</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="salesmanName"></el-table-column>
<el-table-column :label="$t('订单入仓时间')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
{{ row.inTime|parseTime }}
</template>
</el-table-column>
<el-table-column :label="$t('订单装柜时间')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
{{row.loadTime|parseTime}}
</template>
</el-table-column>
</el-table>
......@@ -215,12 +247,15 @@
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 {exportOrderSummaryByContainerNumber, orderSummaryByContainerNumber} from "@/api/ecw/order";
import {DICT_TYPE} from "@/utils/dict";
import {parseTime} from "@/utils/ruoyi";
export default {
components: {UserSelector, Template},
filters: {parseTime},
components: {UserSelector},
data() {
return {
loading: false, // 加载中
......@@ -230,12 +265,14 @@ export default {
total: 0,
queryParams: {
page: 1,
rows: 20,
rows: 10,
},
tradeCityList: [],
currencyList:[],
warehouseList:[],
countryList: [],
// 导出中状态
exporting: false
};
},
activated(){
......@@ -248,6 +285,9 @@ export default {
getWarehouseList().then(res => this.warehouseList = res.data)
},
computed: {
DICT_TYPE() {
return DICT_TYPE
},
permissions(){
return store.getters.permissions
},
......@@ -259,11 +299,15 @@ 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)
},
// 序号起始
startNo(){
return (this.queryParams.page - 1) * this.queryParams.rows + 1
}
},
methods: {
getCurrencyLabel(id){
......@@ -273,27 +317,37 @@ 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.exporting = true
let params = {...this.queryParams, containerNumber: this.$route.query.containerNumber}
this.addBeginAndEndTime(params, this.dateFilter, this.dateFilterType, false);
exportOrderSummaryByContainerNumber(params).then(res => {
this.$download.excel(res, params.containerNumber + '.xls');
}).finally(() => {
this.exporting = false
})
}
},
};
......
<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