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

bug修复

parents 22fd638e ad8e187c
......@@ -5,7 +5,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
**/*.log
*.stackdump
tests/**/coverage/
tests/e2e/reports
selenium-debug.log
......
......@@ -29,3 +29,12 @@ export function exportCustomerCommissionExcel(query) {
})
}
//
export function getDarkReturnCommission(data){
return request({
url: '/ecw/customer-commission/get-dark-return-commission',
method: 'post',
data
})
}
\ No newline at end of file
......@@ -116,3 +116,19 @@ export function seasoningCondimentsSelect(params){
})
}
// 根据放货ID查询控货订单放货修改审核详情
export function getPpickUpdateInfo(id){
return request({
url: '/ecw/order-cargo-control-pick/update/info/{id}/' + id,
method: 'get'
})
}
// 获得控货订单放货修改申请详情 {approveId: 1}
export function getPickUpdateApproveInfo(params){
return request({
url: '/ecw/order-cargo-control-pick/update/info',
method: 'get',
params
})
}
\ No newline at end of file
......@@ -36,7 +36,7 @@ $base-sub-menu-background:#000c17;
$base-sub-menu-hover:#001528;
*/
$base-sidebar-width: 200px;
$base-sidebar-width: 250px;
// the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
......
<template>
<selector v-model="valueSync" :options="countryList" value-field="tel" key-field="id" :label-field="item => item.nameZh + item.tel" filterable clearable :disabled="disabled"></selector>
<selector v-model="valueSync" :options="countryList" value-field="tel" key-field="id" :label-field="item => $l(item, 'name') + ' +' + item.tel" filterable clearable :disabled="disabled"></selector>
</template>
<script>
import {getCountryListAll} from '@/api/ecw/country'
......@@ -18,7 +18,7 @@ export default {
},
watch:{
valueSync(){
this.$emit('input', this.valueSync)
this.$emit('input', this.valueSync.replace('+', ''))
},
value(){
if(this.value)this.valueSync = this.value
......@@ -29,7 +29,10 @@ export default {
this.valueSync = this.value
}
getCountryListAll().then(res => {
this.countryList = res.data
this.countryList = res.data.map(item => {
item.tel = item.tel.replace('+', '')
return item
})
})
},
methods:{
......
......@@ -187,8 +187,9 @@ export default {
})
getTradeCityList().then(res => {
this.tradeCityList = res.data
})
// 路线需要过滤失效的进出口城市,所以在程序加载后再加载路线
this.getOpenedRouterList()
})
if(this.value && this.value.length){
this.selectedRoutes = this.value
......
......@@ -136,7 +136,7 @@ import warehouseDetails from "@/views/ecw/order/components/warehouseDetails";
import shippingDetail from '@/views/ecw/box/shippingDetail'
import SplitDetail from '@/views/ecw/order/components/SplitDetail'
import MergeDetail from '@/views/ecw/order/components/MergeDetail'
import CargoControlDetail from '@/views/ecw/order/components/CargoControlDetail'
// 流程实例的详情页,可用于审批
export default {
name: "ProcessInstanceDetail",
......@@ -146,7 +146,8 @@ export default {
warehouseDetails,
shippingDetail,
SplitDetail,
MergeDetail
MergeDetail,
CargoControlDetail
},
computed:{
matterNum(){
......@@ -253,9 +254,33 @@ export default {
merge_detail: {
component: "MergeDetail",
id: this.processInstance.businessKey,
},
// 放货修改
order_update_release: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 7
},
// 反复核
order_fallback: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 8
},
// 调货审核
order_cargo_transfer: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 9
},
// 取消放货审核 // TODO 接口待完善,applyType待完善
order_cancel_release: {
component: 'CargoControlDetail',
id: this.processInstance.businessKey,
applyType: 10
}
}
return map[this.processInstance.processDefinition.formCustomViewPath]
return map[this.processInstance.processDefinition.formCustomViewPath.trim()]
}
},
data() {
......
......@@ -692,7 +692,7 @@ export default {
this.exportLoading = true;
return exportCustomerExcel(params);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.$download.excel(response, '客户信息.xls');
this.exportLoading = false;
}).catch(() => {});
},
......
......@@ -11,7 +11,8 @@
<span>{{ form.prodTitleEn }}</span>
</el-form-item>
<el-form-item :label="$t('线路')">
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }从【${form.departureName}】发往【${form.objectiveName}】`}}
{{ `【${getDictDataLabel(DICT_TYPE.TRANSPORT_TYPE, form.transportId)}】${ getChannelNameById(form.channelId) }`}}
{{$t("从【{departureName}】发往【{objectiveName}", {departureName: form.departureName, objectiveName: form.objectiveName})}}
</el-form-item>
<el-row v-if="!form.charging">
......@@ -50,10 +51,15 @@
<div>{{$l(form, 'prodTitle')}}</div>
<!-- 明佣+暗佣显示 -->
<div v-if="form.commissionType == 3">成本价:{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}</div>
<div v-if="form.commissionType == 3">
成本价:{{form.orgSeaFreight}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</div>
<!-- 暗佣显示 -->
<div v-if="form.commissionType == 2">
暗佣:// TODO {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
{{$l(form, 'prodTitle')}}
<template v-if="darkCommission">
{{$t('暗佣')}}{{darkCommission}} {{ currentMap[form.orgSeaFreightCurrency] }} / {{ unitMap[form.orgSeaFreightVolume] }}
</template>
<el-link type="primary" @click.native="$router.push('/customer/customerCommission?customerId=' + customerId)">去设置</el-link>
</div>
......@@ -84,20 +90,21 @@ import {getChannelList} from "@/api/ecw/channel"
import { getCurrencyList } from '@/api/ecw/currency'
import { getProductAttrList } from '@/api/ecw/productAttr'
import WorkFlow from '@/components/WorkFlow'
import {getDarkReturnCommission} from '@/api/ecw/customerCommission'
export default {
name: "Commossion",
props: {
offer: Object,
offerProd: Object,
/*
offerProdId: Number,
customerId: Number
customerId: Number */
},
components: {
DictSelector, WorkFlow
},
created() {
// 查看详情,列表进来的
if(this.offerProdId){
this.getOfferSpecial()
}
getUnitList().then(res => this.unitList = res.data)
getChannelList().then(res => this.channelList = res.data)
......@@ -119,7 +126,8 @@ export default {
},
rules:{
commissionType : {required: true, message: '请选择佣金类型'},
}
},
darkCommission: null, // 暗佣佣金
}
},
computed: {
......@@ -152,6 +160,11 @@ export default {
'form.commissionType'(val){
this.$set(this.form, 'lightCommissionAmount', 0)
this.$set(this.form, 'shadeCommissionAmount', 0)
// 暗佣需要查询暗佣设置
if(val == 2){
this.getCommission()
}
}
},
methods: {
......@@ -168,7 +181,7 @@ export default {
})
},
getOfferSpecial(){
getOfferSpecial(this.offerProdId, {type: 2}).then(r => {
getOfferSpecial(this.offerProd.offerProdId, {type: 2}).then(r => {
this.form = r.data
})
},
......@@ -177,6 +190,22 @@ export default {
},
closeDialog(){
this.$emit('close')
},
getCommission(){
getDarkReturnCommission({
customerId: this.offer.relationId,
customsType: this.offer.customsType,
darkCurrency: this.form.orgSeaFreightCurrency,
darkUnit: this.form.orgSeaFreightVolume,
departureId: this.offer.departureId,
objectiveId: this.offer.objectiveId,
productAttr: 3, //this.offerProd.prodAttrIds,
productType: this.offerProd.productType,
transportId: this.offer.transportId,
type: 2, // 暗佣
}).then(res => {
this.darkCommission = res.data?.darkCommission
})
}
}
}
......
......@@ -135,7 +135,7 @@
<el-card class="mt-10">
<div slot="header" class="card-title">
<div class="card-name">{{$t('商品信息')}}</div>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addProduct()" :disabled="!form.lineId"></el-button>
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addProduct()" :disabled="!canAddProduct"></el-button>
</div>
<el-table :data="form.prodCreateReqVOList" border class="product-list">
<el-table-column :label="$t('序号')" width="60px" fixed>
......@@ -152,13 +152,13 @@
}"
class="mb-0 mr-0"
>
<product-selector v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" />
<product-selector v-model="scope.row.prodId" @change="onProductChange(scope.row, $event)" :disabled="!canAddProduct" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('英文品名')" width="160px">
<template slot-scope="{row}">
<product-selector lang="En" v-model="row.prodId" @change="onProductChange(row, $event)" />
<product-selector lang="En" v-model="row.prodId" @change="onProductChange(row, $event)" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('品牌')" width="100px">
......@@ -170,34 +170,34 @@
}"
class="mb-0 mr-0"
>
<dict-selector v-model="scope.row.brand" :type="DICT_TYPE.ECW_IS_BRAND" defaultable @input="calculationPrice" />
<dict-selector v-model="scope.row.brand" :type="DICT_TYPE.ECW_IS_BRAND" defaultable @input="calculationPrice" :disabled="!canAddProduct" />
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('件数')" width="90px">
<template slot-scope="{row}">
<el-input v-model.number="row.num" @input="calculationPrice" />
<el-input v-model.number="row.num" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('包装单位')">
<template slot-scope="{row}">
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable @input="calculationPrice" />
<dict-selector v-model="row.unit" :type="DICT_TYPE.ECW_PACKAGE_TYPE" defaultable @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('数量') + '(个)'">
<template slot-scope="{row}">
<el-input v-model.number="row.quantity" @input="calculationPrice" />
<el-input v-model.number="row.quantity" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('总体积') + '(m³)'" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.volume" @input="calculationPrice"/>
<el-input v-model="row.volume" @input="calculationPrice" :disabled="!canAddProduct"/>
</template>
</el-table-column>
<el-table-column :label="$t('总重量') + '(kg)'" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.weight" @input="calculationPrice" />
<el-input v-model="row.weight" @input="calculationPrice" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('总货值') + '(RMB)'" width="100px">
......@@ -209,13 +209,13 @@
}"
class="mb-0 mr-0"
>
<el-input v-model="scope.row.worth" @input="calculationPrice" />
<el-input v-model="scope.row.worth" @input="calculationPrice" :disabled="!canAddProduct" />
</el-form-item>
</template>
</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)">
<el-checkbox-group v-model="row.prodAttrArr" @change="onProductAttrChange(row, $event)" :disabled="!canAddProduct">
<el-checkbox v-for="item in productAttrList" :label="item.id" :key="item.id">{{item.attrName}}</el-checkbox>
</el-checkbox-group>
</template>
......@@ -247,14 +247,14 @@
<el-table-column :label="$t('商品链接')" width="200px" align="center">
<template slot-scope="{row}">
<el-link type="primary" :href="row.link" target="_blank" style="display:block">{{row.link}}</el-link>
<el-button type="primary" size="mini" @click="setLink(row)">
<el-button type="primary" size="mini" @click="setLink(row)" :disabled="!canAddProduct">
{{row.link ? $t('编辑商品链接') : $t('添加商品链接')}}
</el-button>
</template>
</el-table-column>
<el-table-column :label="$t('快递单号')" width="100px">
<template slot-scope="{row}">
<el-input v-model="row.expressNo" placeholder="" />
<el-input v-model="row.expressNo" placeholder="" :disabled="!canAddProduct" />
</template>
</el-table-column>
<el-table-column :label="$t('操作')" width="180px" fixed="right">
......@@ -269,20 +269,20 @@
<div class="card-title" style="padding:20px 0;">{{$t('合计')}}</div>
<el-descriptions :column="4" border>
<el-descriptions-item :label="$t('总件数')">
{{sum.totalNum || 0}}
{{sum.totalNum.toFixed() || 0}}
</el-descriptions-item>
<el-descriptions-item label="总体积">
{{sum.totalVolume || 0}}m³
{{sum.totalVolume.toFixed() || 0}}m³
</el-descriptions-item>
<el-descriptions-item label="总重量">
{{sum.totalWeight || 0}}kg
{{sum.totalWeight.toFixed() || 0}}kg
</el-descriptions-item>
<el-descriptions-item label="总数量">
{{sum.totalQuatity || 0}}
{{sum.totalQuatity.toFixed() || 0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总货值') + '(RMB)'">
{{sum.totalWorth || 0}}{{$t('元')}}
{{sum.totalWorth.toFixed() || 0}}{{$t('元')}}
</el-descriptions-item>
</el-descriptions>
</el-card>
......@@ -498,6 +498,7 @@ import SupplierSelector from '@/components/SupplierSelector'
import ChooseContactDialog from '@/components/ChooseContactDialog'
import QuickCreateCustomer from '@/components/QuickCreateCustomer'
import {getCustomerContactsSelect} from '@/api/ecw/customerContacts'
import Decimal from 'decimal.js'
export default {
name: "EcwOfferEdit",
......@@ -605,17 +606,18 @@ export default {
},
sum(){
let sum = {
totalNum: 0,
totalVolume: 0,
totalWeight: 0,
totalWorth: 0,
totalNum: new Decimal(0),
totalVolume: new Decimal(0),
totalWeight: new Decimal(0),
totalWorth: new Decimal(0),
totalQuatity: new Decimal(0)
}
this.form.prodCreateReqVOList.forEach(item => {
sum.totalNum += parseInt(item.num) || 0
sum.totalVolume += parseFloat(item.volume) || 0
sum.totalWeight += parseFloat(item.weight) || 0
sum.totalWorth += parseFloat(item.worth) || 0
sum.totalNum = sum.totalNum.plus(item.num || 0)
sum.totalVolume = sum.totalVolume.plus(item.volume || 0)
sum.totalWeight = sum.totalWeight.plus(item.weight || 0)
sum.totaltotalWorthNum = sum.totalWorth.plus(item.worth || 0)
sum.totalQuatity = sum.totalQuatity.plus(item.quantity || 0)
})
return sum
},
......@@ -681,6 +683,17 @@ export default {
routeOtherServices(){
if(!this.selectedRouter || !this.selectedRouter.otherService) return []
return this.selectedRouter.otherService.split(',')
},
// 是否可以添加商品
canAddProduct(){
if(!this.form.lineId){
return false
}
// 如果是海空联运或者空运专线则必须选择渠道
if(this.transport && this.transport.cssClass == 'channel' && !this.form.channelId ){
return false
}
return true
}
},
watch:{
......
......@@ -129,47 +129,9 @@
<el-dropdown-item @click.native="$router.push('/offer/special?offerId=' + scope.row.offerId)" v-if="[3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('特价')}}</el-dropdown-item>
<el-dropdown-item @click.native="cancel(scope.row.offerId)" v-if="[1,3,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('取消')}}</el-dropdown-item>
<el-dropdown-item @click.native="recovery(scope.row.offerId)" v-if="[0].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:update']">{{$t('恢复')}}</el-dropdown-item>
<el-dropdown-item @click.native="deleteOffer(scope.row.offerId)" v-if="[1,2,3,4,5,6,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:delete']">{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item @click.native="deleteOffer(scope.row.offerId)" v-if="[0,1,2,3,4,5,6,7].indexOf(scope.row.status) > -1" v-hasPermi="['ecw:offer:delete']">{{$t('删除')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- <el-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<el-button slot="reference" icon="el-icon-plus" circle type="primary"></el-button>
<div style=" display:flex; flex-direction:column">
<template v-if="[1,2].indexOf(scope.row.status) > -1">
<el-link type="primary" @click.native="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:detail']">{{$t('详情')}}</el-link>
<el-link type="primary" @click="$router.push('edit?id=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('编辑')}}</el-link>
<el-link type="primary" @click="$router.push('logList?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('跟进')}}</el-link>
</template>
<template v-if="scope.row.status == 2">
<el-button size="mini" type="text" @click="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('详情')}}</el-button>
<el-button size="mini" type="text" @click="$router.push(`result?offerId=${scope.row.offerId}&number=${scope.row.number}`)"
v-hasPermi="['ecw:offer:update']">{{$t('结果')}}</el-button>
<el-button size="mini" type="text" @click="$router.push('/offer/special/' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('特价')}}</el-button>
<el-button size="mini" type="text"
v-hasPermi="['ecw:offer:update']">{{$t('取消')}}</el-button>
<el-button size="mini" type="text"
v-hasPermi="['ecw:offer:update']">{{$t('恢复')}}</el-button>
</template>
<el-button size="mini" type="text" @click="$router.push('detail?offerId=' + scope.row.offerId)"
v-hasPermi="['ecw:offer:update']">{{$t('详情')}}</el-button>
<el-button size="mini" type="text"
v-hasPermi="['ecw:offer:delete']">{{$t('删除')}}</el-button>
</div>
</el-popover> -->
</template>
</el-table-column>
</el-table>
......
......@@ -72,7 +72,7 @@
:label="$t('操作')">
<template v-slot="{row}">
<el-button size="mini" type="text" @click="showOfferProdId=row.offerProdId">{{$t('优惠申请')}}</el-button>
<el-button size="mini" type="text" @click="showCommissionProdId=row.offerProdId">{{$t('佣金规则')}}</el-button>
<el-button size="mini" type="text" @click="showCommissionProd=row">{{$t('佣金规则')}}</el-button>
</template>
</el-table-column>
......@@ -84,7 +84,7 @@
<el-button type="primary">关闭窗口</el-button>
</div> -->
<special-discount v-if="showOfferProdId" :offerProdId="showOfferProdId" @close="showOfferProdId=null" @success="onSuccess" />
<commossion v-if="showCommissionProdId" :offerProdId="showCommissionProdId" :customer-id="offer.relationId" @close="showCommissionProdId=null" @success="onSuccess" />
<commossion v-if="showCommissionProd" :offer="offer" :offerProd="showCommissionProd" @close="showCommissionProd=null" @success="onSuccess" />
</el-card>
</div>
</template>
......@@ -137,7 +137,7 @@ export default {
departure: null,
channel: null, // 渠道信息
showOfferProdId: null, // 显示申请优惠的产品id
showCommissionProdId: null, // 修改佣金规则的产品ID
showCommissionProd: null, // 修改佣金规则的产品ID
};
},
watch:{
......@@ -185,6 +185,7 @@ export default {
},
onSuccess(){
this.showOfferProdId = null
this.showCommissionProd = null
}
},
computed: {
......
......@@ -153,7 +153,7 @@ import { getTradeCityList } from '@/api/ecw/region'
import Transfer from '@/views/ecw/order/components/Transfer'
import Release from './components/Release'
import CargoControlEdit from './components/CargoControlEdit'
import { getCargoControlOrderPage, batchReview } from "@/api/ecw/orderCargoControl"
import { getCargoControlOrderPage, batchReview, orderReview } from "@/api/ecw/orderCargoControl"
import TransferCargo from '@/views/ecw/order/components/TransferCargo'
import Fallback from './components/Fallback'
......
<!--拆单审核中的申请信息部分-->
<template>
<div v-if="order">
<el-descriptions :column="3">
<el-descriptions-item label="订单号">{{detail.orderNo}}</el-descriptions-item>
<el-descriptions-item label="运输方式">
<dict-tag :type="DICT_TYPE.TRANSPORT_TYPE" :value="order.transportId" />
</el-descriptions-item>
<el-descriptions-item label="出货方式">
{{channelName}}
</el-descriptions-item>
<el-descriptions-item label="订单状态">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="order.status" />
</el-descriptions-item>
<el-descriptions-item label="唛头">{{order.marks}}</el-descriptions-item>
<el-descriptions-item label="始发仓">{{$l(order.logisticsInfoDto, 'startTitle')}}</el-descriptions-item>
<el-descriptions-item label="目的仓">{{$l(order.logisticsInfoDto, 'destTitle')}}</el-descriptions-item>
<!-- 放货修改 -->
<el-descriptions-item label="放货件数" v-if="applyType == 7">
{{detail.pickNum}}{{$t('')}} {{detail.currentPickNum}}
</el-descriptions-item>
<!-- 反复核 -->
<el-descriptions-item label="申请原因" v-if="applyType == 8">
<dict-tag :type="DICT_TYPE.ECW_PICK_RECURRENT_NUCLEAR_TYPE" :value="detail.recurrentNuclearType" />
</el-descriptions-item>
<!-- 调货 -->
<el-descriptions-item label="申请原因" v-if="applyType == 9">
EC0063600N调为EC0063094N进行放货,放货箱数为:6,EC0063095N进行放货,放货箱数为:4,EC0063096N进行放货,放货箱数为:2,备注:123123
</el-descriptions-item>
</el-descriptions>
</div>
</template>
<script>
import {getPickUpdateApproveInfo} from '@/api/ecw/orderCargoControl'
import {getOrder} from '@/api/ecw/order'
import {getChannelListByIds} from '@/api/ecw/channel'
import {parseTime} from '@/utils/ruoyi'
export default {
filters: {parseTime},
props:{
id: [String, Number],
applyType: Number, // 申请类型 7 放货修改申请 8 放货反复核申 9 调货审核
},
data(){
return {
detail: null,
order: null,
channels: [],
channelName: '/'
}
},
watch:{
id(){
this.getData()
}
},
computed:{
jsonParse(){
return d => {
return JSON.parse(d)
}
},
getChannelName(){
return id => {
let channel = this.channels.find(item => item.channelId == id)
return channel ? channel.nameZh : '/'
}
}
},
created(){
if(this.id){
this.getData()
}
},
methods:{
getData(){
getPickUpdateApproveInfo({approveId: this.id}).then(res => {
this.detail = res.data
return getOrder(this.detail.orderId)
}).then(res => {
this.order = res.data
this.getChannel()
})
},
getChannel(){
if(!this.order || !this.order.channelId) return
getChannel(this.order.channelId).then(res => {
this.channelName = this.$l(res.data, 'name')
})
},
}
}
</script>
<style scoped lang="scss">
.title{
padding: 10px 0;
span{
font-size: 14px;
font-weight: bold;
}
}
</style>
\ No newline at end of file
......@@ -12,7 +12,7 @@
</el-col>
<el-col :span="12">
<el-form-item :label="$t('收货人电话')">
+{{info.consigneeCountryCode}} {{info.consigneePhone}}
+{{info.consigneeCountryCode.replace(/\+/g, '')}} {{info.consigneePhone}}
</el-form-item>
</el-col>
</el-row>
......
......@@ -76,6 +76,9 @@
<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" />
</el-descriptions-item>
......
......@@ -216,19 +216,19 @@
<div class="card-title" style="padding:20px 0;">{{$t('合计')}}</div>
<el-descriptions :column="6" border>
<el-descriptions-item :label="$t('总件数')">
{{sum.totalNum || 0}}
{{sum.totalNum.toFixed()}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总体积')">
{{sum.totalVolume || 0}}m³
{{sum.totalVolume.toFixed()}}m³
</el-descriptions-item>
<el-descriptions-item :label="$t('总重量')">
{{sum.totalWeight || 0}}kg
{{sum.totalWeight.toFixed()}}kg
</el-descriptions-item>
<el-descriptions-item :label="$t('总数量')">
{{sum.totalQuatity || 0}}
{{sum.totalQuatity.toFixed() || 0}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总货值') + '(RMB)'">
{{sum.totalWorth || 0}}元
{{sum.totalWorth.toFixed() || 0}}元
</el-descriptions-item>
<el-descriptions-item :label="$t('保价费')">
{{fee.insuranceFee || 0}} {{$t('美元')}}
......@@ -518,6 +518,8 @@ import ChooseContactDialog from '@/components/ChooseContactDialog'
import QuickCreateCustomer from '@/components/QuickCreateCustomer'
import {calculationPrice} from '@/api/ecw/product'
import SupplierSelector from '@/components/SupplierSelector'
import Decimal from 'decimal.js'
// 缓存默认的表单数据
let defaultFormData = null
......@@ -653,19 +655,18 @@ export default {
},
sum(){
let sum = {
totalNum: 0,
totalVolume: 0,
totalWeight: 0,
totalWorth: 0,
totalQuatity: 0
totalNum: new Decimal(0),
totalVolume: new Decimal(0),
totalWeight: new Decimal(0),
totalWorth: new Decimal(0),
totalQuatity: new Decimal(0)
}
this.form.orderItemVOList.forEach(item => {
sum.totalNum += parseInt(item.num) || 0
sum.totalVolume += (parseFloat(item.volume) || 0) // * (parseInt(item.num) || 0)
sum.totalWeight += (parseFloat(item.weight) || 0) // * (parseInt(item.num) || 0)
sum.totalWorth += parseFloat(item.worth) || 0
sum.totalQuatity += parseInt(item.quantity) || 0
sum.totalNum = sum.totalNum.plus(item.num || 0)
sum.totalVolume = sum.totalVolume.plus(item.volume || 0)
sum.totalWeight = sum.totalWeight.plus(item.weight || 0)
sum.totaltotalWorthNum = sum.totalWorth.plus(item.worth || 0)
sum.totalQuatity = sum.totalQuatity.plus(item.quantity || 0)
})
return sum
},
......@@ -769,7 +770,7 @@ export default {
this.form.type = this.form.type ? this.form.type.split(',').filter(item => item != '') : []
this.$set(this.form, 'consignorCompany', res.data.consignorVO.company)
this.$set(this.form, 'consignorContactsId', res.data.consignorVO.customerContactsId)
this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode)
this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode.replace('+', ''))
this.$set(this.form, 'consignorEmail', res.data.consignorVO.email)
this.$set(this.form, 'consignorId', res.data.consignorVO.customerId)
this.$set(this.form, 'consignorName', res.data.consignorVO.name)
......@@ -777,7 +778,7 @@ export default {
this.$set(this.form, 'consigneeCompany', res.data.consigneeVO.company)
this.$set(this.form, 'consigneeContactsId', res.data.consigneeVO.customerContactsId)
this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode)
this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode.replace('+', ''))
this.$set(this.form, 'consigneeEmail', res.data.consigneeVO.email)
this.$set(this.form, 'consigneeId', res.data.consigneeVO.customerId)
this.$set(this.form, 'consigneeName', res.data.consigneeVO.name)
......@@ -792,7 +793,7 @@ export default {
}
this.$set(this.form, this.contactChooseType + 'Company', contact.company)
this.$set(this.form, this.contactChooseType + 'ContactsId', contact.customerContactsId)
this.$set(this.form, this.contactChooseType + 'CountryCode', contact.areaCode)
this.$set(this.form, this.contactChooseType + 'CountryCode', contact.areaCode.replace('+', ''))
this.$set(this.form, this.contactChooseType + 'Email', contact.email)
this.$set(this.form, this.contactChooseType + 'Id', contact.customerId)
this.$set(this.form, this.contactChooseType + 'Name', contact.contactsName)
......
......@@ -31,7 +31,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('运输方式')" prop="transportId">
<el-form-item :label="$t('运输方式')" prop="transportId" v-if="!transportId">
<dict-selector :type="DICT_TYPE.ECW_TRANSPORT_TYPE" v-model="queryParams.transportId" formatter="number" />
</el-form-item>
......@@ -151,89 +151,59 @@
</el-table-column>
<el-table-column :label="$t('订单状态')" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" />
<!-- <dict-tag :type="DICT_TYPE.ORDER_STATUS" :value="scope.row.status" /> -->
{{scope.row.statusMsg}}
</template>
</el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="150px">
<template slot-scope="scope">
<!--操作相关的-->
<el-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<el-button type="text" slot="reference">{{$t('操作')}}</el-button>
<div style=" display:flex; flex-direction:column">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">{{$t('编辑')}}</el-button>
<el-button v-if="[0, 88].indexOf(scope.row.status) > -1" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'deleteOrder')"
v-hasPermi="['ecw:order:delete']">{{$t('删除')}}</el-button>
<el-button v-if="scope.row.status < 5" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'cancelOrder')">{{$t('取消订单')}}</el-button>
<el-button v-if="scope.row.status == 88" size="mini" type="text" icon="el-icon-delete" @click="oprateOrder(scope.row.orderId, 'recoveryOrder')">{{$t('恢复订单')}}</el-button>
<el-dropdown>
<el-button type="text">{{$t('操作')}}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="handleUpdate(scope.row)" v-hasPermi="['ecw:order:update']" >{{$t('编辑')}}</el-dropdown-item>
<el-dropdown-item @click.native="oprateOrder(scope.row.orderId, 'deleteOrder')" v-hasPermi="['ecw:order:delete']" >{{$t('删除')}}</el-dropdown-item>
<el-dropdown-item @click.native="oprateOrder(scope.row.orderId, 'cancelOrder')" >{{$t('取消订单')}}</el-dropdown-item>
<el-dropdown-item @click.native="oprateOrder(scope.row.orderId, 'recoveryOrder')" >{{$t('恢复订单')}}</el-dropdown-item>
<el-dropdown-item @click.native="feeApplicationBol = true; orderId = scope.row.orderId" >{{$t('费用申请')}}</el-dropdown-item>
<el-dropdown-item @click.native="orderId = scope.row.orderId;orderNo = scope.row.orderNo;isShow = true" >{{$t('特需')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/associated-order/${scope.row.orderId}`)" >{{$t('关联')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/mutex-order/${scope.row.orderId}`)" >{{$t('互斥')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push('/order/special/' + scope.row.orderId)" v-hasPermi="['ecw:order:update']" >{{$t('特价')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push(`/order/release?orderId=${scope.row.orderId}`)" >{{$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="showMergedLogOrderNo=scope.row.orderNo" >{{$t('合单日志')}}</el-dropdown-item>
<el-dropdown-item @click.native="showPickupLogOrderNo=scope.row.orderNo" >{{$t('提货日志')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button type="text" size="mini" @click="feeApplicationBol = true; orderId = scope.row.orderId">{{$t('费用申请')}}</el-button>
<el-button type="text" size="mini" @click="orderId = scope.row.orderId;orderNo = scope.row.orderNo;isShow = true" >{{$t('特需')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/associated-order/${scope.row.orderId}`)" >{{$t('关联')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/mutex-order/${scope.row.orderId}`)" >{{$t('互斥')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/special/' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">{{$t('特价')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/release?orderId=${scope.row.orderId}`)">{{$t('确认放货')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/singleApply?orderNo=${scope.row.orderNo}`)">{{$t('合单申请')}}</el-button>
<el-button type="text" size="mini" @click="$router.push(`/order/splitApply?orderId=${scope.row.orderId}`)">{{$t('拆单申请')}}</el-button>
<el-button type="text" size="mini" @click="showMergedLogOrderNo=scope.row.orderNo">{{$t('合单日志')}}</el-button>
<el-button type="text" size="mini" @click="showPickupLogOrderNo=scope.row.orderNo">{{$t('提货日志')}}</el-button>
</div>
</el-popover>
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">编辑</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">入仓</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ecw:order:update']">退仓</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/special?id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">特价</el-button> -->
<!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ecw:order:delete']">删除</el-button> -->
<el-divider direction="vertical"></el-divider>
<!--仓库相关的-->
<el-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<el-button type="text" slot="reference">{{$t('仓库')}}</el-button>
<div style=" display:flex; flex-direction:column">
<el-button size="mini" type="text" icon="el-icon-edit" @click="$router.push('/order/warehousing?id=' + scope.row.orderId)"
v-hasPermi="['ecw:order:update']">{{$t('入仓')}}</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="show = true;orderId = scope.row.orderId; "
v-hasPermi="['ecw:order:update']">{{$t('退仓')}}</el-button>
<!-- :disabled="!(scope.row.status === 5 && (scope.row.inWarehouseState === 215 ||scope.row.inWarehouseState === 0))"-->
<el-button type="text" size="mini" @click="orderId = scope.row.orderId;warehouseBol=true;">{{$t('调仓')}}</el-button>
<!-- :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 213)"-->
<el-button type="text" size="mini" @click="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >{{$t('调拨出仓')}}</el-button>
<!-- :disabled="!(scope.row.status === 8 && scope.row.inWarehouseState === 214)"-->
<el-button type="text" size="mini" @click="$router.push({path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >{{$t('调拨到仓')}}</el-button>
</div>
<el-dropdown>
<el-button type="text">{{$t('仓库')}}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="$router.push('/order/warehousing?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:update']">{{$t('入仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="show = true;orderId = scope.row.orderId; " v-hasPermi="['ecw:order:update']">{{$t('退仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="orderId = scope.row.orderId;warehouseBol=true;" >{{$t('调仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push({path:'/order/transfer-warehousing/' + scope.row.orderId + '/' + 1 })" >{{$t('调拨出仓')}}</el-dropdown-item>
<el-dropdown-item @click.native="$router.push({path:'/order/transfer-to-warehouse/' + scope.row.orderId + '/' + 2 })" >{{$t('调拨到仓')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-popover>
<el-divider direction="vertical"></el-divider>
<!--打印相关的-->
<el-popover
style="margin-left: 10px;"
placement="bottom"
width="100"
trigger="hover">
<div style=" display:flex; flex-direction:column">
<el-button size="mini" type="text" @click="printTagOrderId=scope.row.orderId">{{$t('打印标签')}}</el-button>
<el-button size="mini" type="text" @click="printWarehouseReceiptOrderId=scope.row.orderId">{{$t('打印入仓单')}}</el-button>
<el-button size="mini" type="text" @click="printLadingBillInfo={tidanNO: scope.row.tidanNo, transportType: scope.row.transportId}" :disabled="!scope.row.tidanNo">{{$t('打印提单')}}</el-button>
</div>
<el-button type="text" slot="reference">{{$t('打印')}}</el-button>
</el-popover>
<el-dropdown>
<el-button type="text">{{$t('操作')}}</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="printTagOrderId=scope.row.orderId">{{$t('打印标签')}}</el-dropdown-item>
<el-dropdown-item @click.native="printWarehouseReceiptOrderId=scope.row.orderId">{{$t('打印入仓单')}}</el-dropdown-item>
<el-dropdown-item @click.native="printLadingBillInfo={tidanNO: scope.row.tidanNo, transportType: scope.row.transportId}" :disabled="!scope.row.tidanNo">{{$t('打印提单')}}</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</template>
</el-table-column>
</el-table>
......@@ -297,23 +267,6 @@ export default {
props: {
mine: Boolean
},
/* filters: {
cargoControlStatusFilter(e, cargoControlStatusList) {
if (e) return cargoControlStatusList.find(item => item.value == e).label
},
recordFilter(e, productRecordList) {
if (e) return productRecordList.find(item => item.value == e).label
},
customsTypeFilter(e, customsTypeList) {
if (e) return customsTypeList.find(item => item.value == e).label
},
orderStatusFilter(e, orderStatusList) {
if (e) return orderStatusList.find(item => item.value == e) ? orderStatusList.find(item => item.value == e).label : ''
},
transportFilter(e, transportList) {
if (e) return transportList.find(item => item.value == e).label
}
}, */
data() {
return {
// 选中数组
......@@ -336,26 +289,11 @@ export default {
title: "",
// 是否显示弹出层
open: false,
/* dateRangeRucangtime: [],
dateRangeDaogangtime: [],
dateRangeQingguantime: [],
dateRangePreLoadTime: [],
dateRangeLoadTime: [],
dateRangeUnloadTime: [],
dateRangeTakeTime: [],
dateRangeSplitTime: [],
dateRangeCreateTime: [], */
// 查询参数
queryParams: {
page: 1,
rows: 10
},
/* productRecordList: getDictDatas(DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE),
cargoControlStatusList: getDictDatas(DICT_TYPE.CONTROL_GOODS_STATUS),
customsTypeList: getDictDatas(DICT_TYPE.ECW_CUSTOMS_TYPE),
orderStatusList: getDictDatas(DICT_TYPE.PAY_ORDER_STATUS),
transportList: getDictDatas(DICT_TYPE.ECW_TRANSPORT_TYPE), */
tradeCityList: [],
productAttrList: [], // 商品属性
molecule: '', //重货比分子
......@@ -371,13 +309,13 @@ export default {
showPickupLogOrderNo: null, // 显示提货日志的订单号
isShow:false,//特殊显示
orderId:undefined,
/* DICT_TYPE,
getDictDatas */
adjustmentList:[],
show:false,
warehouseBol:false,//调仓申请
feeApplicationBol:false,//费用申请
multipleSelection:[]
multipleSelection:[],
transportId: null, // 指定运输方式
};
},
computed: {
......@@ -393,7 +331,11 @@ export default {
timeParams['begin' + this.dateFilterType] = this.dateFilter[0]
timeParams['end' + this.dateFilterType] = this.dateFilter[1]
}
return Object.assign({}, this.queryParams, timeParams)
let queryParams = Object.assign({}, this.queryParams, timeParams)
if(this.transportId){
queryParams.transportId = this.transportId
}
return queryParams
},
batchWarehouseAdjustment(){
return this.multipleSelection.length > 0 && this.multipleSelection.every(e => e.status === 5)
......@@ -401,11 +343,18 @@ export default {
},
created() {
this.getTransportFromRoute()
this.getList();
getProductAttrList().then(res => this.productAttrList = res.data)
getTradeCityList().then(res => this.tradeCityList = res.data)
},
methods: {
// 提取路径中的运输方式
getTransportFromRoute(){
let match = this.$route.path.match(/transport_(\d)/)
if(!match) return
this.transportId = match[1]
},
oprateOrder(orderId, type){
let actions = {
cancelOrder: {
......@@ -460,7 +409,10 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams = {
page: 1,
rows: 10
}
this.handleQuery();
},
/** 新增按钮操作 */
......
......@@ -167,7 +167,6 @@ export default {
return this.$router.push(url)
})
}
}else{
let url = '../../lineProject/product-price/edit'
return this.$router.push(url)
......
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