Commit 9eccadc1 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 9dd7b978 ffef36de
......@@ -46,6 +46,7 @@
<script>
import { getToken } from "@/utils/auth";
import {warehousePictureCreate} from "@/api/ecw/order";
export default {
props: {
......@@ -65,6 +66,15 @@ export default {
type: Boolean,
default: true
},
// 类型 1入仓 2 调拨出仓 3调拨到仓 4 订单转异
type: {
type: Number,
default: undefined
},
id: {
type: Number,
default: undefined
},
readonly: {
type: Boolean,
default: false
......@@ -121,9 +131,11 @@ export default {
methods: {
// 删除图片
handleRemove(index) {
if (this.id && this.type) {
this.$emit("delete", this.fileList[index].url);
}
this.fileList.splice(index, 1);
this.$emit("input", this.listToString(this.fileList));
},
// 上传成功回调
handleUploadSuccess(res) {
......@@ -133,8 +145,21 @@ export default {
this.fileList = this.fileList.concat(this.uploadList);
this.uploadList = [];
this.number = 0;
if (this.id && this.type) {
warehousePictureCreate({
"bizId": this.id,
"type": this.type,
"url": res.data
}).then(() => {
this.$emit("input", this.listToString(this.fileList));
this.$emit("refresh");
this.$modal.closeLoading();
})
} else {
this.$emit("input", this.listToString(this.fileList));
this.$emit("refresh");
this.$modal.closeLoading();
}
}
}else {
this.handleUploadError();
......
......@@ -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) {
......
......@@ -5,13 +5,13 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('币种1')" prop="sourceCurrencyId">
<el-select v-model="queryParams.sourceCurrencyId" :placeholder="$t('请选择币种')" clearable size="small">
<el-option v-if="dict.status === 0" v-for="dict in currencyList"
<el-option v-for="dict in currencyList"
:key="dict.id" :label="$l(dict,'title') + dict.fuhao" :value="dict.id" />
</el-select>
</el-form-item>
<el-form-item :label="$t('币种2')" prop="targetCurrencyId">
<el-select v-model="queryParams.targetCurrencyId" :placeholder="$t('请选择币种')" clearable size="small">
<el-option v-if="dict.status === 0" v-for="dict in currencyList"
<el-option v-for="dict in currencyList"
:key="dict.id" :label="$l(dict,'title') + dict.fuhao" :value="dict.id" />
</el-select>
</el-form-item>
......@@ -90,13 +90,13 @@
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item :label="$t('币种1')" prop="sourceCurrencyId">
<el-select v-model="form.sourceCurrencyId" :placeholder="$t('请选择币种')">
<el-option v-if="dict.status === 0" @click.native="() => form.sourceCurrencyCode = dict.fuhao" v-for="dict in currencyList"
<el-option :disabled="dict.status === 1" @click.native="() => form.sourceCurrencyCode = dict.fuhao" v-for="dict in currencyList"
:key="dict.id" :label="$l(dict,'title') + dict.fuhao" :value="dict.id" />
</el-select>
</el-form-item>
<el-form-item label="币种2" prop="targetCurrencyId">
<el-select v-model="form.targetCurrencyId" :placeholder="$t('请选择币种')">
<el-option v-if="dict.status === 0" @click.native="() => form.targetCurrencyCode = dict.fuhao" v-for="dict in currencyList"
<el-option :disabled="dict.status === 1" @click.native="() => form.targetCurrencyCode = dict.fuhao" v-for="dict in currencyList"
:key="dict.id" :label="$l(dict,'title') + dict.fuhao" :value="dict.id" />
</el-select>
</el-form-item>
......@@ -115,7 +115,7 @@
<template v-if="form.id">
<el-form-item :label="$t('创建人')">{{getOperator(form.updater)}}</el-form-item>
<el-form-item :label="$t('创建时间')">{{parseTime(form.createTime)}}</el-form-item>
<el-form-item :label="$t('最后更新')">{{parseTime(form.updateTime)}}</el-form-item>
<el-form-item :label="$t('最后更新时间')">{{parseTime(form.updateTime)}}</el-form-item>
<el-form-item :label="$t('最后更新人')">{{getOperator(form.updater)}}</el-form-item>
</template>
</el-form>
......
......@@ -474,6 +474,7 @@ import {getWarehouseList} from '@/api/ecw/warehouse'
import WorkFlow from '@/components/WorkFlow/'
import {getCustomer, getCustomerPage} from "@/api/ecw/customer";
import Template from "@/views/cms/template/index.vue";
import {getExchangeRatePage} from "@/api/ecw/exchangeRate";
export default {
name: "commission-requestFunds",
......@@ -515,10 +516,12 @@ export default {
dialogVisible: false,
interdict:false,
bankAccountList:[],
rateList:[],
};
},
async created() {
await getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
await getExchangeRatePage({page:1,rows: 100}).then(res => this.rateList = res.data.list)
getWarehouseList().then(res => this.warehouseList = res.data)
let that = this;
if (that.$route.query.payableId && that.$route.query.payableId !== '0') {
......@@ -742,8 +745,8 @@ export default {
},
handleSelectionChange(val) {
this.multipleSelection = val.map(v => {
var rate = NP.divide(this.currencyList.find(vs => vs.id === v.currencyId).huilv, 100).toFixed(6)
return Object.assign(v, {exchangeRate: rate})
let p = this.rateList.find(i =>i.sourceCurrencyId === v.currencyId && i.targetCurrencyId === 3)
return Object.assign(v, {exchangeRate: p.currencyRate})
});
},
hiddenDialog() {
......
<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>
......@@ -12,13 +12,10 @@
</el-form-item>
<el-form-item :label="$t('特殊要求备注')"><el-input type="textarea" style="width: 300px;" v-model="todoDetail"></el-input></el-form-item>
<el-form-item v-for="(item,index) in this.getDictDatas(this.DICT_TYPE.ORDER_SPECIAL_NEEDS)" v-if="advanceType.indexOf(item.value) > -1" :key="item.value" :label="item.label + '预计金额'">
<el-input style="width: 300px;" v-model="specialNeedsList[index].transFee">
<div style="width: 100px;" slot="append" >
<el-input-number style="width: 300px;" v-model.number="specialNeedsList[index].transFee" type="number" :min="0" step-strictly></el-input-number>
<el-select v-model="specialNeedsList[index].transCurrency">
<el-option v-for="item in JSON.parse(currency)" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select>
</div>
</el-input>
<div style="display: inline-block;margin-left: 20px;">
<span style="margin-right: 10px;">{{ $t('付款类型') }}</span>
<dict-selector :placeholder="$t('请选择付款类型')" v-model="specialNeedsList[index].payType" :type="DICT_TYPE.PAYMENT_TYPE" ></dict-selector>
......
......@@ -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:{
......
......@@ -23,7 +23,7 @@
</el-table-column>
<el-table-column :label="$t('金额')">
<template v-slot:default = 'scope'>
<el-input :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.applicationFee" ></el-input>
<el-input :disabled="isModify[forbidden(scope.row)]" v-model.number="scope.row.applicationFee" ></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('货币类型')">
......
......@@ -65,7 +65,7 @@
</el-col>
<el-col :span="16">
<el-form-item :label="$t('入仓特性')" style="margin-top: 20px">
<el-checkbox-group v-model="form.prodAttrIds">
<el-checkbox-group v-model="form.warehouseInProdAttrIds">
<el-checkbox v-for="item in attrList" :key="item.id" :label="item.id">{{ item.attrName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
......@@ -209,7 +209,14 @@
<span style="font-size: 18px">{{$t('入仓影像')}}</span>
</div>
<div>
<image-and-video-upload :fileSize="50" :isShowTip="true" v-model="form.pictureUrls" ></image-and-video-upload>
<image-and-video-upload
:fileSize="50"
:isShowTip="true"
v-model="form.pictureUrls"
:id="orderItemId"
:type="5"
@delete="handleImageDelete"
></image-and-video-upload>
</div>
</el-card>
</el-tab-pane>
......@@ -269,7 +276,7 @@
</el-col>
<el-col :span="16">
<el-form-item :label="$t('入仓特性')" style="margin-top: 20px">
<el-checkbox-group v-model="form1.prodAttrIds">
<el-checkbox-group v-model="form1.warehouseInProdAttrIds">
<el-checkbox v-for="item in attrList" :key="item.id" :label="item.id">{{ item.attrName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
......@@ -489,7 +496,11 @@ import {getFeeTypeByOrderProduct, getProductBrankPage} from "@/api/ecw/productBr
import {cancelProcessInstance} from "@/api/bpm/processInstance"
import WorkFlow from "@/components/WorkFlow"
import {DICT_TYPE, getDictDataLabel, getDictDatas} from "@/utils/dict"
import {orderWarehouseIn, orderWarehouseInUpdateApply} from "@/api/ecw/order"
import {
orderWarehouseIn,
orderWarehouseInUpdateApply, warehousePictureDelete,
warehousePictureList
} from "@/api/ecw/order"
import {getProductAttrList} from "@/api/ecw/productAttr"
import {getProductTypeList} from "@/api/ecw/productType"
import {addProduct} from "@/api/ecw/product"
......@@ -560,6 +571,9 @@ export default {
orderId(){
return this.order.orderId
},
orderItemId(){
return this.warehousing.orderItemId
},
brandObject(){
return this.brandList.find(e => e.id === this.form.brand) || ''
},
......@@ -638,7 +652,7 @@ export default {
inTime: undefined,
material: undefined,
orderItemId: undefined,
prodAttrIds: [],
warehouseInProdAttrIds: [],
prodId: undefined,
prodTitleEn: undefined,
prodTitleZh: undefined,
......@@ -657,7 +671,7 @@ export default {
inTime: undefined,
material: undefined,
orderItemId: undefined,
prodAttrIds: [],
warehouseInProdAttrIds: [],
prodId: undefined,
prodTitleEn: undefined,
prodTitleZh: undefined,
......@@ -728,7 +742,10 @@ export default {
this.form.orderId = this.warehousing.orderId
this.form.orderItemId = this.warehousing.orderItemId
this.form.orderNo = this.warehousing.orderNo
this.form.prodAttrIds = this.warehousing.prodAttrIds?.split(',').map(e => +e) || []
this.form.warehouseInProdAttrIds =
this.warehousing.warehouseInProdAttrIds?.split(',').map(e => +e)
|| this.warehousing.prodAttrIds?.split(',').map(e => +e)
|| []
this.form.prodId = this.warehousing.prodId
this.form.prodTitleEn = this.warehousing.prodTitleEn
this.form.prodTitleZh = this.warehousing.prodTitleZh
......@@ -765,6 +782,22 @@ export default {
this.handleAdd(1)
}
},
handleImageDelete(url) {
warehousePictureList({
bizId: this.orderId,
type: 1
}).then(r =>{
console.log(r, url)
if (r.data?.length > 0) {
const id = r.data.find(e => e?.url === url)?.id
if (id) {
warehousePictureDelete(id).then(r => {
console.log(r)
})
}
}
})
},
handleClose() {
this.visible = false
},
......@@ -784,7 +817,7 @@ export default {
handleSubmit() {
if (this.activeName !== "first"){
// 添加非填单货物
if (this.form1.prodAttrIds.indexOf(4) !== -1) {
if (this.form1.warehouseInProdAttrIds.indexOf(4) !== -1) {
return this.$notify({
title: this.$t('提示'),
message: this.$t("订单包含不接受货物,请检查"),
......@@ -802,7 +835,7 @@ export default {
orderId: this.warehousing.orderId,
orderItemId: undefined,
orderNo: this.warehousing.orderNo,
prodAttrIds: this.form.prodAttrIds.join(','),
warehouseInProdAttrIds: this.form.warehouseInProdAttrIds.join(','),
orderWarehouseInItemDoList: this.form1.table.map(e => {
return {
...e,
......@@ -821,7 +854,7 @@ export default {
})
})
} else {
if (this.form.prodAttrIds.indexOf(4) !== -1) {
if (this.form.warehouseInProdAttrIds.indexOf(4) !== -1) {
return this.$notify({
title: this.$t('提示'),
message: this.$t("订单包含不接受货物,请检查"),
......@@ -845,7 +878,7 @@ export default {
volume: (+this.warehousing.volume)?.toFixed(2) || '',
weight: (+this.warehousing.weight)?.toFixed(2) || '',
prodId: this.form.prodId,
prodAttrIds: this.form.prodAttrIds.join(','),
warehouseInProdAttrIds: this.form.warehouseInProdAttrIds.join(','),
"orderWarehouseInUpdateItemDoList": this.form.table.map(e => {
return {
...e,
......@@ -871,7 +904,7 @@ export default {
orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo,
isAppend: this.isAdd ? true : undefined,
prodAttrIds: this.form.prodAttrIds.join(','),
warehouseInProdAttrIds: this.form.warehouseInProdAttrIds.join(','),
orderWarehouseInItemDoList: this.form.table.map(e => {
return {
...e,
......@@ -910,13 +943,13 @@ export default {
this.form.prodTitleZh = product.titleZh
this.form.prodTitleEn = product.titleEn
this.handleBrandChange(parseInt(this.form.brand))
this.form.prodAttrIds = product.attrId ? product.attrId.split(',').map(e => +e) : []
this.form.warehouseInProdAttrIds = product.attrId ? product.attrId.split(',').map(e => +e) : []
},
onProductChange1(product){
this.form1.prodTitleZh = product.titleZh
this.form1.prodTitleEn = product.titleEn
this.handleBrandChange(parseInt(this.form1.brand))
this.form1.prodAttrIds = product.attrId ? product.attrId.split(',').map(e => +e) : []
this.form1.warehouseInProdAttrIds = product.attrId ? product.attrId.split(',').map(e => +e) : []
},
getProductBrandPage(titleZh = undefined) {
getProductBrankPage({pageSize: 20, titleZh}).then(r => {
......@@ -1010,10 +1043,10 @@ export default {
this.$modal.msgSuccess(this.$t("新增成功"))
if (this.activeName === 'first') {
this.form.prodId = response.data
this.form.prodAttrIds = this.productForm.attrArray
this.form.warehouseInProdAttrIds = this.productForm.attrArray
} else {
this.form1.prodId = response.data
this.form1.prodAttrIds = this.productForm.attrArray
this.form1.warehouseInProdAttrIds = this.productForm.attrArray
}
this.productCancel()
})
......
......@@ -135,8 +135,8 @@
<h2 v-if="orderSpecialNeeds.length > 0">{{$t('特殊需求')}}</h2>
<el-form ref="form" :model="form" label-width="200px">
<el-form-item :label="$i18n.locale === 'en_US' ? item.labelEn : item.label" v-for="(item, index) in orderSpecialNeeds" :key="item.value" style="width: 600px">
<el-input v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoney" :placeholder="$t('请输入') + ($i18n.locale === 'en_US' ? item.labelEn : item.label)">
<el-select v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency" :placeholder="$t('请选择')" slot="append" style="width: 100px">
<el-input-number v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoney" type="number" :min="0" step-strictly :placeholder="$t('请输入') + ($i18n.locale === 'en_US' ? item.labelEn : item.label)"></el-input-number>
<el-select v-model="form.orderSpecialNeedReceivableReqVoList[index].receivableMoneyCurrency" :placeholder="$t('请选择')" style="width: 100px">
<el-option
v-for="item in currencyList"
:key="item.id"
......@@ -144,7 +144,6 @@
:value="item.id">
</el-option>
</el-select>
</el-input>
</el-form-item>
<h2>{{$t('订单数据')}}</h2>
......
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