Commit e0326401 authored by 邓春圆's avatar 邓春圆

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

parents f014406d 7028fab8
<template>
<div>
<div class="filters mb-10" v-if="showFilter">
{{$t('运输方式')}}
<dict-selector :type='DICT_TYPE.ECW_TRANSPORT_TYPE' v-model="transportType" :placeholder="$t('请选择运输方式')" :filter="transportFilter" style="width:150px" />
<template v-if="!type">
{{$t('运输方式')}}
<dict-selector :type='DICT_TYPE.ECW_TRANSPORT_TYPE' v-model="transportType" :placeholder="$t('请选择运输方式')" :filter="transportFilter" style="width:150px" />
</template>
{{$t('始发地')}}:
<el-select :placeholder="$t('请选择始发地')" v-model="exportCity" clearable>
<el-option v-for="item in exportCityList" :key="item.id" :label="item.titleZh" :value="item.id" />
......@@ -14,7 +15,7 @@
<el-option v-for="item in importCityList" :key="item.id" :label="item.titleZh" :value="item.id" />
</el-select>
<template v-if="type == 'air'">
<template v-if="type != 'sea'">
{{$t('出货渠道')}}:
<el-select :placeholder="$t('请选择目渠道')" v-model="channelId" clearable>
<el-option v-for="item in channelList" :key="item.channelId" :label="item.nameZh" :value="item.channelId" />
......
......@@ -129,7 +129,7 @@ input, textarea{
}
.el-scrollbar__view{
overflow-x: hidden;
/*overflow-x: hidden;*/
}
.el-rate{
......
......@@ -71,9 +71,7 @@
<el-descriptions-item :label="$t('运输方式')" >
<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 v-if="getDictData(DICT_TYPE.ECW_TRANSPORT_TYPE, order.transportId).cssClass == 'channel'":label="$t('出货渠道')" >{{channelName}}</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -108,12 +106,6 @@
<el-descriptions-item :label="$t('单证报关')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" />
</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('出单方式')">
......@@ -156,36 +148,6 @@
</el-descriptions>
</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>
<el-descriptions-item :label="$t('航空公司')">
{{ order.companyName||'' }}
</el-descriptions-item>
<el-descriptions-item :label="$t('清关证书')">
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('清关证书备注')">
{{ order.customsClearCertRemarks }}
</el-descriptions-item>
<el-descriptions-item :label="$t('是否拆包')">
{{order.isUnpack? this.$t('是'):this.$t('否')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('单票立刻转运')">
{{order.isSingleTicketTransport? this.$t('是'):this.$t('否')}}
</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>
<el-descriptions-item :label="$t('特殊要求备注')">
{{order.packageRemarks}}
</el-descriptions-item>
</el-descriptions>
</el-card>
<el-card class="card">
<el-tabs v-model="activeName">
<el-tab-pane :label="$t('货物详情')" name="first">
......@@ -201,11 +163,6 @@
<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}">
......@@ -252,7 +209,7 @@
<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.oneClearanceFreight">{{ $t('未报价') }}</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]}}
......@@ -281,7 +238,7 @@
</el-tab-pane>
<el-tab-pane :label="$t('订单动态')" name="second">
<el-timeline v-if="order.orderTimeVOList && order.orderTimeVOList.length" :reverse="true">
<el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="parseTime(activity.businessTime)">
<el-timeline-item v-for="(activity, index) in order.orderTimeVOList" :key="index" :timestamp="activity.timestamp">
{{ $l(activity, 'title') }}
<div>{{$l(activity, 'remarks')}}</div>
</el-timeline-item>
......@@ -310,7 +267,7 @@
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
</el-table-column>
<el-table-column :label="$t('出货渠道')">
{{order.channelName}}
{{channelName}}
</el-table-column>
<el-table-column :label="$t('始发地')" prop="orderNo">
{{$l(departure, 'title') || '-'}}
......@@ -398,7 +355,7 @@
<print-warehouse-receipt v-if="showWarehouseReceipt" :order-id="order.orderId" @close="showWarehouseReceipt=false" />
<print-lading-bill v-if="showLadingBill" :order-id="order.orderId" :transport-type="order.transportId" @close="showLadingBill=false" />
<warehouse-detail :order="order" @openPackHistory="openPackHistory" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" />
<warehouse-detail :order="order" :orderItemId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null" />
<el-dialog :title="$t('付款人')" :visible.sync="showDarweeDialog" v-if="order && order.customDraweeVOList">
<el-table :data="order.customDraweeVOList" v-if="order.drawee==3" >
<el-table-column :label="$t('费用类型')" prop="label" width="200px">
......@@ -426,12 +383,7 @@
</div>
</el-col>
<el-col :span="12" v-if="feeDetail.charging != 1">
<div>
{{$t('清关费')}}
<template v-if="order.transportId == 3 || order.transportId == 4">
{{$t('来自{source}', {source: feeDetail.airClearanceSource + feeDetail.sourceName})}}
</template>
</div>
<div>{{$t('清关费')}}</div>
<div v-for="item in feeDetail.clearance">
{{item.label}}: {{item.value}}
<template v-if="item.currency">
......@@ -441,26 +393,26 @@
</el-col>
</el-row>
<div v-if="feeDetail && feeDetail.coupons && feeDetail.coupons.length" class="page-title">{{$t('优惠详情')}}</div>
<div v-if="feeDetail && feeDetail.coupons && feeDetail.coupons.length" class="page-title">优惠详情</div>
<el-table v-if="feeDetail && feeDetail.coupons && feeDetail.coupons.length" :data="feeDetail.coupons">
<el-table-column :label="$t('优惠ID')" prop="couponId"></el-table-column>
<el-table-column :label="$t('优惠名称')">
<el-table-column label="优惠ID" prop="couponId"></el-table-column>
<el-table-column label="优惠名称">
<template slot-scope="{row}">
{{ $l(row, 'title') }}
</template>
</el-table-column>
<el-table-column :label="$t('类型')">
<el-table-column label="类型">
<template slot-scope="{row}">
<dict-tag :type="DICT_TYPE.ECW_COUPON_TYPE" :value="row.type" ></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('运费优惠')">
<el-table-column label="运费优惠">
<template slot-scope="{row}">
{{ row.freightReduceAmount}}
{{currencyMap[row.freightReduceCurrencyId]}}
</template>
</el-table-column>
<el-table-column :label="$t('清关费优惠')">
<el-table-column label="清关费优惠">
<template slot-scope="{row}">
{{ row.clearanceReduceAmount}}
{{ currencyMap[row.clearanceReduceCurrencyId] }}
......@@ -471,10 +423,6 @@
<!--日志详情-->
<operate-log-detail v-if="showLogDetailId" :log-id="showLogDetailId" @close="showLogDetailId=null"></operate-log-detail>
<!--打包历史-->
<pack-history v-if="shopPackId" :order ="order" :orderItemId="shopPackId" @showPackDetail="showPackDetail" @close="shopPackId=null"></pack-history>
<!--打包历史详情-->
<pack-history-detail v-if="packAfterData" :order="order" :packAfterData="packAfterData" :orderItemId="showWarehouseInItemId" @close="packAfterData=null"></pack-history-detail>
<!-- 报关资料 -->
<declaration-documents v-if="showDeclaration" :order-id="order.orderId" :order-no="order.orderNo" @close="showDeclaration=false" />
<!--费用汇总-->
......@@ -489,7 +437,6 @@
<script>
import {getOrder, operateLogPage} from '@/api/ecw/order'
import {getOfferCheck} from '@/api/ecw/offer'
import { getDictDatas, DICT_TYPE, getDictData } from '@/utils/dict';
import PrintWarehouseReceipt from './components/PrintWarehouseReceipt'
import PrintLadingBill from './components/PrintLadingBill'
......@@ -506,18 +453,12 @@ import OperateLogDetail from "@/views/ecw/order/components/OprateLogDetail";
import DeclarationDocuments from './components/DeclarationDocuments';
import ImageDisplay from "@/views/ecw/order/components/imageDisplay.vue";
import FeeDetail from "@/views/ecw/order/components/FeeDetail.vue";
import PackHistory from './components/PackHistory';
import PackHistoryDetail from './components/PackHistoryDetail';
import {getSupplier, getSupplierPage} from '@/api/ecw/supplier'
import {formatTime} from "@/utils";
import {getProductAttrList} from "@/api/ecw/productAttr";
export default {
name: "detail",
components: {
DeclarationDocuments,
ImageDisplay,
OperateLogDetail,
PrintWarehouseReceipt, PrintLadingBill, WarehouseDetail, WarehouseAreaSelect,PackHistory,PackHistoryDetail,
PrintWarehouseReceipt, PrintLadingBill, WarehouseDetail, WarehouseAreaSelect,DeclarationDocuments,
FeeDetail
},
filters: {
......@@ -550,7 +491,7 @@ export default {
currencyList: [],
unitList:[],
feeList: [],
channel: null,
channelName: '/',
region: '',
orderWarehouseIn: null, // 入仓详情
showWarehouseInItemId: null, // 当前显示的入仓
......@@ -562,14 +503,9 @@ export default {
showText:this.$t('显示更多'),
showMore:false,
consigneeText:this.$t('更多'),
showLogDetailId: null, // 显示日志详情的ID
shopPackId:null,//显示打包历史的ID
packAfterData:null,//显示打包历史详情
showLogDetailId: null, // 显示日志详情的ID,
showDeclaration:false, //显示报关资料
showFeeSummary: false, // 是否显示费用汇总
offerData:'', //关联报价单
// 特性列表
attrList: []
}
},
computed:{
......@@ -601,18 +537,6 @@ export default {
return JSON.parse(this.order.departureVO.departure)
}
return {}
},
// 显示特性
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(',')
}
}
},
watch:{
......@@ -625,7 +549,7 @@ export default {
}
},
'order.channelId'(){
// this.getChannel()
this.getChannel()
},
'order.consigneeVO'(val){
if(!val) return '-'
......@@ -643,18 +567,12 @@ export default {
if (this.$route.query.orderId) {
this.orderId = this.$route.query.orderId
this.getOrder();
this.getOfferNumber()
}
getCurrencyList().then(res => this.currencyList = res.data)
getUnitList().then(res => this.unitList = res.data)
getProductAttrList().then(response => {
this.attrList = response.data;
})
},
methods: {
parseTime,
formatTime,
checkPermi, // 检查权限
// 获取储位名称
getLocationName(locationArr){
......@@ -669,12 +587,6 @@ export default {
handleChange(val){
this.showText = val.length>0? this.$t('隐藏') : this.$t('显示更多')
},
getAirCompany(){
getSupplier(this.order.airlineCompany).then(res => {
this.$set(this.order,'companyName',this.$l(res.data,'company'))
})
},
//订单信息显示更多
consigneeChange(){
this.showMore = !this.showMore;
......@@ -760,16 +672,7 @@ export default {
label: this.$t('价格更新时间'),
value: parseTime(row.updateTime)
})
this.feeDetail = {
freight,
clearance,
charging:
row.charging,
coupons: row.couponInfoVOList,
airClearanceSource: row.airClearanceSource == 1 ? this.$t('商品') : this.$t('渠道'), // 空运清关费来源:1 商品 2 渠道
airClearanceInfo: JSON.parse(row.airClearanceInfo), //空运清关费来源数据详情,
sourceName: row.airClearanceSource == 1 ? this.$l(row, 'prodTitle') : this.order?.channelName
}
this.feeDetail = {freight, clearance, charging: row.charging, coupons: row.couponInfoVOList}
},
closeFeeDetail(){
......@@ -783,7 +686,6 @@ export default {
getOrder(that.orderId).then(response => {
that.order = response.data;
// this.loadBrand()
if(that.order.airlineCompany) that.getAirCompany()
});
},
/* loadBrands(){
......@@ -800,12 +702,12 @@ export default {
})
})
}, */
/*getChannel(){
getChannel(){
if(!this.order || !this.order.channelId || this.order.transportId == 1 || this.order.transportId == 2) return
getChannel(this.order.channelId).then(res => {
this.channel = res.data
this.channelName = res.data.nameZh
})
},*/
},
loadFeeList(){
getReceivableListByOrderId({id: this.orderId}).then(res => {
this.feeList = res.data
......@@ -836,21 +738,6 @@ export default {
parseLogNote(note){
if(!note) return []
return JSON.parse(note)
},
//查看打包历史
openPackHistory(){
this.shopPackId = this.showWarehouseInItemId
},
//查看打包历史详情
showPackDetail(packAfterData){
this.packAfterData = packAfterData
},
getOfferNumber() {
const that = this
getOfferCheck({ orderId: that.orderId }).then(response => {
that.offerData = response.data
})
}
}
};
......
......@@ -292,10 +292,10 @@ export default {
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,
importCity: this.orderData.objectiveVO.objectiveId,
exportCity: this.orderData.departureVO.departureId,
startWarehouseId: this.orderData.departureVO.id,
destWarehouseId: this.orderData.objectiveVO.id,
lineId: this.orderData.logisticsInfoDto.lineId,
channelId: this.orderData.logisticsInfoDto.channelId
}
......
......@@ -22,7 +22,7 @@
</el-radio-group>
</el-form-item>
<el-form-item :label="$t('单价模式')" prop="priceType">
<dict-selector :type="DICT_TYPE.ECW_PRICE_TYPE" v-model="form.priceType" form-type="radio" />
<dict-selector :type="DICT_TYPE.ECW_PRICE_TYPE" v-model="form.priceType" form-type="radio" formatter='number' />
</el-form-item>
<!--阶梯订单-->
......@@ -210,6 +210,7 @@ export default {
specialList: [],
priceStepList: [],
stepPrice: 0,
priceType: null
// advanceStatus: 0,
// needBook: 0,
// dayLimit: 10000
......@@ -234,7 +235,9 @@ export default {
computed: {
// 类型,默认海运sea,air表示空运
type(){
return this.$route.path.split(/[-_]/).pop()
let type = this.$route.path.split(/[-_]/).pop()
if(type == 'air' || type == 'sea') return type
return null
},
// 默认运费的货币和体积单位
currencyAndUnit(){
......
......@@ -3,7 +3,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<products-selector ref="productSelector" v-model="form.productIdList" show-all @setall="isAllProduct=$event" :default-ids="form.productIdList" class="mb-20" />
<routers-selector v-model="selectedRoutes" :type="type" :show-filter="false" />
<routers-selector v-model="selectedRoutes" :type="type" />
<el-card style="margin-bottom: 10px">
<div slot="header" style="font-size:20px;">
......
......@@ -196,7 +196,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="advanceStatus" :label="$t('询')" align="center" width="80">
<el-table-column prop="advanceStatus" :label="$t('询')" align="center" width="80">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.NEED_ORDER_INQUIRY" :value="scope.row.needOrderInquiry"></dict-tag>
</template>
......@@ -406,7 +406,8 @@ export default {
AuditStatusEnum: AuditStatusEnum,
locationList: getDictDatas(DICT_TYPE.ECW_CONTAINER_LOCATION),
// 查看更多阶梯价
showMoreStepPriceItem: null
showMoreStepPriceItem: null,
entryPath: null
};
},
......@@ -545,6 +546,10 @@ export default {
// if(!this.$route.query.product_id){
// return this.product = null
// }
// 价格列表 跟 商品的价格列表,有时候商品价格列表的路由变动会导致价格列表也执行此处代码,所以做一个判断排除
// https://zentao.test.jdshangmen.com/bug-view-4928.html
if(this.$route.path != this.entryPath) return
let productId = this.product?.id
if(this.$route.name === 'ProductPrice'){
if(this.$route.query.product_id != productId){
......@@ -562,6 +567,7 @@ export default {
}
},
created() {
this.entryPath = this.$route.path
if(this.$route.query.product_type){
this.$set(this.queryParams, 'typeId', +this.$route.query.product_type);
}
......
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