Commit 4d182249 authored by 邓春圆's avatar 邓春圆

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

parents 97291d02 8f91a8a9
......@@ -359,7 +359,7 @@ export default {
if (res.code === 566) {
this.$confirm(res.msg+this.$t('是否需要一起预装?'), this.$t("提示"), {
dangerouslyUseHTMLString: true,
type: "warning",
distinguishCancelAndClose: true,
confirmButtonText: '预装关联单',
cancelButtonText: '仅当前订单'
})
......@@ -371,11 +371,13 @@ export default {
});
})
.catch((_) => {
createGoods({ ...params, relationStatus: 2, singleLoad: true }).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
if(action =='cancel'){
createGoods({ ...params, relationStatus: 2, singleLoad: true }).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
});
});
});
}
});
}
});
......
......@@ -264,7 +264,7 @@ export default {
},
methods: {
getCustomsOrderList(dcCustomsType) {
if(dcCustomsType) dcCustomsType = ''
if(!dcCustomsType) dcCustomsType = '1'
customsOrderList({
shipmentId: this.shipmentObj.id,
customsTypes: dcCustomsType === "3" ? "2,3" : dcCustomsType,
......@@ -548,6 +548,7 @@ export default {
},
watch: {
"cusDeclarationObj.dcCustomsType"(val) {
console.log(val,'val')
this.getCustomsOrderList(val);
},
"cusDeclarationObj.documentInfo"(val) {
......
......@@ -713,7 +713,7 @@ export default {
if (res.code === 566) {
this.$confirm(res.msg+this.$t('是否需要一起预装?'), this.$t("提示"), {
dangerouslyUseHTMLString: true,
type: "warning",
distinguishCancelAndClose: true,
confirmButtonText: '预装关联单',
cancelButtonText: '仅当前订单'
})
......@@ -725,11 +725,13 @@ export default {
});
})
.catch((_) => {
createGoods({ ...params, relationStatus: 2, singleLoad: true }).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
if(action =='cancel'){
createGoods({ ...params, relationStatus: 2, singleLoad: true }).then((res) => {
serviceMsg(res, this).then(() => {
this.queryAllData();
});
});
});
}
});
}
});
......
......@@ -39,7 +39,7 @@
<template slot="label">
{{ $t('兑核销基准币种金额') }}{{getCurrencyLabel(showCurrencyId)}}
</template>
<span>{{ addForm.writeOffAmount?parseFloat(addForm.writeOffAmount).toFixed(6):'' }}</span>
<span>{{ addForm.writeOffAmount?parseFloat(addForm.writeOffAmount).toFixed(2):'' }}</span>
</el-form-item>
<el-form-item :label="$t('水单附件')" prop="attr">
<div>
......@@ -115,7 +115,7 @@
...v,
amountDate: this.parseTime(v.amountDate, '{y}-{m}-{d}'),
accountNo: +v.accountNo,
rate:parseFloat(v.rate).toFixed(6),
rate:parseFloat(v.rate).toFixed(2),
attr: v.attr ? v.attr.split(',').map(t => ({ name: t.slice(t.lastIndexOf('/') + 1), url: t })) : []
}))
this.addForm = this.detailed.find((itt) => itt.id == this.bankId);
......
......@@ -720,7 +720,10 @@ export default {
loading1: false,
uploadFileUrl: process.env.VUE_APP_BASE_API + "/app-api/file/upload", // 上传的图片服务器地址
form: {
receiptAccountList: []
receiptAccountList: [],
departmentId:'',
salesmanId:'',
salesmanName:''
},
creatorData: [],
list: [],
......@@ -754,7 +757,9 @@ export default {
currencyList: [],
saveBtnLoading: false,
discountVisible: false,
discountForm: {},
discountForm: {
author:''
},
selectListRow: {},
selectListIndex: 0,
flag: false,
......@@ -773,39 +778,43 @@ export default {
userInfo:null
};
},
activated(){
if (this.$route.query.id) {
this.flag = true
this.id = this.$route.query.id;
this.getReceivableData()
async activated(){
let that = this;
await getUserProfile().then(res => that.userInfo = res.data)
if (that.$route.query.id) {
that.flag = true
that.id = that.$route.query.id;
that.getReceivableData()
}else{
this.discountForm.author = this.userInfo.username
this.form.departmentId = this.userInfo.deptId
this.form.salesmanId = this.userInfo.id
that.removeData()
that.$set(that.form,'departmentId',that.userInfo.deptId)
that.$set(that.discountForm,'author',that.userInfo.nickname)
that.$set(that.form,'salesmanId',that.userInfo.id)
that.$set(that.form,'salesmanName',that.userInfo.nickname)
}
if (this.$route.query.receiptId && this.$route.query.receiptId != 0) {
if (that.$route.query.receiptId && that.$route.query.receiptId != 0) {
this.receiptId = this.$route.query.receiptId;
this.getReceivableInfo()
that.receiptId = that.$route.query.receiptId;
that.getReceivableInfo()
}else{
this.removeData()
// that.removeData()
}
if (this.$route.query.orderId) {
getReceivableByOrderId({orderId:this.$route.query.orderId}).then(response => {
this.list = [...response.data]
this.list.map(v=>{
if (that.$route.query.orderId) {
getReceivableByOrderId({orderId:that.$route.query.orderId}).then(response => {
that.list = [...response.data]
that.list.map(v=>{
if(!v.taxPoint){
v.taxAmount = v.totalAmount
}
})
this.calculation()
getOrder(this.$route.query.orderId).then(response => {
that.calculation()
getOrder(that.$route.query.orderId).then(response => {
// console.log(response.data)
if(response.data.customerId) this.$set(this.form,'customerId',response.data.customerId)
if(response.data.customerId) that.$set(that.form,'customerId',response.data.customerId)
})
getDestCountryByOrderId({orderId:this.$route.query.orderId}).then(response => {
getDestCountryByOrderId({orderId:that.$route.query.orderId}).then(response => {
// console.log(response.data)
if(response.data) this.$set(this.queryParams,'destCountry',response.data)
if(response.data) that.$set(that.queryParams,'destCountry',response.data)
})
})
}
......@@ -856,9 +865,10 @@ export default {
this.id = this.$route.query.id;
this.getReceivableData()
}else{
this.discountForm.author = this.userInfo.username
this.discountForm.author = this.userInfo.nickname
this.form.departmentId = this.userInfo.deptId
this.form.salesmanId = this.userInfo.id
this.$set(this.form,'salesmanName',this.userInfo.nickname)
}
if (that.$route.query.receiptId && that.$route.query.receiptId !== '0') {
this.receiptId = this.$route.query.receiptId;
......@@ -955,9 +965,10 @@ export default {
getReceiptInfoByIds({ id: this.id }).then(res => {
if(res.data.rateValidateDate) res.data.rateValidateDate = dayjs(res.data.rateValidateDate).format('YYYY-MM-DD HH:mm:ss')
this.form = Object.assign({}, this.form, res.data)
this.discountForm.author = this.userInfo.username
this.discountForm.author = this.userInfo.nickname
if(!this.form.departmentId) this.form.departmentId = this.userInfo.deptId
if(!this.form.salesmanId) this.form.salesmanId = this.userInfo.id
if(!this.form.salesmanName) this.$set(this.form,'salesmanName',this.userInfo.nickname)
})
getInvoicingItem({ id: this.id }).then(res => {
this.list = [...res.data]
......@@ -1055,11 +1066,12 @@ export default {
return ''
},
writeOffRateChange(row, index) {
if(parseInt(row.writeOffRate)===0){
if(row.writeOffRate==0&&parseInt(row.writeOffRate)===0){
this.$modal.msgError(this.$t('汇率不能为0,请输入正确的汇率'));
}
if(row.writeOffRate){
row.writeOffAmount = Math.round(NP.times(row.writeOffRate || 0, NP.minus(row.receivableAmount, row.discountTotal)))
row.writeOffAmount = Math.round(NP.times(row.writeOffRate || 0, NP.minus(row.receivableAmount, row.discountTotal||0)))
}else{
row.writeOffAmount = ''
}
......@@ -1068,7 +1080,7 @@ export default {
this.form.receiptAccountList[this.form.receiptAccountList.length -1].writeOffAmount = writeOffAmountTotal
},
rateChange(row, index) {
if(parseInt(row.collectionRate)===0){
if(row.collectionRate==0&&parseInt(row.collectionRate)===0){
this.$modal.msgError(this.$t('汇率不能为0,请输入正确的汇率'));
}
if(row.collectionRate){
......@@ -1446,11 +1458,20 @@ export default {
// params.receiptAccountList.length = params.receiptAccountList.length - 1
var saveStatus = true
var writeStatus = true
var reatStatus = true
params.receiptAccountList.forEach(v => {
if(v.type!='total'){
if(!v.platformAccountId){
saveStatus = false
}
if(!v.writeOffRate){
writeStatus = false
}
if(!v.collectionRate){
reatStatus = false
}
var bankname = this.bankData.filter(item=>item.id == v.platformAccountId)
if(bankname.length>0){
v.platformAccountName = bankname[0].baAccountName
......@@ -1461,10 +1482,19 @@ export default {
v.writeOffRate = Number(v.writeOffRate)
}
})
if(!writeStatus){
this.$modal.msgError(this.$t('核销基准币种汇率不能为0,请输入正确的汇率'));
return
}
if(!saveStatus){
this.$modal.msgError(this.$t('请添加收款账户'));
return
}
if(!reatStatus){
this.$modal.msgError(this.$t('期望收款汇率不能为0,请输入正确的汇率'));
return
}
delete params.receivableDetail
......@@ -1492,6 +1522,7 @@ export default {
}
this.saveBtnLoading = true
params.receiptAccountList.splice(params.receiptAccountList.length - 1,1)
if (this.id && this.id != 0) {
// if(params.state==0) params.state = 1
params.updateType = 1
......@@ -1557,7 +1588,11 @@ export default {
},
//清空数据
removeData(){
console.log(this.form)
this.id = 0
this.flag = false
this.discountForm = {
author:''
}
this.$refs.customer.reset()
this.list = []
for(var i in this.form){
......
......@@ -469,7 +469,7 @@
<template slot="label">
{{ $t('兑核销基准币种金额') }}{{getCurrencyLabel(showCurrencyId)}}
</template>
<span>{{ addForm.writeOffAmount?parseFloat(addForm.writeOffAmount).toFixed(6):'' }}</span>
<span>{{ addForm.writeOffAmount?parseFloat(addForm.writeOffAmount).toFixed(2):'' }}</span>
</el-form-item>
<el-form-item
:label="$t('水单附件')"
......@@ -838,12 +838,14 @@ export default {
this.addForm.amount = ''
this.$modal.msgError(this.$t('输入金额不对'));
}else{
if(this.addForm.amount.indexOf('.')>-1){
pointArr = this.addForm.amount.split('.')
// console.log(this.addForm.amount)
// this.addForm.amount = this.addForm.amount.toFixed(2)
// if(this.addForm&&this.addForm.amount&&this.addForm.amount.indexOf('.')>-1){
pointArr = this.addForm.amount.toString().split('.')
if(pointArr.length>1&&pointArr[1]){
this.addForm.amount =Math.round(this.addForm.amount*100)/100
}
}
// }
}
this.$set(this.addForm, 'writeOffAmount', NP.times(this.addForm.rate || 0, this.addForm.amount || 0))
},
......@@ -1117,7 +1119,7 @@ export default {
...v,
amountDate: this.parseTime(v.amountDate, '{y}-{m}-{d}'),
accountNo: +v.accountNo,
rate:parseFloat(v.rate).toFixed(6),
rate:parseFloat(v.rate),
attr: v.attr ? v.attr.split(',').map(t => ({ name: t.slice(t.lastIndexOf('/') + 1), url: t })) : []
}))
// this.calculation()
......
<template>
<div class="app-container">
<!-- 搜索 -->
<el-card>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
inline
class="card"
>
<el-form-item :label="$t('自编号')">
<el-input v-model="queryParams.selfNo" clearable></el-input>
</el-form-item>
<el-form-item :label="$t('始发仓')">
<el-select v-model="queryParams.warehouseId" placeholder="请选择" clearable>
<el-option
v-for="item in warehouseList"
:key="item.id"
:label="$l(item, 'title')"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的国')">
<el-select v-model="queryParams.countryId" placeholder="请选择" clearable>
<el-option
v-for="item in countryList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')">
<el-select v-model="queryParams.destinationWarehouseId" placeholder="请选择" clearable>
<el-option
v-for="item in warehouseList"
:key="item.id"
:label="$l(item, 'title')"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('自编号状态')">
<el-select v-model="queryParams.status" placeholder="请选择" clearable>
<el-option
v-for="item in DICT_TYPE.SELF_NO_STATUS"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('结算时间')" >
<el-date-picker
clearable
v-model="queryParams.settlementTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
align="right"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions"
/>
</el-form-item>
<el-form-item :label="$t('是否结算')">
<el-select v-model="queryParams.isSettlement" placeholder="请选择" clearable>
<el-option
v-for="item in DICT_TYPE.YES_NO"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
>{{$t('查询')}}</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleExport">{{$t('导出搜索')}}</el-button>
</el-form-item>
</el-form>
</el-card>
<el-table v-loading="loadings" :data="list" border class="card">
<el-table-column :label="$t('是否结算')" align="center" prop="" />
<el-table-column :label="$t('No.柜号')" align="center" prop="">
<template slot-scope="scope">
<el-button v-if="permissions.indexOf('selfno:report:detail') > -1" type="text" @click="$router.push('./selfno_report_detail?id=' + scope.row.id)">{{scope.row.no}}</el-button>
<span v-else>{{scope.row.no}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('应收款(Accounts receivable)')" align="center" prop=""></el-table-column>
<el-table-column :label="$t('received in + 目的国国家(目的地实收)')" align="center" prop="">
<el-table-column :label="$t('运费')"></el-table-column>
<el-table-column :label="$t('清关费')"></el-table-column>
<el-table-column :label="$t('额外费用')"></el-table-column>
</el-table-column>
<el-table-column :label="$t('received in China(中国实收)')" align="center" prop="" >
<el-table-column :label="$t('运费')"></el-table-column>
<el-table-column :label="$t('清关费')"></el-table-column>
<el-table-column :label="$t('额外费用')"></el-table-column>
</el-table-column>
<el-table-column :label="$t('Discounts 折扣')" align="center" prop="">
<el-table-column :label="$t('运费')"></el-table-column>
<el-table-column :label="$t('清关费')"></el-table-column>
<el-table-column :label="$t('额外费用')"></el-table-column>
</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('./selfno_report_detail?id=' + scope.row.id)">{{$t('查看')}}</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
</div>
</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";
export default {
components: {Template},
data() {
return {
list: [],
total: 0,
queryParams: {
page: 1,
rows: 20,
},
tradeCityList: [],
currencyList:[],
warehouseList:[],
countryList: [],
};
},
activated(){
this.getList();
},
created() {
getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
getTradeCityList().then((res) => (this.tradeCityList = res.data));
this.getList();
getWarehouseList().then(res => this.warehouseList = res.data)
},
computed: {
permissions(){
return store.getters.permissions
},
exportCityList() {
return this.tradeCityList.filter((item) => item.type === 2);
},
importCityList() {
return this.tradeCityList.filter((item) => item.type === 1);
},
exportWarehouseList(){
/* tradeType 1 进口,2出口,3进出口 */
return this.warehouseList.filter(item => item.tradeType === 2 || item.tradeType === 3)
},
importWarehouseList(){
return this.warehouseList.filter(item => item.tradeType === 1 || item.tradeType === 3)
},
},
methods: {
getCurrencyLabel(id){
const item = this.currencyList.find(item => item.id === id);
if(!item)return ''
return this.$l(item, 'title')
},
/** 查询列表 */
getList() {
this.loading = true;
let params = {...this.queryParams}
this.addBeginAndEndTime(params, this.dateType, "createTime");
// 执行查询
/* TODO getListApi(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();
},
// 导出搜索
handleExport(){
// TODO 导出搜索
}
},
};
</script>
<style scoped>
.card {
margin-top: 20px;
}
.dialog-footer {
padding: 40px;
}
.card-title {
font-size: 18px;
font-weight: bold;
display: inline-block;
}
</style>
<template>
<div class="app-container">
<!-- 搜索 -->
<el-card>
<el-form
:model="queryParams"
ref="queryForm"
size="small"
inline
class="card"
>
<el-form-item :label="$t('编号')">
<el-input v-model="queryParams.selfNo" clearable placeholder="订单号、唛头、提单号"></el-input>
</el-form-item>
<el-form-item :label="$t('发货人')">
<el-input v-model="queryParams.fhr" placeholder="发货人名称、手机号"></el-input>
</el-form-item>
<el-form-item :label="$t('收货人')">
<el-input v-model="queryParams.fhr" placeholder="收货人名称、手机号"></el-input>
</el-form-item>
<el-form-item>
<dict-selector :type="DICT_TYPE.ECW_BEGINTIME_TYPE_ENDTIME" :filter="(item) => item.value != 'PickTime'" v-model="dateFilterType" defaultable style="width: 150px; margin-right: 5px" />
<el-date-picker v-model="dateFilter" type="datetimerange" range-separator="-"
:start-placeholder="$t('开始日期')"
:end-placeholder="$t('结束日期')"
value-format="yyyy-MM-dd HH:mm:ss"
@change="handleQuery"
>
</el-date-picker>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId" v-if="!transportId">
<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.warehouseId" placeholder="请选择" clearable>
<el-option
v-for="item in warehouseList"
:key="item.id"
:label="$l(item, 'title')"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('目的仓')">
<el-select v-model="queryParams.destinationWarehouseId" placeholder="请选择" clearable>
<el-option
v-for="item in warehouseList"
:key="item.id"
:label="$l(item, 'title')"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('客户经理')" >
<user-selector manage v-model="queryParams.salesmanId" clearable @change="handleQuery"/>
</el-form-item>
<el-form-item :label="$t('订单状态')" prop="status">
<dict-selector :type="DICT_TYPE.ORDER_STATUS" v-model="queryParams.status"
@keyup.enter.native="handleQuery" clearable />
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
@click="handleQuery"
>{{$t('查询')}}</el-button>
<el-button type="primary" icon="el-icon-plus" @click="handleExport">{{$t('导出搜索')}}</el-button>
</el-form-item>
</el-form>
</el-card>
<el-table v-loading="loading" :data="list" border class="card">
<el-table-column :label="$t('序号')" width="50">
<template slot-scope="{row, index}">
{{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">
<template slot-scope="{row}">
<div>{{row.warehouseMeasure}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('是否重泡货')" width="150">
<template slot-scope="{row}">
<div>{{row.isHeavyBubble | dict(DICT_TYPE.YES_NO)}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('收费数据')" width="150">
<template slot-scope="{row}">
<div>{{row.chargeData}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('订单状态')" width="150">
<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>
</template>
</el-table-column>
<el-table-column :label="$t('订单优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.orderDiscountAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收总金额')" width="150">
<template slot-scope="{row}">
<div>{{row.actualTotalAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收总金额')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedTotalAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('应收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.freightAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('运费优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.freightDiscountAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.actualFreightAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收运费')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedFreightAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('应收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.customsClearanceAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.actualCustomsClearanceAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('清关费优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.customsClearanceDiscountAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收清关费')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedCustomsClearanceAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('应收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.storageAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('实收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.actualStorageAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('额外费用优惠金额')" width="150">
<template slot-scope="{row}">
<div>{{row.storageDiscountAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('已收额外费用')" width="150">
<template slot-scope="{row}">
<div>{{row.receivedStorageAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('是否全部核销')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('客户经理')" prop="name"></el-table-column>
<el-table-column :label="$t('订单入仓时间')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('订单装柜时间')" width="150">
<template slot-scope="{row}">
<div>{{row.otherAmount}}</div>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination
:total="total"
:page.sync="queryParams.page"
:limit.sync="queryParams.rows"
@pagination="getList"
/>
</div>
</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 UserSelector from "@/components/UserSelector/index.vue";
export default {
components: {UserSelector, Template},
data() {
return {
loading: false, // 加载中
dateFilterType: '', //日期筛选类别
dateFilter: [], //筛选日期
list: [],
total: 0,
queryParams: {
page: 1,
rows: 20,
},
tradeCityList: [],
currencyList:[],
warehouseList:[],
countryList: [],
};
},
activated(){
this.getList();
},
created() {
getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
getTradeCityList().then((res) => (this.tradeCityList = res.data));
this.getList();
getWarehouseList().then(res => this.warehouseList = res.data)
},
computed: {
permissions(){
return store.getters.permissions
},
exportCityList() {
return this.tradeCityList.filter((item) => item.type === 2);
},
importCityList() {
return this.tradeCityList.filter((item) => item.type === 1);
},
exportWarehouseList(){
/* tradeType 1 进口,2出口,3进出口 */
return this.warehouseList.filter(item => item.tradeType === 2 || item.tradeType === 3)
},
importWarehouseList(){
return this.warehouseList.filter(item => item.tradeType === 1 || item.tradeType === 3)
},
},
methods: {
getCurrencyLabel(id){
const item = this.currencyList.find(item => item.id === id);
if(!item)return ''
return this.$l(item, 'title')
},
/** 查询列表 */
getList() {
return false
this.loading = true;
let params = {...this.queryParams}
this.addBeginAndEndTime(params, this.dateType, "createTime");
// 执行查询
/* TODO getListApi(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();
},
// 导出搜索
handleExport(){
// TODO 导出搜索
}
},
};
</script>
<style scoped>
.card {
margin-top: 20px;
}
.dialog-footer {
padding: 40px;
}
.card-title {
font-size: 18px;
font-weight: bold;
display: inline-block;
}
</style>
<template>
<el-dialog visible width="1500px" title="NG23022222L费用汇总" :before-close="close">
<el-card>
<span slot="header" class="header-title">订单收费汇总</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>
</el-card>
<el-card class="mt-10">
<span slot="header">入仓信息</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>
</el-card>
<el-card class="mt-10">
<span slot="header">运费&清关费</span>
<!--序号,中文品名,英文品名,品牌,入仓数据,是否重货,入仓数据,实收数据,应收单价,优惠单价金额,成交单价,应收运费&清关费,收款单优惠金额,总优惠金额,实收运费&清关费-->
<el-table :data="[]">
<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>
</el-card>
<el-card class="mt-10">
<span slot="header">保费</span>
<div>
订单总金额:,保费费率:应收保费:,收款优惠金额:,实收保费:
</div>
</el-card>
<el-card class="mt-10">
<span slot="header">特需</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>
</el-card>
<el-card class="mt-10">
<span slot="header">费用申请</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>
</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>
</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>
</el-card>
</el-dialog>
</template>
<script>
export default {
data(){
return {
}
},
methods:{
getSpecialSummaries(){
return [
1,2,3,4,5,5,6,7,8,9
]
},
close(){
this.$emit('close')
}
}
}
</script>
<style scoped lang="scss">
</style>
......@@ -253,6 +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-table :data="feeList">
<el-table-column :label="$t('订单号')" prop="orderNo">
<template slot-scope="{row}">
......@@ -422,6 +423,8 @@
<operate-log-detail v-if="showLogDetailId" :log-id="showLogDetailId" @close="showLogDetailId=null"></operate-log-detail>
<!-- 报关资料 -->
<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" />
</div>
</template>
......@@ -444,12 +447,14 @@ import {checkPermi} from '@/utils/permission'
import OperateLogDetail from "@/views/ecw/order/components/OprateLogDetail";
import DeclarationDocuments from './components/DeclarationDocuments';
import ImageDisplay from "@/views/ecw/order/components/imageDisplay.vue";
import FeeDetail from "@/views/ecw/order/components/FeeDetail.vue";
export default {
name: "detail",
components: {
ImageDisplay,
OperateLogDetail,
PrintWarehouseReceipt, PrintLadingBill, WarehouseDetail, WarehouseAreaSelect,DeclarationDocuments
PrintWarehouseReceipt, PrintLadingBill, WarehouseDetail, WarehouseAreaSelect,DeclarationDocuments,
FeeDetail
},
filters: {
customsTypeFilter(e, customsTypeList) {
......@@ -494,7 +499,8 @@ export default {
showMore:false,
consigneeText:this.$t('更多'),
showLogDetailId: null, // 显示日志详情的ID,
showDeclaration:false //显示报关资料
showDeclaration:false, //显示报关资料
showFeeDetail: false // 是否显示费用汇总
}
},
computed:{
......
......@@ -164,7 +164,7 @@
<span style="font-size: 18px">{{$t('入仓影像')}}</span>
</div>
<div>
<image-and-video-upload readonly :fileSize="50" :isShowTip="true" :value="[...form.urls, ...this.orderItemList.map(e => e.pictureUrls || []).flat()]" ></image-and-video-upload>
<image-and-video-upload readonly :fileSize="50" :isShowTip="true" :value="this.orderItemList.map(e => e.pictureUrls || []).flat()" ></image-and-video-upload>
</div>
</el-card>
<div style="text-align: center;margin-top: 15px" v-if="!(order.status !== 3 && isEdit)">
......@@ -431,7 +431,7 @@ export default {
orderSpecialNeedReceivableReqVoList: this.form.orderSpecialNeedReceivableReqVoList,
"orderLocationCreateReqVOList": this.form.orderLocationCreateReqVOList,
"orderId": this.order.orderId,
urls: this.form.urls,
// urls: this.form.urls,
sumVolume: this.form.sumVolume,
sumWeight: this.form.sumWeight,
isAppend: this.isAdd
......
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