Commit 0d8eb8b1 authored by dragondean@qq.com's avatar dragondean@qq.com

对接订单费用汇总接口,未完成

parent 2826dad9
......@@ -780,4 +780,18 @@ export function getDestCountryByOrderId(params){
})
}
// 订单费用汇总
export function orderSummary(orderId){
return request({
url: '/ecw/orderCount/orderSummary/' + orderId,
method: 'get'
})
}
// 订单明细汇总
export function orderDetailSummary(orderId){
return request({
url: '/ecw/orderCount/orderDetailSummary/' + orderId,
method: 'get'
})
}
<template>
<el-dialog visible width="1500px" title="NG23022222L费用汇总" :before-close="close">
<el-card>
<span slot="header" class="header-title">订单收费汇总</span>
<!--应收运费,应收清关费,应收额外费用,应收总金额
实收运费,实收清关费,实收额外费用,实收总额
运费优惠金额,清关费优惠金额,额外费用优惠金额,订单优惠金额
已核销总金额,已核销比例-->
<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>
......@@ -24,7 +20,7 @@
</el-descriptions>
</el-card>
<el-card class="mt-10">
<span slot="header">入仓信息</span>
<span slot="header">{{$t('入仓信息')}}</span>
<!--仓库实测,是否重货,原重货标准,原收费数据
优惠重货标准,实际收费数据,货值-->
<el-descriptions :column="4">
......@@ -37,53 +33,204 @@
<el-descriptions-item :label="$t('货值')"></el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="mt-10">
<span slot="header">运费&清关费</span>
<el-card class="mt-10" v-if="orderDetailSummary">
<span slot="header">{{$t('运费')}} & {{$t('清关费')}}</span>
<!--序号,中文品名,英文品名,品牌,入仓数据,是否重货,入仓数据,实收数据,应收单价,优惠单价金额,成交单价,应收运费&清关费,收款单优惠金额,总优惠金额,实收运费&清关费-->
<el-table :data="[]">
<el-table :data="orderDetailSummary.orderItemCostDtoList">
<el-table-column :label="$t('序号')" width="80">
<template slot-scope="scope">{{scope.$index+1}}</template>
</el-table-column>
<el-table-column :label="$t('中文品名')" width="120" prop="titleZh"></el-table-column>
<el-table-column :label="$t('英文品名')" width="120" prop="titleEn"></el-table-column>
<el-table-column :label="$t('品牌')" width="120" prop="brand"></el-table-column>
<el-table-column :label="$t('入仓实测')" width="120" prop="inData"></el-table-column>
<el-table-column :label="$t('是否重货/泡货')" width="120" prop="isHeavy"></el-table-column>
<el-table-column :label="$t('应收数据')" width="120" prop="inData"></el-table-column>
<el-table-column :label="$t('实收数据')" width="120" prop="realData"></el-table-column>
<el-table-column :label="$t('应收单价')" width="120" prop="price"></el-table-column>
<el-table-column :label="$t('优惠单价金额')" width="120" prop="discountPrice"></el-table-column>
<el-table-column :label="$t('成交单价')" width="120" prop="dealPrice"></el-table-column>
<el-table-column :label="$t('应收运费&清关费')" width="120" prop="fee"></el-table-column>
<el-table-column :label="$t('收款单优惠金额')" width="120" prop="discountFee"></el-table-column>
<el-table-column :label="$t('总优惠金额')" width="120" prop="totalDiscountFee"></el-table-column>
<el-table-column :label="$t('实收运费&清关费')" width="120" prop="realFee"></el-table-column>
<el-table-column :label="$t('中文品名')" prop="prodTitleZh"></el-table-column>
<el-table-column :label="$t('英文品名')" prop="prodTitleEn"></el-table-column>
<el-table-column :label="$t('品牌')" prop="brandName">
<template slot-scope="{row}">
<span v-if="row.brandName">{{row.brandName}}</span>
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('入仓实测')">
<template slot-scope="{row}">
<span>{{row.warehouseInNum}}{{$t('')}}</span>
<span class="ml-5">{{row.warehouseInVolume}}</span>
<span class="ml-5">{{row.warehouseInWeight}}kg</span>
<span class="ml-5" v-if="row.warehouseInQuantity">{{row.warehouseInQuantity}}{{$t('')}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('是否重货/泡货')">
<template slot-scope="{row}">
<!--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('应收数据')">
<template slot-scope="{row}">
<span>{{row.orgChargeNum}}{{$t('')}}</span>
<span class="ml-5">{{row.orgChargeVolume}}</span>
<span class="ml-5">{{row.orgChargeWeight}}kg</span>
<span class="ml-5" v-if="row.orgChargeQuantity">{{row.orgChargeQuantity}}{{$t('')}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('实收数据')">
<template slot-scope="{row}">
<span>{{row.realityChargeNum}}{{$t('')}}</span>
<span class="ml-5">{{row.realityChargeVolume}}</span>
<span class="ml-5">{{row.realityChargeWeight}}kg</span>
<span class="ml-5" v-if="row.realityChargeQuantity">{{row.realityChargeQuantity}}{{$t('')}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('应收单价')">
<template slot-scope="{row}">
<!--全包价-->
<!--<template v-if="row.charging">
{{$t('全包价')}}:{{row.receivableOneSeaFreight}}{{currencyMap[row.seaFreightCurrency]}}
</template>
<template v-else>
<div>{{$t('运费')}}{{row.receivableOneSeaFreight}}{{currencyMap[row.seaFreightCurrency]}}</div>
<div>{{$t('清关费')}}{{row.receivableOneClearanceFreight}}{{currencyMap[row.clearanceFreightCurrency]}}</div>
</template>-->
<price
:charging="row.charging == 1"
:freight="row.receivableOneSeaFreight"
:freight-currency="row.seaFreightCurrency"
:clearance="row.receivableOneClearanceFreight"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
</template>
</el-table-column>
<el-table-column :label="$t('优惠单价金额')">
<template slot-scope="{row}">
<price
:charging="row.charging == 1"
:freight="row.discountFreightPrice"
:freight-currency="row.seaFreightCurrency"
:clearance="row.discountClearanceFeePrice"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
</template>
</el-table-column>
<el-table-column :label="$t('成交单价')">
<template slot-scope="{row}">
<price
:charging="row.charging == 1"
:freight="row.oneSeaFreight"
:freight-currency="row.seaFreightCurrency"
:clearance="row.oneClearanceFreight"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
</template>
</el-table-column>
<el-table-column :label="$t('应收运费') + '&' + $t('清关费')">
<template slot-scope="{row}">
<price
:charging="row.charging == 1"
:freight="row.receivableSeaFreight"
:freight-currency="row.seaFreightCurrency"
:clearance="row.receivableClearanceFreight"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
</template>
</el-table-column>
<el-table-column :label="$t('收款单优惠金额')" width="120" prop="discountFee">
<template slot-scope="{row}">
<price
:charging="row.charging == 1"
:freight="row.receiptDiscountFreightPrice"
:freight-currency="row.seaFreightCurrency"
:clearance="row.receiptDiscountClearanceFeePrice"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
</template>
</el-table-column>
<el-table-column :label="$t('总优惠金额')">
<template slot-scope="{row}">
<price
:charging="row.charging == 1"
:freight="row.totalDiscountFreightPrice"
:freight-currency="row.seaFreightCurrency"
:clearance="row.totalDiscountClearanceFeePrice"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
</template>
</el-table-column>
<el-table-column :label="$t('实收运费') + '&' + $t('清关费')">
<template slot-scope="{row}">
<price
:charging="row.charging == 1"
:freight="row.realitySeaFreight"
:freight-currency="row.seaFreightCurrency"
:clearance="row.realityClearanceFreight"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
</template>
</el-table-column>
</el-table>
</el-card>
<el-card class="mt-10">
<span slot="header">保费</span>
<div>
订单总金额:,保费费率:应收保费:,收款优惠金额:,实收保费:
<span slot="header">{{$t('保费')}}</span>
<div v-if="insuranceFeeDto">
{{$t('订单总金额')}}:{{insuranceFeeDto.totalWorth}}{{currencyMap[insuranceFeeDto.worthCurrency]}},
{{$t('保费费率')}}:{{insuranceFeeDto.insuranceRatio}},
{{$t('应收保费')}}:{{insuranceFeeDto.receivableInsuranceFee}}{{currencyMap[insuranceFeeDto.insuranceCurrency]}},
{{$t('收款优惠金额')}}:{{insuranceFeeDto.discountInsuranceFee}}{{currencyMap[insuranceFeeDto.insuranceCurrency]}},
{{$t('实收保费')}}:{{insuranceFeeDto.realityInsuranceFee}}{{currencyMap[insuranceFeeDto.insuranceCurrency]}}
</div>
</el-card>
<el-card class="mt-10">
<span slot="header">特需</span>
<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="specialNeedFeeList" show-summary :summary-method="getSpecialSummaries">
<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>
</template>
</el-table-column>
<el-table-column :label="$t('金额')" prop="realityTotalAmount">
<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('收款优惠金额')" width="120" prop="discountFee">
<template slot-scope="{row}">
{{row.discountTotal}}{{currencyMap[row.currencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('实收美元金额')" width="120" prop="realFee">
<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('申请时间')" prop="applyTime">
<template slot-scope="{row}">{{row.createTime|parseTime}}</template>
</el-table-column>
</el-table>
</el-card>
<el-card class="mt-10">
<span slot="header">费用申请</span>
<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>
......@@ -126,12 +273,43 @@
</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";
export default {
props:{
orderId: [Number, String],
currencyMap: {
type: Object,
default: () => {
return {}
}
},
},
filters: {parseTime},
components: {Price},
data(){
return {
// 订单费用汇总
orderSummary: null,
// 订单费用明细汇总
orderDetailSummary: null
}
},
computed:{
insuranceFeeDto(){
return this.orderDetailSummary?.insuranceFeeDto
},
specialNeedFeeList(){
return this.orderDetailSummary?.specialNeedFeeList || []
}
},
mounted() {
this.getOrderSummary()
this.getOrderDetailSummary()
},
methods:{
getSpecialSummaries(){
return [
......@@ -140,6 +318,18 @@ export default {
},
close(){
this.$emit('close')
},
// 获得订单费用汇总
getOrderSummary(){
orderSummary(this.orderId).then(res => {
this.orderSummary = res.data
})
},
// 获得订单明细汇总
getOrderDetailSummary(){
orderDetailSummary(this.orderId).then(res => {
this.orderDetailSummary = res.data
})
}
}
}
......
<template>
<div>
<template v-if="charging">
{{$t('全包价')}}:{{freight}}{{currencyMap[freightCurrency]}}
</template>
<template v-else>
<div>{{$t('运费')}}{{freight}}{{currencyMap[freightCurrency]}}</div>
<div>{{$t('清关费')}}{{clearance}}{{currencyMap[clearanceCurrency]}}</div>
</template>
</div>
</template>
<script>
export default {
props:{
// 货币映射
currencyMap:{
type:Object,
default(){
return {}
}
},
// 运费
freight: [String, Number],
// 运费货币
freightCurrency: Number,
// 清关费
clearance: [String, Number],
// 运费货币
clearanceCurrency: Number,
// 是否全包价
charging: Boolean
}
}
</script>
......@@ -424,13 +424,17 @@
<!-- 报关资料 -->
<declaration-documents v-if="showDeclaration" :order-id="order.orderId" :order-no="order.orderNo" @close="showDeclaration=false" />
<!--费用汇总-->
<fee-detail v-if="showFeeDetail" :order-id="order.orderId" @close="showFeeDetail=false" />
<fee-detail
v-if="showFeeDetail"
:order-id="order.orderId"
:currency-map="currencyMap"
@close="showFeeDetail=false" />
</div>
</template>
<script>
import { getOrder, operateLogPage } from '@/api/ecw/order'
import {getOrder, operateLogPage} from '@/api/ecw/order'
import { getDictDatas, DICT_TYPE, getDictData } from '@/utils/dict';
import PrintWarehouseReceipt from './components/PrintWarehouseReceipt'
import PrintLadingBill from './components/PrintLadingBill'
......@@ -440,7 +444,6 @@ import {getReceivableListByOrderId} from '@/api/ecw/receipt'
import { getChannel } from '@/api/ecw/channel';
import {listByIds} from '@/api/ecw/region'
import WarehouseDetail from './components/WarehouseDetail';
import {getProductBrank} from '@/api/ecw/productBrank'
import { parseTime } from '@/utils/ruoyi';
import WarehouseAreaSelect from "@/components/WarehouseAreaSelect"
import {checkPermi} from '@/utils/permission'
......@@ -500,7 +503,7 @@ export default {
consigneeText:this.$t('更多'),
showLogDetailId: null, // 显示日志详情的ID,
showDeclaration:false, //显示报关资料
showFeeDetail: false // 是否显示费用汇总
showFeeDetail: false, // 是否显示费用汇总
}
},
computed:{
......@@ -556,6 +559,14 @@ export default {
})
this.region = region
})
},
showFeeDetail(){
if(!this.orderSummary){
this.getOrderSummary()
}
if(!this.orderDetailSummary){
this.getOrderDetailSummary()
}
}
},
created() {
......
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