Commit ae0340a5 authored by dragondean@qq.com's avatar dragondean@qq.com

Merge branch 'dev'

parents 29b11861 8c2f75c2
......@@ -48,19 +48,11 @@ export default {
},
'formData.country'(country){
this.$emit('countryChange', country)
/* this.treeList.forEach(item => {
if(item.id == country){
this.provinceList = item.children || []
}
}) */
this.$set(this.formData, 'province', undefined)
},
'formData.province'(province){
this.$emit('provinceChange', province)
/* this.provinceList.forEach(item => {
if(item.id == province){
this.cityList = item.children || []
}
}) */
this.$set(this.formData, 'city', '')
}
},
computed:{
......
......@@ -11,6 +11,11 @@
</el-select>
<el-input v-model="queryParams.titleZh" :placeholder="$t('产品关键字')" style="width:120px" clearable />
<el-button type="primary" @click="reLoad">{{$t('搜索')}}</el-button>
<div v-if="showAll">
<el-checkbox :label="$t('全选(最多500)')" @change="toggleAll"></el-checkbox>
<el-checkbox :label="$t('全选库内商品(共{cnt}个)', {cnt: total})" v-model="isAllProduct"></el-checkbox>
</div>
</div>
<div class="list">
<div class="item" v-for="item in list" :key="item.id">
......@@ -23,7 +28,7 @@
<div class="flex-1 ml-10">
<el-card style="height:100%">
<div slot="header" class="header">
{{$t('已选产品')}}
{{$t('已选{cnt}个产品', {cnt: isAllProduct ? total : choosedList.length})}}
</div>
<div class="list">
<div class="item" v-for="(choosed) in choosedList" :key="choosed.id" :data-data="JSON.stringify(choosed)">
......@@ -47,13 +52,15 @@ export default {
default: () => {
return []
}
}
},
showAll: Boolean
},
data() {
return {
list: [],
page: 1,
pages: 1,
total: 0, // 商品总数
queryParams: {
pageNo: 1,
pageSize: 500,
......@@ -63,7 +70,8 @@ export default {
},
choosedList: [],
typeList: [],
attrList: []
attrList: [],
isAllProduct: false
}
},
computed: {
......@@ -83,6 +91,9 @@ export default {
watch: {
ids(val) {
this.$emit('input', val)
},
isAllProduct(isAllProduct){
this.$emit('setall', isAllProduct)
}
},
created() {
......@@ -92,6 +103,14 @@ export default {
this.ids = this.defaultIds //数据回显
},
methods: {
/* setAllProduct(status){
this.isAllProduct = true
}, */
toggleAll(status){
this.list.forEach(item => {
this.toggleCheck(item, status)
})
},
reLoad() {
this.queryParams.page = 1
this.list = []
......@@ -109,6 +128,7 @@ export default {
this.list = res.data.list //.concat(res.data.list || [])
this.page = res.data.page
this.pages = res.data.pages
this.total = res.data.total
this.choosedList = [] //搜搜重置,数据回显
if (this.defaultIds.length > 0) {
this.defaultIds.map(item => {
......@@ -129,7 +149,9 @@ export default {
}
},
choose(item) {
this.choosedList.push(item)
if(!this.choosedList.find(it => it.id == item.id)){
this.choosedList.push(item)
}
},
remove(item) {
this.choosedList.forEach((choosed, index) => {
......
......@@ -163,7 +163,6 @@ export default {
myFollowCustomerList: [],
customerSelect: [],
// 处理
handle: {
......@@ -175,9 +174,6 @@ export default {
};
},
created() {
getCustomerSelect().then(r => {
this.customerSelect = r.data
})
},
methods: {
getBillList(key){
......
......@@ -385,6 +385,8 @@ export default {
shipmentObj: this.$attrs.shipmentObj,
// 抄送人数组
selectedUsers: [],
// 智慧预装
smartInstall: 1,
};
},
computed: {
......@@ -415,6 +417,7 @@ export default {
// 查询待预装
this.handleQuery("toBePre");
this.handleQuery("pre");
this.smartInstall = 0;
},
methods: {
formatDate,
......@@ -436,10 +439,10 @@ export default {
// 已预装单号
params.orderNo = params.preOrderNo;
params.shipmentId = this.shipmentObj.id;
params.smartInstall = this.smartInstall;
secGoodsList(params).then((res) => {
this.preList = res.data;
this.preLoading = false;
this.getPreLoad();
});
},
/* 查询待预装 */
......@@ -638,6 +641,7 @@ export default {
queryAllData() {
this.pageParam.pageNo = 1;
this.getSecGoods();
this.getPreLoad();
},
/* 获取参数 */
getParams() {
......
......@@ -97,7 +97,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -90,7 +90,9 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">{{row.defaultContactPhone}}</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -100,7 +100,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -214,9 +214,11 @@
label=""
label-width="0"
style="margin-bottom: 0"
required
:error="$t('账单号不能为空')"
prop="accountNumber"
:rules="[
{ required: true, message: '账单号不能为空', trigger: 'blur' },
]"
>
<el-input
v-model="form.accountNumber"
......@@ -463,6 +465,7 @@ export default {
this.handleSelectionChange([res.data])
this.list = this.multipleSelection
this.$set(this.form, 'supplierId', res.data.supplierId)
this.selectChange(this.form.supplierId)
})
}
if (that.$route.query.id && that.$route.query.id !== '0') {
......@@ -474,6 +477,7 @@ export default {
applicationAt: this.parseTime(res.data.applicationAt, '{y}-{m}-{d}'),
invoiceStatus: String(res.data.invoiceStatus),
}
this.$set(this.form,'supplierBankAccount',res.data.supplierBankAccount)
console.log(this.form)
})
......
......@@ -181,13 +181,13 @@
<el-form-item :label="$t('操作步骤')">
<el-select v-model="costObj.stepsId" :placeholder="$t('请选择操作步骤')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-option v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PROCESS)" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('费用类型')">
<el-select v-model="costObj.feeType" :placeholder="$t('请选择费用类型')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.FEE_TYPE)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-option v-for="item in this.getDictDatas(DICT_TYPE.FEE_TYPE)" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
......@@ -203,7 +203,7 @@
</el-form-item>
<el-form-item label="" label-width="0px">
<el-select v-model="costObj.currencyId" :placeholder="$t('请选择单位')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PRICE_UNIT)" :key="type.value" :label="type.label" :value="type.value"></el-option>
<el-option v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_PRICE_UNIT)" :key="item.value" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
</el-row>
......
......@@ -21,13 +21,13 @@
<el-table-column :label="$t('唛头')" align="center" prop="marks" />
<el-table-column :label="$t('品名')" align="center" prop="title">
<template slot-scope="scope">
{{ scope.row.titleZh + "(" + scope.row.titleEn + ")" }}
<span v-if="scope.row.feeType!=5">{{ scope.row.titleZh + "(" + scope.row.titleEn + ")" }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('箱数')" align="center" prop="num" />
<el-table-column :label="$t('体积/重量')" align="center" prop="weight">
<template slot-scope="scope">
{{ scope.row.volume + "/" + scope.row.weight }}
<span v-if="scope.row.feeType!=5"> {{ scope.row.volume + "/" + scope.row.weight }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('收入类型')" align="center" prop="feeType">
......@@ -512,11 +512,15 @@ export default {
return total.toFixed(6)
},
WriteOffProportion(){
let total = 0
this.detailed.forEach(item => {
total = NP.plus(total, item.writeOffAmount)
})
let portion = NP.divide(total,this.form.receiptAccountList.find(item=>item.type=='total').writeOffAmount)
let total = 0
let amountTotal = 0
this.detailed.forEach(item => {
if(item.status){
amountTotal = NP.plus(amountTotal, item.writeOffAmount)
}
total = NP.plus(total, item.writeOffAmount)
})
let portion = NP.divide(amountTotal,total)
return (portion*100).toFixed(2)
}
},
......
<template>
<div class="app-container">
<div slot="header" class="card-title">{{ $t('待收款') }}</div>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8" style="margin-right: 60px">
<div class="card-title">{{ $t('待收款') }}</div>
<el-button
style="float: right; margin-left: 10px"
type="primary"
......@@ -333,5 +334,6 @@ export default {
.card-title {
font-size: 18px;
font-weight: bold;
display: inline-block;
}
</style>
......@@ -60,7 +60,7 @@
</el-date-picker>
</el-form-item>
</el-col>
<el-form-item :label="$t('自编号')">
<!-- <el-form-item :label="$t('自编号')">
<el-input
style="max-width: 188px"
v-model="queryParams.orderNo"
......@@ -68,8 +68,8 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('订单号')">
</el-form-item> -->
<!-- <el-form-item :label="$t('订单号')">
<el-input
style="max-width: 188px"
v-model="queryParams.orderNo"
......@@ -77,10 +77,13 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> -->
<el-form-item>
<el-button type="primary" @click="handleQuery">{{ $t('查找') }}</el-button>
</el-form-item>
</el-row>
<el-row :span="24">
<el-form-item :label="$t('商品名称')">
<!-- <el-row :span="24"> -->
<!-- <el-form-item :label="$t('商品名称')">
<el-input
style="max-width: 188px"
v-model="queryParams.orderNo"
......@@ -88,8 +91,8 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item :label="$t('费用类型')">
</el-form-item> -->
<!-- <el-form-item :label="$t('费用类型')">
<dict-selector
:type="DICT_TYPE.FEE_TYPE"
v-model="queryParams.feeType"
......@@ -100,11 +103,9 @@
:type="DICT_TYPE.PAYMENT_TYPE"
v-model="queryParams.paymentType"
></dict-selector>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery">{{ $t('查找') }}</el-button>
</el-form-item>
</el-row>
</el-form-item> -->
<!-- </el-row> -->
</el-form>
</el-card>
<el-table v-loading="loadings" :data="list" border class="card">
......@@ -359,8 +360,9 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
console.log(11)
this.queryParams.pageNo = 1;
// this.getList();
this.getList();
},
/** 新增按钮操作 */
handleAdd(id) {
......
......@@ -88,7 +88,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}">
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -422,7 +422,7 @@ export default {
handleStatusChange(row) {
let text = row.status === CommonStatusEnum.ENABLE ? this.$t("启用") : this.$t("停用");
this.$modal.confirm(this.$t('确认要{action}编号为{id}的数据吗?', {action: text, id})).then(function() {
this.$modal.confirm(this.$t('确认要{action}编号为{id}的数据吗?', {action: text, id: row.id})).then(function() {
return updateNode(row);
}).then(() => {
......
......@@ -94,7 +94,11 @@
</template>
</el-table-column>
<el-table-column :label="$t('主联系人')" prop="defaultContactName"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone"></el-table-column>
<el-table-column :label="$t('主联系方式')" prop="defaultContactPhone">
<template v-slot="{row}" >
+{{row.defaultContactPhone}}
</template>
</el-table-column>
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
......
......@@ -34,7 +34,8 @@
{{consignorData.company||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('社交软件')+':'">
{{consignorData.social||$t('')+' '+consignorData.socialNumber||''}}
<dict-tag :type="DICT_TYPE.SOCIAL" :value="consignorData.social" />
{{consignorData.socialNumber?('('+consignorData.socialNumber+')'):''}}
</el-descriptions-item>
</el-descriptions>
......@@ -55,7 +56,8 @@
{{consigneeData.company||$t('')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('社交软件')+':'">
{{consigneeData.social||$t('')+' '+consigneeData.socialNumber||''}}
<dict-tag :type="DICT_TYPE.SOCIAL" :value="consigneeData.social" />
{{consigneeData.socialNumber?('('+consigneeData.socialNumber+')'):''}}
</el-descriptions-item>
</el-descriptions>
<el-descriptions :column="4" class="card">
......@@ -105,8 +107,9 @@
<dict-tag :value="scope.row.unit" :type="DICT_TYPE.ECW_PACKAGING_TYPE" defaultable />
</template>
</el-table-column>
<el-table-column :label="$t('箱规') + '(m)'" width="120px" prop="boxGauge" />
<!-- <el-table-column :label="$t('箱规') + '(m)'" width="120px" prop="boxGauge" /> -->
<el-table-column :label="$t('体积') + '(m³)'" width="100px" prop="volume" />
<el-table-column :label="$t('数量')" width="100px" prop="quantity" />
<el-table-column :label="$t('重量') + '(kg)'" width="100px" prop="weight" />
<el-table-column :label="$t('货值') + '(RMB)'" width="100px" prop="worth" />
<el-table-column :label="$t('商品特性')" width="200px" prop="prodAttrName" />
......@@ -116,7 +119,7 @@
</template>
</el-table-column>
<el-table-column :label="$t('运费')" width="200px">
<el-table-column :label="$t('成交价')" width="200px">
<template slot-scope="{row}">
<template v-if="row.charging ==1">
<template v-if="!row.seaFreight">未报价</template>
......@@ -172,25 +175,37 @@
{{list.estCostVO?list.estCostVO.insuranceFee: 0}} {{$t('美元')}}
</el-descriptions-item>
<el-descriptions-item :label="$t('总运费')">
<template v-for="item in clearanceFeeList">
<template v-if="freightFeeList.length>0" v-for="item in freightFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
</el-descriptions-item>
<template v-if="freightFeeList.length==0">
0
</template>
<!--代收货款,只有非控货订单、并且线路开通了代收货款后,才显示是否代收货款选项-->
<el-descriptions-item :label="$t('总清关费')">
<template v-for="item in freightFeeList">
<template v-if="clearanceFeeList.length>0" v-for="item in clearanceFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
<template v-if="clearanceFeeList.length==0">
0
</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('其他费用')">
<template v-for="item in otherFeeList">
<template v-if="otherFeeList.length>0" v-for="item in otherFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
<template v-if="otherFeeList.length==0">
0
</template>
</el-descriptions-item>
<el-descriptions-item :label="$t('原价')" :span="2">
<template v-for="item in originalFeeList">
<template v-if="originalFeeList.length>0" v-for="item in originalFeeList">
<div :key="item.currencyId">{{item.amount || 0}}{{currentcyMap[item.currencyId]}}</div>
</template>
<template v-if="originalFeeList.length==0">
0
</template>
</el-descriptions-item>
</el-descriptions>
......@@ -223,7 +238,7 @@
</el-table>
<el-descriptions :column="1" class="mt-20">
<el-descriptions-item :label="$t('优惠费用')" v-if="couponTotalAmountList && couponTotalAmountList.length">
<el-descriptions-item :label="$t('优惠费用')" v-if="couponTotalAmountList && couponTotalAmountList.length>0">
<div v-for="(item, discountIndex) in couponTotalAmountList" :key="discountIndex">
{{item.totalAmount}} {{currentcyMap[item.currencyId]}}
</div>
......@@ -357,6 +372,9 @@
import {openedRouterList as getOpenedRouterList} from '@/api/ecw/warehouse'
import {calculationPrice} from '@/api/ecw/product'
import {getSupplier, getSupplierPage} from '@/api/ecw/supplier'
import Decimal from 'decimal.js'
window.Decimal= Decimal
export default {
name: "detail",
data() {
......@@ -371,6 +389,7 @@
//发货/收货人信息
consigneeData:{},
routerList:[],
fee:{},
channelName:'/',
tradeCityList:[],
productNames: {},
......@@ -399,25 +418,27 @@
return map
},
// 总有优惠金额
couponList(){
let arr = []
this.couponAvailableGroupDtoList.forEach(item => {
if(item.couponAvailableDtoList && item.couponAvailableDtoList.length){
// 只取第一个
let it = item.couponAvailableDtoList[0]
arr.push({
prodId: item.prodId,
type: it.type,
titleZh: it.titleZh,
titleEn: it.titleEn,
endTime: it.endTime,
reduceAmount: it.reduceAmount,
reduceCurrencyId: it.reduceCurrencyId
})
}
})
return arr
},
// 总有优惠金额
// 总有优惠金额
couponList(){
let arr = []
this.couponAvailableGroupDtoList.forEach(item => {
if(item.couponAvailableDtoList && item.couponAvailableDtoList.length){
// 只取第一个
let it = item.couponAvailableDtoList[0]
arr.push({
prodId: item.prodId,
type: it.type,
titleZh: it.titleZh,
titleEn: it.titleEn,
endTime: it.endTime,
reduceAmount: it.reduceAmount,
reduceCurrencyId: it.reduceCurrencyId
})
}
})
return arr
},
// 计算返回的费用清单
feeDtoList(){
if(this.list&&this.list.estCostVO){
......@@ -436,7 +457,7 @@
},
// 其他费用
otherFeeList(){
return this.feeDtoList.filter(item => item.feeType == 1)
return this.feeDtoList.filter(item => item.feeType == 3)
},
// 原价(清关费 + 运费)
originalFeeList(){
......@@ -453,17 +474,62 @@
},
// 预计费用(原价 - 优惠金额)
estimatedCosts(){
// let arr = []
// this.originalFeeList.forEach(item => {
// let it = {...item}
// let coupon = this.couponList.find(coupon => coupon.reduceCurrencyId == item.currencyId)
// if(coupon){
// it.amount -= coupon.reduceAmount
// }
// arr.push(it)
// })
let arr = []
let withInsuranceFee = false
let withOtherFee = false
this.originalFeeList.forEach(item => {
let it = {...item}
let it = {
currencyId: item.currencyId,
amount: Decimal(item.amount)
}
let coupon = this.couponList.find(coupon => coupon.reduceCurrencyId == item.currencyId)
if(coupon){
it.amount -= coupon.reduceAmount
it.amount = it.amount.minus(coupon.reduceAmount)
}
if(this.list.otherFee && this.list.otherFeeCurrencyId == item.currencyId){
it.amount = it.amount.plus(this.list.otherFee)
withOtherFee = true
}
// 保价费(美元)
if(item.currencyId == 1 && this.fee && this.fee.insuranceFee){
it.amount = it.amount.plus(this.fee.insuranceFee)
withInsuranceFee = true
}
arr.push(it)
})
return arr
},
// 如果没有累加其他费用,则另外增加货币
if(!withOtherFee && this.list.otherFee){
let fee = {
currencyId: this.list.otherFeeCurrencyId,
amount: Decimal(this.list.otherFee)
}
// 如果保价费跟其他费用是同一种货币(都是美元)
if(!withInsuranceFee && this.fee && this.fee.insuranceFee && this.list.otherFeeCurrencyId == 1){
fee.amount = fee.amount.plus(this.fee.insuranceFee)
}
arr.push(fee)
}
// 没有累加保价费(没有美元计价)但是有保价费则需要加上去
if(!withInsuranceFee && this.fee && this.fee.insuranceFee){
arr.push({
currencyId: 1,
amount: Decimal(this.fee.insuranceFee)
})
}
return arr
}
},
created() {
getCurrencyList().then(res => this.currencyList = res.data)
......@@ -510,21 +576,43 @@
}
return labelname
},
getProductListWithDefaultValue(){
let arr = []
this.list.offerProdRespVOList.forEach(item => {
let tmp = {
"brand":item.brand,
"unit":item.unit,
"prodId":item.prodId,
"num":item.num,
"quantity":item.quantity,
"volume":item.volume,
"weight":item.weight,
"worth":item.worth,
"brandType":item.brandType||0,
"prodAttrIds":item.prodAttrIds
}
arr.push(tmp)
})
return arr
},
// 计算商品运费
calculationPrice(){
calculationPrice({
lineId: this.list.lineId,
transportId: this.list.transportId,
channelId: this.list.channelId,
prodConditionParamList: this.list.offerProdRespVOList,
prodConditionParamList: this.getProductListWithDefaultValue(),
consigneeCustomerContactsId: this.list.consigneeCustomerContactsId,
consignorCustomerContactsId: this.list.consignorCustomerContactsId,
customsType: this.list.customsType,
isCargoControl: this.list.control,
orderType: this.list.orderType,
}).then(res => {
this.$set(this, 'couponTotalAmountList', res.data.availableDto.couponTotalAmountList)
this.$set(this, 'couponAvailableGroupDtoList', res.data.availableDto.couponAvailableGroupDtoList)
this.$set(this, 'fee', res.data.costDto)
if(res.data.availableDto){
this.$set(this, 'couponTotalAmountList', res.data.availableDto.couponTotalAmountList)
this.$set(this, 'couponAvailableGroupDtoList', res.data.availableDto.couponAvailableGroupDtoList)
}
}).finally(() => {
this.calculating = false
})
......@@ -657,7 +745,7 @@
}).catch(() => {});
},
}
};
}
</script>
<style scoped>
......
......@@ -176,7 +176,7 @@
</el-table-column>
<el-table-column :label="$t('数量') + '(个)'" width="120px">
<template slot-scope="{row}">
<el-input v-model="row.quantity" type="number" :disabled="!canAddProduct || !productEditable" />
<el-input v-model="row.quantity" type="number" @keyup.native="checkQuantity(row)" :disabled="!canAddProduct || !productEditable" />
</template>
</el-table-column>
<el-table-column :label="$t('总体积') + '(m³)'" width="100px">
......@@ -588,6 +588,7 @@ export default {
contactChooseType: null, // 联系人选择对象consignor(发货人) 或者 consignee(收货人)
quickCreateType: null, // 快速新建客户类型,1发货人,2收货人
showWorkFlow: false, // 是否显示工作流表单
calculating: false, // 是否正在计算费用,防止频繁重新请求
};
},
computed:{
......@@ -740,9 +741,15 @@ export default {
this.$set(this.form, 'lineId', undefined)
this.getOpenedRouterList()
},
'form.channelId'(){
this.calculationPrice()
},
'form.lineId'(lineId){
let router = this.routerList.find(item => item.id == lineId)
if(!router) return
if(!router){
console.log('未选择路线', router, lineId, JSON.stringify(this.routerList))
return
}
this.$set(this.form, 'departureId', router.startCityId)
this.$set(this.form, 'objectiveId', router.destCityId)
......@@ -911,10 +918,12 @@ export default {
},
setLink(row){
this.$prompt(this.$t('请输入商品链接'), {inputValue: row.link}).then(({value}) => {
console.log('value', value)
this.$set(row, 'link', value)
})
},
checkQuantity(row){
row.quantity = row.quantity.replace(/[^\d]/g, '')
},
/* onFileChoosed(e){
window.choosed = e
console.log('onFileChoosed', e)
......@@ -1070,12 +1079,14 @@ export default {
calcable = false
}
})
console.log('calculationPrice', calcable)
if(this.calculating || !calcable) return false
this.calculating = true
console.log('calculating ---> ')
calculationPrice({
lineId: this.form.lineId,
transportId: this.form.transportId,
channelId: this.form.channelId,
channelId: [3,4].indexOf(this.form.transportId) > -1 ? this.form.channelId : undefined,
prodConditionParamList: this.getProductListWithDefaultValue()
}).then(res => {
this.$set(this, 'fee', res.data.costDto)
......
......@@ -175,6 +175,9 @@ export default {
modify(row){
if(this.list.some(i => i.status === 0 || i.status === 1))return this.$message.warning(this.$t('当前有未提交的数据或审核中的数据不能修改'))
this.isModifyIf = true;
this.isModify.forEach((item,index)=>{
this.$set(this.isModify, index, true )
})
this.$set(this.isModify, this.list.findIndex(e => e.id === row.id), false )
},
examineFn(){
......
......@@ -33,8 +33,7 @@
+{{order.consigneeVO.countryCode}} {{order.consigneeVO.phone}}
</el-form-item>
<el-form-item :label="$t('收货地址')">
<!--缺少国城名字-->
{{order.consigneeVO.address}}
<el-input v-model="form.deliverAddress" placeholder=""></el-input>
</el-form-item>
<el-form-item :label="$t('快递单号')">
<el-input v-model="form.trackingNumber" placeholder=""></el-input>
......@@ -73,6 +72,13 @@ export default {
form: {}
}
},
watch:{
'form.pickType'(type){
if(type == 1 && this.order.consigneeVO.address){
this.$set(this.form, 'deliverAddress', this.order.consigneeVO.address)
}
}
},
created(){
this.loadOrderData()
},
......
......@@ -58,7 +58,7 @@
<span>{{scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('品名')" align="center" >
<el-table-column :label="$t('品名')">
<template slot-scope="scope">
<p>{{scope.row.prodTitleEn||''}}</p>
<p>{{scope.row.prodTitleZh||''}}</p>
......@@ -72,23 +72,22 @@
<p>{{$t('重量')}}{{scope.row.weight||0}}KG</p>
</template>
</el-table-column>
<el-table-column :label="$t('入库货物属性')" align="center" >
<el-table-column :label="$t('入库货物属性')">
<template slot-scope="scope">
<span>{{$t('箱规')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</span>
<p>
<span>{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" /></span>
<span>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}&nbsp;&nbsp;</span>
<span>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM&nbsp;&nbsp;</span>
<span>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG</span>
<p>{{$t('箱规')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.boxGauge:0}}</p>
<p>{{$t('品牌')}}<dict-tag :type="DICT_TYPE.ECW_IS_BRAND" :value="scope.row.brandType" /></p>
<p>{{$t('箱数')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.cartonsNum:0}}&nbsp;&nbsp;</p>
<p>{{$t('体积')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.volume:0}}CBM&nbsp;&nbsp;</p>
<p>{{$t('重量')}}{{scope.row.warehouseInInfoVO?scope.row.warehouseInInfoVO.weight:0}}KG
</p>
</template>
</el-table-column>
<el-table-column :label="$t('重货方数')" align="center" v-if="type=='order_heavy_cargo_exception'">
<el-table-column :label="$t('重货方数')" v-if="type=='order_heavy_cargo_exception'">
<template slot-scope="scope">
<span>{{scope.row.wvolume||0}}CBM</span>
</template>
</el-table-column>
<el-table-column :label="$t('泡货方数')" align="center" v-else >
<el-table-column :label="$t('泡货方数')" v-else >
<template slot-scope="scope">
<span>{{scope.row.vweight||0}}CBM</span>
</template>
......@@ -204,6 +203,9 @@ export default {
}
</script>
<style scoped>
.dialog-footer{
margin-top: 10px;
}
.filelist{
display: flex;
flex-wrap: wrap;
......@@ -222,4 +224,8 @@ export default {
.card{
margin-top: 20px;
}
p{
text-align: left;
margin: 0 !important;
}
</style>
......@@ -3,7 +3,7 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item :label="$t('适用商品')" prop="idList">
<products-selector :defaultIds="form.idList" v-model="form.idList" />
<products-selector :defaultIds="form.idList" v-model="form.idList" show-all @setall="toggleAll" />
</el-form-item>
<el-form-item :label="$t('货柜位置')" prop="containerLocation">
......@@ -33,7 +33,7 @@
</el-checkbox-group>
</el-form-item>
<el-form-item :label="$t('商品材质')" prop="materialType">
<dict-selector form-type="checkbox" :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form.materialType" multiple />
<dict-selector form-type="checkbox" :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form.materialTypeArr" multiple />
</el-form-item>
<el-form-item>
......@@ -68,7 +68,7 @@ export default {
"containerLocation": undefined,
"dayLimit": undefined,
"idList": [],
"isAllProduct": undefined,
"isAllProduct": 0,
"needBook": false,
"packaging": undefined,
"requirements": undefined,
......@@ -84,12 +84,15 @@ export default {
},
watch: {
'form.idList'(val) {
/* 'form.idList'(val) {
if (val.length > 0) {
this.form.isAllProduct = 0
} else {
this.form.isAllProduct = 1
}
}, */
'form.materialTypeArr'(typeArr){
this.$set(this.form, 'form.materialTyp', typeArr.join(','))
},
attrIds(val){
this.form.attrId = val.join(',')
......@@ -103,6 +106,9 @@ export default {
})
},
methods: {
toggleAll(e){
this.$set(this.form, 'isAllProduct', e ? 1 : 0)
},
/** 表单重置 */
reset() {
this.form = {
......@@ -110,7 +116,7 @@ export default {
"containerLocation": undefined,
"dayLimit": undefined,
"idList": [],
"isAllProduct": undefined,
"isAllProduct": 0,
"needBook": undefined,
"packaging": undefined,
"requirements": undefined,
......@@ -127,9 +133,12 @@ export default {
return;
}
let data = Object.assign({}, this.form)
if(!data.isAllProduct && !data.idList.length){
return this.$message(this.$t('请选择商品或勾选全部'))
}
batchUpdateProduct(data).then((response) => {
this.$modal.msgSuccess(this.$t("修改成功"));
this.$router.back();
this.$store.dispatch('tagsView/delCurrentView')
});
});
},
......
......@@ -315,7 +315,11 @@ export default {
if(this.$route.query.id){
getSupplier(this.$route.query.id).then(response => {
/* response.data.companyType = response.data.companyType.split(",") || [] */
this.formData = response.data;
this.formData = response.data
this.$set(this.formData, 'companyTypeArr', response.data.companyType?.split(",") || [])
this.formData.bankList.forEach(item => {
item.currency = +item.currency
})
});
}
})
......
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