Commit c7edde3a authored by houjn@hikoon.cn's avatar houjn@hikoon.cn
parents c386c15e 4251dda3
...@@ -35,12 +35,12 @@ ...@@ -35,12 +35,12 @@
</div> </div>
<!--table需要给一个key,否则全选的时候不会自动更新渲染--> <!--table需要给一个key,否则全选的时候不会自动更新渲染-->
<el-table v-if="!hideMap[item.value]" :data="item.routerList" :span-method="SpanMethod" border :key="selectedRoutes.length + item.value"> <el-table v-if="!hideMap[item.value]" :data="item.routerList" :span-method="SpanMethod" border :key="selectedRoutes.length + item.value">
<el-table-column :label="$t('始发')" prop="startTitleZh"> <el-table-column :label="$t('始发')" prop="startTitleZh">
<template slot-scope="{row}"> <template slot-scope="{row}">
{{$l(row, 'startTitle')}} {{$l(row, 'startTitle')}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('目的')" prop="destTitleZh" > <el-table-column :label="$t('目的')" prop="destTitleZh" >
<template slot-scope="{row}"> <template slot-scope="{row}">
{{$l(row, 'destTitle')}} {{$l(row, 'destTitle')}}
</template> </template>
...@@ -73,7 +73,8 @@ export default { ...@@ -73,7 +73,8 @@ export default {
props:{ props:{
value: { value: {
type: Array type: Array
} },
option: Object
}, },
data(){ data(){
return { return {
...@@ -93,7 +94,6 @@ export default { ...@@ -93,7 +94,6 @@ export default {
} }
}, },
computed:{ computed:{
importCityList(){ importCityList(){
return this.tradeCityList.filter(item => item.type == 1 || item.type == 3) return this.tradeCityList.filter(item => item.type == 1 || item.type == 3)
}, },
...@@ -183,6 +183,12 @@ export default { ...@@ -183,6 +183,12 @@ export default {
}) })
}) })
} }
},
option(option){
if(option){
this.changeOption()
}
} }
}, },
created(){ created(){
...@@ -199,8 +205,19 @@ export default { ...@@ -199,8 +205,19 @@ export default {
this.selectedRoutes = this.value this.selectedRoutes = this.value
} }
if(this.option){
this.changeOption()
}
}, },
methods:{ methods:{
changeOption(){
if(!this.option) return
this.importCity = +this.option.importCity
this.exportCity = +this.option.exportCity
this.transportType = this.option.transportId
this.channelId = +this.option.channelId
},
// 全选、全不选 某个运输方式所有线路 // 全选、全不选 某个运输方式所有线路
toggleGroupChecker(index, selected){ toggleGroupChecker(index, selected){
let routerList = this.filteredRouterList[index].routerList let routerList = this.filteredRouterList[index].routerList
......
...@@ -80,13 +80,14 @@ ...@@ -80,13 +80,14 @@
</el-form-item> </el-form-item>
<el-form-item v-show="form.status == '3'" label="赔付金额"> <el-form-item v-show="form.status == '3'" label="赔付金额">
<el-input v-model="form.indemnity" placeholder="请输入赔付金额"> <el-input v-model="form.indemnity" placeholder="请输入赔付金额">
<dict-selector <!-- <dict-selector
defaultable defaultable
style="width: 110px" style="width: 110px"
placeholder="请选择货币单位" placeholder="请选择货币单位"
slot="append" slot="append"
v-model="form.currencyUnit" v-model="form.currencyUnit"
:type="DICT_TYPE.COMMISSION_CURRENCY_TYPE"></dict-selector> :type="DICT_TYPE.COMMISSION_ CURRENCY_TYPE"></dict-selector> -->
// TODO 货币需要改成接口数据,但是没找到此文件入口没法测试
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item v-show="form.status == '3'" label="处理时间" required> <el-form-item v-show="form.status == '3'" label="处理时间" required>
......
...@@ -142,7 +142,6 @@ export const DICT_TYPE = { ...@@ -142,7 +142,6 @@ export const DICT_TYPE = {
SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type',//出货报关方式(与订单报关方式相同) SHIPPING_DECLARATION_TYPE: 'shipping_declaration_type',//出货报关方式(与订单报关方式相同)
COMMISSION_TYPE: 'commission_type',//佣金类型 COMMISSION_TYPE: 'commission_type',//佣金类型
COMMISSION_DARK_TYPE: 'commission_dark_type',//暗涌类型 COMMISSION_DARK_TYPE: 'commission_dark_type',//暗涌类型
COMMISSION_CURRENCY_TYPE: 'commission_currency_type',//佣金货币类型
// COMMISSION_UNIT: 'commission_unit',//佣金货物单位 // COMMISSION_UNIT: 'commission_unit',//佣金货物单位
ECW_PORT_TYPE: 'port_type', //港口类型 ECW_PORT_TYPE: 'port_type', //港口类型
CERTIFICATE_TYPE: 'certificate_type',//证件类型 CERTIFICATE_TYPE: 'certificate_type',//证件类型
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
{{ scope.row.loadWeight }}kg {{ scope.row.loadWeight }}kg
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('跟进客服')" align="center" prop="" /> <el-table-column :label="$t(' 跟进客服')" align="center" prop="" />
<el-table-column :label="$t('制作')" align="center" class-name="small-padding fixed-width"> <el-table-column :label="$t('制作')" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 0 (未制作提货单) 1(审核中) 2(审核通过) 3(审核拒绝) --> <!-- 0 (未制作提货单) 1(审核中) 2(审核通过) 3(审核拒绝) -->
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-row style="text-align:left;"> <el-row style="text-align:left;">
<el-row> <el-row>
<span>{{$t('规格')}}{{scope.row.boxGauge}}</span> <span>{{$t('规格')}}{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.boxGauge : ''}}</span>
</el-row> </el-row>
<el-row> <el-row>
<span>{{$t('品牌')}} <span>{{$t('品牌')}}
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
<span style="margin-left: 10px;">{{$t('重量')}}{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.weight : 0 }}kg</span> <span style="margin-left: 10px;">{{$t('重量')}}{{scope.row.warehouseInInfoVO ? scope.row.warehouseInInfoVO.weight : 0 }}kg</span>
</el-row> </el-row>
<el-row> <el-row>
<span>{{$t('计划装柜:无返回')}}</span> <span>{{$t('计划装柜')}}{{planCabinet}}</span>
</el-row> </el-row>
</el-row> </el-row>
</template> </template>
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
{{shopForm.num||0}} {{shopForm.num||0}}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12" v-show="isQuantity">
<el-form-item label="剩余数量(个):"> <el-form-item label="剩余数量(个):">
{{shopForm.quantity||0}} {{shopForm.quantity||0}}
</el-form-item> </el-form-item>
...@@ -208,7 +208,7 @@ ...@@ -208,7 +208,7 @@
<el-form-item label="放入箱数:"> <el-form-item label="放入箱数:">
{{shopForm.num||0}} {{shopForm.num||0}}
</el-form-item> </el-form-item>
<el-form-item label="放入数量(个):" prop="putQuantity"> <el-form-item label="放入数量(个):" prop="putQuantity" v-show="isQuantity">
<el-input-number v-model="shopForm.putQuantity" controls-position="right" :min="0"></el-input-number> <el-input-number v-model="shopForm.putQuantity" controls-position="right" :min="0"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="备注信息:"> <el-form-item label="备注信息:">
...@@ -281,11 +281,12 @@ export default { ...@@ -281,11 +281,12 @@ export default {
orderId: 0, orderId: 0,
lang: 0, lang: 0,
}, },
isQuantity: false,
}; };
}, },
created() { created() {
const { shipmentObj } = this.$attrs; const { shipmentObj } = this.$attrs;
this.planCabinet =`${shipmentObj.selfNo}-${this.currRow.sectionName}` this.planCabinet = `${shipmentObj.selfNo}-${this.currRow.sectionName}`;
getTradeCityList().then((res) => (this.tradeCityList = res.data)); getTradeCityList().then((res) => (this.tradeCityList = res.data));
this.queryParams.orderId = this.currRow.orderId; this.queryParams.orderId = this.currRow.orderId;
this.getOrderDetail(); this.getOrderDetail();
...@@ -408,7 +409,7 @@ export default { ...@@ -408,7 +409,7 @@ export default {
).toFixed(2); ).toFixed(2);
}); });
sums[1] = this.$t( sums[1] = this.$t(
"下单统计:{orderSum} 箱 {orderV)m³ {orderW}kg 入仓统计:{leviteSum} 箱 {leviteV)m³ {leviteW}kg", "下单统计:{orderSum} 箱 {orderV} m³ {orderW} kg 入仓统计:{leviteSum} 箱 {leviteV} m³ {leviteW} kg",
{ {
orderSum, orderSum,
orderV, orderV,
...@@ -418,7 +419,6 @@ export default { ...@@ -418,7 +419,6 @@ export default {
leviteW, leviteW,
} }
); );
return sums; return sums;
}, },
importCityName(id) { importCityName(id) {
...@@ -445,6 +445,7 @@ export default { ...@@ -445,6 +445,7 @@ export default {
addShop() { addShop() {
this.shopForm = {}; this.shopForm = {};
this.shopOpen = true; this.shopOpen = true;
this.isQuantity = false;
}, },
async changeProdTitleZh() { async changeProdTitleZh() {
const data = await this.getSelectData("zhId"); const data = await this.getSelectData("zhId");
...@@ -474,6 +475,7 @@ export default { ...@@ -474,6 +475,7 @@ export default {
clearanceFreightVolume: data.clearanceFreightVolume, clearanceFreightVolume: data.clearanceFreightVolume,
}).then((res) => { }).then((res) => {
if (res.data) { if (res.data) {
this.isQuantity = true;
this.shopRules.putQuantity = [ this.shopRules.putQuantity = [
{ {
required: true, required: true,
...@@ -482,6 +484,7 @@ export default { ...@@ -482,6 +484,7 @@ export default {
}, },
]; ];
} else { } else {
this.isQuantity = false;
delete this.shopRules.putQuantity; delete this.shopRules.putQuantity;
} }
}); });
......
...@@ -40,16 +40,16 @@ ...@@ -40,16 +40,16 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('商品信息')" width="250px" align="center" prop="prodTitleZh"> <el-table-column :label="$t('商品信息')" width="250px" align="center" prop="prodTitleZh">
</el-table-column> </el-table-column>
<el-table-column :label="$t('备案')" align="center" prop="productRecord"> <el-table-column :label="$t('备案')" align="center" prop="feeType">
<template v-slot="{row}"> <template v-slot="{row}">
<dict-tag :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="row.productRecord" /> <dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('箱数')" align="center" prop="num"> <el-table-column :label="$t('箱数')" align="center" prop="num">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <el-link type="primary" @click.native="showWarehouseLogs(scope.row)">
{{scope.row.num}} {{scope.row.num}}
</div> </el-link>
<div style="color:blue;fontWeight:bold;"> <div style="color:blue;fontWeight:bold;">
{{ scope.row.multiSpecification === true ? '(多规格)' : ''}} {{ scope.row.multiSpecification === true ? '(多规格)' : ''}}
</div> </div>
...@@ -93,6 +93,7 @@ ...@@ -93,6 +93,7 @@
<el-dialog custom-class="shipping-dialog" :title="dialogConfig.title" :visible.sync="dialogConfig.dialogVisible" :fullscreen="dialogConfig.fullscreen" :width="dialogConfig.width" :modal-append-to-body=false append-to-body> <el-dialog custom-class="shipping-dialog" :title="dialogConfig.title" :visible.sync="dialogConfig.dialogVisible" :fullscreen="dialogConfig.fullscreen" :width="dialogConfig.width" :modal-append-to-body=false append-to-body>
<batchTally v-if="dialogConfig.dialogVisible" v-bind="$attrs" @closeDialog="closeDialog" :type="dialogConfig.type" :tallyRows="tallyRows" :shipmentObj="shipmentObj" /> <batchTally v-if="dialogConfig.dialogVisible" v-bind="$attrs" @closeDialog="closeDialog" :type="dialogConfig.type" :tallyRows="tallyRows" :shipmentObj="shipmentObj" />
</el-dialog> </el-dialog>
<warehouse-detail :order="order" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" />
</div> </div>
</template> </template>
...@@ -100,18 +101,23 @@ ...@@ -100,18 +101,23 @@
import batchTally from "./batchTally.vue"; import batchTally from "./batchTally.vue";
import { getTallyList, tallyRemove, tallyCommit } from "@/api/ecw/boxSea"; import { getTallyList, tallyRemove, tallyCommit } from "@/api/ecw/boxSea";
import { formatDate, serviceMsg } from "../../utils"; import { formatDate, serviceMsg } from "../../utils";
import WarehouseDetail from "./warehouseDetail";
import { getOrder } from "@/api/ecw/order";
export default { export default {
name: "tally", name: "tally",
inheritAttrs: false, inheritAttrs: false,
components: { components: {
batchTally, batchTally,
WarehouseDetail,
}, },
props: { props: {
shipmentObj: Object, shipmentObj: Object,
}, },
data() { data() {
return { return {
showWarehouseInItemId: null,
order: null,
tallyList: [], tallyList: [],
// 理货数据 // 理货数据
tallyRows: [], tallyRows: [],
...@@ -245,6 +251,13 @@ export default { ...@@ -245,6 +251,13 @@ export default {
}); });
}); });
}, },
// 显示入仓记录
showWarehouseLogs(row) {
getOrder(row.orderId).then((response) => {
this.order = response.data;
this.showWarehouseInItemId = row.orderItemId;
});
},
}, },
computed: { computed: {
/* 获取仓库 */ /* 获取仓库 */
......
<template>
<!-- 订单获取入仓记录 -->
<el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false" width="1000px" append-to-body>
<el-table v-if="warehouseItem && warehouseItem.orderWarehouseInBackItemDoList" :data="warehouseItem.orderWarehouseInBackItemDoList">
<el-table-column type="index" :label="$t('序号')" />
<el-table-column :label="$t('箱数')" prop="cartonsNum" />
<el-table-column :label="$t('入仓类型')" prop="cartonsNum">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.WAREHOUSING_SPECIFICATION_TYPE" :value="row.specificationType" />
</template>
</el-table-column>
<el-table-column :label="$t('包装类型')" prop="unit">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="row.unit" />
</template>
</el-table-column>
<el-table-column :label="$t('长')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge.split('*')[0]}}
</template>
</el-table-column>
<el-table-column :label="$t('宽')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge.split('*')[1]}}
</template>
</el-table-column>
<el-table-column :label="$t('高')" prop="boxGauge">
<template slot-scope="{row}">
{{row.boxGauge.split('*')[2]}}
</template>
</el-table-column>
<el-table-column :label="$t('体积') + '(m³)'" prop="volume" />
<el-table-column :label="$t('重量') + '(kg)'" prop="weight" />
<el-table-column :label="$t('数量(个)')" prop="quantityAll" />
<el-table-column :label="$t('快递单号')" prop="expressNo" />
<el-table-column :label="$t('入仓时间')" prop="inTime">
<template slot-scope="{row}">{{row.inTime|parseTime}}</template>
</el-table-column>
</el-table>
</el-dialog>
</template>
<script>
import { getOrder, getOrderWarehouseIn } from "@/api/ecw/order";
import { DICT_TYPE } from "@/utils/dict";
import { parseTime } from "@/utils/ruoyi";
export default {
filters: { parseTime },
props: {
order: Object, // order 和 orderId 二选一
orderId: Number,
orderItemId: Number,
},
data() {
return {
orderDetail: null,
warehouseList: null,
};
},
computed: {
info() {
return this.orderDetail || this.order;
},
orderItem() {
if (!this.info) return null;
return this.info.orderItemVOList.find(
(item) => item.orderItemId == this.orderItemId
);
},
warehouseItem() {
if (!this.warehouseList) return [];
return (
this.warehouseList.find(
(item) => item.orderItemId == this.orderItemId
) || []
);
},
title() {
if (!this.orderItem) return "-";
return this.$l(this.orderItem, "prodTitle") + " - " + this.$t("入仓记录");
},
},
created() {
this.show = true;
if (!this.order && this.orderId) {
getOrder(this.orderId).then((res) => {
this.orderDetail = res.data;
});
}
this.getOrderWarehouseIn();
},
methods: {
closeDialog() {
this.show = false;
this.$emit("close");
},
getOrderWarehouseIn() {
getOrderWarehouseIn(this.info.orderId).then((res) => {
this.warehouseList = res.data;
});
},
},
};
</script>
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
<el-table-column :label="$t('金额')" align="center" prop="fromFee"> <el-table-column :label="$t('金额')" align="center" prop="fromFee">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.fromFee}} <span>{{scope.row.fromFee}}
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.fromCurrency" />
<!-- {{ scope.row.fromCurrency | currencyDataFilter(currencyDictDatas) }} --> <!-- {{ scope.row.fromCurrency | currencyDataFilter(currencyDictDatas) }} -->
{{currencyName(scope.row.fromCurrency)}}
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
...@@ -29,8 +29,8 @@ ...@@ -29,8 +29,8 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('兑换货币类型')" align="center" prop="toCurrency"> <el-table-column :label="$t('兑换货币类型')" align="center" prop="toCurrency">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.toCurrency" />
<!-- <span>{{ scope.row.toCurrency | currencyDataFilter(currencyDictDatas) }}</span> --> <!-- <span>{{ scope.row.toCurrency | currencyDataFilter(currencyDictDatas) }}</span> -->
{{currencyName(scope.row.toCurrency)}}
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -83,11 +83,10 @@ ...@@ -83,11 +83,10 @@
<el-input v-model="form.fromFee" :placeholder="$t('请输入金额')"/> <el-input v-model="form.fromFee" :placeholder="$t('请输入金额')"/>
</el-form-item> </el-form-item>
<el-form-item :label="$t('货币类型')" prop="fromCurrency"> <el-form-item :label="$t('货币类型')" prop="fromCurrency">
<dict-selector :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="form.fromCurrency" /> <el-select v-model="form.fromCurrency" clearable>
<!-- <el-select v-model="form.fromCurrency" clearable> <el-option v-for="item in currencyList" :key="item.id"
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" :key="parseInt(dict.value)" :label="$l(item, 'title')" :value="item.id"/>
:label="$l(dict, 'label')" :value="parseInt(dict.value)"/> </el-select>
</el-select> -->
</el-form-item> </el-form-item>
<el-form-item :label="$t('兑换金额')" prop="toFee"> <el-form-item :label="$t('兑换金额')" prop="toFee">
<el-input v-model="form.toFee" :placeholder="$t('请输入兑换金额')"/> <el-input v-model="form.toFee" :placeholder="$t('请输入兑换金额')"/>
...@@ -97,8 +96,8 @@ ...@@ -97,8 +96,8 @@
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item :label="$t('兑换货币类型')" prop="toCurrency"> <el-form-item :label="$t('兑换货币类型')" prop="toCurrency">
<el-select v-model="form.toCurrency" clearable> <el-select v-model="form.toCurrency" clearable>
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE)" :key="parseInt(dict.value)" <el-option v-for="item in currencyList" :key="item.id"
:label="dict.label" :value="parseInt(dict.value)"/> :label="$l(item, 'title')" :value="item.id"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="开始时间(尼日利亚)" prop="nrlyStartTime"> <el-form-item label="开始时间(尼日利亚)" prop="nrlyStartTime">
...@@ -148,7 +147,8 @@ ...@@ -148,7 +147,8 @@
import {CommonStatusEnum} from "@/utils/constants"; import {CommonStatusEnum} from "@/utils/constants";
import {changeUserStatus} from "@/api/system/user"; import {changeUserStatus} from "@/api/system/user";
import {DICT_TYPE, getDictDatas, getDictData} from "@/utils/dict"; import {DICT_TYPE, getDictDatas, getDictData} from "@/utils/dict";
import { getCurrencyList } from "@/api/ecw/currency";
import {arrryToKeyedObjectBy} from '@/utils/index'
export default { export default {
name: "CurrencyEcash", name: "CurrencyEcash",
components: {}, components: {},
...@@ -202,12 +202,27 @@ ...@@ -202,12 +202,27 @@
// 表单校验 // 表单校验
rules: {}, rules: {},
/* statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS), */ /* statusDictDatas: getDictDatas(DICT_TYPE.COMMON_STATUS), */
/* currencyDictDatas: getDictDatas(DICT_TYPE.COMMISSION_CURRENCY_TYPE), */
/* ecashDatas: getDictDatas(DICT_TYPE.ECASH_INIT), */ /* ecashDatas: getDictDatas(DICT_TYPE.ECASH_INIT), */
currencyList: []
}; };
}, },
computed:{
currencyMap(){
return arrryToKeyedObjectBy(this.currencyList, 'id')
},
currencyName(){
return id => {
let obj = this.currencyMap[id]
if(obj) return this.$l(obj, 'title')
return this.$t('未知')
}
}
},
created() { created() {
this.getList(); this.getList();
getCurrencyList().then(res => {
this.currencyList = res.data
})
}, },
methods: { methods: {
/** 查询列表 */ /** 查询列表 */
......
...@@ -152,6 +152,7 @@ ...@@ -152,6 +152,7 @@
v-model="form.createTime" v-model="form.createTime"
type="datetime" type="datetime"
value-format="timestamp" value-format="timestamp"
disabled
:placeholder="$t('选择创建时间')"> :placeholder="$t('选择创建时间')">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
......
...@@ -90,6 +90,7 @@ ...@@ -90,6 +90,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('联系电话')" align="center" prop="transportId" show-overflow-tooltip > <el-table-column :label="$t('联系电话')" align="center" prop="transportId" show-overflow-tooltip >
<template slot-scope="scope"> <template slot-scope="scope">
<div>+{{scope.row.defaultContactPhoneAreaCode}}</div>
<div>{{scope.row.defaultContactPhone}}</div> <div>{{scope.row.defaultContactPhone}}</div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -100,7 +101,7 @@ ...@@ -100,7 +101,7 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('暗佣返佣类型')" align="center" prop="darkReturnType"> <el-table-column :label="$t('暗佣返佣类型')" align="center" prop="darkReturnType">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.type" /> <dict-tag :type="DICT_TYPE.COMMISSION_DARK_TYPE" :value="scope.row.darkReturnType" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('运输方式')" align="center" prop="transportId"> <el-table-column :label="$t('运输方式')" align="center" prop="transportId">
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="$t('客户名称')" prop="customerId"> <el-form-item :label="$t('客户名称')" prop="customerId">
<div style="display: flex"> <div style="display: flex">
<el-input readonly="readonly" :placeholder="$t('请输入选择客户')" v-model="customerName"></el-input> <el-input :disabled="true" :placeholder="$t('请输入选择客户')" v-model="customerName"></el-input>
<img v-if="$route.params.dictId == 0" style="width: 40px;height: 40px;margin-left: 40px;" src="@/assets/images/phonebook.png" class="phonebook" @click="customerNameShow= true" /> <img v-if="$route.params.dictId == 0" style="width: 40px;height: 40px;margin-left: 40px;" src="@/assets/images/phonebook.png" class="phonebook" @click="customerNameShow= true" />
</div> </div>
<!-- <el-select--> <!-- <el-select-->
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
</div> </div>
</div> </div>
</div> </div>
<el-form v-if="form.type == 2 && form.darkReturnType == 1"> <el-form v-if="form.type == 2 && form.darkReturnType == 1" :disabled="$route.params.dictId != 0">
<el-form-item :label="$t('商品类型')" v-for="(item,index) in darkServantAndProductForm" :key="index"> <el-form-item :label="$t('商品类型')" v-for="(item,index) in darkServantAndProductForm" :key="index">
<div class="shanping-type"> <div class="shanping-type">
<div class="tool"> <div class="tool">
...@@ -623,7 +623,7 @@ export default { ...@@ -623,7 +623,7 @@ export default {
if((val == 1 || val == 2)){ if((val == 1 || val == 2)){
let index = this.weightList.findIndex(item => item.id == 7); let index = this.weightList.findIndex(item => item.id == 7);
this.mingServantFrom.forEach(item =>{ this.mingServantFrom.forEach(item =>{
item.refundUnit = parseInt(this.weightList[index].id); item.refundUnit = parseInt(this.weightList[index]. id);
}) })
this.mingServantAnddarkServant.forEach(item =>{ this.mingServantAnddarkServant.forEach(item =>{
item.refundUnit =parseInt(this.weightList[index].id); item.refundUnit =parseInt(this.weightList[index].id);
......
...@@ -136,7 +136,6 @@ ...@@ -136,7 +136,6 @@
</el-table-column> </el-table-column>
<!-- <el-table-column label="币种" align="center"> <!-- <el-table-column label="币种" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="scope.row.currencyId" />
</template> </template>
</el-table-column> --> </el-table-column> -->
<!-- <el-table-column label="汇率" align="center" prop="totalAmount" /> --> <!-- <el-table-column label="汇率" align="center" prop="totalAmount" /> -->
......
...@@ -223,7 +223,7 @@ ...@@ -223,7 +223,7 @@
<el-form-item label="" <el-form-item label=""
:prop="`prodCreateReqVOList.${scope.$index}.worth`" :prop="`prodCreateReqVOList.${scope.$index}.worth`"
:rules="{ :rules="{
required: true, message: $t('货值不能为空'), trigger: 'blur' // required: true, message: $t('货值不能为空'), trigger: 'blur'
}" }"
class="mb-0 mr-0" class="mb-0 mr-0"
> >
...@@ -1095,6 +1095,7 @@ export default { ...@@ -1095,6 +1095,7 @@ export default {
if(!tmp.weight)tmp.weight = 1 if(!tmp.weight)tmp.weight = 1
if(!tmp.quantity)tmp.quantity = 1 if(!tmp.quantity)tmp.quantity = 1
if(!tmp.num)tmp.num = 1 if(!tmp.num)tmp.num = 1
if(!tmp.worth)tmp.worth = 1
arr.push(tmp) arr.push(tmp)
}) })
return arr return arr
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<el-table-column :label="$t('唛头')" prop="marks"></el-table-column> <el-table-column :label="$t('唛头')" prop="marks"></el-table-column>
<el-table-column :label="$t('已到箱数/总箱数')"> <el-table-column :label="$t('已到箱数/总箱数')">
<template v-slot={row}> <template v-slot={row}>
{{ row.sumQuantity || 0 }}/{{ row.totalNum }} {{ row.sumNum }}箱/{{ row.totalNum }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('下单统计')"> <el-table-column :label="$t('下单统计')">
...@@ -119,6 +119,7 @@ ...@@ -119,6 +119,7 @@
</div> </div>
<div style="text-align: center" v-else> <div style="text-align: center" v-else>
<el-button @click="()=>{ <el-button @click="()=>{
$emit('update:dialogVisible',false)
$router.push({path:'/bpm/process-instance/detail',query:{id:this.applyStatus.orderWarehouseApprovalBackVO.formId}}) $router.push({path:'/bpm/process-instance/detail',query:{id:this.applyStatus.orderWarehouseApprovalBackVO.formId}})
}">{{$t('审核中')}}</el-button> }">{{$t('审核中')}}</el-button>
<el-button @click="cancellationOfOrder" >{{$t('取消审核')}}</el-button> <el-button @click="cancellationOfOrder" >{{$t('取消审核')}}</el-button>
......
...@@ -14,7 +14,6 @@ ...@@ -14,7 +14,6 @@
<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-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"> <el-input style="width: 300px;" v-model="specialNeedsList[index].transFee">
<div style="width: 100px;" slot="append" > <div style="width: 100px;" slot="append" >
<!-- <dict-selector v-model="specialNeedsList[index].transCurrency" :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" ></dict-selector> -->
<el-select v-model="specialNeedsList[index].transCurrency"> <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-option v-for="item in JSON.parse(currency)" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select> </el-select>
......
...@@ -123,7 +123,8 @@ ...@@ -123,7 +123,8 @@
<div> <div>
<dict-tag :type="DICT_TYPE.FEE_TYPE" :value="FeeDetails.feeType" /> <dict-tag :type="DICT_TYPE.FEE_TYPE" :value="FeeDetails.feeType" />
{{FeeDetails.applicationFee}} {{FeeDetails.applicationFee}}
<dict-tag :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" :value="FeeDetails.applicationFeeCurrency" /> <!-- <dict-tag :type="DICT_TYPE.COMMISSION_ CURRENCY_TYPE" :value="FeeDetails.applicationFeeCurrency" />, -->
{{currencyName(FeeDetails.applicationFeeCurrency)}}
<dict-tag :value="FeeDetails.payType" :type="DICT_TYPE.PAYMENT_TYPE" ></dict-tag> <dict-tag :value="FeeDetails.payType" :type="DICT_TYPE.PAYMENT_TYPE" ></dict-tag>
【{{FeeDetails.remarks}}】 【{{FeeDetails.remarks}}】
</div> </div>
...@@ -163,10 +164,14 @@ import { ...@@ -163,10 +164,14 @@ import {
getOrderPage, getOrderPage,
getWarehouseUpdateApprovalInfo getWarehouseUpdateApprovalInfo
} from '@/api/ecw/order' } from '@/api/ecw/order'
import { getChannelList } from '@/api/ecw/channel'; import { getChannelList } from '@/api/ecw/channel';
import Template from "@/views/cms/template"; import Template from "@/views/cms/template";
import {getSupplierPage} from "@/api/ecw/supplier"; import {getSupplierPage} from "@/api/ecw/supplier";
import { DICT_TYPE } from "@/utils/dict"; import { DICT_TYPE } from "@/utils/dict";
import { getCurrencyList } from "@/api/ecw/currency";
import {arrryToKeyedObjectBy} from '@/utils/index'
export default { export default {
components: {Template}, components: {Template},
props:{ props:{
...@@ -195,7 +200,22 @@ export default { ...@@ -195,7 +200,22 @@ export default {
prodName: '' prodName: ''
} }
}, },
computed:{
currencyMap(){
return arrryToKeyedObjectBy(this.currencyList, 'id')
},
currencyName(){
return id => {
let obj = this.currencyMap[id]
if(obj) return this.$l(obj, 'title')
return this.$t('未知')
}
}
},
created() { created() {
getCurrencyList().then(res => {
this.currencyList = res.data
})
getChannelList().then(r => this.channelList = r.data); getChannelList().then(r => this.channelList = r.data);
warehouseAreaPositionList().then(r => this.warehouseList = r.data) warehouseAreaPositionList().then(r => this.warehouseList = r.data)
if(this.type === 2){ if(this.type === 2){
......
...@@ -121,7 +121,7 @@ ...@@ -121,7 +121,7 @@
<el-table-column prop="sumNum" :label="$t('入仓件数')" width="90px"> <el-table-column prop="sumNum" :label="$t('入仓件数')" width="90px">
<template slot-scope="{row}"> <template slot-scope="{row}">
<el-link type="primary" @click.native="showWarehouseLogs(row)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link> <el-link type="primary" @click.native="showWarehouseLogs(row)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">(多规格)</div> <div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{$t('多规格')}})</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="unit" :label="$t('单位')" width="90px"> <el-table-column prop="unit" :label="$t('单位')" width="90px">
......
...@@ -12,13 +12,13 @@ ...@@ -12,13 +12,13 @@
<span style="margin: 0 8px;">{{$t('')}}</span> <span style="margin: 0 8px;">{{$t('')}}</span>
<el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" /> <el-date-picker clearable v-model="queryParams.endCreateTime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" type="datetime" :placeholder="$t('请选择结束日期')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发仓')" prop="startWarehouseId"> <el-form-item :label="$t('始发仓')" prop="destinationId">
<el-select v-model="queryParams.startWarehouseId" :placeholder="$t('请选择始发仓')" clearable> <el-select v-model="queryParams.originId" :placeholder="$t('请选择始发仓')" clearable>
<el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in exportWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('目的仓')" prop="destWarehouseId"> <el-form-item :label="$t('目的仓')" prop="destinationId">
<el-select v-model="queryParams.destWarehouseId" :placeholder="$t('请选择目的仓')" clearable> <el-select v-model="queryParams.destinationId" :placeholder="$t('请选择目的仓')" clearable>
<el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option> <el-option v-for="item in importWarehouseList" :label="$l(item, 'title')" :value="item.id" :key="item.id"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -98,7 +98,9 @@ ...@@ -98,7 +98,9 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('订单号')" align="center"> <el-table-column :label="$t('订单号')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.orderNo}}</span> <router-link :to="{path: '/order/detail',query: {orderId: scope.row.orderId}}" class="link-type">
<span>{{ scope.row.orderNo }}</span>
</router-link>
<span>{{specialNeedTag(scope.row.specialNeed)}}</span> <span>{{specialNeedTag(scope.row.specialNeed)}}</span>
</template> </template>
</el-table-column> </el-table-column>
...@@ -199,7 +201,7 @@ export default { ...@@ -199,7 +201,7 @@ export default {
created() { created() {
this.getList(); this.getList();
// getTradeCityList().then(res => this.tradeCityList = res.data) getTradeCityList().then(res => this.tradeCityList = res.data)
listServiceUser().then(r => { listServiceUser().then(r => {
this.creatorData = r.data this.creatorData = r.data
}) })
......
...@@ -31,7 +31,6 @@ ...@@ -31,7 +31,6 @@
<el-select :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.applicationFeeCurrency"> <el-select :disabled="isModify[forbidden(scope.row)]" v-model="scope.row.applicationFeeCurrency">
<el-option v-for="item in JSON.parse(currencys)" :key="item.id" :label="item.titleZh" :value="item.id" /> <el-option v-for="item in JSON.parse(currencys)" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select> </el-select>
<!-- <dict-selector :disabled="isModify[forbidden(scope.row)]" :type="DICT_TYPE.COMMISSION_CURRENCY_TYPE" v-model="scope.row.applicationFeeCurrency" /> -->
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('付款类型')"> <el-table-column :label="$t('付款类型')">
......
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
</template> </template>
<!-- 合单,拆单 --> <!-- 合单,拆单 -->
<template v-if=" (scope.row.status < 12 || (scope.row.status == 12 && scope.row.shipmentState == 314)) && !scope.row.abnormalState && scope.row.status"> <template v-if=" (scope.row.status < 12 || (scope.row.status == 12 && scope.row.shipmentState == 314)) && !scope.row.abnormalState && scope.row.status > 3">
<el-dropdown-item @click.native="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)" >{{$t('合单申请')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)" >{{$t('合单申请')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" >{{$t('拆单申请')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)" >{{$t('拆单申请')}}</el-dropdown-item>
</template> </template>
......
...@@ -194,7 +194,22 @@ export default { ...@@ -194,7 +194,22 @@ export default {
var productData = this.orderData.orderItemVOList.find(item=>item.orderItemId==row.orderItemId) var productData = this.orderData.orderItemVOList.find(item=>item.orderItemId==row.orderItemId)
if(productData){ if(productData){
getProduct(productData.prodId).then(res=>{ getProduct(productData.prodId).then(res=>{
let url = '../../lineProject/product-price/edit?product_id='+productData.prodId+'&product_type='+res.data.typeId let params = {
product_id: productData.prodId,
product_type: res.data.typeId,
transportId: this.orderData.transportId,
exportCity: this.orderData.logisticsInfoDto.startCityId,
importCity: this.orderData.logisticsInfoDto.destCityId,
startWarehouseId: this.orderData.logisticsInfoDto.startWarehouseId,
destWarehouseId: this.orderData.logisticsInfoDto.destWarehouseId,
lineId: this.orderData.logisticsInfoDto.lineId,
channelId: this.orderData.logisticsInfoDto.channelId
}
let url = '../../lineProject/product-price/edit?' + (new URLSearchParams(params)).toString()
/* +productData.prodId
+'&product_type='+res.data.typeId
+'&transportId='+this.orderData.transportId
+'&exportCity='+this.orderData.logisticsInfoDto.startCityId+'&importCity='+this.orderData.logisticsInfoDto.destCityId */
return this.$router.push(url) return this.$router.push(url)
}) })
} }
......
...@@ -286,7 +286,7 @@ ...@@ -286,7 +286,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_miss_exception'&&orderExceptionData.orderExceptionType!='order_superfluous_goods_exception'&&orderExceptionData.orderExceptionType!='order_in_water_exception'&&orderExceptionData.orderExceptionType!='order_damage_exception'&&orderExceptionData.orderExceptionType!='order_other_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'"> <el-row :span="8" v-if="orderExceptionData.orderExceptionType!='order_lack_box_exception'&&orderExceptionData.orderExceptionType!='order_lack_box_exception'">
<el-form-item :label="$t('备注')+':'" size="medium"> <el-form-item :label="$t('备注')+':'" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" /> <el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item> </el-form-item>
......
...@@ -44,13 +44,13 @@ ...@@ -44,13 +44,13 @@
<!-- 明佣或者明佣+暗佣才显示 --> <!-- 明佣或者明佣+暗佣才显示 -->
<el-form-item label="明佣佣金" v-if="form.commissionType == 1 || form.commissionType == 3"> <el-form-item label="明佣佣金" v-if="form.commissionType == 1 || form.commissionType == 3">
<el-input v-model.number="form.lightCommissionAmount" placeholder="" class="w-100"></el-input> <el-input v-model="form.lightCommissionAmount" type="number" placeholder="" class="w-100"></el-input>
{{ currencyMap[orderItem.seaFreightCurrency] }} / {{ unitMap[orderItem.seaFreightVolume] }} {{ currencyMap[orderItem.seaFreightCurrency] }} / {{ unitMap[orderItem.seaFreightVolume] }}
</el-form-item> </el-form-item>
<!-- 明佣+暗佣才显示 --> <!-- 明佣+暗佣才显示 -->
<el-form-item label="暗佣佣金" v-if="form.commissionType == 3" prop="shadeCommissionAmount" :rules="{type: 'number', max: originPrice.toNumber(), message: '暗佣设置错误', trigger: 'blur'}"> <el-form-item label="暗佣佣金" v-if="form.commissionType == 3" prop="shadeCommissionAmount" :rules="{validator: shadeCommissionValidator, message: '暗佣设置错误', trigger: 'blur'}">
<el-input v-model.number="form.shadeCommissionAmount" placeholder="" class="w-100"></el-input> <el-input v-model="form.shadeCommissionAmount" placeholder="" type="number" class="w-100"></el-input>
{{ currencyMap[orderItem.seaFreightCurrency] }} / {{ unitMap[orderItem.seaFreightVolume] }} {{ currencyMap[orderItem.seaFreightCurrency] }} / {{ unitMap[orderItem.seaFreightVolume] }}
</el-form-item> </el-form-item>
...@@ -124,7 +124,15 @@ export default { ...@@ -124,7 +124,15 @@ export default {
WorkFlow WorkFlow
}, },
data() { data() {
let shadeCommissionValidator = (rule, value, callback) => {
if (!Number(value)) return callback(new Error('请输入有效数字'))
let reg = /((^[1-9]\d*)|^0)(\.\d*){0,1}$/;
if (!reg.test(value)) return callback(new Error('请输入有效数字'));
if(Number(value) > this.originPrice) return callback(new Error('暗佣不能超过运费'))
callback();
}
return { return {
shadeCommissionValidator,
applyType: 3, // 1是优惠申请2是管理折扣3是佣金设置4是重货优惠5是泡货优惠 applyType: 3, // 1是优惠申请2是管理折扣3是佣金设置4是重货优惠5是泡货优惠
unitList:[], unitList:[],
currencyList:[], currencyList:[],
...@@ -180,17 +188,18 @@ export default { ...@@ -180,17 +188,18 @@ export default {
// 原价 // 原价
originPrice(){ originPrice(){
if(!this.form.orgFreight) return 0 if(!this.form.orgFreight) return 0
return Decimal(this.form.orgFreight).minus(this.form.orgLightCommissionAmount || 0) return Decimal(this.form.orgFreight).minus(parseFloat(this.form.orgLightCommissionAmount) || 0)
}, },
// 成本价 // 成本价
costPrice(){ costPrice(){
if(!this.originPrice) return 0 if(!this.originPrice) return 0
return Decimal(this.originPrice).minus(this.form.shadeCommissionAmount || 0) return Decimal(this.originPrice).minus(parseFloat(this.form.shadeCommissionAmount) || 0)
}, },
// 销售价 // 销售价
salePrice(){ salePrice(){
if(!this.originPrice) return 0 if(!this.originPrice) return 0
return Decimal(this.originPrice).plus(this.form.lightCommissionAmount || 0) return Decimal(this.originPrice).plus(parseFloat(this.form.lightCommissionAmount) || 0)
} }
}, },
......
...@@ -30,9 +30,8 @@ ...@@ -30,9 +30,8 @@
prop="address" prop="address"
:label="$t('入库货物属性')"> :label="$t('入库货物属性')">
<template v-slot="{row}"> <template v-slot="{row}">
<!-- // TODO 缺少入库品牌信息 -->
<template v-if="row.warehouseInInfoVO"> <template v-if="row.warehouseInInfoVO">
{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" /><br> {{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="row.feeType" /><br>
{{$t('箱数')}}{{ row.warehouseInInfoVO.cartonsNum }}<br> {{$t('箱数')}}{{ row.warehouseInInfoVO.cartonsNum }}<br>
{{$t('体积')}}{{ row.warehouseInInfoVO.volume }}<br> {{$t('体积')}}{{ row.warehouseInInfoVO.volume }}<br>
{{$t('重量')}}{{ row.warehouseInInfoVO.weight }}Kg {{$t('重量')}}{{ row.warehouseInInfoVO.weight }}Kg
......
...@@ -25,9 +25,9 @@ ...@@ -25,9 +25,9 @@
<template v-slot="{row}"> <template v-slot="{row}">
<div v-for="(item,index) in row.orderWarehouseInBackItemDoList" :key="index"> <div v-for="(item,index) in row.orderWarehouseInBackItemDoList" :key="index">
<div>{{$t('规格')}}{{item.boxGauge.split('*').map(item =>`${item}cm`).join('*')}}</div> <div>{{$t('规格')}}{{item.boxGauge.split('*').map(item =>`${item}cm`).join('*')}}</div>
<div style="display: flex;justify-content: space-between;white-space: nowrap"> <div>
<div>{{$t('品牌')}}{{brandList.find(item => item.id == row.brand).titleZh}}</div> <div>{{$t('品牌')}}{{(brandList.find(item => item.id == row.brand) || {}).titleZh}}</div>
<div>{{$t('箱数')}}{{item.cartonsNum}}</div> <div>{{$t('箱数')}}{{item.cartonsNum}}</div>
<div>{{$t('体积')}}{{item.volume}} CMB</div> <div>{{$t('体积')}}{{item.volume}} CMB</div>
<div>{{$t('重量')}}{{item.weight}}KG</div> <div>{{$t('重量')}}{{item.weight}}KG</div>
...@@ -145,6 +145,7 @@ ...@@ -145,6 +145,7 @@
<script> <script>
import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm"; import ordeDetailsForm from "@/views/ecw/order/components/ordeDetailsForm";
import { import {
cancelAdjust, cancelAdjust,
getAdjustInfo, getAdjustInfo,
...@@ -162,6 +163,7 @@ import {adjustLastWithStatus, warehouseApprovalCancel} from "@/api/ecw/batchSing ...@@ -162,6 +163,7 @@ import {adjustLastWithStatus, warehouseApprovalCancel} from "@/api/ecw/batchSing
import warehouseLocation from "@/views/ecw/order/components/warehouseLocation"; import warehouseLocation from "@/views/ecw/order/components/warehouseLocation";
import imageUpload from "@/components/ImageUpload"; import imageUpload from "@/components/ImageUpload";
import {getProductBrankPage} from "@/api/ecw/productBrank"; import {getProductBrankPage} from "@/api/ecw/productBrank";
import {parseTime} from "@/utils/ruoyi";
export default { export default {
name: "transferWarehousing", name: "transferWarehousing",
components: { components: {
...@@ -315,6 +317,9 @@ export default { ...@@ -315,6 +317,9 @@ export default {
this.params.logisticsNo = this.warehouseDetails.logisticsNo; this.params.logisticsNo = this.warehouseDetails.logisticsNo;
this.params.id = this.warehouseDetails.id; this.params.id = this.warehouseDetails.id;
this.params.logisticsCompany = this.warehouseDetails.logisticsCompany ? parseInt(this.warehouseDetails.logisticsCompany) :undefined; this.params.logisticsCompany = this.warehouseDetails.logisticsCompany ? parseInt(this.warehouseDetails.logisticsCompany) :undefined;
if(this.type == 2){
this.params.deliveryDate = parseTime(this.warehouseDetails.deliveryDate)
}
orderWarehousePicturePage({rows:100,bizId:this.params.id,type:this.type == 1 ? 2 : 3 }).then(r => { orderWarehousePicturePage({rows:100,bizId:this.params.id,type:this.type == 1 ? 2 : 3 }).then(r => {
if(r.code === 0){ if(r.code === 0){
this.params.urls = r.data.list.map(e => e.url); this.params.urls = r.data.list.map(e => e.url);
......
...@@ -151,9 +151,6 @@ ...@@ -151,9 +151,6 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="数量" width="130px"> <el-table-column label="数量" width="130px">
<template v-slot:header>
<span style="color: red">*</span> 数量
</template>
<template v-slot="{r,c,$index}"> <template v-slot="{r,c,$index}">
<el-form-item :rules="tableFormRules.quantityAll" :prop="$index + '.quantityAll'"> <el-form-item :rules="tableFormRules.quantityAll" :prop="$index + '.quantityAll'">
<span v-if="tableData[$index].id && !edit">{{ tableData[$index].quantityAll }}</span> <span v-if="tableData[$index].id && !edit">{{ tableData[$index].quantityAll }}</span>
...@@ -454,7 +451,7 @@ export default { ...@@ -454,7 +451,7 @@ export default {
boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "change"}], boxGauge3: [{required: true, message: this.$t("货物高不能为空"), trigger: "change"}],
volume: [{required: true, message: this.$t("体积不能为空"), trigger: "change"}], volume: [{required: true, message: this.$t("体积不能为空"), trigger: "change"}],
weight: [{required: true, message: this.$t("重量不能为空"), trigger: "change"}], weight: [{required: true, message: this.$t("重量不能为空"), trigger: "change"}],
quantityAll: [{required: true, message: "数量不能为空", trigger: "change"}] // quantityAll: [{required: true, message: "数量不能为空", trigger: "change"}]
}, },
form1: { form1: {
"brand": undefined, "brand": undefined,
...@@ -694,7 +691,7 @@ export default { ...@@ -694,7 +691,7 @@ export default {
"boxGauge3": "", "boxGauge3": "",
"cartonsNum": cartonsNum > 0 ? cartonsNum : '', "cartonsNum": cartonsNum > 0 ? cartonsNum : '',
"expressNo": "", "expressNo": "",
"quantityAll": "", "quantityAll": undefined,
"unit": "1", "unit": "1",
"volume": '', "volume": '',
"weight": '', "weight": '',
......
...@@ -103,6 +103,12 @@ ...@@ -103,6 +103,12 @@
<el-button plain type="primary" @click="submit('process')">{{$t('设为已处理')}}</el-button> <el-button plain type="primary" @click="submit('process')">{{$t('设为已处理')}}</el-button>
</div> </div>
</div> </div>
<el-form v-if="type=='order_heavy_cargo_exception'" :model="handlerParams" ref="queryForms" size="small" label-width="50px" class="card">
<el-form-item :label="$t('备注')+':'" size="medium">
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" />
</el-form-item>
</el-form>
</div> </div>
</template> </template>
...@@ -125,7 +131,10 @@ export default { ...@@ -125,7 +131,10 @@ export default {
list: {}, list: {},
orderId:0, orderId:0,
type:'', type:'',
branklist:[] branklist:[],
handlerParams:{
orderExceptionHandlerRemark:''
}
}; };
}, },
created() { created() {
...@@ -194,7 +203,7 @@ export default { ...@@ -194,7 +203,7 @@ export default {
return sums; return sums;
}, },
submit(result){ submit(result){
handlerExceptionByExceptionId({orderExceptionId:this.list.id,orderExceptionHandlerResult:result}).then(res=>{ handlerExceptionByExceptionId({orderExceptionId:this.list.id,orderExceptionHandlerResult:result,orderExceptionHandlerRemark:this.handlerParams.orderExceptionHandlerRemark}).then(res=>{
this.$modal.msgSuccess(this.$t("提交成功")); this.$modal.msgSuccess(this.$t("提交成功"));
this.$router.back() this.$router.back()
}) })
......
...@@ -4,7 +4,12 @@ ...@@ -4,7 +4,12 @@
<el-form-item :label="$t('商品类型')" prop="productType"> <el-form-item :label="$t('商品类型')" prop="productType">
<el-select v-model="form.productType" :disabled="!!$route.query.ids"> <el-select v-model="form.productType" :disabled="!!$route.query.ids">
<el-option v-for="type in productTypeList" :key="type.id" :label="type.titleZh" :value="type.id" /> <el-option
v-for="type in productTypeList"
:key="type.id"
:label="type.titleZh"
:value="type.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -28,8 +33,8 @@ ...@@ -28,8 +33,8 @@
<el-form-item :label="$t('路线')" prop="lineChannelList" v-if="lineList.length"> <el-form-item :label="$t('路线')" prop="lineChannelList" v-if="lineList.length">
<template v-if="lineList.length == 1"> <template v-if="lineList.length == 1">
<el-input <el-input
v-for="item in lineList" v-for="(item, index) in lineList"
:key="item.id" :key="index"
:value="!item.warehouseLineDO ? $t('数据异常,缺少warehouseLineDO字段') : $t('【{transport}】从【{from}】发往【{to}】', { :value="!item.warehouseLineDO ? $t('数据异常,缺少warehouseLineDO字段') : $t('【{transport}】从【{from}】发往【{to}】', {
transport: getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType), transport: getDictDataLabel(DICT_TYPE.ECW_TRANSPORT_TYPE, item.warehouseLineDO.transportType),
from: $l(item.warehouseLineDO, 'startTitle'), from: $l(item.warehouseLineDO, 'startTitle'),
...@@ -57,7 +62,7 @@ ...@@ -57,7 +62,7 @@
</el-form-item> </el-form-item>
<!--有路线则不显示路线选择器--> <!--有路线则不显示路线选择器-->
<routers-selector v-else v-model="selectedRoutes" /> <routers-selector v-else v-model="selectedRoutes" :option="routerOption" />
<el-card style="margin-bottom: 10px"> <el-card style="margin-bottom: 10px">
<div slot="header" style="font-size:20px;"> <div slot="header" style="font-size:20px;">
...@@ -230,6 +235,7 @@ import { arrryToKeyedObjectBy } from '@/utils/index' ...@@ -230,6 +235,7 @@ import { arrryToKeyedObjectBy } from '@/utils/index'
import Selector from '@/components/Selector' import Selector from '@/components/Selector'
import Inputor from '@/components/Inputor' import Inputor from '@/components/Inputor'
import {parseTime} from '@/utils/ruoyi' import {parseTime} from '@/utils/ruoyi'
import {openedRouterList} from '@/api/ecw/warehouse'
export default { export default {
components: { RoutersSelector, ProductSelector, Selector, Inputor }, components: { RoutersSelector, ProductSelector, Selector, Inputor },
data() { data() {
...@@ -262,7 +268,9 @@ export default { ...@@ -262,7 +268,9 @@ export default {
} }
}, },
computed: { computed: {
routerOption(){
return this.$route.query
}
}, },
watch: { watch: {
checkList() { //选择路线 checkList() { //选择路线
...@@ -431,6 +439,26 @@ export default { ...@@ -431,6 +439,26 @@ export default {
this.form.validateStartDate = parseTime(Date.now()) this.form.validateStartDate = parseTime(Date.now())
this.form.validateEndDate = parseTime(Date.now() + 86400*365*2*1000) this.form.validateEndDate = parseTime(Date.now() + 86400*365*2*1000)
// 如果指定了始发,目的仓和运输方式,渠道,则是从未报价异常跳转过来的,固定一个路线
if(this.$route.query.startWarehouseId){
openedRouterList({
destCityId: this.$route.query.importCity,
lineId: this.$route.query.lineId,
startCityId: this.$route.query.exportCity,
transportType: this.$route.query.transportId
}).then(res => {
console.log("open ---> ", res)
this.lineList = [
Object.assign({
// id: res.data[0].id,
lineId:this.$route.query.lineId,
shippingChannelId: this.$route.query.channelId,
warehouseLineDO: {... res.data[0]}
})]
})
}
} }
if (this.$route.query.product_type) { if (this.$route.query.product_type) {
...@@ -550,7 +578,7 @@ export default { ...@@ -550,7 +578,7 @@ export default {
} }
// 添加的提交 // 添加的提交
data.productId = this.product.id; data.productId = this.product.id;
data.lineChannelList = this.selectedRoutes data.lineChannelList = this.lineList.length ? this.lineList : this.selectedRoutes
if((this.form.priceType == 0 && !this.form.transportPrice) || (this.form.priceType == 1 && !this.form.allPrice)){ if((this.form.priceType == 0 && !this.form.transportPrice) || (this.form.priceType == 1 && !this.form.allPrice)){
return this.$message.error(this.$t('运费/全包价不能为0')) return this.$message.error(this.$t('运费/全包价不能为0'))
......
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