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

Merge remote-tracking branch 'origin/dev' into dev

parents 8519c299 a5424043
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
<el-descriptions-item :label="$t('送货时间')">{{ order.deliveryDate || '' }}</el-descriptions-item> <el-descriptions-item :label="$t('送货时间')">{{ order.deliveryDate || '' }}</el-descriptions-item>
<el-descriptions-item :label="$t('入仓类型')">{{ getDictDataLabel(DICT_TYPE.ECW_WAREHOUSING_TYPE, order.warehouseType) }}</el-descriptions-item> <el-descriptions-item :label="$t('入仓类型')">{{ getDictDataLabel(DICT_TYPE.ECW_WAREHOUSING_TYPE, order.warehouseType) }}</el-descriptions-item>
<el-descriptions-item :label="$t('订单号')">{{ order.orderNo }}</el-descriptions-item> <el-descriptions-item :label="$t('订单号')">{{ order.orderNo }}</el-descriptions-item>
<el-descriptions-item v-if="stocking" :label="$t('出货渠道')">{{ order.channelName }}</el-descriptions-item>
<el-descriptions-item v-if="stocking" :label="$t('可出特性')">{{ order.channelAttrName }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
</div> </div>
</template> </template>
...@@ -29,7 +32,9 @@ export default { ...@@ -29,7 +32,9 @@ export default {
name: "orderBaseInfo", name: "orderBaseInfo",
props: { props: {
order: Object order: Object,
// 是否备货,如果页面引用需要显示可出特性和渠道
stocking: Boolean
}, },
data () { data () {
......
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</template> </template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('数量')" prop="sumNum" :rules="[ <el-form-item :label="$t('箱数')" prop="sumNum" :rules="[
{ required: true, message: $t('请填写数量')}, { required: true, message: $t('请填写数量')},
{ pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('数量保留两位小数')} { pattern: /^((0{1}\.\d{1,2})|([1-9]\d*\.{1}\d{1,2})|([1-9]+\d*))$/, message: $t('数量保留两位小数')}
]"> ]">
......
...@@ -254,14 +254,7 @@ ...@@ -254,14 +254,7 @@
</div> </div>
<div class="table-button"> <div class="table-button">
<el-button v-if="item.relateOrderList" type="primary" size="small" style="margin-right: 20px;" @click="getRelationOrder(item)">{{$t('关联订单')}}</el-button> <el-button v-if="item.relateOrderList" type="primary" size="small" style="margin-right: 20px;" @click="getRelationOrder(item)">{{$t('关联订单')}}</el-button>
<el-dropdown trigger="click" @command="(command)=>handleGoods('all',item,command)"> <el-button v-if="preList.sectionGoodList" type="success" size="small" :disabled="isAudit" @click="handleGoods('all',item,preList.sectionGoodList[0])">{{$t('分拣')}}</el-button>
<el-button type="success" size="small" :disabled="isAudit">{{$t('分拣全部')}}</el-button>
<el-dropdown-menu slot="dropdown" v-if="preList.sectionGoodList">
<el-dropdown-item :command="part" v-for="(part, index) in preList.sectionGoodList" :key="part.id">
{{$t('第{index}部分', {index: index+1})}}
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div> </div>
</el-row> </el-row>
<el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries"> <el-table v-loading="toBePreLoading" :data="item.boxOrderItemList" border show-summary :summary-method="getSummaries">
......
...@@ -255,7 +255,7 @@ export default { ...@@ -255,7 +255,7 @@ export default {
}, },
/* 一键卸柜 */ /* 一键卸柜 */
modifyAllUnload() { modifyAllUnload() {
this.$confirm(this.$t("确认卸柜"), this.$t("提示"), { this.$confirm(this.$t("确认到仓"), this.$t("提示"), {
type: "warning", type: "warning",
}) })
.then((_) => { .then((_) => {
......
...@@ -149,8 +149,8 @@ export default { ...@@ -149,8 +149,8 @@ export default {
return; return;
} }
} }
console.log(currIndex,this.currIndex)
if (currIndex > this.currIndex) { if (currIndex > this.currIndex) {
console.log(currIndex,this.currIndex)
this.$message.error(this.errorMsg); this.$message.error(this.errorMsg);
return; return;
} }
......
...@@ -93,7 +93,13 @@ ...@@ -93,7 +93,13 @@
</div> </div>
</div> </div>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<!-- 泡重优惠申请 -->
<div v-if="type == 29" style="font-size: 14px; line-height: 1.5">
<div>{{$t('原泡重')}}:{{detail.orgVWeight}}kg</div>
<div>{{$t('新泡重')}}:{{detail.vWeight}}kg</div>
</div>
</div> </div>
</template> </template>
......
...@@ -69,6 +69,27 @@ ...@@ -69,6 +69,27 @@
<el-table-column :label="$t('货值')"> <el-table-column :label="$t('货值')">
<template slot-scope="{row}">{{row.worth}}{{$t('')}}</template> <template slot-scope="{row}">{{row.worth}}{{$t('')}}</template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('成交单价')" align="center" min-width="220px" v-if="[3,4].indexOf(order.transportId) > -1">
<template slot-scope="scope">
<template v-if="scope.row.charging != 1">
<div class="flex">
{{$t('运费')}}
<el-input v-model="scope.row.oneSeaFreight" disabled size="mini" style="width: 80px"></el-input>
{{currencyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}
</div>
<div class="flex">
{{$t('清关费')}}
<el-input v-model="scope.row.oneClearanceFreight" disabled size="mini" style="width: 80px"></el-input>
{{currencyMap[scope.row.clearanceFreightCurrency]}} / {{unitMap[scope.row.clearanceFreightVolume]}}
</div>
</template>
<template v-else>
{{$t('全包价')}}<el-input v-model="scope.row.oneSeaFreight" @change="updateField(scope.row, 'oneSeaFreight')" size="mini" style="width: 80px"></el-input>
{{currencyMap[scope.row.currencyId]}}
{{unitMap[scope.row.clearanceFreightVolume]}}
</template>
</template>
</el-table-column>
</el-table> </el-table>
</template> </template>
<warehouse-record v-if="currentWarehouseRecord" :list="currentWarehouseRecord" append-to-body @close="currentWarehouseRecord=null"></warehouse-record> <warehouse-record v-if="currentWarehouseRecord" :list="currentWarehouseRecord" append-to-body @close="currentWarehouseRecord=null"></warehouse-record>
...@@ -79,8 +100,11 @@ import {getOrder} from '@/api/ecw/order' ...@@ -79,8 +100,11 @@ import {getOrder} from '@/api/ecw/order'
import {getBoxApproval} from '@/api/ecw/box' import {getBoxApproval} from '@/api/ecw/box'
import {getChannel} from '@/api/ecw/channel' import {getChannel} from '@/api/ecw/channel'
import WarehouseRecord from "@/views/ecw/order/splitApply/components/WarehouseRecord"; import WarehouseRecord from "@/views/ecw/order/splitApply/components/WarehouseRecord";
import Template from "@/views/cms/template/index.vue";
import {getCurrencyList} from "@/api/ecw/currency";
import {getUnitList} from "@/api/ecw/unit";
export default { export default {
components: {WarehouseRecord}, components: {Template, WarehouseRecord},
props:{ props:{
id: [String, Number] id: [String, Number]
}, },
...@@ -90,7 +114,9 @@ export default { ...@@ -90,7 +114,9 @@ export default {
order: null, order: null,
channel: null, channel: null,
// 查看入仓记录的条目 // 查看入仓记录的条目
currentWarehouseRecord: null currentWarehouseRecord: null,
currencyList:[],
unitList: []
} }
}, },
watch:{ watch:{
...@@ -106,6 +132,22 @@ export default { ...@@ -106,6 +132,22 @@ export default {
} }
} }
}, },
computed:{
currencyMap(){
let map = {}
this.currencyList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
},
unitMap(){
let map = {}
this.unitList.forEach(item => {
map[item.id] = this.$l(item, 'title')
})
return map
}
},
created(){ created(){
if(this.id){ if(this.id){
this.getData() this.getData()
...@@ -120,6 +162,11 @@ export default { ...@@ -120,6 +162,11 @@ export default {
getOrder(){ getOrder(){
getOrder(this.detail.orderId).then(res => { getOrder(this.detail.orderId).then(res => {
this.order = res.data this.order = res.data
if([3, 4].indexOf(this.order.transportId) > -1){
getCurrencyList().then(res => this.currencyList = res.data)
getUnitList().then(res => this.unitList = res.data)
}
}) })
}, },
getChannel(){ getChannel(){
......
...@@ -195,13 +195,13 @@ ...@@ -195,13 +195,13 @@
<template slot-scope="{row}"> <template slot-scope="{row}">
<!--入仓前是填单数据,入仓后是入仓数据,装柜审核通过等状态inwarehouseState会变成0,所以只能通过sumNum来判断--> <!--入仓前是填单数据,入仓后是入仓数据,装柜审核通过等状态inwarehouseState会变成0,所以只能通过sumNum来判断-->
<component <component
:is="row.orderType == 2 ? 'el-tooltip' : 'div'" :is="row.orderType > 1 ? 'el-tooltip' : 'div'"
class="item" class="item"
:style="{ :style="{
color: row.orderType == 2 ? 'red' : null color: row.orderType > 1 ? 'red' : null
}" }"
effect="dark" effect="dark"
:content="(row.wvolume||0)+'m³'" :content="row.orderType===2 ? (row.wvolume||0)+'m³' : (row.vweight || 0) + 'kg'"
placement="bottom"> placement="bottom">
<div v-if="row.sumNum > 0">{{row.sumVolume}}m³ /{{row.sumWeight}}Kg</div> <div v-if="row.sumNum > 0">{{row.sumVolume}}m³ /{{row.sumWeight}}Kg</div>
<div v-else>{{row.costVO.totalVolume}}m³ /{{row.costVO.totalWeight}}Kg</div> <div v-else>{{row.costVO.totalVolume}}m³ /{{row.costVO.totalWeight}}Kg</div>
...@@ -445,14 +445,17 @@ ...@@ -445,14 +445,17 @@
</template> </template>
<!--开始备货--> <!--开始备货-->
<!--需要异常处理后才能备货 https://zentao.test.jdshangmen.com/bug-view-4736.html-->
<template v-if=" <template v-if="
include(scope.row.airShipment, [2]) include(scope.row.airShipment, [2]) &&
scope.row.abnormalState === 0
"> ">
<el-dropdown-item @click.native="$router.push({path:'/order/stocking?id=' + scope.row.orderId})" v-hasPermi="['ecw:order:stocking']">{{$t('开始备货')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push({path:'/order/stocking?id=' + scope.row.orderId})" v-hasPermi="['ecw:order:stocking']">{{$t('开始备货')}}</el-dropdown-item>
</template> </template>
<!--修改备货--> <!--修改备货-->
<template v-if=" <template v-if="
include(scope.row.airShipment, [3, 4, 10]) include(scope.row.airShipment, [3, 4, 10]) &&
scope.row.abnormalState === 0
"> ">
<el-dropdown-item @click.native="$router.push({path:'/order/stocking?action=update&id=' + scope.row.orderId})" v-hasPermi="['ecw:order:stocking_update']">{{$t('修改备货')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push({path:'/order/stocking?action=update&id=' + scope.row.orderId})" v-hasPermi="['ecw:order:stocking_update']">{{$t('修改备货')}}</el-dropdown-item>
</template> </template>
......
...@@ -136,14 +136,14 @@ ...@@ -136,14 +136,14 @@
<template slot-scope="{row}"> <template slot-scope="{row}">
<!--入仓前是填单数据,入仓后是入仓数据,装柜审核通过等状态inwarehouseState会变成0,所以只能通过sumNum来判断--> <!--入仓前是填单数据,入仓后是入仓数据,装柜审核通过等状态inwarehouseState会变成0,所以只能通过sumNum来判断-->
<component <component
:is="row.orderType == 2 ? 'el-tooltip' : 'div'" :is="row.orderType > 1 ? 'el-tooltip' : 'div'"
class="item" class="item"
:style="{ :style="{
color: row.orderType == 2 ? 'red' : null color: row.orderType > 1 ? 'red' : null
}" }"
effect="dark" effect="dark"
:content="(row.wvolume||0)+'m³'" :content="row.orderType===2 ? (row.wvolume||0)+'m³' : (row.vweight || 0) + 'kg'"
placement="bottom"> placement="bottom">
<div v-if="row.sumNum > 0">{{row.sumVolume}}m³ /{{row.sumWeight}}Kg</div> <div v-if="row.sumNum > 0">{{row.sumVolume}}m³ /{{row.sumWeight}}Kg</div>
<div v-else>{{row.costVO.totalVolume}}m³ /{{row.costVO.totalWeight}}Kg</div> <div v-else>{{row.costVO.totalVolume}}m³ /{{row.costVO.totalWeight}}Kg</div>
</component> </component>
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
--> -->
<el-button v-hasPermi="['ecw:order:heavy']" type="primary" @click="showPreferentialType=4" v-if="order.transportId === 1 || order.transportId === 2">{{$t('申请重货标准优惠')}}</el-button> <el-button v-hasPermi="['ecw:order:heavy']" type="primary" @click="showPreferentialType=4" v-if="order.transportId === 1 || order.transportId === 2">{{$t('申请重货标准优惠')}}</el-button>
<template v-else> <template v-else>
<el-button v-hasPermi="['ecw:order:bulky2']" type="primary" @click="showPreferentialType=29">{{$t('申请泡重优惠')}}</el-button> <el-button v-if="order.orderType == 3" v-hasPermi="['ecw:order:bulky2']" type="primary" @click="showPreferentialType=29">{{$t('申请泡重优惠')}}</el-button>
<el-button v-hasPermi="['ecw:order:bulky']" type="primary" @click="showPreferentialType=5">{{$t('申请泡货标准优惠')}}</el-button> <el-button v-hasPermi="['ecw:order:bulky']" type="primary" @click="showPreferentialType=5">{{$t('申请泡货标准优惠')}}</el-button>
</template> </template>
<el-button type="primary" @click="$tab.closePage()">{{$t('关闭窗口')}}</el-button> <el-button type="primary" @click="$tab.closePage()">{{$t('关闭窗口')}}</el-button>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div class="app-container"> <div class="app-container">
<h2>{{ title }}-{{ order.orderNo }}</h2> <h2>{{ title }}-{{ order.orderNo }}</h2>
<order-base-info :order="order"></order-base-info> <order-base-info :order="order" stocking></order-base-info>
<h2>{{$t('货物信息')}}</h2> <h2>{{$t('货物信息')}}</h2>
<el-table <el-table
...@@ -53,6 +53,14 @@ ...@@ -53,6 +53,14 @@
:label="$t('快递单号')"> :label="$t('快递单号')">
{{ row.expressNo || (row.warehouseInInfoVO ? row.warehouseInInfoVO.expressNo : '') }} {{ row.expressNo || (row.warehouseInInfoVO ? row.warehouseInInfoVO.expressNo : '') }}
</el-table-column> </el-table-column>
<el-table-column
v-slot="{row}"
:label="$t('商品特性')">
<template v-if="row.prodAttrIds">
{{showAttr(row.prodAttrIds)}}
</template>
</el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
:label="$t('最后操作时间')"> :label="$t('最后操作时间')">
...@@ -185,11 +193,14 @@ import imageUpload from "@/components/ImageUpload"; ...@@ -185,11 +193,14 @@ import imageUpload from "@/components/ImageUpload";
import {parseTime} from "@/utils/ruoyi" import {parseTime} from "@/utils/ruoyi"
import ImageAndVideoUpload from '@/components/ImageAndVideoUpload' import ImageAndVideoUpload from '@/components/ImageAndVideoUpload'
import Package from './components/Package' import Package from './components/Package'
import Template from "@/views/cms/template/index.vue";
import {getProductAttrList} from "@/api/ecw/productAttr";
export default { export default {
name: "Stocking", name: "Stocking",
components: { components: {
Template,
orderBaseInfo, orderBaseInfo,
WarehouseAreaDialog, WarehouseAreaDialog,
PrintTag, PrintTag,
...@@ -208,6 +219,7 @@ export default { ...@@ -208,6 +219,7 @@ export default {
this.getOrder() this.getOrder()
} }
getCurrencyList().then(res => this.currencyList = res.data) getCurrencyList().then(res => this.currencyList = res.data)
getProductAttrList().then(res => this.productAttrList = res.data)
}, },
data() { data() {
...@@ -261,7 +273,8 @@ export default { ...@@ -261,7 +273,8 @@ export default {
// 当前打包的订单商品项 // 当前打包的订单商品项
packageOrderItem: null, packageOrderItem: null,
// 打包商品的入仓商品项 // 打包商品的入仓商品项
packageWarehouseItem: null packageWarehouseItem: null,
productAttrList: []
} }
}, },
...@@ -294,6 +307,8 @@ export default { ...@@ -294,6 +307,8 @@ export default {
}, },
getOrder(){ getOrder(){
return getOrder(this.orderId).then(r => { return getOrder(this.orderId).then(r => {
// 获取渠道可出特性文案用户订单基础信息显示
r.data.channelAttrName = this.showAttr(r.data.channelAttrId)
this.order = r.data this.order = r.data
this.form.sumVolume = this.order.sumVolume this.form.sumVolume = this.order.sumVolume
this.form.sumWeight = this.order.sumWeight this.form.sumWeight = this.order.sumWeight
...@@ -395,6 +410,18 @@ export default { ...@@ -395,6 +410,18 @@ export default {
}, },
warehouseId(){ warehouseId(){
return this.order?.logisticsInfoDto?.startWarehouseId return this.order?.logisticsInfoDto?.startWarehouseId
},
// 显示特性
showAttr(){
return attrIds => {
if(!attrIds) return ''
let attrArr = attrIds.split(",").map(item => +item)
let arr = []
this.productAttrList.forEach(item => {
if(attrArr.indexOf(item.id) > -1) arr.push(this.$l(item, 'attrName'))
})
return arr.join(",")
}
} }
} }
} }
......
...@@ -134,14 +134,14 @@ ...@@ -134,14 +134,14 @@
<template slot-scope="{row}"> <template slot-scope="{row}">
<!--入仓前是填单数据,入仓后是入仓数据,装柜审核通过等状态inwarehouseState会变成0,所以只能通过sumNum来判断--> <!--入仓前是填单数据,入仓后是入仓数据,装柜审核通过等状态inwarehouseState会变成0,所以只能通过sumNum来判断-->
<component <component
:is="row.orderType == 2 ? 'el-tooltip' : 'div'" :is="row.orderType > 1 ? 'el-tooltip' : 'div'"
class="item" class="item"
:style="{ :style="{
color: row.orderType == 2 ? 'red' : null color: row.orderType > 1 ? 'red' : null
}" }"
effect="dark" effect="dark"
:content="(row.wvolume||0)+'m³'" :content="row.orderType===2 ? (row.wvolume||0)+'m³' : (row.vweight || 0) + 'kg'"
placement="bottom"> placement="bottom">
<div v-if="row.sumNum > 0">{{row.sumVolume}}m³ /{{row.sumWeight}}Kg</div> <div v-if="row.sumNum > 0">{{row.sumVolume}}m³ /{{row.sumWeight}}Kg</div>
<div v-else>{{row.costVO.totalVolume}}m³ /{{row.costVO.totalWeight}}Kg</div> <div v-else>{{row.costVO.totalVolume}}m³ /{{row.costVO.totalWeight}}Kg</div>
</component> </component>
......
...@@ -16,11 +16,11 @@ ...@@ -16,11 +16,11 @@
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" clearable /> <dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportType" formatter="number" clearable />
</el-form-item> </el-form-item>
<!--海运不显示渠道--> <!--海运不显示渠道-->
<el-form-item :label="$t('出货渠道')" prop="shippingChannelId" v-if="type == 'air'"> <el-form-item :label="$t('出货渠道')" prop="shippingChannelId" v-if="type !== 'sea'">
<el-select v-model="queryParams.shippingChannelId" clearable> <el-select v-model="queryParams.shippingChannelId" clearable>
<el-option v-for="item in channelList" :key="item.id" :label="$l(item, 'name')" :value="item.channelId" /> <el-option v-for="item in channelList" :key="item.id" :label="$l(item, 'name')" :value="item.channelId" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('始发地')" prop="startCityId"> <el-form-item :label="$t('始发地')" prop="startCityId">
<el-select v-model="queryParams.startCityId" clearable> <el-select v-model="queryParams.startCityId" clearable>
<el-option v-for="city in startCityList" :key="city.id" :label="$l(city, 'title')" :value="city.id" /> <el-option v-for="city in startCityList" :key="city.id" :label="$l(city, 'title')" :value="city.id" />
...@@ -538,6 +538,7 @@ export default { ...@@ -538,6 +538,7 @@ export default {
} }
this.handleQuery() this.handleQuery()
*/ */
this.getList()
}, },
watch:{ watch:{
'$route.query.product_id'(){ '$route.query.product_id'(){
......
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