Commit 5dc83634 authored by dragondean@qq.com's avatar dragondean@qq.com

Merge branch 'feature/order_edit' into pre-release

parents dc62bd98 0f24ef21
<script>
import Decimal from 'decimal.js'
export default {
name: 'DetailProd',
props: {
list: {
type: Array,
required: true
},
attrList: {
type: Array,
required: true
}
},
computed:{
// 显示特性
showAttrText(){
return ids => {
if(!ids) return ''
ids = !Array.isArray(ids) ? ids.split(',') : ids
const attrMap = {}
this.attrList.forEach(item => {
attrMap[item.id] = this.$l(item, 'attrName')
})
return ids.map(id => attrMap[id]).join(',')
}
},
},
methods:{
// 获取品名汇总数据
getProdSummary(e){
console.log("getProdSummart", e)
// 货值
let worth = new Decimal(0)
// 填单数据
let fillData = {
num: new Decimal(0),
weight: new Decimal(0),
volume: new Decimal(0),
quantity: new Decimal(0)
}
// 入仓数据
let warehouseInData = {
num: new Decimal(0),
weight: new Decimal(0),
volume: new Decimal(0),
quantity: new Decimal(0)
}
// 收费数据
let chargeData = {
weight: new Decimal(0),
volume: new Decimal(0),
}
this.list?.forEach(item => {
worth = worth.plus(item.worth)
fillData.num = fillData.num.plus(item.num)
fillData.weight = fillData.weight.plus(item.weight)
fillData.volume = fillData.volume.plus(item.volume)
fillData.quantity = fillData.quantity.plus(item.quantity)
if(item.warehouseInInfoVO){
warehouseInData.num = warehouseInData.num.plus(item.cartonsNum)
warehouseInData.weight = warehouseInData.weight.plus(item.weight)
warehouseInData.volume = warehouseInData.volume.plus(item.volume)
warehouseInData.quantity = warehouseInData.quantity.plus(item.quantityAll)
}
chargeData.weight = chargeData.weight.plus(item.chargeWeight)
chargeData.volume = chargeData.volume.plus(item.chargeVolume)
})
const summary = Array(19).fill(null)
summary[3] = this.$t("合计")
// 入仓
summary[4] = `${warehouseInData.num}${this.$t('')} ${warehouseInData.weight}KG ${warehouseInData.volume}${warehouseInData.quantity}${this.$t('')}`
// 货值
summary[7] = worth.toNumber()
// 收费数九
summary[10] = `${chargeData.weight}KG ${chargeData.volume}m³`
// 填单数据
summary[17] = `${fillData.num}${this.$t('')} ${fillData.weight}KG ${fillData.volume}${fillData.quantity}${this.$t('')}`
return summary
}
}
}
</script>
<template>
<el-table
:data="list"
border
show-summary
:summary-method="getProdSummary"
style="width: 100%">
<el-table-column :label="$t('序号')" width="90px">
<template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column>
<el-table-column prop="prodTitleZh" :label="$t('品名')">
<template slot-scope="{row}">
{{row.prodTitleZh}}/{{row.prodTitleEn}}
</template>
</el-table-column>
<!--<el-table-column prop="prodTitleEn" :label="$t('品名')" />-->
<el-table-column prop="brand" :label="$t('品牌')" width="90px">
<template slot-scope="{row}">
<template v-if="row.brandName">{{row.brandName}}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template>
</el-table-column>
<el-table-column prop="brand" :label="$t('特性')" width="90px">
<template slot-scope="{row}">
{{showAttrText(row.warehouseInInfoVO ? row.warehouseInProdAttrIds : row.prodAttrIds)}}
</template>
</el-table-column>
<el-table-column prop="sumNum" :label="$t('入仓信息')" width="90px">
<template slot-scope="{row}">
<!--<el-link type="primary" @click.native="showWarehouseLogs(row,1)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{$t('多规格')}})</div>-->
<div v-if="row.warehouseInInfoVO">
{{row.warehouseInInfoVO.cartonsNum}}{{$t('')}}
{{row.warehouseInInfoVO.weight}}Kg
{{row.warehouseInInfoVO.volume}}
{{row.warehouseInInfoVO.quantityAll}}{{$t('')}}
</div>
</template>
</el-table-column>
<el-table-column prop="warehouseType" :label="$t('类型')" width="120px"/>
<el-table-column prop="specificationType" :label="$t('包装')" width="120px"/>
<el-table-column prop="worth" :label="$t('货值')" width="120px"/>
<el-table-column prop="warehouseRecordRemark" :label="$t('入仓备注')" width="120px"/>
<el-table-column prop="TODO" :label="$t('快递单号')" />
<el-table-column prop="sumNum" :label="$t('收费数据')" width="90px">
<template slot-scope="{row}">
<div v-if="row.warehouseInInfoVO">
{{row.chargeWeight}}Kg
{{row.chargeVolume}}
</div>
</template>
</el-table-column>
<el-table-column prop="" :label="`${$t('费用类型')}/${$t('模式')}`">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance" />
<div v-if="row.charging ==0">{{ $t('运费/清关费') }}</div>
<div v-if="row.charging ==1">{{ $t('全包价') }}</div>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('成交单价')" width="220px">
<template slot-scope="{row}">
<template v-if="row.charging ==1">
<template v-if="!row.originalSeaFreight">{{ $t('未报价') }}</template>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')" v-else>{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</el-link>
</template>
<template v-else-if="!row.originalSeaFreight && !row.originalClearanceFreight">{{ $t('未报价') }}</template>
<template v-else>
<el-link type="primary" @click="showFeeDetail(row, 'freight')">
{{$t('运费')}}{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')">
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</el-link >
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('材质')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="row.material" />
</template>
</el-table-column>
<el-table-column prop="" :label="$t('用途')">
<template slot-scope="{row}">
<div v-if="row.usageIds">
<div v-for="(item,index) in row.usageIds.split(',')">
<dict-tag :type="DICT_TYPE.OREER_ITEM_USAGE" :value="item" />
<span v-if="(index+1)!=row.usageIds.split(',').length">,</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('储位')">
<template slot-scope="{row}">
<template v-if="row.warehouseInInfoVO">
{{getLocationName(row.warehouseInInfoVO.orderLocationMergeVOSet)}}
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('商品链接')">
<template slot-scope="{row}">
<template v-if="row.link">
<a target="_blank" :url="row.link">{{row.link}}</a>
</template>
</template>
</el-table-column>
<el-table-column prop="sumNum" :label="$t('填单信息')" width="90px">
<template slot-scope="{row}">
{{row.num}}{{$t('')}}
{{row.weight}}Kg
{{row.volume}}
{{row.quantity}}{{$t('')}}
</template>
</el-table-column>
<el-table-column prop="expressNo" :label="$t('填单快递单号')" />
</el-table>
</template>
......@@ -21,10 +21,6 @@
<el-descriptions-item :label="$t('电话')">
+{{order.consignorVO.countryCode}} {{order.consignorVO.phone}}
</el-descriptions-item>
<el-descriptions-item :label="$t('付款人')">
<el-link v-if="order.drawee == 3" @click.native="showDarweeDialog=true" type="primary">{{ $t('自定义') }}</el-link>
<dict-tag v-else :type="DICT_TYPE.DRAWEE" :value="order.drawee"></dict-tag>
</el-descriptions-item>
</el-descriptions>
<el-descriptions border :class="showMore?'showInfo':'hiddenInfo'" :column="3" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('邮箱')">{{order.consignorVO.email}}</el-descriptions-item>
......@@ -74,7 +70,7 @@
</el-row>
</el-card>
<el-card class="card">
<el-descriptions border :title="$t('物流信息')" :column="4" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions border :title="$t('运输')" :column="5" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('始发仓')">{{$l(order.initialLogisticsInfoDto, 'startTitle')}}</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')">{{$l(order.initialLogisticsInfoDto, 'destTitle')}}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('地址')" :span="2">{{order.logisticsInfoDto.startAddressZh}}</el-descriptions-item> -->
......@@ -82,16 +78,20 @@
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item>
<el-descriptions-item v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, order.transportId).cssClass == 'channel'":label="$t('出货渠道')" >{{order.channelName}}</el-descriptions-item>
<el-descriptions-item :label="$t('服务')" >
<el-tag v-if="order.type.indexOf('1') > -1">
{{ $t('集运') }}
</el-tag>
<el-tag v-if="order.type.indexOf('2') > -1">
{{ $t('海外仓') }}
</el-tag>
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<el-descriptions class="mr-10" border :title="$t('基础信息')" :column="2" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions class="mr-10" border :title="$t('基础')" :column="2" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('唛头')">{{order.marks}}</el-descriptions-item>
<el-descriptions-item :label="$t('送货时间')" v-if="!order.isExternalWarehouse">{{order.deliveryDate}}</el-descriptions-item>
<el-descriptions-item :label="$t('是否控货')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="order.isCargoControl" />
</el-descriptions-item>
<el-descriptions-item :label="$t('填单信息')">
{{order.costVO.totalNum}}{{$t('箱')}}
{{order.costVO.totalWeight}}Kg
......@@ -110,346 +110,116 @@
{{order.wvolume}}m³
{{order.sumQuantity}}{{$t('个')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('入仓类型')">
<dict-tag :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" :value="order.warehouseType" />
<el-descriptions-item :label="$t('付款人')">
<el-link v-if="order.drawee == 3" @click.native="showDarweeDialog=true" type="primary">{{ $t('自定义') }}</el-link>
<dict-tag v-else :type="DICT_TYPE.DRAWEE" :value="order.drawee"></dict-tag>
</el-descriptions-item>
<el-descriptions-item :label="$t('单证报关')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" />
</el-descriptions-item>
<el-descriptions-item :label="$t('目的港清关')" v-if="isAir">
{{['', $t('我司承接'), $t('客户自清')][order.portDestCustomsClear] || ''}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货方式')" v-if="isAir">
{{['', $t('多票'), $t('单票')][order.deliveryWay] || ''}}
</el-descriptions-item>
<el-descriptions-item :label="$t('是否控货')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="order.isCargoControl" />
</el-descriptions-item>
<el-descriptions-item :label="$t('关联报价单')">
<router-link v-if="offerData" :to="{path: '/offer/detail',query: {offerId: offerData.offerId}}" class="link-type">
<span>{{ offerData.number }}</span>
</router-link>
<span v-else>/</span>
</el-descriptions-item>
</el-descriptions>
<el-descriptions class="mr-10" border :column="2" :class="showMore?'showInfo':'hiddenInfo'" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('出单方式')">
<dict-tag :type="DICT_TYPE.ECW_SUING_METHOD" :value="order.issuingMethod" />
</el-descriptions-item>
<el-descriptions-item :label="$t('代收货款')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="order.isCollection" />
<template v-if="order.isCollection == 1">({{order.collectionProxy}}{{currencyMap[order.collectionProxyCurrency]}})</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('集运仓库')">
{{order.isExternalWarehouse ? $t('外部仓') : $t('自有仓') }}
<template v-if="order.isExternalWarehouse" v-for="(item, index) in order.externalWarehouseDtoList" >
<div v-if="item.estLoadingTime || item.loadingAddress" :key="index">
{{$t('装柜时间')}}{{item.estLoadingTime}}
{{$t('装柜地址')}}{{item.loadingAddress}}
</div>
</template>
<el-descriptions-item :label="$t('特殊要求')">
<template v-if="order.packageType">
<dict-tag v-for="packageType in order.packageType.split(',').filter(item => !!item)" class="mr-10" :key="packageType" :type="DICT_TYPE.ORDER_SPECIAL_NEEDS" :value="packageType" />
</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('特殊要求备注')">
{{order.packageRemarks}}
</el-descriptions-item>
<el-descriptions-item :label="$t('到仓数据')">
// TODO
</el-descriptions-item>
<el-descriptions-item :label="$t('提货数据')">
{{order.pickNum}} {{$t('箱')}} {{order.pickRatio}}%
</el-descriptions-item>
<el-descriptions-item :label="$t('送货时间')" v-if="!order.isExternalWarehouse">{{order.deliveryDate}}</el-descriptions-item>
<el-descriptions-item :label="$t('入仓类型')">
<dict-tag :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" :value="order.warehouseType" />
</el-descriptions-item>
<!--海运隐藏下面字段-->
<template v-if="order.transportId != 1 && order.transportId != 2">
<el-descriptions-item :label="$t('清关证书')">
{{order.isSingleTicketTransport? this.$t(''):this.$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('订单类型')">
<el-tag v-if="order.type.indexOf('1') > -1">
{{ $t('集运服务') }}
</el-tag>
<el-tag v-if="order.type.indexOf('2') > -1">
{{ $t('海外仓') }}
</el-tag>
</el-descriptions-item>
<el-descriptions-item :label="$t('快递单号')">
{{order.number}}
</el-descriptions-item>
<el-descriptions-item :label="$t('创建人')">
{{order.creatorName}} ({{order.userType == 1 ? $t('会员') : $t('后台用户')}})
</el-descriptions-item>
<el-descriptions-item :label="$t('创建时间')">
{{order.createTime|parseTime}}
<el-descriptions-item :label="$t('清关证书备注')">
{{ order.customsClearCertRemarks }}
</el-descriptions-item>
<el-descriptions-item :label="$t('客户经理')">
{{order.salesmanName}}
<el-descriptions-item :label="$t('是否拆包')">
{{order.isUnpack? this.$t(''):this.$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('提单是否显示价格')">
{{order.displayBillLadingPrice ? $t('是') : $t('否')}}
<el-descriptions-item :label="$t('单票立刻转运')">
{{order.isSingleTicketTransport? this.$t(''):this.$t('')}}
</el-descriptions-item>
</el-descriptions>
</template>
</el-card>
<el-card class="card" v-if="[3,4].indexOf(+order.transportId) > -1">
<el-descriptions class="mr-10" border :title="$t('空运专线')" :column="2" :labelStyle="{width:'110px'}" :contentStyle="{width:'150px'}">
<el-descriptions-item :label="$t('是否双清')">
<dict-tag :type="DICT_TYPE.ECW_DOUBLE_CLEAR" :value="order.doubleClear" />
<el-descriptions-item :label="$t('代收货款')">
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="order.isCollection" />
<template v-if="order.isCollection == 1">({{order.collectionProxy}}{{currencyMap[order.collectionProxyCurrency]}})</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('航空公司')">
{{ order.companyName||'' }}
<el-descriptions-item :label="$t('提单是否显示价格')">
{{order.displayBillLadingPrice ? $t('是') : $t('否')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('清关证书')">
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
<el-descriptions-item :label="$t('仓库')">
{{order.isExternalWarehouse ? $t('外部仓') : $t('自有仓') }}
<template v-if="order.isExternalWarehouse" v-for="(item, index) in order.externalWarehouseDtoList" >
<div v-if="item.estLoadingTime || item.loadingAddress" :key="index">
{{$t('装柜时间')}}{{item.estLoadingTime}}
{{$t('装柜地址')}}{{item.loadingAddress}}
</div>
</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('清关证书备注')">
{{ order.customsClearCertRemarks }}
<el-descriptions-item :label="$t('快递单号')">
{{order.number}}
</el-descriptions-item>
<el-descriptions-item :label="$t('是否拆包')">
{{order.isUnpack? this.$t('是'):this.$t('否')}}
<el-descriptions-item :label="$t('创建人')">
{{order.creatorName}} ({{order.userType == 1 ? $t('会员') : $t('后台用户')}})
</el-descriptions-item>
<el-descriptions-item :label="$t('单票立刻转运')">
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
<el-descriptions-item :label="$t('创建时间')">
{{order.createTime|parseTime}}
</el-descriptions-item>
<el-descriptions-item :label="$t('特殊要求')">
<template v-if="order.packageType">
<dict-tag v-for="packageType in order.packageType.split(',').filter(item => !!item)" class="mr-10" :key="packageType" :type="DICT_TYPE.ORDER_SPECIAL_NEEDS" :value="packageType" />
</template>
<el-descriptions-item :label="$t('客户经理')">
{{order.salesmanName}}
</el-descriptions-item>
<el-descriptions-item :label="$t('特殊要求备注')">
{{order.packageRemarks}}
<!--
新的原型中没有的字段,放在这里备用
<el-descriptions-item :label="$t('出单方式')">
<dict-tag :type="DICT_TYPE.ECW_SUING_METHOD" :value="order.issuingMethod" />
</el-descriptions-item>
<el-descriptions-item :label="$t('目的港清关')">
{{['', $t('我司承接'), $t('客户自清')][order.portDestCustomsClear] || ''}}
<el-descriptions-item :label="$t('是否双清')">
<dict-tag :type="DICT_TYPE.ECW_DOUBLE_CLEAR" :value="order.doubleClear" />
</el-descriptions-item>
<el-descriptions-item :label="$t('发货方式')">
{{['', $t('多票'), $t('单票')][order.deliveryWay] || ''}}
<el-descriptions-item :label="$t('航空公司')">
{{ order.companyName||'' }}
</el-descriptions-item>
-->
</el-descriptions>
</el-card>
<el-card class="card">
<el-tabs v-model="activeName">
<el-tab-pane :label="$t('货物详情')" name="first">
<el-table :data="order.orderItemVOList" border style="width: 100%">
<el-table-column :label="$t('序号')" width="90px">
<template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column>
<el-table-column prop="prodTitleZh" :label="$t('中文品名')" />
<el-table-column prop="prodTitleEn" :label="$t('英文品名')" />
<el-table-column prop="brand" :label="$t('品牌')" width="90px">
<template slot-scope="{row}">
<template v-if="row.brandName">{{row.brandName}}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template>
</el-table-column>
<el-table-column prop="brand" :label="$t('特性')" width="90px">
<template slot-scope="{row}">
{{showAttrText(row.warehouseInInfoVO ? row.warehouseInProdAttrIds : row.prodAttrIds)}}
</template>
</el-table-column>
<el-table-column prop="num" :label="$t('填单件数')" width="90px"/>
<el-table-column prop="sumNum" :label="$t('入仓件数')" width="90px">
<template slot-scope="{row}">
<el-link type="primary" @click.native="showWarehouseLogs(row,1)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{$t('多规格')}})</div>
</template>
</el-table-column>
<el-table-column prop="unit" :label="$t('填单包装单位')" width="100px">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="row.unit" />
</template>
</el-table-column>
<el-table-column prop="worth" :label="$t('货值')" width="120px"/>
<el-table-column prop="warehouseType" :label="$t('入仓类型')" width="120px"/>
<el-table-column prop="specificationType" :label="$t('入仓包装单位')" width="120px"/>
<el-table-column prop="" :label="$t('材质')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="row.material" />
</template>
</el-table-column>
<el-table-column prop="volume" :label="$t('体积') + '(m³)'" width="90px">
<template slot-scope="{row}">
{{row.warehouseInInfoVO ? row.warehouseInInfoVO.volume : row.volume}}
</template>
</el-table-column>
<el-table-column prop="weight" :label="$t('重量') + '(kg)'" width="90px">
<template slot-scope="{row}">
{{row.warehouseInInfoVO ? row.warehouseInInfoVO.weight : row.weight}}
</template>
</el-table-column>
<el-table-column prop="warehouseInInfoVO.quantityAll" :label="$t('数量') + '(个)'" width="90px">
<template slot-scope="{row}">
{{row.warehouseInInfoVO ? row.warehouseInInfoVO.quantityAll : row.quantity}}
</template>
</el-table-column>
<el-table-column prop="weight" :label="$t('收费重量') + '(kg)'" width="100px">
<template slot-scope="{row}">
{{row.chargeWeight}}
</template>
</el-table-column>
<el-table-column prop="volume" :label="$t('收费方数') + '(m³)'" width="100px">
<template slot-scope="{row}">
{{row.chargeVolume}}
</template>
</el-table-column>
<el-table-column prop="" :label="$t('费用类型')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance" />
</template>
</el-table-column>
<el-table-column prop="warehouseRecordRemark" :label="$t('入仓记录备注')" width="120px"/>
<el-table-column prop="" :label="$t('用途')">
<template slot-scope="{row}">
<div v-if="row.usageIds">
<div v-for="(item,index) in row.usageIds.split(',')">
<dict-tag :type="DICT_TYPE.OREER_ITEM_USAGE" :value="item" />
<span v-if="(index+1)!=row.usageIds.split(',').length">,</span>
</div>
</div>
<div v-else></div>
</template>
</el-table-column>
<el-table-column prop="charging" :label="$t('收费模式')" width="120px">
<template slot-scope="{row}">
<template v-if="row.charging ==0">{{ $t('运费/清关费') }}</template>
<template v-if="row.charging ==1">{{ $t('全包价') }}</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('成交单价')" width="220px">
<template slot-scope="{row}">
<template v-if="row.charging ==1">
<template v-if="!row.originalSeaFreight">{{ $t('未报价') }}</template>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')" v-else>{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</el-link>
</template>
<template v-else-if="!row.originalSeaFreight && !row.originalClearanceFreight">{{ $t('未报价') }}</template>
<template v-else>
<el-link type="primary" @click="showFeeDetail(row, 'freight')">
{{$t('运费')}}{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')">
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</el-link >
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('储位')">
<template slot-scope="{row}">
<template v-if="row.warehouseInInfoVO">
{{getLocationName(row.warehouseInInfoVO.orderLocationMergeVOSet)}}
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('填单快递单号')">
<template slot-scope="{row}">
<!-- 这里不知道什么原因被改成了入仓单号,现根据bug单改成填单快递单号,如需更改请注明缘由
https://zentao.test.jdshangmen.com/bug-view-2645.html -->
{{ row.expressNo }}
</template>
</el-table-column>
</el-table>
<detail-prod :list="order.orderItemVOList" :attr-list="attrList"></detail-prod>
</el-tab-pane>
<!--退参品名 退仓/已混箱品名 lanbm 2024-04-16 按客户的要求修改-->
<el-tab-pane :label="$t('退仓/已混箱品名')" name="six">
<el-table :data="orderItemDeletedData" border style="width: 100%">
<el-table-column :label="$t('序号')" width="90px">
<template slot-scope="scope">{{scope.$index + 1}}</template>
</el-table-column>
<el-table-column prop="prodTitleZh" :label="$t('中文品名')" />
<el-table-column prop="prodTitleEn" :label="$t('英文品名')" />
<el-table-column prop="brand" :label="$t('品牌')" width="90px">
<template slot-scope="{row}">
<template v-if="row.brandName">{{row.brandName}}</template>
<dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="row.brandType" />
</template>
</el-table-column>
<el-table-column prop="brand" :label="$t('特性')" width="90px">
<template slot-scope="{row}">
{{showAttrText(row.warehouseInInfoVO ? row.warehouseInProdAttrIds : row.prodAttrIds)}}
</template>
</el-table-column>
<el-table-column prop="num" :label="$t('填单件数')" width="90px"/>
<el-table-column prop="sumNum" :label="$t('入仓件数')" width="90px">
<template slot-scope="{row}">
<el-link type="primary" @click.native="showWarehouseLogs(row,2)">{{row.warehouseInInfoVO ? row.warehouseInInfoVO.cartonsNum : 0}}</el-link>
<div v-if="row.warehouseInInfoVO && row.warehouseInInfoVO.isMultiSpecification">({{$t('多规格')}})</div>
</template>
</el-table-column>
<el-table-column prop="unit" :label="$t('单位')" width="90px">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PACKAGING_TYPE" :value="row.unit" />
</template>
</el-table-column>
<el-table-column prop="worth" :label="$t('货值')" width="120px"/>
<el-table-column prop="" :label="$t('材质')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" :value="row.material" />
</template>
</el-table-column>
<el-table-column prop="volume" :label="$t('体积') + '(m³)'" width="90px">
<template slot-scope="{row}">
{{row.warehouseInInfoVO ? row.warehouseInInfoVO.volume : row.volume}}
</template>
</el-table-column>
<el-table-column prop="weight" :label="$t('重量') + '(kg)'" width="90px">
<template slot-scope="{row}">
{{row.warehouseInInfoVO ? row.warehouseInInfoVO.weight : row.weight}}
</template>
</el-table-column>
<el-table-column prop="warehouseInInfoVO.quantityAll" :label="$t('数量') + '(个)'" width="90px">
<template slot-scope="{row}">
{{row.warehouseInInfoVO ? row.warehouseInInfoVO.quantityAll : row.quantity}}
</template>
</el-table-column>
<el-table-column prop="weight" :label="$t('收费重量') + '(kg)'" width="100px">
<template slot-scope="{row}">
{{row.chargeWeight}}
</template>
</el-table-column>
<el-table-column prop="volume" :label="$t('收费方数') + '(m³)'" width="100px">
<template slot-scope="{row}">
{{row.chargeVolume}}
</template>
</el-table-column>
<el-table-column prop="" :label="$t('费用类型')">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_PAY_ADVANCE" :value="row.isPayAdvance" />
</template>
</el-table-column>
<el-table-column prop="" :label="$t('用途')">
<template slot-scope="{row}">
<div v-if="row.usageIds">
<div v-for="(item,index) in row.usageIds.split(',')">
<dict-tag :type="DICT_TYPE.OREER_ITEM_USAGE" :value="item" />
<span v-if="(index+1)!=row.usageIds.split(',').length">,</span>
</div>
</div>
<div v-else></div>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('成交单价')" width="220px">
<template slot-scope="{row}">
<template v-if="row.charging ==1">
<template v-if="!row.originalSeaFreight">{{ $t('未报价') }}</template>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')" v-else>{{$t('全包价')}} {{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</el-link>
</template>
<template v-else-if="!row.originalSeaFreight && !row.originalClearanceFreight">{{ $t('未报价') }}</template>
<template v-else>
<el-link type="primary" @click="showFeeDetail(row, 'freight')">
{{$t('运费')}}{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}
</el-link>
<el-link type="primary" @click="showFeeDetail(row, 'clearance')">
{{$t('清关费')}}{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}
</el-link >
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('储位')">
<template slot-scope="{row}">
<template v-if="row.warehouseInInfoVO">
{{getLocationName(row.warehouseInInfoVO.orderLocationMergeVOSet)}}
</template>
</template>
</el-table-column>
<el-table-column prop="" :label="$t('填单快递单号')">
<template slot-scope="{row}">
<!-- 这里不知道什么原因被改成了入仓单号,现根据bug单改成填单快递单号,如需更改请注明缘由
https://zentao.test.jdshangmen.com/bug-view-2645.html -->
{{ row.expressNo }}
</template>
</el-table-column>
</el-table>
<detail-prod :list="orderItemDeletedData" :attr-list="attrList"></detail-prod>
</el-tab-pane>
<!--lanbm 2024-06-11 处理订单到仓时间取值问题-->
<el-tab-pane :label="$t('订单动态')" name="second">
......@@ -691,10 +461,13 @@ import PackHistoryDetail from './components/PackHistoryDetail';
import {getOfferCheck} from '@/api/ecw/offer'
import {getSupplier} from "@/api/ecw/supplier";
import {getProductAttrList} from "@/api/ecw/productAttr";
import Decimal from 'decimal.js'
import DetailProd from '@/views/ecw/order/components/DetailProd.vue'
export default {
name: "detail",
components: {
DetailProd,
ImageDisplay,
OperateLogDetail,
PrintWarehouseReceipt, PrintLadingBill,
......@@ -798,6 +571,9 @@ export default {
})
return ids.map(id => attrMap[id]).join(',')
}
},
isAir(){
return [3,4].indexOf(+this.order?.transportId) > -1
}
},
watch:{
......@@ -1044,21 +820,20 @@ export default {
if(!note) return []
return JSON.parse(note)
},
//查看打包历史
openPackHistory(id){
this.shopPackId = id
},
//查看打包历史详情
showPackDetail(packAfterData){
this.packAfterData = packAfterData
},
getOfferNumber() {
const that = this
getOfferCheck({ orderId: that.orderId }).then(response => {
that.offerData = response.data
})
}
//查看打包历史
openPackHistory(id){
this.shopPackId = id
},
//查看打包历史详情
showPackDetail(packAfterData){
this.packAfterData = packAfterData
},
getOfferNumber() {
const that = this
getOfferCheck({ orderId: that.orderId }).then(response => {
that.offerData = response.data
})
}
}
};
</script>
......
......@@ -1742,7 +1742,7 @@ export default {
if(type.indexOf('1') > -1){
arr.push(this.$t('集运'))
}
if(type.indexOf('4') > -1){
if(type.indexOf('2') > -1){
arr.push(this.$t('海外仓'))
}
return arr.join("")
......
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