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

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

parents b6e3f1df b3efc42b
...@@ -719,3 +719,12 @@ export function cancelSplitRevoke(data){ ...@@ -719,3 +719,12 @@ export function cancelSplitRevoke(data){
}) })
} }
/*修改拆单项*/
export function splitItemUpdate(data){
return request({
url: '/order/split-item/update',
method: 'post',
data
})
}
...@@ -9,6 +9,15 @@ export function createProduct(data) { ...@@ -9,6 +9,15 @@ export function createProduct(data) {
}) })
} }
// 创建产品
export function addProduct(data) {
return request({
url: '/ecw/product/add',
method: 'post',
data: data
})
}
// 更新产品 // 更新产品
export function updateProduct(data) { export function updateProduct(data) {
return request({ return request({
......
...@@ -14,8 +14,12 @@ ...@@ -14,8 +14,12 @@
<el-option <el-option
v-for="(item, index) in list" v-for="(item, index) in list"
:key="item.id" :key="item.id"
:label="item['title' + lang] + (item.auditStatus === 2 ? '' : `(${$t('审核中')})`)" :label="item['title' + lang] + (item.auditStatus === 2 ? '' : `(${lang === 'Zh' ? '待确定' : 'To be determined'})`)"
:value="index"> :value="index">
<span style="float: left">{{ item['title' + lang] }}</span>
<span style="float: right; color: #c76e6e; font-size: 13px">
{{ item.auditStatus === 2 ? '' : (lang === 'Zh' ? '待确定' : 'To be determined') }}
</span>
</el-option> </el-option>
</el-select> </el-select>
</template> </template>
...@@ -30,6 +34,11 @@ export default { ...@@ -30,6 +34,11 @@ export default {
lang: { lang: {
type: String, type: String,
default: 'Zh' default: 'Zh'
},
// 是否显示待确认商品,不传默认不显示
determined: {
type: Boolean,
default: false
} }
}, },
data(){ data(){
...@@ -59,7 +68,7 @@ export default { ...@@ -59,7 +68,7 @@ export default {
init(){ init(){
if(!this.value){ if(!this.value){
this.index = null this.index = null
return return
} }
let index = this.list.findIndex(item => item.id == this.value) let index = this.list.findIndex(item => item.id == this.value)
if(index < 0){ if(index < 0){
...@@ -80,7 +89,8 @@ export default { ...@@ -80,7 +89,8 @@ export default {
}, },
remoteMethod(keyword){ remoteMethod(keyword){
let params = { let params = {
pageSize: keyword ? 100000 : 10 pageSize: keyword ? 100000 : 10,
filter: !this.determined
} }
if(this.productType){ if(this.productType){
params.typeId = this.productType params.typeId = this.productType
...@@ -93,4 +103,4 @@ export default { ...@@ -93,4 +103,4 @@ export default {
} }
} }
} }
</script> </script>
\ No newline at end of file
...@@ -3845,5 +3845,36 @@ ...@@ -3845,5 +3845,36 @@
"CTN NO": "", "CTN NO": "",
"请输入CTN NO": "请输入CTN NO", "请输入CTN NO": "请输入CTN NO",
"境内外类型": "Internal and external types", "境内外类型": "Internal and external types",
"为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)":"To ensure the accuracy of warehousing information, please bring a packing list with goods when entrying the warehouse. (Packing list should contain: Product name, Number of cartons, Gross weight, Measurements, Branded or not)" "为保证入仓数据准确性,入仓请带上一份装箱单(品名,件数,毛重,尺寸方数,是否有牌)": "To ensure the accuracy of warehousing information, please bring a packing list with goods when entrying the warehouse. (Packing list should contain: Product name, Number of cartons, Gross weight, Measurements, Branded or not)",
} "姓名(英文)": "Name (English)",
"公司(英文)": "Company (English)",
"入仓体积": "",
"收费体积": "",
"入仓重量": "",
"收费重量": "",
"数据无效": "",
"客户英文名称": "the customer's English name",
"请输入客户英文名称": "Please enter the customer's English name",
"付款人姓名": "The sender's name",
"请输入付款人姓名": "Please enter the name of the payer",
"公司英文名称": "Company English Name",
"联系人英文名称": "Contact's English name",
"请输入联系人英文名称": "Please enter the contact's name in English",
"入仓修改时间": "",
"退仓图片": "",
"发货人中文名称": "The sender's Chinese name",
"发货人英文名称": "The sender's English name",
"发货人公司中文名称": "Sender Company's Chinese name",
"发货人公司英文名称": "Sender Company's English name",
"收货人中文名称": "Consignee's Chinese name",
"收货人英文名称": "Consignee's English name",
"收货人公司中文名称": "Consignee company Chinese name",
"收货人公司英文名称": "Consignee company English name",
"显示更多": "Show more",
"订单包含不接受货物,请检查": "The order contains goods that are not accepted. Please check.",
"撤销拆单": "Cancel split order",
"新增品名中文": "New product name in Chinese",
"新增品名英文": "New product name in English",
"{prods}等商品拆单总数据跟主单不匹配": "The total data for the split order of {prods} products does not match the main order.",
"入仓特性": ""
}
\ No newline at end of file
...@@ -9,7 +9,22 @@ ...@@ -9,7 +9,22 @@
<el-row style="margin-top:15px"> <el-row style="margin-top:15px">
<el-table :data="billData.list" border max-height="500px"> <el-table :data="billData.list" border max-height="500px">
<el-table-column :label="$t('序号')" align="center" width="50" prop="tidanNo" /> <el-table-column :label="$t('序号')" align="center" width="50" prop="tidanNo" />
<el-table-column :label="$t('订单号')" align="center" prop="orderNo" /> <el-table-column :label="$t('订单号')" align="center" prop="orderNo">
<template slot-scope="scope">
<div>
{{scope.row.orderNo}}
</div>
<div style="color:blue;fontWeight:bold;">
{{ scope.row.drawee? scope.row.drawee:''}}
</div>
<div style="color:red;fontWeight:bold;">
{{ scope.row.applicationInfo? scope.row.applicationInfo : ''}}
</div>
<div style="color:red;fontWeight:bold;">
{{ scope.row.customsTypeName? scope.row.customsTypeName : ''}}
</div>
</template>
</el-table-column>
<el-table-column :label="$t('货物信息')" align="center" prop=""> <el-table-column :label="$t('货物信息')" align="center" prop="">
<template slot-scope="scope"> <template slot-scope="scope">
<section class="table-goodList"> <section class="table-goodList">
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="10" v-if="order.consignorVO"> <el-col :span="10" v-if="order.consignorVO">
<el-descriptions class="margin-top" border :title="$t('发货人')" :column="2" :labelStyle="{width:'150px'}"> <el-descriptions class="margin-top" border :title="$t('发货人')" :column="2" :labelStyle="{width:'150px'}">
<el-descriptions-item :label="$t('发货人Z中文名称')">{{order.consignorVO.name}}</el-descriptions-item> <el-descriptions-item :label="$t('发货人中文名称')">{{order.consignorVO.name}}</el-descriptions-item>
<!-- v1.7新增 --> <!-- v1.7新增 -->
<el-descriptions-item :label="$t('发货人英文名称')">{{order.consignorVO.nameEn}}</el-descriptions-item> <el-descriptions-item :label="$t('发货人英文名称')">{{order.consignorVO.nameEn}}</el-descriptions-item>
<el-descriptions-item :label="$t('发货人电话')"> <el-descriptions-item :label="$t('发货人电话')">
......
...@@ -929,21 +929,25 @@ export default { ...@@ -929,21 +929,25 @@ export default {
this.form.packageTypeArr = this.form.packageType ? this.form.packageType.split(',').filter(item => item != '') : [] this.form.packageTypeArr = this.form.packageType ? this.form.packageType.split(',').filter(item => item != '') : []
if(res.data.consignorVO){ if(res.data.consignorVO){
this.$set(this.form, 'consignorCompany', res.data.consignorVO.company) this.$set(this.form, 'consignorCompany', res.data.consignorVO.company)
this.$set(this.form, 'consignorCompanyEn', res.data.consignorVO.companyEn)
this.$set(this.form, 'consignorContactsId', res.data.consignorVO.customerContactsId) this.$set(this.form, 'consignorContactsId', res.data.consignorVO.customerContactsId)
this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode.replace('+', '')) this.$set(this.form, 'consignorCountryCode', res.data.consignorVO.countryCode.replace('+', ''))
this.$set(this.form, 'consignorEmail', res.data.consignorVO.email) this.$set(this.form, 'consignorEmail', res.data.consignorVO.email)
this.$set(this.form, 'consignorId', res.data.consignorVO.customerId) this.$set(this.form, 'consignorId', res.data.consignorVO.customerId)
this.$set(this.form, 'consignorName', res.data.consignorVO.name) this.$set(this.form, 'consignorName', res.data.consignorVO.name)
this.$set(this.form, 'consignorNameEn', res.data.consignorVO.nameEn)
this.$set(this.form, 'consignorPhone', res.data.consignorVO.phone) this.$set(this.form, 'consignorPhone', res.data.consignorVO.phone)
} }
if(res.data.consigneeVO){ if(res.data.consigneeVO){
this.$set(this.form, 'consigneeCompany', res.data.consigneeVO.company) this.$set(this.form, 'consigneeCompany', res.data.consigneeVO.company)
this.$set(this.form, 'consigneeCompanyEn', res.data.consigneeVO.companyEn)
this.$set(this.form, 'consigneeContactsId', res.data.consigneeVO.customerContactsId) this.$set(this.form, 'consigneeContactsId', res.data.consigneeVO.customerContactsId)
this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode.replace('+', '')) this.$set(this.form, 'consigneeCountryCode', res.data.consigneeVO.countryCode.replace('+', ''))
this.$set(this.form, 'consigneeEmail', res.data.consigneeVO.email) this.$set(this.form, 'consigneeEmail', res.data.consigneeVO.email)
this.$set(this.form, 'consigneeId', res.data.consigneeVO.customerId) this.$set(this.form, 'consigneeId', res.data.consigneeVO.customerId)
this.$set(this.form, 'consigneeName', res.data.consigneeVO.name) this.$set(this.form, 'consigneeName', res.data.consigneeVO.name)
this.$set(this.form, 'consigneeNameEn', res.data.consigneeVO.nameEn)
this.$set(this.form, 'consigneePhone', res.data.consigneeVO.phone) this.$set(this.form, 'consigneePhone', res.data.consigneeVO.phone)
} }
...@@ -995,11 +999,13 @@ export default { ...@@ -995,11 +999,13 @@ export default {
this.contactChooseType = this.quickCreateType == 0 ? 'consignor' : 'consignee' this.contactChooseType = this.quickCreateType == 0 ? 'consignor' : 'consignee'
} }
this.$set(this.form, this.contactChooseType + 'Company', contact.company) this.$set(this.form, this.contactChooseType + 'Company', contact.company)
this.$set(this.form, this.contactChooseType + 'CompanyEn', contact.companyEn||'')
this.$set(this.form, this.contactChooseType + 'ContactsId', contact.customerContactsId) this.$set(this.form, this.contactChooseType + 'ContactsId', contact.customerContactsId)
this.$set(this.form, this.contactChooseType + 'CountryCode', contact.areaCode.replace('+', '')) 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 + 'Email', contact.email)
this.$set(this.form, this.contactChooseType + 'Id', contact.customerId) this.$set(this.form, this.contactChooseType + 'Id', contact.customerId)
this.$set(this.form, this.contactChooseType + 'Name', contact.contactsName) this.$set(this.form, this.contactChooseType + 'Name', contact.contactsName)
this.$set(this.form, this.contactChooseType + 'NameEn', contact.contactsNameEn||'')
this.$set(this.form, this.contactChooseType + 'Phone', contact.phoneNew) this.$set(this.form, this.contactChooseType + 'Phone', contact.phoneNew)
this.contactChooseType = null this.contactChooseType = null
this.quickCreateType = null this.quickCreateType = null
......
...@@ -156,28 +156,28 @@ ...@@ -156,28 +156,28 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('入仓体积')" align="center" > <el-table-column :label="$t('入仓体积')" align="center" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.volume" @change="updateField(scope.row, 'volume')" size="mini"> <el-input v-model="scope.row.volume" @change="updateField(scope.row, 'volume')" size="mini" :disabled="index === 0">
<span slot="append"></span> <span slot="append"></span>
</el-input> </el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('收费体积')" align="center" > <el-table-column :label="$t('收费体积')" align="center" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.chargeVolume" @change="updateField(scope.row, 'chargeVolume')" size="mini"> <el-input v-model="scope.row.chargeVolume" @change="updateField(scope.row, 'chargeVolume')" size="mini" :disabled="index === 0">
<span slot="append"></span> <span slot="append"></span>
</el-input> </el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('入仓重量')" align="center"> <el-table-column :label="$t('入仓重量')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.weight" @change="updateField(scope.row, 'weight')" size="mini"> <el-input v-model="scope.row.weight" @change="updateField(scope.row, 'weight')" size="mini" :disabled="index === 0">
<span slot="append">kg</span> <span slot="append">kg</span>
</el-input> </el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('收费重量')" align="center"> <el-table-column :label="$t('收费重量')" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input v-model="scope.row.chargeWeight" @change="updateField(scope.row, 'chargeWeight')" size="mini"> <el-input v-model="scope.row.chargeWeight" @change="updateField(scope.row, 'chargeWeight')" size="mini" :disabled="index === 0">
<span slot="append">kg</span> <span slot="append">kg</span>
</el-input> </el-input>
</template> </template>
...@@ -240,33 +240,42 @@ ...@@ -240,33 +240,42 @@
<el-select v-model="shopForm.pordid" :placeholder="$t('请选择英文品名')" @change="changeProdTitleZh" clearable> <el-select v-model="shopForm.pordid" :placeholder="$t('请选择英文品名')" @change="changeProdTitleZh" clearable>
<el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleEn" :value="item.id" :key="item.prodTitleEn" ></el-option> <el-option v-for="item in splitData[0].orderSplitItemBackVOList" :label="item.prodTitleEn" :value="item.id" :key="item.prodTitleEn" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('剩余箱数')"> <el-form-item :label2="$t('剩余箱数')" v-if="mainOrderItem.orderItemId">
{{shopForm.sum||0}} 剩余箱数{{ shopForm.sum || 0 }},可放入箱数:{{ mainOrderItem.num - 1 }}
</el-form-item> </el-form-item>
<el-form-item :label="$t('放入箱数')"> <el-form-item :label="$t('放入箱数')">
<el-input-number v-model="shopForm.num" @change="numChange" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> <el-input-number v-model="shopForm.num" @change="numChange" controls-position="right" :min="1" :max="mainOrderItem.num-1"></el-input-number>
</el-form-item> </el-form-item>
<el-form-item v-if="quantityshow" :label="$t('放入数量')+'('+$t('个')+')'"> <el-form-item v-if="quantityshow" :label="$t('放入数量')+'('+$t('个')+')'">
<el-input-number v-model="shopForm.quantity" controls-position="right" :min="1" :max="quantitySum"></el-input-number> <el-input-number v-model="shopForm.quantity" controls-position="right" :min="1" :max="mainOrderItem.quantity-1" :placeholder="$t('最多可放入{quantity}', {
</el-form-item> quantity: mainOrderItem.quantity-1
})"></el-input-number>
<el-form-item :label="$t('入仓体积')"> </el-form-item>
<el-input-number v-model="shopForm.volume" @change="numChange" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> <el-form-item v-if="mainOrderItem.orderItemId">
</el-form-item> <div>{{ $t('剩余入仓方数') }}:{{ mainOrderItem.volume || 0 }}m³,{{$t('可放入仓方数')}}:{{ (mainOrderItem.volume - 0.01).toFixed(2) }}m³</div>
<el-form-item :label="$t('收费体积')"> <div>{{$t('剩余收费方数')}}:{{ mainOrderItem.chargeVolume || 0 }}m³,{{$t('可放入收费方数')}}:{{ (mainOrderItem.chargeVolume - 0.01).toFixed(2) }}m³</div>
<el-input-number v-model="shopForm.chargeVolume" @change="numChange" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> </el-form-item>
</el-form-item> <el-form-item :label="$t('入仓方数')">
<el-form-item :label="$t('入仓重量')"> <el-input-number v-model="shopForm.volume" controls-position="right" :min="0" :max="(mainOrderItem.volume - 0.01).toFixed(2)"></el-input-number>
<el-input-number v-model="shopForm.weight" @change="numChange" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> </el-form-item>
</el-form-item> <el-form-item :label="$t('收费方数')">
<el-form-item :label="$t('收费重量')"> <el-input-number v-model="shopForm.chargeVolume" controls-position="right" :min="0" :max="(mainOrderItem.chargeVolume - 0.01).toFixed(2)"></el-input-number>
<el-input-number v-model="shopForm.chargeWeight" @change="numChange" controls-position="right" :min="1" :max="shopForm.sum"></el-input-number> </el-form-item>
</el-form-item> <el-form-item v-if="mainOrderItem.orderItemId">
<div>{{$t('剩余入仓重量')}}:{{ mainOrderItem.weight || 0 }}kg,{{$t('可放入重量')}}:{{ (mainOrderItem.weight - 0.01).toFixed(2) }}kg</div>
<div>{{$t('剩余收费重量')}}:{{ mainOrderItem.chargeWeight || 0 }}kg,{{$t('可放入收费重量')}}:{{ (mainOrderItem.chargeWeight - 0.01).toFixed(2) }}kg</div>
</el-form-item>
<el-form-item :label="$t('入仓重量')">
<el-input-number v-model="shopForm.weight" controls-position="right" :min="0" :max="(mainOrderItem.weight - 0.01).toFixed(2)"></el-input-number>
</el-form-item>
<el-form-item :label="$t('收费重量')">
<el-input-number v-model="shopForm.chargeWeight" controls-position="right" :min="0" :max="(mainOrderItem.chargeWeight - 0.01).toFixed(2)"></el-input-number>
</el-form-item>
<el-form-item :label="$t('备注信息')+':'"> <el-form-item :label="$t('备注信息')+':'">
<el-input v-model="shopForm.remark"></el-input> <el-input v-model="shopForm.remark"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="shopAdd">{{$t('确定')}}</el-button> <el-button type="primary" @click="shopAdd">{{$t('确定')}}</el-button>
...@@ -297,7 +306,7 @@ import {getSplitList,splitApply,createSplit,cancelApply,createSplitItem,deleteSp ...@@ -297,7 +306,7 @@ import {getSplitList,splitApply,createSplit,cancelApply,createSplitItem,deleteSp
import {getWarehouseList} from '@/api/ecw/warehouse' import {getWarehouseList} from '@/api/ecw/warehouse'
import {getChannelList} from '@/api/ecw/channel' import {getChannelList} from '@/api/ecw/channel'
import WorkFlow from '@/components/WorkFlow' import WorkFlow from '@/components/WorkFlow'
import {getOrder} from '@/api/ecw/order' import {getOrder, splitItemUpdate} from '@/api/ecw/order'
import Decimal from 'decimal.js' import Decimal from 'decimal.js'
export default { export default {
...@@ -389,6 +398,16 @@ export default { ...@@ -389,6 +398,16 @@ export default {
}, },
getDictDatas(){ getDictDatas(){
return getDictDatas return getDictDatas
},
// 放入品名试选择的商品项
orderItem(){
if(!this.orderData || !this.shopForm.orderItemId) return {}
return this.orderData.orderItemVOList.find(item => item.orderItemId == this.shopForm.orderItemId) || {}
},
// 主单数据,也就是拆分剩余的数据,可用来限制拆单放入的最大值
mainOrderItem(){
if(!this.orderItem.orderItemId || !this.splitData.length || !this.splitData[0].orderSplitItemBackVOList) return {}
return this.splitData[0].orderSplitItemBackVOList.find(item => item.orderItemId == this.orderItem.orderItemId) || {}
} }
}, },
methods: { methods: {
...@@ -399,7 +418,7 @@ export default { ...@@ -399,7 +418,7 @@ export default {
this.$message.error(this.$t('数据无效')) this.$message.error(this.$t('数据无效'))
return this.getList() return this.getList()
} }
createSplitItem(row).then(() => { splitItemUpdate(row).then(() => {
this.$message.success(this.$t('修改成功')) this.$message.success(this.$t('修改成功'))
}).catch(() => { }).catch(() => {
this.getList() this.getList()
...@@ -573,9 +592,16 @@ export default { ...@@ -573,9 +592,16 @@ export default {
this.quantityshow = res.data this.quantityshow = res.data
}) })
}, },
// 输入方数箱数后,按照平均值计算数量和体积重量数据
numChange(){ numChange(){
var sum = parseInt(this.quantitySum/this.shopForm.num) /*var sum = parseInt(this.quantitySum/this.shopForm.num)
this.$set(this.shopForm,'quantity',sum) this.$set(this.shopForm,'quantity',sum)*/
let rate = this.shopForm.num/this.mainOrderItem.num
this.$set(this.shopForm, 'quantity', Math.ceil(this.mainOrderItem.quantity * rate))
this.$set(this.shopForm, 'volume', (this.mainOrderItem.volume * rate).toFixed(2))
this.$set(this.shopForm, 'chargeVolume', (this.mainOrderItem.chargeVolume * rate).toFixed(2))
this.$set(this.shopForm, 'weight', (this.mainOrderItem.weight * rate).toFixed(2))
this.$set(this.shopForm, 'chargeWeight', (this.mainOrderItem.chargeWeight * rate).toFixed(2))
}, },
changeProdTitleEn(){ changeProdTitleEn(){
var list = [] var list = []
......
...@@ -13,14 +13,14 @@ ...@@ -13,14 +13,14 @@
<el-descriptions-item> <el-descriptions-item>
<template slot="label"><span style="color: red">*</span>{{ $t('中文品名') }}</template> <template slot="label"><span style="color: red">*</span>{{ $t('中文品名') }}</template>
<span style="min-width: 200px;margin-right: 15px;display: inline-block"> <span style="min-width: 200px;margin-right: 15px;display: inline-block">
<product-selector v-if="!order.parentOrderId && !isAdd" v-model="form.prodId" @change="onProductChange"/> <product-selector v-if="!order.parentOrderId && !isAdd" v-model="form.prodId" @change="onProductChange" determined/>
<span v-else>{{ warehousing.prodTitleZh }}</span> <span v-else>{{ warehousing.prodTitleZh }}</span>
</span> </span>
<el-button v-if="!order.parentOrderId && !isAdd" type="text" @click="isShowProduct = true">添加新商品</el-button> <el-button v-if="!order.parentOrderId && !isAdd" type="text" @click="isShowProduct = true">添加新商品</el-button>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label"><span style="color: red">*</span>{{ $t('英文品名') }}</template> <template slot="label"><span style="color: red">*</span>{{ $t('英文品名') }}</template>
<product-selector v-if="!order.parentOrderId && !isAdd" lang="En" v-model="form.prodId" @change="onProductChange"/> <product-selector v-if="!order.parentOrderId && !isAdd" lang="En" v-model="form.prodId" @change="onProductChange" determined/>
<span v-else>{{ warehousing.prodTitleEn }}</span> <span v-else>{{ warehousing.prodTitleEn }}</span>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('品牌')"> <el-descriptions-item :label="$t('品牌')">
...@@ -57,9 +57,20 @@ ...@@ -57,9 +57,20 @@
<span v-else>{{ warehousing.weight }}</span>Kg <span v-else>{{ warehousing.weight }}</span>Kg
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-form-item :label="$t('材质')" style="margin-top: 20px"> <el-row>
<dict-selector :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form.material" clearable></dict-selector> <el-col :span="8">
</el-form-item> <el-form-item :label="$t('材质')" style="margin-top: 20px">
<dict-selector :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form.material" clearable></dict-selector>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item :label="$t('入仓特性')" style="margin-top: 20px">
<el-checkbox-group v-model="form.prodAttrIds">
<el-checkbox v-for="item in attrList" :key="item.id" :label="item.id">{{ item.attrName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-form-item :label="$t('入仓时间')" v-if="!edit"> <el-form-item :label="$t('入仓时间')" v-if="!edit">
<el-date-picker v-model="form.inTime" type="datetime" :placeholder="$t('请选择入仓时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker v-model="form.inTime" type="datetime" :placeholder="$t('请选择入仓时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
...@@ -240,9 +251,20 @@ ...@@ -240,9 +251,20 @@
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('填单参数')">{{ $t('非填单货物') }}</el-descriptions-item> <el-descriptions-item :label="$t('填单参数')">{{ $t('非填单货物') }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-form-item :label="$t('材质')" style="margin-top: 20px"> <el-row>
<dict-selector :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form1.material"></dict-selector> <el-col :span="8">
</el-form-item> <el-form-item :label="$t('材质')" style="margin-top: 20px">
<dict-selector :type="DICT_TYPE.ECW_PRODUCT_MATERIAL" v-model="form1.material" clearable></dict-selector>
</el-form-item>
</el-col>
<el-col :span="16">
<el-form-item :label="$t('入仓特性')" style="margin-top: 20px">
<el-checkbox-group v-model="form1.prodAttrIds">
<el-checkbox v-for="item in attrList" :key="item.id" :label="item.id">{{ item.attrName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-form-item :label="$t('入仓时间')"> <el-form-item :label="$t('入仓时间')">
<el-date-picker v-model="form1.inTime" type="datetime" :placeholder="$t('请选择入仓时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker> <el-date-picker v-model="form1.inTime" type="datetime" :placeholder="$t('请选择入仓时间')" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</el-form-item> </el-form-item>
...@@ -451,7 +473,7 @@ import {DICT_TYPE, getDictDataLabel, getDictDatas} from "@/utils/dict" ...@@ -451,7 +473,7 @@ import {DICT_TYPE, getDictDataLabel, getDictDatas} from "@/utils/dict"
import {orderWarehouseIn, orderWarehouseInUpdateApply} from "@/api/ecw/order" import {orderWarehouseIn, orderWarehouseInUpdateApply} from "@/api/ecw/order"
import {getProductAttrList} from "@/api/ecw/productAttr" import {getProductAttrList} from "@/api/ecw/productAttr"
import {getProductTypeList} from "@/api/ecw/productType" import {getProductTypeList} from "@/api/ecw/productType"
import {createProduct} from "@/api/ecw/product" import {addProduct} from "@/api/ecw/product"
export default { export default {
name: "Warehouse", name: "Warehouse",
...@@ -595,7 +617,7 @@ export default { ...@@ -595,7 +617,7 @@ export default {
inTime: undefined, inTime: undefined,
material: undefined, material: undefined,
orderItemId: undefined, orderItemId: undefined,
prodAttrIds: undefined, prodAttrIds: [],
prodId: undefined, prodId: undefined,
prodTitleEn: undefined, prodTitleEn: undefined,
prodTitleZh: undefined, prodTitleZh: undefined,
...@@ -613,7 +635,7 @@ export default { ...@@ -613,7 +635,7 @@ export default {
inTime: undefined, inTime: undefined,
material: undefined, material: undefined,
orderItemId: undefined, orderItemId: undefined,
prodAttrIds: undefined, prodAttrIds: [],
prodId: undefined, prodId: undefined,
prodTitleEn: undefined, prodTitleEn: undefined,
prodTitleZh: undefined, prodTitleZh: undefined,
...@@ -683,7 +705,7 @@ export default { ...@@ -683,7 +705,7 @@ export default {
this.form.orderId = this.warehousing.orderId this.form.orderId = this.warehousing.orderId
this.form.orderItemId = this.warehousing.orderItemId this.form.orderItemId = this.warehousing.orderItemId
this.form.orderNo = this.warehousing.orderNo this.form.orderNo = this.warehousing.orderNo
this.form.prodAttrIds = this.warehousing.prodAttrIds this.form.prodAttrIds = this.warehousing.prodAttrIds?.split(',').map(e => +e) || []
this.form.prodId = this.warehousing.prodId this.form.prodId = this.warehousing.prodId
this.form.prodTitleEn = this.warehousing.prodTitleEn this.form.prodTitleEn = this.warehousing.prodTitleEn
this.form.prodTitleZh = this.warehousing.prodTitleZh this.form.prodTitleZh = this.warehousing.prodTitleZh
...@@ -738,6 +760,13 @@ export default { ...@@ -738,6 +760,13 @@ export default {
handleSubmit() { handleSubmit() {
if (this.activeName !== "first"){ if (this.activeName !== "first"){
// 添加非填单货物 // 添加非填单货物
if (this.form1.prodAttrIds.indexOf(4) !== -1) {
return this.$notify({
title: this.$t('提示'),
message: this.$t("订单包含不接受货物,请检查"),
type: 'warning'
})
}
this.$refs['form1'].validate(valid => { this.$refs['form1'].validate(valid => {
this.$refs['tableForm1'].validate(valid1 => { this.$refs['tableForm1'].validate(valid1 => {
if (!valid || !valid1) { if (!valid || !valid1) {
...@@ -749,6 +778,7 @@ export default { ...@@ -749,6 +778,7 @@ export default {
orderId: this.warehousing.orderId, orderId: this.warehousing.orderId,
orderItemId: undefined, orderItemId: undefined,
orderNo: this.warehousing.orderNo, orderNo: this.warehousing.orderNo,
prodAttrIds: this.form.prodAttrIds.join(','),
orderWarehouseInItemDoList: this.form1.table.map(e => { orderWarehouseInItemDoList: this.form1.table.map(e => {
return { return {
...e, ...e,
...@@ -767,6 +797,13 @@ export default { ...@@ -767,6 +797,13 @@ export default {
}) })
}) })
} else { } else {
if (this.form.prodAttrIds.indexOf(4) !== -1) {
return this.$notify({
title: this.$t('提示'),
message: this.$t("订单包含不接受货物,请检查"),
type: 'warning'
})
}
this.$refs['form'].validate(valid => { this.$refs['form'].validate(valid => {
this.$refs['tableForm'].validate(valid1 => { this.$refs['tableForm'].validate(valid1 => {
if (!valid || !valid1) { if (!valid || !valid1) {
...@@ -784,6 +821,7 @@ export default { ...@@ -784,6 +821,7 @@ export default {
volume: (+this.warehousing.volume)?.toFixed(2) || '', volume: (+this.warehousing.volume)?.toFixed(2) || '',
weight: (+this.warehousing.weight)?.toFixed(2) || '', weight: (+this.warehousing.weight)?.toFixed(2) || '',
prodId: this.form.prodId, prodId: this.form.prodId,
prodAttrIds: this.form.prodAttrIds.join(','),
"orderWarehouseInUpdateItemDoList": this.form.table.map(e => { "orderWarehouseInUpdateItemDoList": this.form.table.map(e => {
return { return {
...e, ...e,
...@@ -809,6 +847,7 @@ export default { ...@@ -809,6 +847,7 @@ export default {
orderItemId: this.warehousing.orderItemId, orderItemId: this.warehousing.orderItemId,
orderNo: this.warehousing.orderNo, orderNo: this.warehousing.orderNo,
isAppend: this.isAdd ? true : undefined, isAppend: this.isAdd ? true : undefined,
prodAttrIds: this.form.prodAttrIds.join(','),
orderWarehouseInItemDoList: this.form.table.map(e => { orderWarehouseInItemDoList: this.form.table.map(e => {
return { return {
...e, ...e,
...@@ -934,7 +973,7 @@ export default { ...@@ -934,7 +973,7 @@ export default {
//商品特性转字符串 //商品特性转字符串
this.productForm.attrId = this.productForm.attrArray.join(',') this.productForm.attrId = this.productForm.attrArray.join(',')
// 添加的提交 // 添加的提交
createProduct(this.productForm).then(response => { addProduct(this.productForm).then(response => {
this.$modal.msgSuccess(this.$t("新增成功")) this.$modal.msgSuccess(this.$t("新增成功"))
if (this.activeName === 'first') { if (this.activeName === 'first') {
this.form.prodId = response.data this.form.prodId = response.data
......
...@@ -439,6 +439,7 @@ export default { ...@@ -439,6 +439,7 @@ export default {
params.filter=false; params.filter=false;
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime'); this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询 // 执行查询
params.status = 0;
getProductPage(params).then(response => { getProductPage(params).then(response => {
this.list = response.data.list; this.list = response.data.list;
this.total = response.data.total; this.total = response.data.total;
......
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