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

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

parents cff971d2 a0013648
......@@ -57,7 +57,11 @@
</el-table-column>
<el-table-column v-if="showAttr" :label="$t('商品特性')" prop="startTitleZh">
<template slot-scope="{row}">
{{ getAttrNames(row.attrId) }}
<!--{{ getAttrNames(row.attrId) }}-->
<template v-if="row.channel && row.channel.attrNameList">
{{row.channel.attrNameList.join(',')}}
</template>
</template>
</el-table-column>
<el-table-column :label="$t('操作')" prop="">
......@@ -182,7 +186,7 @@ export default {
// 显示产品特性
getAttrName(){
return (id) => {
let item = this.attrList.find(item => item.id == id)
let item = this.attrList.find(item => item.id === +id)
if(!item) return ''
return this.$l(item, 'attrName')
}
......@@ -233,7 +237,12 @@ export default {
},
// 显示的路线发生变化之后,清空已勾选的路线
filteredRouterList(){
if(this.inited)this.selectedRoutes = []
if(this.inited){
this.selectedRoutes = []
Object.keys(this.groupChecker).forEach(key => {
this.groupChecker[key] = false
})
}
}
},
async created(){
......@@ -254,6 +263,9 @@ export default {
if(this.showAttr){
this.getAttrList()
}
await this.$nextTick()
this.inited = true
},
methods:{
getAttrList(){
......
<template>
<div class="shippingSea-dialog">
<el-form ref="errorForm" :model="errorObj" label-width="140px">
<el-form-item :label="$t('操作步骤')">
<el-form-item :label="$t('操作步骤')" :rules="[{required: true,message: this.$t('操作步骤必填'),trigger: 'blur'}]" prop="opStep">
<el-select v-model="errorObj.opStep" :placeholder="$t('请选择操作步骤')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE[this.process])" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>
......@@ -9,7 +9,7 @@
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SEA_AIR)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>-->
</el-form-item>
<el-form-item :label="$t('票异常')">
<el-form-item :label="$t('票异常')" :rules="[{required: true,message: this.$t('票异常必填'),trigger: 'blur'}]" prop="billAbnId">
<el-select v-model="errorObj.billAbnId" :placeholder="$t('请选择票异常')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
</el-select>
......@@ -91,12 +91,13 @@ export default {
}
},
created() {
const { currNode } = this.$attrs;
this.errorObj = { opStep: currNode?.dataKey ?? undefined };
console.log(currNode, this.errorObj.opStep)
if (this.$attrs.shipmentObj.bosType == "seaAir") {
this.flag = "seaAir";
}
// console.log(this.$attrs,'this.$attrs');
// const { currNode } = this.$attrs;
// this.errorObj = { opStep: currNode?.dataKey ?? undefined };
// console.log(currNode, this.errorObj.opStep)
// if (this.$attrs.shipmentObj.bosType == "seaAir") {
// this.flag = "seaAir";
// }
},
watch: {
// 异常开始时间
......@@ -123,6 +124,7 @@ export default {
/** 提交 */
onSubmit() {
this.$refs["errorForm"].validate((valid) => {
console.log(valid,'valid')
if (valid) {
abnormalCreate({
...this.errorObj,
......
......@@ -46,8 +46,8 @@
<el-input v-model="queryParams.weightRatioMin" :placeholder="$t('请输入 小')" clearable />
</el-form-item>
<el-form-item :label="$t('出货渠道')" prop="shippingChannelId">
<el-select v-model="queryParams.shippingChannelId" :placeholder="$t('请选择出货渠道')" @change="selectChannel">
<el-form-item :label="$t('出货渠道')" prop="channelId">
<el-select v-model="queryParams.channelId" :placeholder="$t('请选择出货渠道')" @change="selectChannel">
<el-option v-for="item in channelList" :label="$l(item, 'name')" :value="item.channelId" :key="item.channelId"></el-option>
</el-select>
</el-form-item>
......
......@@ -46,8 +46,7 @@ import { listUser } from "@/api/system/user";
import { getLadingShipperPage } from "@/api/ecw/ladingShipper";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用
import { airBaseData } from "./utils";
import { airOneData } from "./utils";
import { airBaseData, airOneData, airNextData } from "./utils";
/**
* 海运操作主页面
*/
......@@ -64,6 +63,7 @@ export default {
return {
airBaseData,
airOneData,
airNextData,
shipmentObj: {},
warehouseList: [],
// 供应商
......@@ -127,6 +127,9 @@ export default {
if(this.shipmentObj.destinationClearance==3&&this.shipmentObj.deliveryType==2){
this.seaBaseData = this.airOneData()
}
if(this.shipmentObj.destinationClearance==2){
this.seaBaseData = this.airNextData()
}
this.flag = true
});
},
......
......@@ -572,6 +572,309 @@ function airOneData() {
];
}
/**
* 目的港清关=我司&合作方清关流程
*
* @return {*}
*/
function airNextData() {
return [
[
{
title: i18n.$t("订舱"),
imgSrc: {
start: require("@/assets/images/shipping/dc-start.png"),
end: require("@/assets/images/shipping/dc-end.png"),
},
type: "booking", // 类型
dataKey: "1", // 字典数据键值
/**
* 订舱状态:11、未订舱;12、已订舱
*/
voName: "bookAirInfo", // 订舱对象vo
keyName: "bkStatus",
status: {
start: [11],
wait: [],
end: [12],
},
},
],
[
{
title: i18n.$t("分拣"),
imgSrc: {
start: require("@/assets/images/shipping/yz-start.png"),
wait: require("@/assets/images/shipping/yz-wait.png"),
end: require("@/assets/images/shipping/yz-end.png"),
},
type: "preinstall",
dataKey: "2", // 字典数据键值
/**
* 预装状态:21、未预装;22、预装中;23、预装审核中;24、预装审核失败;25、预装审核成功
*/
voName: "preInstallInfo",
keyName: "prStatus",
status: {
start: [21],
wait: [22, 23, 24],
end: [25],
},
}
],
[
{
title: i18n.$t("理货"),
imgSrc: {
start: require("@/assets/images/shipping/lh-start.png"),
wait: require("@/assets/images/shipping/lh-wait.png"),
end: require("@/assets/images/shipping/lh-end.png"),
},
type: "tally",
dataKey: "3", // 字典数据键值
/**
* 理货状态:2111、未理货;2112、已理货
*/
voName: "tallyInfo",
keyName: "tyStatus",
status: {
start: [2111],
wait: [],
end: [2112],
},
},
{
title: i18n.$t("合包"),
imgSrc: {
start: require("@/assets/images/shipping/qg-start.png"),
wait: require("@/assets/images/shipping/qg-wait.png"),
end: require("@/assets/images/shipping/qg-end.png"),
},
type: "mergePkg",
dataKey: "4", // 字典数据键值
/**
* 合包状态:161待合包 162已合包
*/
voName: "boxMergePkgBackVO",
keyName: "mergePkgStatus",
status: {
start: [161],
wait: [],
end: [162],
},
},
],
[
{
title: i18n.$t("出货"),
imgSrc: {
start: require("@/assets/images/shipping/zg-start.png"),
wait: require("@/assets/images/shipping/zg-wait.png"),
end: require("@/assets/images/shipping/zg-end.png"),
},
type: "shipment",
dataKey: "5", // 字典数据键值
/**
* 出货状态:171、待出货 172、出货审核中 173、审核失败 174、审核成功 = 175、已出货
*/
voName: "boxAirShipmentBackVO",
keyName: "airShipmentStatus",
status: {
start: [171],
wait: [172,173],
end: [175],
},
},
{
title: i18n.$t("出仓"),
imgSrc: {
start: require("@/assets/images/shipping/zg-start.png"),
wait: require("@/assets/images/shipping/zg-wait.png"),
end: require("@/assets/images/shipping/zg-end.png"),
},
type: "checkout",
dataKey: "6", // 字典数据键值
/**
* 出仓状态:221、未出仓 222、已出仓
*/
voName: "boxAirCheckoutBackVO",
keyName: "checkoutStatus",
status: {
start: [221],
wait: [],
end: [222],
},
},
],
[
{
title: "AGENT",
imgSrc: {
start: require("@/assets/images/shipping/agent-start.png"),
wait: require("@/assets/images/shipping/agent-wait.png"),
end: require("@/assets/images/shipping/agent-end.png"),
},
type: "agent",
voName: "agentInfo",
currStatus: "start",
dataKey: "7"
},
{
title: i18n.$t("报关"),
imgSrc: {
start: require("@/assets/images/shipping/bg-start.png"),
wait: require("@/assets/images/shipping/bg-wait.png"),
end: require("@/assets/images/shipping/bg-end.png"),
},
type: "cusDeclaration",
dataKey: "8", // 字典数据键值
/**
*报关状态:51、未报关;52、报关中;53、已报关
*/
voName: "customsInfo",
keyName: "dcStatus",
status: {
start: [51],
wait: [52],
end: [53],
},
},
],
[
{
title: i18n.$t("起飞"),
imgSrc: {
start: require("@/assets/images/shipping/ecqf-start.png"),
wait: require("@/assets/images/shipping/ecqf-wait.png"),
end: require("@/assets/images/shipping/ecqf-end.png"),
},
type: "twoWayTakeoff",
dataKey: "10", // 字典数据键值
/**
* 起飞状态:231、未起飞;232、已起飞
*/
voName: "boxAirFlyInfo",
keyName: "flyStatus",
status: {
start: [231],
wait: [],
end: [232],
},
},
],
[
{
type: "clrDocument",
imgSrc: {
start: require("@/assets/images/shipping/qg-start.png"),
wait: require("@/assets/images/shipping/qg-wait.png"),
end: require("@/assets/images/shipping/qg-end.png"),
},
title: i18n.$t("清关文件"),
dataKey: "11", // 字典数据键值
/**
* 清关文件状态:111、未清关文件;112、已清关文件
*/
voName: "clearanceDocInfo",
keyName: "cdStatus",
status: {
start: [111],
wait: [],
end: [112],
},
},
],
[
{
title: i18n.$t("到港"),
imgSrc: {
start: require("@/assets/images/shipping/dg-start.png"),
wait: require("@/assets/images/shipping/dg-wait.png"),
end: require("@/assets/images/shipping/dg-end.png"),
},
type: "arrival",
dataKey: "12", // 字典数据键值
/**
* 到港状态:151、未到港;152、已到港
*/
voName: "airArrivalInfo",
keyName: "sapStatus",
status: {
start: [151],
wait: [],
end: [152],
},
},
],
[
{
title: i18n.$t("清关"),
imgSrc: {
start: require("@/assets/images/shipping/qg-start.png"),
wait: require("@/assets/images/shipping/qg-wait.png"),
end: require("@/assets/images/shipping/qg-end.png"),
},
type: "cusClearance",
dataKey: "13", // 字典数据键值
/**
* 清关状态:131、未清关;132、已清关
*/
voName: "clearanceInfo",
keyName: "clStatus",
status: {
start: [131],
wait: [],
end: [132],
},
},
],
[
{
title: i18n.$t("到仓"),
imgSrc: {
start: require("@/assets/images/shipping/xg-start.png"),
wait: require("@/assets/images/shipping/xg-wait.png"),
end: require("@/assets/images/shipping/xg-end.png"),
},
type: "unloading",
dataKey: "14", // 字典数据键值
/**
* 卸柜状态:181、未卸柜;182、卸柜中;183、卸柜审核中;184、卸柜审核失败;185、卸柜审核成功;186、已卸柜
*/
voName: "cabinetUnloadInfo",
keyName: "toWarehouseStatus",
status: {
start: [181],
wait: [182, 183, 184],
end: [185, 186],
},
},
],
[
{
title: i18n.$t("结算"),
imgSrc: {
start: require("@/assets/images/shipping/js-start.png"),
wait: require("@/assets/images/shipping/js-wait.png"),
end: require("@/assets/images/shipping/js-end.png"),
},
type: "settlement",
dataKey: "15", // 字典数据键值
/**
* 结算状态:191、未结算;192、结算中;193、已结算
*/
voName: "settlementInfo",
keyName: "slStatus",
status: {
start: [191],
wait: [192],
end: [193],
},
},
],
];
}
/**
* 详情显示列
*
......@@ -1193,6 +1496,7 @@ export {
getSeaStatus,
airBaseData,
airOneData,
airNextData,
constantDict,
formatStringNumber,
formatDateStr,
......
......@@ -42,8 +42,8 @@
<el-form-item :label="$t('联系方式')" prop="key">
<el-input v-model="queryParams.phoneNew" :placeholder="$t('请输入联系方式')" clearable/>
</el-form-item>
<el-form-item :label="$t('客户经理')" prop="customerService">
<el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-form-item :label="$t('客户经理')" prop="userId">
<el-select clearable v-model="queryParams.userId" :placeholder="$t('请选择客户经理')" clearable size="small">
<el-option v-for="dict in customerServiceList"
:key="dict.id" :label="dict.nickname" :value="dict.id"/>
</el-select>
......@@ -149,7 +149,7 @@
import dayjs from "dayjs";
import {listServiceUser} from "@/api/system/user";
import {getWarehouseList} from '@/api/ecw/warehouse'
export default {
name: "EcwDepttargetAllachievement",
components: {},
......
......@@ -393,10 +393,9 @@
<span v-if="amount"> {{amount}}{{getCurrencyLabel(currency)}}</span>
</div>
</div>
</el-form-item>
<el-form-item :label="$t('收款账户')" prop="accountNo" :rules="{ required: true, trigger: ['blur', 'change'], message: $t('收款账户不能为空') }">
<el-select v-if="!isView" v-model="addForm.accountId" :placeholder="$t('请选择收款账户')" style="width: 220px" @change="accountChange">
<el-select v-if="!isView" filterable clear v-model="addForm.accountId" :placeholder="$t('请选择收款账户')" style="width: 220px" @change="accountChange" v-el-select-loadmore="loadmore">
<el-option v-for="item in bankData" :key="item.id" :label="item.baAccountName + '(' + item.baAccountNum + ')'" :value="item.id" />
</el-select>
<span v-else>{{ addForm.accountNo}}{{'('+addForm.accountName+')' }}</span>
......@@ -620,7 +619,12 @@ export default {
detailIndex:1,
wiffShow:false,
wiffRemark:'',
rateList:[]
rateList:[],
codePage: {
pageNo: 1,
pageSize: 20
},
pages:1
}
},
computed: {
......@@ -698,6 +702,22 @@ export default {
this.setWriteOffAmount()
},
},
directives: {
'el-select-loadmore': {
bind (el, binding) {
const SELECTWRAP_DOM = el.querySelector(
'.el-select-dropdown .el-select-dropdown__wrap'
)
SELECTWRAP_DOM.addEventListener('scroll', function () {
const condition =
this.scrollHeight - this.scrollTop <= this.clientHeight
if (condition) {
binding.value()
}
})
}
}
},
async created() {
// 获取汇率
await getCurrencyPage(this.params).then(res => this.currencyList = res.data.list)
......@@ -720,7 +740,10 @@ export default {
// });
// console.log(this.deptData)
});
await getBankAccountPage(this.params).then((res) => (this.bankData = res.data.list));
await getBankAccountPage(this.codePage).then((res) => {
this.bankData = res.data.list
this.pages = (res.data.total/this.codePage.pageSize)+1
});
if (this.$route.query.id) {
this.id = this.$route.query.id;
await getReceiptInfoByIds({ id: this.id }).then(res => {
......@@ -811,6 +834,24 @@ export default {
this.getList()
},
methods: {
// 懒加载
loadmore () {
this.codePage.pageNo++
// 大于页码不请求了
console.log(111)
if (this.codePage.pageNo > this.pages) {
return
}
this.getCodeList()
},
getCodeList() {
setTimeout(() => {
getBankAccountPage(this.codePage).then(res => {
this.bankData = this.bankData.concat(res.data.list)
this.pages = (res.data.total/this.codePage.pageSize)+1
})
}, 200)
},
rateChange(row, index) {
if(row.collectionRate){
row.receivableAmount && (row.collectionAmount = Math.round(NP.times(row.collectionRate || 0, NP.minus(row.receivableAmount, row.discountTotal||0))))
......
......@@ -75,12 +75,16 @@
{{getLocationName(row.orderLocationBackVOList)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓影像')" prop="orderLocationBackVOList" >
<!-- <el-table-column :label="$t('入仓影像')" prop="orderLocationBackVOList" >
<template slot-scope="{row}">
<el-button type="primary" @click="seeMv(orderWarehouseInContent.pictureUrls)">{{$t('查看')}}</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<div style="margin:20px 0;font-size:16px;font-weight:600">
{{$t('打包前入仓影像')}}
</div>
<image-and-video-upload v-if="orderWarehouseInContent.pictureUrls" readonly :fileSize="50" :isShowTip="true" :value="orderWarehouseInContent.pictureUrls" ></image-and-video-upload>
</el-card>
<el-card style="margin-bottom:10px">
<div slot="header" class="card-title">
......@@ -131,12 +135,16 @@
{{getLocationName(row.orderLocationBackVOList)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓影像')" prop="orderLocationBackVOList" >
<!-- <el-table-column :label="$t('入仓影像')" prop="orderLocationBackVOList" >
<template slot-scope="{row}">
<el-button type="primary" @click="seeMv(warehouseItem.pictureUrls)">{{$t('查看')}}</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<div style="margin:20px 0;font-size:16px;font-weight:600">
{{$t('打包后入仓影像')}}
</div>
<image-and-video-upload v-if="warehouseItem.pictureUrls" readonly :fileSize="50" :isShowTip="true" :value="warehouseItem.pictureUrls" ></image-and-video-upload>
</el-card>
<el-card style="margin-bottom:10px">
<el-descriptions :title="$t('打包数据')" :column="2" :labelStyle="{width:'120px'}">
......
......@@ -666,6 +666,7 @@ let makeDefaultFormData = () => {
orderItemVOList:[],
drawee: 2,
harvestMethod: "1",
displayBillLadingPrice: true
}
}
window.Decimal = Decimal
......@@ -1000,6 +1001,20 @@ export default {
if(!this.initing){
this.$set(this.form, 'drawee', isCargoControl ? 2 : 2)
}
this.setBllLandingPrice()
},
'form.type'(){
this.setBllLandingPrice()
},
'form.drawee'(){
this.setBllLandingPrice()
},
'form.consigneeId'(){
this.setBllLandingPrice()
},
'form.consignorId'(){
this.setBllLandingPrice()
},
// 目的港清关,1我司,2客户
'form.portDestCustomsClear'(portDestCustomsClear){
......@@ -1515,6 +1530,33 @@ export default {
that.$set(that.form, 'offerId', response.data.offerId)
})
},
// 设置默认的提货单是否显示价格
setBllLandingPrice(){
if(this.form.orderId) return
// 海外仓归属发货人
// 控货订单归属发货人
// 非控货订单 + 付款人为发货人 归属发货人, 其他归属收货人
let customerId = null
if(this.form.type == 2 || this.form.isCargoControl == 1 || this.form.drawee == 2 ){
customerId = this.form.consignorId
}else{
customerId = this.form.consigneeId
}
if(!customerId) return
console.log('原归属人',this.displayBillLadingPriceFrom, '新归属人', customerId)
// 如果当前的提单价格设置来自同一个客户则不在查询
if(this.displayBillLadingPriceFrom == customerId) return;
this.displayBillLadingPriceFrom = customerId
// 获取客户信息
getCustomer(customerId).then(res => {
console.log('isShowTidanPrice', res)
this.form.displayBillLadingPrice = res.data.isShowTidanPrice
})
},
}
};
</script>
......
......@@ -16,12 +16,13 @@
<el-descriptions-item :label="$t('目的仓')" :span="2">
{{order.logisticsInfoDto.destAddressZh}}
</el-descriptions-item>
<el-descriptions-item :label="$t('异常描述')" :span="2">
<el-descriptions-item :label="$t('异常描述')+':'" :span="2">
{{$l(orderExceptionData.orderExceptionDescVO, 'desc')}}
</el-descriptions-item>
</el-descriptions>
<div v-for="row in orderItemData" :key="row.orderItemId">
<div v-for="(row,index) in orderItemData" :key="row.orderItemId">
<div v-if="row.charging ==1" class="price_list">
<span>品名{{parseInt(index)+1}}{{$l(row.prodTitle, 'desc')}}</span>
<span>旧成交价:</span>
<div>
<div v-if="!row.oneSeaFreight">
......@@ -57,48 +58,49 @@
</div>
</div>
</div>
</div>
<div v-for="row in loopOrderItem" :key="row.orderItemId">
<div v-if="row.charging ==1" class="price_list">
<span>新成交价:</span>
<div>
<div v-if="!row.oneSeaFreight">
<span >{{$t('全包价')}}:</span>
<span>{{$t('未报价')}}</span>
</div>
<div v-else>
<span >{{$t('全包价')}}:</span>
<span>{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</span>
</div>
</div>
</div>
<div v-else class="price_list">
<div v-if="loopOrderItem[index].charging ==1" class="price_list">
<span>新成交价:</span>
<div>
<div v-if="!row.oneSeaFreight">
<span>{{$t('运费')}}:</span>
<span>{{$t('未报价')}}</span>
<div>
<div v-if="!loopOrderItem[index].oneSeaFreight">
<span >{{$t('全包价')}}:</span>
<span>{{$t('未报价')}}</span>
</div>
<div v-else>
<span >{{$t('全包价')}}:</span>
<span>{{loopOrderItem[index].oneSeaFreight}} {{currencyMap[loopOrderItem[index].seaFreightCurrency]}} / {{unitMap[loopOrderItem[index].seaFreightVolume]}}</span>
</div>
<div v-else>
<span >{{$t('运费')}}:</span>
<span>{{row.oneSeaFreight}} {{currencyMap[row.seaFreightCurrency]}} / {{unitMap[row.seaFreightVolume]}}</span>
</div>
</div>
<div>
<div v-if="!row.oneClearanceFreight">
<span >{{$t('清关费')}}:</span>
<span>{{$t('未报价')}}</span>
</div>
<div v-else>
<span>{{$t('清关费')}}:</span>
<span>{{row.oneClearanceFreight}} {{currencyMap[row.clearanceFreightCurrency]}} / {{unitMap[row.clearanceFreightVolume]}}</span>
</div>
</div>
</div>
<div v-else class="price_list">
<span>新成交价:</span>
<div>
<div v-if="!loopOrderItem[index].oneSeaFreight">
<span>{{$t('运费')}}:</span>
<span>{{$t('未报价')}}</span>
</div>
<div v-else>
<span >{{$t('运费')}}:</span>
<span>{{loopOrderItem[index].oneSeaFreight}} {{currencyMap[loopOrderItem[index].seaFreightCurrency]}} / {{unitMap[loopOrderItem[index].seaFreightVolume]}}</span>
</div>
</div>
<div>
<div v-if="!loopOrderItem[index].oneClearanceFreight">
<span >{{$t('清关费')}}:</span>
<span>{{$t('未报价')}}</span>
</div>
<div v-else>
<span>{{$t('清关费')}}:</span>
<span>{{loopOrderItem[index].oneClearanceFreight}} {{currencyMap[loopOrderItem[index].clearanceFreightCurrency]}} / {{unitMap[loopOrderItem[index].clearanceFreightVolume]}}</span>
</div>
</div>
</div>
</div>
<!-- <div v-for="row in loopOrderItem" :key="row.orderItemId"> -->
<!-- </div> -->
<el-descriptions :column="3" v-if="order" :colon="false">
<el-descriptions-item :label="$t('备注')" :span="2">
{{$l(orderExceptionData.orderExceptionRemark, 'desc')}}
<el-descriptions-item :label="$t('备注')+':'" :span="2">
{{orderExceptionData.orderExceptionNotes||'/'}}
</el-descriptions-item>
</el-descriptions>
</div>
......
......@@ -195,7 +195,7 @@
</el-table>
<!-- 单证异常,发货人异常,其他异常的表格 -->
<el-table v-if="['order_doc_exception', 'order_consignor_exception', 'order_other_exception','fee_exception','overweight_exception','channel_packaging_overweight_exception'].indexOf(orderExceptionData.orderExceptionType) > -1" v-loading="loading" border :data="orderData.orderItemVOList">
<el-table v-if="['order_doc_exception', 'order_consignor_exception', 'order_other_exception','fee_exception'].indexOf(orderExceptionData.orderExceptionType) > -1" v-loading="loading" border :data="orderData.orderItemVOList">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
......@@ -243,6 +243,59 @@
</el-table-column>
<el-table-column :label="$t('货值')" prop="worth" />
</el-table>
<!-- 重量超限异常 -->
<el-table v-if="['overweight_exception'].indexOf(orderExceptionData.orderExceptionType) > -1" border :data="loopOrderItem">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('中文名')" align="center" prop="prodTitleZh" />
<el-table-column :label="$t('英文名')" align="center" prop="prodTitleEn" />
<el-table-column :label="$t('品牌')" align="center" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('填单箱数')" prop="num" />
<!-- v2.0 入仓特性异常 -->
<el-table-column :label="$t('填单特性')" prop="prodAttrIds">
<template slot-scope="scope">
{{getProdAtrr(scope.row.prodAttrIds)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓箱数')">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}
</template>
</el-table-column>
<!-- v2.0 入仓特性异常 -->
<el-table-column :label="$t('入仓特性')" prop="num">
<template slot-scope="scope">
{{getProdAtrr(scope.row.warehouseInProdAttrIds)}}
</template>
</el-table-column>
<el-table-column :label="$t('方数')" prop="volume">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}
</template>
</el-table-column>
<el-table-column :label="$t('重量')" prop="weight">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}
</template>
</el-table-column>
<el-table-column :label="$t('数量')" prop="quantity">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.quantityAll:0}}
</template>
</el-table-column>
<el-table-column :label="$t('货值')" prop="worth" />
</el-table>
<div class="overweight_order" v-if="['overweight_exception','channel_packaging_overweight_exception'].indexOf(orderExceptionData.orderExceptionType) > -1&&handlerParams.orderExceptionHandlerResult=='update_weight_limit'">
<span>{{$t('空运订单重量上限')}}(kg)</span>
<div style="width:200px;margin-left:20px"><el-input type="number" v-model="handlerParams.weightLimit"></el-input></div>
</div>
<!-- 未分配客户经理 -->
<div v-if="orderExceptionData.orderExceptionType=='not_customer_service_exception'">
<el-row :gutter="20">
......@@ -368,9 +421,110 @@
<el-input style="width: 500px;" type="textarea" v-model="handlerParams.orderExceptionHandlerRemark" :disabled="orderExceptionData.orderExceptionStatus==2" />
</el-form-item>
</el-row>
<!-- 线路单证异常,重量超限,渠道超限异常 -->
<div v-if="orderExceptionData.orderExceptionType=='line_loop_exception'||((orderExceptionData.orderExceptionType=='channel_packaging_overweight_exception'||orderExceptionData.orderExceptionType=='overweight_exception')&&handlerParams.orderExceptionHandlerResult=='allow_over')">
<!-- 渠道超限异常 -->
<div v-if="orderExceptionData.orderExceptionType=='channel_packaging_overweight_exception'" class="card">
<div style="font-size:18px;font-weight:600">{{$t('渠道包装超限品名列表')}}</div>
<el-table v-loading="loading" border :data="orderData.orderItemVOList">
<el-table-column :label="$t('序号')" align="center" prop="id" type="index" min-width="30">
<template slot-scope="scope">
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('中文名')" align="center" prop="prodTitleZh" min-width="50" />
<el-table-column :label="$t('英文名')" align="center" prop="prodTitleEn" min-width="50" />
<el-table-column :label="$t('品牌')" align="center" min-width="50" prop="brandType">
<template slot-scope="scope">
<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="$t('填单箱数')" align="center" prop="num" min-width="60" />
<!-- v2.0 入仓特性异常 -->
<el-table-column :label="$t('填单特性')" align="center" prop="prodAttrIds" min-width="60">
<template slot-scope="scope">
{{getProdAtrr(scope.row.prodAttrIds)}}
</template>
</el-table-column>
<el-table-column :label="$t('入仓箱数')" align="center" min-width="60">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}
</template>
</el-table-column>
<!-- v2.0 入仓特性异常 -->
<el-table-column :label="$t('入仓特性')" align="center" prop="num" min-width="60">
<template slot-scope="scope">
{{getProdAtrr(scope.row.warehouseInProdAttrIds)}}
</template>
</el-table-column>
<el-table-column :label="$t('方数')" align="center" prop="volume" min-width="30">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}
</template>
</el-table-column>
<el-table-column :label="$t('重量')" prop="weight" align="center" min-width="30">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}
</template>
</el-table-column>
<el-table-column :label="$t('数量')" prop="quantity" align="center" min-width="30">
<template slot-scope="scope">
{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.quantityAll:0}}
</template>
</el-table-column>
<el-table-column :label="$t('货值')" prop="worth" align="center" min-width="30" />
<el-table-column :label="$t('运费/全包价')" prop="quantity" align="center" min-width="260">
<template slot-scope="scope" >
<div v-if="scope.row.charging ==1" class="channel">
<!-- <span v-if="!scope.row.oneSeaFreight">{{$t('全包价')}}:{{$t('未报价')}}</span> -->
<div class="channel">
<div style="width:80px">{{$t('全包价')}}:</div>
<div style="width:88%" class="channel" v-if="orderExceptionData.orderExceptionStatus==0&&handlerParams.orderExceptionHandlerResult=='allow_over'">
<inputor default2="0" v-model.number="scope.row.oneSeaFreight" type="number" :placeholder="$t('整数或者两位小数')" class="w100" />
<selector v-model="scope.row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
/ <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
</div>
<div v-else class="channel">
<span v-if="!scope.row.oneSeaFreight">{{$t('未报价')}}</span>
<span v-else>{{scope.row.oneSeaFreight}} {{currencyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</span>
</div>
</div>
</div>
<div v-else>
<!-- <span v-if="!scope.row.oneSeaFreight">{{$t('运费')}}:{{$t('未报价')}}</span> -->
<div class="channel" v-if="orderExceptionData.orderExceptionStatus==0&&handlerParams.orderExceptionHandlerResult=='allow_over'">
<div style="width:80px">{{$t('运费')}}:</div>
<div style="width:88%" class="channel" >
<inputor default2="0" v-model.number="scope.row.oneSeaFreight" type="number" :placeholder="$t('整数或者两位小数')" class="w100" />
<selector v-model="scope.row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
/ <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
</div>
</div>
<div v-else class="channel">
<span v-if="!scope.row.oneSeaFreight">{{$t('未报价')}}</span>
<span v-else>{{scope.row.oneSeaFreight}} {{currencyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column :label="$t('清关费')" prop="quantity" align="center" min-width="180">
<template slot-scope="scope">
<div class="channel">
<!-- <span v-if="!scope.row.oneClearanceFreight">{{$t('未报价')}}</span> -->
<div class="channel" v-if="orderExceptionData.orderExceptionStatus==0&&handlerParams.orderExceptionHandlerResult=='allow_over'">
<inputor default2="0" v-model.number="scope.row.oneClearanceFreight" type="number" :placeholder="$t('整数或者两位小数')" class="w100" />
<selector v-model="scope.row.clearanceFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
/ <selector v-model="scope.row.clearanceFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
</div>
<div v-else>
<span v-if="!scope.row.oneClearanceFreight">{{$t('未报价')}}</span>
<span v-else>{{scope.row.oneClearanceFreight}} {{currencyMap[scope.row.clearanceFreightCurrency]}} / {{unitMap[scope.row.clearanceFreightVolume]}}</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
</div>
<!-- 线路单证异常,重量超限 -->
<div v-if="orderExceptionData.orderExceptionType=='line_loop_exception'||(orderExceptionData.orderExceptionType=='overweight_exception'&&handlerParams.orderExceptionHandlerResult=='allow_over')">
<div v-for="row in loopOrderItem" :key="row.orderItemId">
<div v-if="row.charging ==1">
......@@ -679,6 +833,10 @@
<selector v-model="scope.row.seaFreightCurrency" :options="currencyList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
/ <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
</div>
<div v-else class="channel">
<span v-if="!scope.row.oneSeaFreight">{{$t('未报价')}}</span>
<span v-else>{{scope.row.oneSeaFreight}} {{currencyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</span>
</div>
</div>
</div>
<div v-else>
......@@ -691,10 +849,10 @@
/ <selector v-model="scope.row.seaFreightVolume" :options="unitList" :label-field="$l('title')" value-field="id" defaultable2 class="w100" />
</div>
</div>
<div v-else class="channel">
<span v-if="!scope.row.oneSeaFreight">{{$t('运费')}}:{{$t('未报价')}}</span>
<span v-else>{{$t('全包价')}}:{{scope.row.oneSeaFreight}} {{currencyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</span>
</div>
<div v-else class="channel">
<span v-if="!scope.row.oneSeaFreight">{{$t('运费')}}:{{$t('未报价')}}</span>
<span v-else>{{$t('运费')}}:{{scope.row.oneSeaFreight}} {{currencyMap[scope.row.seaFreightCurrency]}} / {{unitMap[scope.row.seaFreightVolume]}}</span>
</div>
</div>
</template>
</el-table-column>
......@@ -866,7 +1024,7 @@
unitList: [],
selectLine:null,
calculating: false, // 是否正在计算费用,防止频繁重新请求,
loopOrderItem:[], //线路单询异常清关费
loopOrderItem:[], //线路单询异常清关费,
};
},
activated(){
......@@ -901,6 +1059,7 @@
},
watch:{
'handlerParams.orderExceptionHandlerResult'(val){
console.log(val)
if(val == 'no_pay'||val=="allow_over"){
this.showWorkFlow = true
}else if(val=="continue_channel"){
......@@ -1039,7 +1198,9 @@
}
if(that.orderExceptionData.orderExceptionRemark){
that.orderExceptionData.orderExceptionRemark=JSON.parse(that.orderExceptionData.orderExceptionRemark)
}
if(that.orderExceptionData.additionalJson){
that.orderExceptionData.additionalJson=JSON.parse(that.orderExceptionData.additionalJson)
}
// if(response.data.hasOwnProperty('orderItemId')){
// that.getShopData(response.data.orderItemId)
......@@ -1093,7 +1254,7 @@
if(response.data.customerId){
this.getCustomerData(response.data.customerId)
}
if(this.orderExceptionData.orderExceptionType=='not_shipping_channel_exception'){
if(['overweight_exception','not_shipping_channel_exception','channel_packaging_overweight_exception'].indexOf(this.orderExceptionData.orderExceptionType)>-1){
// this.handlerParams.channelPriceList = []
this.getOpenedRouterList()
if(this.orderExceptionData.orderExceptionStatus==0){
......@@ -1107,17 +1268,21 @@
v.clearanceFreightVolume = this.unitList[1]['id']
}
})
}else if(this.handlerParams.orderExceptionHandlerResult=='line_loop_exception'){
}else if(this.orderExceptionData.orderExceptionType=='line_loop_exception'){
this.getExceptionPriceList('line_loop_exception',1)
}
}
if(this.handlerParams.orderExceptionHandlerResult=='continue_channel'){
this.getExceptionPriceList('continue_channel',1)
}
if(['channel_packaging_overweight_exception','overweight_exception'].indexOf(this.orderExceptionData.orderExceptionType)>-1&&this.orderExceptionData.orderExceptionStatus=='1'){
this.getExceptionPriceList('continue_channel',2)
}else{
this.getExceptionPriceList('line_loop_exception',1)
console.log(this.orderExceptionData.orderExceptionStatus)
console.log(this.orderExceptionData.orderExceptionStatus=='0')
if(['overweight_exception','channel_packaging_overweight_exception'].indexOf(this.orderExceptionData.orderExceptionType)>-1){
if(this.orderExceptionData.orderExceptionStatus!='0'&&this.handlerParams.orderExceptionHandlerResult=='allow_over'){
this.getExceptionPriceList('continue_channel',2)
}else{
this.getExceptionPriceList('line_loop_exception',1)
}
}
});
},
......@@ -1142,6 +1307,12 @@
if(this.handlerParams.productId){
this.productId2 = this.productId1 = this.handlerParams.productId
}
if(this.orderExceptionData.orderExceptionType=='overweight_exception'&&this.orderExceptionData.additionalJson&&this.orderExceptionData.additionalJson.weightSum){
this.$set(this.handlerParams,'weightLimit', this.orderExceptionData.additionalJson.weightSum)
}
if(this.orderExceptionData.orderExceptionType=='channel_packaging_overweight_exception'&&this.orderExceptionData.additionalJson&&this.orderExceptionData.additionalJson.packagingWeightSum){
this.$set(this.handlerParams,'weightLimit', this.orderExceptionData.additionalJson.packagingWeightSum)
}
})
},
......@@ -1442,8 +1613,14 @@
that.loopOrderItem =[]
if(type=='line_loop_exception'){
that.orderData.orderItemVOList.map((v,i)=>{
if(v.orderItemId==that.orderExceptionData.orderItemId){
that.loopOrderItem.push(v)
if(that.orderExceptionData.orderExceptionType=='channel_packaging_overweight_exception'){
if(that.orderExceptionData.additionalJson&&that.orderExceptionData.additionalJson.orderItemIdList.indexOf(v.orderItemId)>-1){
that.loopOrderItem.push(v)
}
}else{
if(v.orderItemId==that.orderExceptionData.orderItemId){
that.loopOrderItem.push(v)
}
}
})
}else{
......@@ -1494,7 +1671,7 @@
justify-content: space-between;
}
.card{
margin-top: 20px;
margin: 20px 0;
}
.price_list{
display: flex;
......@@ -1550,4 +1727,16 @@
::v-deep .el-table td.el-table__cell div{
padding:0 2px !important;
}
.w100{
width:100px;
}
.overweight_order{
display:flex;
align-items: center;
margin-top:20px;
}
.overweight_order span{
font-size:14px;
}
</style>
......@@ -148,7 +148,7 @@ export default {
}
if (typeof this.value.prodAttrIds === 'string' && this.value.prodAttrIds.length > 0) {
this.prodAttrIds.push(...this.value.prodAttrIds.split(',').map(e => +e))
this.prodAttrIds = this.value.prodAttrIds.split(',').map(e => +e)
}
console.log(this.prodAttrIds)
......
......@@ -299,34 +299,36 @@ export default {
getCurrencyList().then(res => this.currencyList = res.data)
getUnitList().then(res => this.unitList = res.data)
this.$nextTick(async () => {
// 如果是空运,阶梯价格默认为1
if(this.type == 'air'){
this.$set(this.form, 'stepPrice', 1)
}
await this.$nextTick()
// 默认单位,空运千克,海运立方米
this.setDefaultVolumeUnit(this.type == 'air' ? 6 : 7)
await this.$nextTick()
// 如果是空运,阶梯价格默认为1
if(this.type == 'air'){
this.$set(this.form, 'stepPrice', 1)
}
// 如果是复制,则获取数据并填充,先复制,然后填充特需,避免数据的特需不全导致部分不显示
if(this.$route.query.templateId){
await this.getTemplateDetail(this.$route.query.templateId)
}
})
// 默认单位,空运千克,海运立方米
this.setDefaultVolumeUnit(this.type == 'air' ? 6 : 7)
// 如果是复制,则获取数据并填充,先复制,然后填充特需,避免数据的特需不全导致部分不显示
if(this.$route.query.templateId){
await this.getTemplateDetail(this.$route.query.templateId)
}
// 从价格中获取特需的默认单位
const obj = (this.form.stepPrice ? this.form.priceStepList[0] : this.form) || {}
this.getDictDatas(this.DICT_TYPE.ECW_SPECIAL_REQ_FOR_LINE_PRODUCTS).forEach(item => {
// 没有的才push,已有的可能是从复制模板携带过来的数据
if(!this.form.specialList.find(special => special.specialDictType == item.value)) {
console.log('特需push', item.value)
this.form.specialList.push({
"clearancePrice": null,
"clearancePriceUnit": null,
"clearanceVolumeUnit": null,
"clearancePriceUnit": obj.clearancePriceUnit,
"clearanceVolumeUnit": obj.clearanceVolumeUnit,
"specialDictType": item.value,
"transportPrice": null,
"transportPriceUnit": null,
"transportVolumeUnit": null,
"transportPriceUnit": obj.transportPriceUnit,
"transportVolumeUnit": obj.transportVolumeUnit,
})
}
}else console.log('已存在特需', item.value)
})
......@@ -334,69 +336,70 @@ export default {
methods: {
// 获取模板数据(复制的源路线价格信息)
async getTemplateDetail(id){
await getProductPrice(id).then(res => {
// 填充商品、线路、价格信息、出货渠道(空运)
// this.form.productIdList = [res.data.productId]
this.selectedRoutes = [{
"lineId": res.data.warehouseLineId,
"channelId": res.data.shippingChannelId,
"transportId": res.data.warehouseLineDO.transportType,
"shippingChannelId":res.data.channelId
}]
// 要复制过来的字段
const {
allPrice,
allPriceUnit,
allVolumeUnit,
transportPrice,
transportPriceUnit,
transportVolumeUnit,
clearancePrice,
clearancePriceUnit,
clearanceVolumeUnit,
priceType,
stepPrice,
specialList,
priceStepList,
minWeight,
minWeightUnit,
needOrderInquiry,
needBook,
needPay
} = res.data
const data = {
allPrice,
allPriceUnit,
allVolumeUnit,
transportPrice,
transportPriceUnit,
transportVolumeUnit,
clearancePrice,
clearancePriceUnit,
clearanceVolumeUnit,
priceType,
stepPrice,
specialList,
priceStepList,
minWeight,
minWeightUnit,
needOrderInquiry,
needBook,
needPay
}
// 海运需要填充货柜位置和订单方数上限
if(this.type == 'sea'){
data.containerLocation = res.data.containerLocation
data.square = res.data.square
}
this.$set(this, 'form', Object.assign({}, this.form, data))
const res = await getProductPrice(id)
// 填充商品、线路、价格信息、出货渠道(空运)
// this.form.productIdList = [res.data.productId]
/* 23-11-07要求不复制商品和线路 https://zentao.test.jdshangmen.com/bug-view-5145.html
this.selectedRoutes = [{
"lineId": res.data.warehouseLineId,
"channelId": res.data.shippingChannelId,
"transportId": res.data.warehouseLineDO.transportType,
"shippingChannelId":res.data.channelId
}]*/
// 要复制过来的字段
const {
allPrice,
allPriceUnit,
allVolumeUnit,
transportPrice,
transportPriceUnit,
transportVolumeUnit,
clearancePrice,
clearancePriceUnit,
clearanceVolumeUnit,
priceType,
stepPrice,
specialList,
priceStepList,
minWeight,
minWeightUnit,
needOrderInquiry,
needBook,
needPay
} = res.data
const data = {
allPrice,
allPriceUnit,
allVolumeUnit,
transportPrice,
transportPriceUnit,
transportVolumeUnit,
clearancePrice,
clearancePriceUnit,
clearanceVolumeUnit,
priceType,
stepPrice,
specialList,
priceStepList,
minWeight,
minWeightUnit,
needOrderInquiry,
needBook,
needPay
}
// 海运需要填充货柜位置和订单方数上限
if(this.type == 'sea'){
data.containerLocation = res.data.containerLocation
data.square = res.data.square
}
this.$set(this, 'form', Object.assign({}, this.form, data))
// 产品选择器默认选择的商品
getProduct(res.data.productId).then(res => {
this.$refs.productSelector.choose(res.data)
})
})
// 产品选择器默认选择的商品
/* 23-11-07要求不复制商品和线路 https://zentao.test.jdshangmen.com/bug-view-5145.html
getProduct(res.data.productId).then(res => {
this.$refs.productSelector.choose(res.data)
})*/
},
// 同步全部单位
syncAllUnit(){
......
......@@ -101,7 +101,7 @@
<div style="font-size:14px; margin:10px 0">
{{$t('第{index}阶梯定价方案', {index: index+1})}}
<template v-if="index == form.priceStepList.length - 1 && !readonly">
<el-link type="primary" @click.native="form.priceStepList.push({})">{{$t('添加区间')}}</el-link>
<el-link type="primary" @click.native="addStepPrice">{{$t('添加区间')}}</el-link>
<el-divider direction="vertical"></el-divider>
<el-link type="danger" @click.native="form.priceStepList.splice(index, 1)">{{$t('删除')}}</el-link>
</template>
......@@ -221,7 +221,7 @@
<el-input v-model="quickForm.minus" class="w-100 ml-10 mr-10" :disabled="!!quickForm.plus"></el-input>
<selector disabled v-model="currencyAndUnit.currency" :options="currencyList" :label-field="$l('title')" value-field="id" class="w-100" />
/ <selector disabled v-model="currencyAndUnit.unit" :options="unitList" :label-field="$l('title')" value-field="id" class="w-100" />
<div class="ml-10">{{$t('*针对所有价格')}}</div>
<div class="ml-10">{{$t('*针对所有价格')}}</div>
</div>
<div class="mt-10">
<el-button @click="quickSet" type="primary" :disabled="!quickForm.plus && !quickForm.minus">{{$t('确定')}}</el-button>
......@@ -956,6 +956,25 @@ export default {
// 加上对应的价格,但是不能小于0
this.$set(item, field, Math.max(0, Decimal(item[field] || 0).plus(amount).toNumber()))
})
},
// 添加区间价
addStepPrice(){
let fields = {}
const obj = this.form.priceStepList[0] || {}
if(this.form.priceType == 1){
fields = {
allPriceUnit: obj['allPriceUnit'],
allVolumeUnit: obj['allVolumeUnit']
}
}else{
fields = {
transportPriceUnit: obj.transportPriceUnit,
transportVolumeUnit: obj.transportVolumeUnit,
clearancePriceUnit: obj.clearancePriceUnit,
clearanceVolumeUnit: obj.transportVolumeUnit,
}
}
this.form.priceStepList.push(fields)
}
}
}
......
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