Commit b662aa67 authored by 我在何方's avatar 我在何方

订单详请页面优化

parent aec4b6ec
{
"ExpandedNodes": [
"",
"\\src"
"\\src",
"\\src\\views",
"\\src\\views\\ecw",
"\\src\\views\\ecw\\order"
],
"SelectedNode": "\\src\\main.js",
"PreviewInSolutionExplorer": false
}
\ No newline at end of file
No preview for this file type
......@@ -13,6 +13,12 @@
<div class="value">{{item.contactsName}}</div>
<el-tag v-if="item.isInOpenSea" type="danger" effect="dark">{{$t('')}}</el-tag>
</div>
<!-- v1.7新增 -->
<div class="line">
<div class="label">{{$t('姓名(英文)')}}</div>
<div class="value">{{item.contactsNameEn}}</div>
<el-tag v-if="item.isInOpenSea" type="danger" effect="dark">{{$t('')}}</el-tag>
</div>
<div class="line">
<div class="label">{{$t('电话')}}</div>
<div class="value">+{{item.areaCode}} {{item.phoneNew}}</div>
......@@ -25,6 +31,11 @@
<div class="label">{{$t('公司')}}</div>
<div class="value">{{item.company}}</div>
</div>
<!-- v1.7新增 -->
<div class="line">
<div class="label">{{$t('公司(英文)')}}</div>
<div class="value">{{item.companyEn}}</div>
</div>
</div>
</div>
</div>
......
......@@ -3844,5 +3844,6 @@
"慢": "slow",
"CTN NO": "",
"请输入CTN NO": "请输入CTN NO",
"境内外类型": "Internal and external types"
"境内外类型": "Internal and external types",
"为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)":"To ensure the accuracy of warehousing information, please bring a packing list with goods when entrying the warehouse. (Packing list should contain: Product name, Number of cartons, Gross weight, Measurements, Branded or not)"
}
......@@ -6,28 +6,40 @@
<template v-if="order.tidanNo"> - {{order.tidanNo}}</template>
<template v-else-if="order.containerNumber"> - {{order.containerNumber}}</template>
</div>
<el-row :gutter="20">
<el-col :span="8" v-if="order.consignorVO">
<el-descriptions class="margin-top" border :title="$t('发货人')" :column="1" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('发货人')">{{order.consignorVO.name}}</el-descriptions-item>
<el-row :gutter="24">
<el-col :span="10" v-if="order.consignorVO">
<el-descriptions class="margin-top" border :title="$t('发货人')" :column="2" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('发货人Z中文名称')">{{order.consignorVO.name}}</el-descriptions-item>
<!-- v1.7新增 -->
<el-descriptions-item :label="$t('发货人英文名称')">{{order.consignorVO.nameEn}}</el-descriptions-item>
<el-descriptions-item :label="$t('发货人电话')">
+{{order.consignorVO.countryCode}} {{order.consignorVO.phone}}
</el-descriptions-item>
<el-descriptions-item :label="$t('发货人邮箱')">{{order.consignorVO.email}}</el-descriptions-item>
<el-descriptions-item :label="$t('发货人公司名称')">
<el-descriptions-item :label="$t('发货人公司中文名称')">
{{order.consignorVO.company}}
</el-descriptions-item>
<!-- v1.7新增 -->
<el-descriptions-item :label="$t('发货人公司英文名称')">
{{order.consignorVO.companyEn}}
</el-descriptions-item>
</el-descriptions>
</el-col>
<el-col :span="16" v-if="order.consigneeVO">
<el-descriptions class="margin-top" border :title="$t('收货人')" :column="2" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('收货人')">{{order.consigneeVO.name}}</el-descriptions-item>
<el-col :span="14" v-if="order.consigneeVO">
<el-descriptions class="margin-top" border :title="$t('收货人')" :column="3" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('收货人中文名称')">{{order.consigneeVO.name}}</el-descriptions-item>
<!-- v1.7新增 -->
<el-descriptions-item :label="$t('收货人英文名称')">{{order.consigneeVO.nameEn}}</el-descriptions-item>
<el-descriptions-item :label="$t('收货人电话')">
+{{order.consigneeVO.countryCode}} {{order.consigneeVO.phone}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货人邮箱')">{{order.consigneeVO.email}}</el-descriptions-item>
<el-descriptions-item :label="$t('收货人公司名称')">
<el-descriptions-item :label="$t('收货人公司中文名称')">
{{order.consigneeVO.company}}
</el-descriptions-item>
<!-- v1.7新增 -->
<el-descriptions-item :label="$t('收货人公司英文名称')">
{{order.consigneeVO.companyEn}}
</el-descriptions-item>
<el-descriptions-item :label="$t('收货方式')">
<dict-tag :type="DICT_TYPE.ECW_HARVEST_METHOD" :value="order.consigneeVO.harvestMethod" />
......@@ -50,14 +62,14 @@
</el-descriptions>
</el-card>
<el-card class="card">
<el-descriptions border :title="$t('物流信息')" :column="2">
<el-descriptions border :title="$t('物流信息')" :column="4">
<el-descriptions-item :label="$t('始发仓')">{{$l(order.logisticsInfoDto, 'startTitle')}}</el-descriptions-item>
<el-descriptions-item :label="$t('目的仓')">{{$l(order.logisticsInfoDto, 'destTitle')}}</el-descriptions-item>
<!-- <el-descriptions-item :label="$t('地址')" :span="2">{{order.logisticsInfoDto.startAddressZh}}</el-descriptions-item> -->
<el-descriptions-item :label="$t('运输方式')" :span="2">
<el-descriptions-item :label="$t('运输方式')" >
<dict-tag :type="DICT_TYPE.ECW_TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item>
<el-descriptions-item :label="$t('出货渠道')" :span="2">{{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>
......@@ -92,41 +104,48 @@
<el-descriptions-item :label="$t('单证报关')">
<dict-tag :type="DICT_TYPE.ECW_CUSTOMS_TYPE" :value="order.customsType" />
</el-descriptions-item>
<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>
<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>
</el-descriptions>
<el-collapse v-model="activeNames" @change="handleChange" >
<el-collapse-item :title="showText" name="1">
<el-descriptions class="mr-10" border :column="2">
<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>
<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>
</el-descriptions>
</el-collapse-item>
</el-collapse>
</el-card>
<el-card class="card">
<el-tabs v-model="activeName">
......@@ -387,7 +406,7 @@
<script>
import { getOrder, operateLogPage } from '@/api/ecw/order'
import { getDictDatas, DICT_TYPE } from '@/utils/dict';
import { getDictDatas, DICT_TYPE, getDictData } from '@/utils/dict';
import PrintWarehouseReceipt from './components/PrintWarehouseReceipt'
import PrintLadingBill from './components/PrintLadingBill'
import {getUnitList} from '@/api/ecw/unit'
......@@ -443,6 +462,8 @@ export default {
feeDetail: null, // 费用详情
logs: [], // 操作日志
activeNames: [],//显示隐藏订单基本信息
showText:this.$t('显示更多')
}
},
computed:{
......@@ -460,6 +481,9 @@ export default {
})
return map
},
getDictData(){
return (type, value) => getDictData(type, value) || {}
},
objective(){
if(this.order && this.order.objectiveVO){
return JSON.parse(this.order.objectiveVO.objective)
......@@ -517,6 +541,10 @@ export default {
})
return Array.from(new Set(arr)).join(",")
},
//订单信息显示更多
handleChange(val){
this.showText = val.length>0? this.$t('隐藏') : this.$t('显示更多')
},
// 显示费用详情
showFeeDetail(row, type){
this.showFeeDetailDialog = true
......@@ -682,4 +710,7 @@ export default {
.el-icon-arrow-down {
font-size: 12px;
}
/deep/ .el-collapse-item__header{
color:#409EFF !important;
}
</style>
......@@ -22,41 +22,63 @@
</el-form-item>
<div class="form-section">
<el-form-item :label="$t('发货人')" prop="consignorContactsId" >
<el-form-item :label="$t('发货人中文名称')" prop="consignorContactsId" >
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact">
<el-input v-model="form.consignorName" placeholder="" :disabled2="inWarehouse"/>
<img src="@/assets/images/phonebook.png" class="phonebook" @click="contactChooseType='consignor'" />
<img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='0'" />
</div>
</el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('发货人英文名称')" prop="consignorContactsId" >
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact">
<el-input v-model="form.consignorNameEn" placeholder="" :disabled2="inWarehouse"/>
</div>
</el-form-item>
<el-form-item :label="$t('发货人电话')" prop="consignorPhone">
<area-code-selector v-model="form.consignorCountryCode" class="w-200 mr-10" disabled />
<el-input v-model="form.consignorPhone" class="w-200" disabled />
</el-form-item>
<el-form-item :label="$t('发货人公司')" prop="consignorPhone">
<el-form-item :label="$t('发货人公司中文名称')" prop="consignorPhone">
<el-input v-model="form.consignorCompany" :disabled2="inWarehouse" />
</el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('发货人公司英文名称')" prop="consignorPhone">
<el-input v-model="form.consignorCompanyEn" :disabled2="inWarehouse" />
</el-form-item>
<el-form-item label="Email" prop="consignorPhone">
<el-input v-model="form.consignorEmail" :disabled2="inWarehouse" />
</el-form-item>
</div>
<div class="form-section">
<el-form-item :label="$t('收货人')" prop="consigneeContactsId">
<el-form-item :label="$t('收货人中文名称')" prop="consigneeContactsId">
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact">
<el-input v-model="form.consigneeName" placeholder="" :disabled2="inWarehouse"/>
<img src="@/assets/images/phonebook.png" class="phonebook" @click="contactChooseType='consignee'" />
<img src="@/assets/images/new_customer.png" class="phonebook" @click="quickCreateType='1'" />
</div>
</el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('收货人英文名称')" prop="consigneeContactsId">
<!-- <customer-contact-selector v-model="form.consignorContactsId" @change="consignorContact = $event" type="1" /> -->
<div class="contact">
<el-input v-model="form.consigneeNameEn" placeholder="" :disabled2="inWarehouse"/>
</div>
</el-form-item>
<el-form-item :label="$t('收货人电话')" prop="consigneePhone">
<area-code-selector v-model="form.consigneeCountryCode" class="w-200 mr-10" disabled/>
<el-input v-model="form.consigneePhone" class="w-200" disabled/>
</el-form-item>
<el-form-item :label="$t('收货人公司')" prop="consigneePhone">
<el-form-item :label="$t('收货人公司中文名称')" prop="consigneePhone">
<el-input v-model="form.consigneeCompany" :disabled2="inWarehouse" />
</el-form-item>
<!-- v1.7新增 -->
<el-form-item :label="$t('收货人公司英文名称')" prop="consigneePhone">
<el-input v-model="form.consigneeCompanyEn" :disabled2="inWarehouse" />
</el-form-item>
<el-form-item label="Email" prop="consigneePhone">
<el-input v-model="form.consigneeEmail" :disabled2="inWarehouse"/>
</el-form-item>
......@@ -227,7 +249,7 @@
</el-table-column>
<el-table-column :label="$t('商品特性')" width="250px">
<template slot-scope="{row}">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="!canAddProduct || !productEditable">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="row.prodAttrArr.indexOf(4)!=-1||!canAddProduct || !productEditable">
<el-checkbox v-for="item in productAttrList" :label="item.id" :key="item.id">{{$l(item, 'attrName')}}</el-checkbox>
</el-checkbox-group>
</template>
......@@ -794,7 +816,7 @@ export default {
if(transportId == 1 || transportId == 2){
this.$set(this.form, 'channelId', null)
}
this.getOpenedRouterList()
},
'form.channelId'(){
......@@ -890,8 +912,8 @@ export default {
this.initing = false
})
}
},
methods: {
onTableMounted(e){
......@@ -902,7 +924,7 @@ export default {
this.form = Object.assign({}, {...res.data}, {orderItemVOList: []})
/* this.form.orderItemVOList = []; */
this.form.type = this.form.type ? this.form.type.split(',').filter(item => item != '') : []
this.form.packageTypeArr = this.form.packageType ? this.form.packageType.split(',').filter(item => item != '') : []
if(res.data.consignorVO){
......@@ -924,7 +946,7 @@ export default {
this.$set(this.form, 'consigneeName', res.data.consigneeVO.name)
this.$set(this.form, 'consigneePhone', res.data.consigneeVO.phone)
}
if(this.form.channelId == 0){
delete this.form.channelId
}
......@@ -942,7 +964,7 @@ export default {
if(this.form.drawee == 3){
this.customDraweeList.forEach(item => {
item.value = this.form.customDraweeVOList.find(it => it.name == item.name)?.value || item.value
})
})
}
// 如果已完成入仓,则需要监听必填内容,发生更改后需要填写审批表单
......@@ -951,7 +973,7 @@ export default {
item.prodAttrArr = item.prodAttrIds.split(',').filter(item => item != '').map(attrId => +attrId)
this.form.orderItemVOList.push({...item})
})
if(this.inWarehouse){
Object.keys(this.rules).forEach(field => {
console.log("watch", field)
......@@ -1112,10 +1134,21 @@ export default {
});
}
}
let isInclude = false
this.form.orderItemVOList.map(item => {
//如果商品特性包含不接受货物,不能创建订单或修改订单
if(item.prodAttrArr.indexOf(4)!=-1){
isInclude = true
}
item.prodAttrIds = item.prodAttrArr.join(',')
})
if(isInclude){
return this.$notify({
title: this.$t('提示'),
message: this.$t("订单包含不接受货物,请检查"),
type: 'warning'
});
}
this.transportList.map(item => {
if(item._enabled){
item.lineIds = Array.from(item.lineIdSet).join(',')
......
......@@ -17,6 +17,8 @@
</div>
<div class="line">{{$t('仓库地址')}}:{{order.logisticsInfoDto.startAddressZh}}</div>
<div class="line">{{$t('仓库电话')}}: {{order.logisticsInfoDto.startTell}}</div>
<!-- v1.7新增 -->
<div class="line">{{$t('为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)')}}</div>
<div class="line"></div>
<div class="line">{{$t('您的订单已提交,谢谢您选择捷道物流!')}}</div>
</el-col>
......
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