Commit ea261dfa 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 3f0743d0 6a0d2b0c
......@@ -359,3 +359,13 @@ export function boxSettlementPage(params) {
params,
});
}
// 导出自编号汇总excel
export function exportSettlementExcel(params) {
return request({
url: "/shipment/box/export-shipment-summary",
method: "get",
responseType: "blob",
params,
});
}
......@@ -5,7 +5,7 @@
:clearable="clearable"
remote
reserve-keyword
placeholder="请选择"
:placeholder="placeholder ? placeholder : $t('请选择')"
:loading="loading">
<el-option
v-for="(item, index) in list"
......@@ -22,6 +22,7 @@ export default {
props:{
value: [String, Number],
clearable: Boolean,
placeholder: String,
manage:{
type:Boolean,
default:false
......
......@@ -4042,5 +4042,8 @@
"是否支持控货": "Does it support controlling goods",
"默认送货上门": "Default door-to-door delivery",
"广州市捷道国际货运代理有限公司": "E&C LOGISTICS LIMITED",
"报关退税,请备齐资料。":"Customs refund, prepare necessary documents."
"报关退税,请备齐资料。":"Customs refund, prepare necessary documents.",
"订单号、唛头、提单号": "order number、marks、B/L NO",
"发货人名称、手机号": "sender name or mobile",
"收货人名称、手机号": "Receiver Name or Mobile"
}
......@@ -2,7 +2,11 @@ import router from '@/router'
const state = {
visitedViews: [],
cachedViews: []
cachedViews: [],
}
// 获取页面的缓存名称
const getViewName = (view) => {
return view.meta.componentPath.split('/').map(item => item.substring(0, 1).toUpperCase() + item.substring(1).toLowerCase()).join('')
}
const mutations = {
......@@ -16,7 +20,7 @@ const mutations = {
},
ADD_CACHED_VIEW: (state, view) => {
if (view.meta && view.meta.componentPath) {
let cacheName = view.meta.componentPath.split('/').map(item => item.substring(0, 1).toUpperCase() + item.substring(1).toLowerCase()).join('')
let cacheName = getViewName(view)
if (state.cachedViews.includes(cacheName)) return
state.cachedViews.push(cacheName)
}
......@@ -31,7 +35,9 @@ const mutations = {
}
},
DEL_CACHED_VIEW: (state, view) => {
const index = state.cachedViews.indexOf(view.name)
console.log('DEL_CACHED_VIEW', view)
const viewName = getViewName(view)
const index = state.cachedViews.indexOf(viewName)
index > -1 && state.cachedViews.splice(index, 1)
},
......
......@@ -13,7 +13,7 @@
<el-input v-model="queryParams.selfNo" clearable></el-input>
</el-form-item>
<el-form-item :label="$t('始发仓')">
<el-select v-model="queryParams.startWarehouseIdList" placeholder="请选择" clearable>
<el-select v-model="queryParams.startWarehouseIdList" :placeholder="$t('请选择')" clearable>
<el-option
v-for="item in exportWarehouseList"
:key="item.id"
......@@ -23,7 +23,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('目的国')">
<el-select v-model="queryParams.destCountryId" placeholder="请选择" clearable filterable >
<el-select v-model="queryParams.destCountryId" :placeholder="$t('请选择')" clearable filterable >
<el-option
v-for="item in countryList"
:key="item.id"
......@@ -33,7 +33,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')">
<el-select v-model="queryParams.destWarehouseId" placeholder="请选择" clearable>
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择')" clearable>
<el-option
v-for="item in importWarehouseList"
:key="item.id"
......@@ -64,11 +64,11 @@
@click="handleQuery"
:loading="loading"
>{{$t('查询')}}</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleExport">{{$t('导出搜索')}}</el-button>
<el-button type="primary" :loading="exporting" icon="el-icon-download" @click="handleExport">{{$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('是否结算')" align="center">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.SETTLEMENT_STATUS" :value="scope.row.slStatus"></dict-tag>
......@@ -98,7 +98,7 @@
</el-table-column>
<el-table-column :label="$t('操作')" v-if="permissions.indexOf('selfno:report:detail') > -1">
<template slot-scope="scope">
<el-button type="text" @click="$router.push('./self_no_report_detail?id=' + scope.row.id)">{{$t('查看')}}</el-button>
<el-button type="text" @click="$router.push('./self_no_report_detail?containerNumber=' + scope.row.selfNo)">{{$t('查看')}}</el-button>
</template>
</el-table-column>
</el-table>
......@@ -113,17 +113,14 @@
</template>
<script>
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 {boxSettlementPage} from "@/api/ecw/box";
import {boxSettlementPage, exportSettlementExcel} from "@/api/ecw/box";
import {DICT_TYPE} from "@/utils/dict";
import {getCountryListAll} from "@/api/ecw/country";
export default {
components: {Template},
data() {
return {
loading: false, // 是否加载中
......@@ -132,12 +129,14 @@ export default {
total: 0,
queryParams: {
page: 1,
rows: 20,
rows: 10,
},
// tradeCityList: [],
currencyList:[],
warehouseList:[],
countryList: [],
// 导出中状态
exporting: false
};
},
activated(){
......@@ -204,7 +203,14 @@ export default {
},
// 导出搜索
handleExport(){
this.$message.info("// TODO 导出搜索")
this.exporting = true
let params = {...this.queryParams}
this.addBeginAndEndTime(params, this.dateFilter, "JsDate", false);
exportSettlementExcel(params).then(res => {
this.$download.excel(res, 'shipment-summary.xls');
}).finally(() => {
this.exporting = false
})
}
},
};
......
......@@ -10,13 +10,13 @@
class="card"
>
<el-form-item :label="$t('编号')">
<el-input v-model="queryParams.numberKey" clearable placeholder="订单号、唛头、提单号"></el-input>
<el-input v-model="queryParams.numberKey" clearable :placeholder="$t('订单号、唛头、提单号')"></el-input>
</el-form-item>
<el-form-item :label="$t('发货人')">
<el-input v-model="queryParams.consignorKey" placeholder="发货人名称、手机号"></el-input>
<el-input v-model="queryParams.consignorKey" :placeholder="$t('发货人名称、手机号')"></el-input>
</el-form-item>
<el-form-item :label="$t('收货人')">
<el-input v-model="queryParams.consigneeKey" placeholder="收货人名称、手机号"></el-input>
<el-input v-model="queryParams.consigneeKey" :placeholder="$t('收货人名称、手机号')"></el-input>
</el-form-item>
<el-form-item>
......@@ -33,7 +33,7 @@
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model.number="queryParams.transportId" clearable @change="handleQuery"/>
</el-form-item>-->
<el-form-item :label="$t('始发仓')">
<el-select v-model="queryParams.startWarehouseId" placeholder="请选择" clearable>
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择')" clearable>
<el-option
v-for="item in exportWarehouseList"
:key="item.id"
......@@ -43,7 +43,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')">
<el-select v-model="queryParams.dstWarehouseId" placeholder="请选择" clearable>
<el-select v-model="queryParams.dstWarehouseId" :placeholder="$t('请选择')" clearable>
<el-option
v-for="item in importWarehouseList"
:key="item.id"
......@@ -53,7 +53,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('客户经理')" >
<user-selector manage v-model="queryParams.salesmanId" clearable @change="handleQuery"/>
<user-selector manage v-model="queryParams.salesmanId" clearable @change="handleQuery" :placeholder="$t('请选择')"/>
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="status">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status"
......
......@@ -196,9 +196,9 @@
<template slot-scope="{row}">
<price
:charging="row.charging == 1"
:freight="row.discountFreightTotalPrice"
:freight="row.totalDiscountFreightPrice"
:freight-currency="row.seaFreightCurrency"
:clearance="row.discountClearanceFeeTotalPrice"
:clearance="row.totalDiscountClearanceFeePrice"
:clearance-currency="row.clearanceFreightCurrency"
:currency-map="currencyMap"
></price>
......@@ -372,7 +372,7 @@
</el-card>
<el-card class="mt-10">
<span slot="header">{{$t('特价折扣')}}</span>
<el-table :data="[]">
<el-table :data="orderSpecialApplyVOList">
<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>
......@@ -404,7 +404,7 @@
{{row.clearanceFreight}}{{currencyMap[row.clearanceFreightCurrency]}}
</template>
</el-table-column>
<el-table-column :label="$t('申请人')">TODO</el-table-column>
<el-table-column :label="$t('申请人')" prop="creatorName"></el-table-column>
<el-table-column :label="$t('申请时间')">
<template slot-scope="{row}">
{{row.createTime|parseTime}}
......@@ -463,6 +463,10 @@ export default {
// 优惠活动
couponInfoVOList(){
return this.orderDetailSummary?.couponInfoVOList || []
},
// 特价折扣
orderSpecialApplyVOList(){
return this.orderDetailSummary?.orderSpecialApplyVOList || []
}
},
mounted() {
......@@ -501,13 +505,13 @@ export default {
getFeeApplicationSummaries(){
if(!this.feeApplicationList) return []
let arr = []
arr[3] = this.$t('合计')
arr[2] = this.$t('合计')
// 应收金额
arr[4] = this.calcTotalByCurrency(this.feeApplicationList, 'receivableTotalAmount', 'currencyId')
arr[3] = this.calcTotalByCurrency(this.feeApplicationList, 'receivableTotalAmount', 'currencyId')
// 收款优惠金额
arr[5] = this.calcTotalByCurrency(this.feeApplicationList, 'discountTotal', 'currencyId')
arr[4] = this.calcTotalByCurrency(this.feeApplicationList, 'discountTotal', 'currencyId')
// 实收金额
arr[6] = this.calcTotalByCurrency(this.feeApplicationList, 'realityTotalAmount', 'currencyId')
arr[5] = this.calcTotalByCurrency(this.feeApplicationList, 'realityTotalAmount', 'currencyId')
return arr
},
// 运费&清关费汇总
......
......@@ -1120,7 +1120,13 @@ export default {
const chargeWeight = orderItem.itemType === 3 ? (orderItem.chargeWeight*rate).toFixed(2) : this.putin.weight
this.$set(this.shopForm, 'chargeVolume', chargeVolume)
this.$set(this.shopForm, 'chargeWeight', chargeWeight)
this.$set(this.shopForm, 'worth', (orderItem.worth*rate).toFixed(2))
// 如果品名全拆,则货值直接给剩余数据,否则按照比例计算
let worth = (orderItem.worth*rate).toFixed(2)
if(this.leftData.num.toNumber() === this.putin.num){
worth = this.leftData.worth
}
this.$set(this.shopForm, 'worth', worth)
},
// 重置
reset(){
......
This diff is collapsed.
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