Commit 390d870d authored by zhengyi's avatar zhengyi

放货弹窗上的bug

parent cf0065b2
<template> <template>
<el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false" width="1000px"> <el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false" width="1000px">
<el-form v-if="agreement" ref="form" :model="formData" :rules="rules" size="small" label-width="100px" > <el-form v-if="agreement" ref="form" :model="formData" :rules="rules" size="small" label-width="100px">
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('订单号')"> <el-form-item :label="$t('订单号')">
{{detail.orderNo}} {{ detail.orderNo }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('总箱数')"> <el-form-item :label="$t('总箱数')">
{{detail.sumNum}} {{ detail.sumNum }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('体积')"> <el-form-item :label="$t('体积')">
{{detail.sumVolume}} {{ detail.sumVolume }}
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="$t('重量')"> <el-form-item :label="$t('重量')">
{{detail.sumWeight}}kg {{ detail.sumWeight }}kg
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('总控货箱数')">
{{detail.sumNum}}
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item :label="$t('剩余放货箱数')">
{{detail.sumNum - detail.releaseNum }}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item :label="$t('到仓日期/卸柜日期')" label-width="200px">
{{detail.unloadTime}}
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :label="$t('放货锁定收货人到期')" label-width="200px">
{{detail.lockConsigneeTime || '-'}}
</el-form-item>
</el-col>
</el-row>
<div class="title">{{$t('请填写放货信息')}}</div>
<div class="flex">
<el-form-item :label="$t('收货人')" prop="consigneeName">
<el-input v-model="formData.consigneeName" :placeholder="$t('请输入收货人')" clearable class="w-150" ></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人电话')" prop="consigneePhone"> </el-col>
<!-- <el-input v-model="formData.field109" :placeholder="$t('区号')" clearable class="w-150"></el-input> --> <el-col :span="6">
<area-code-selector v-model="formData.consigneeCountryCode" class="w-150" /> <el-form-item :label="$t('总控货箱数')">
<el-input v-model="formData.consigneePhone" :placeholder="$t('请输入收货人电话')" clearable class="w-150 ml-10"></el-input> {{ detail.sumNum }}
</el-form-item> </el-form-item>
<el-form-item :label="$t('收货人邮箱')" prop="consigneeEmail"> </el-col>
<el-input v-model="formData.consigneeEmail" :placeholder="$t('请输入收货人邮箱')" clearable class="w-150" ></el-input> <el-col :span="6">
<el-form-item :label="$t('剩余放货箱数')">
{{ detail.sumNum - detail.releaseNum }}
</el-form-item> </el-form-item>
</div> </el-col>
<el-table :data="[formData]" border class="release-table"> </el-row>
<el-table-column :label="$t('控货箱数')"> <el-row>
{{detail.sumNum - detail.releaseNum }} <el-col :span="12">
</el-table-column> <el-form-item :label="$t('到仓日期/卸柜日期')" label-width="200px">
<el-table-column :label="$t('放货箱数')"> {{ detail.unloadTime }}
<template slot-scope="{row}"> </el-form-item>
<el-form-item prop="pickNum" label-width="0" class="mb-0"> </el-col>
<el-input type="number" v-model.number="row.pickNum" placeholder="" clearable></el-input> <el-col :span="12">
</el-form-item> <el-form-item :label="$t('放货锁定收货人到期')" label-width="200px">
</template> {{ detail.lockConsigneeTime || '-' }}
</el-table-column> </el-form-item>
<el-table-column :label="$t('体积') + '(m³)'"> </el-col>
<template slot-scope="{row}"> </el-row>
<el-input type="number" v-model.number="row.pickVolume" placeholder="" clearable></el-input> <div class="title">{{ $t('请填写放货信息') }}</div>
</template> <div class="flex">
</el-table-column> <el-form-item :label="$t('收货人')" prop="consigneeName">
<el-table-column :label="$t('重量') + '(kg)'"> <el-input v-model="formData.consigneeName" :placeholder="$t('请输入收货人')" clearable
<template slot-scope="{row}"> class="w-150"></el-input>
<el-input type="number" v-model.number="row.pickWeight" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('备注')">
<template slot-scope="{row}">
<el-input v-model="row.remarks" placeholder="" clearable></el-input>
</template>
</el-table-column>
</el-table>
<el-form-item :label="$t('控货手机号')" prop="field117" style="margin-top:20px">
<el-input :value="'+' + detail.dialCode + detail.phone" readonly :placeholder="$t('请输入控货手机号')" >
</el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('手机验证码')" prop="code"> <el-form-item :label="$t('收货人电话')" prop="consigneePhone">
<el-input v-model="formData.code" :placeholder="$t('请输入手机验证码')" clearable class="w-150 mr-10"></el-input> <!-- <el-input v-model="formData.field109" :placeholder="$t('区号')" clearable class="w-150"></el-input> -->
<!-- <el-button type="success">{{ $t('获取验证码') }}</el-button> --> <area-code-selector v-model="formData.consigneeCountryCode" class="w-150"/>
<send-sms-code :order-id="detail.orderId" scene="5" /> <el-input v-model="formData.consigneePhone" :placeholder="$t('请输入收货人电话')" clearable
class="w-150 ml-10"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="" style="margin-top:20px"> <el-form-item :label="$t('收货人邮箱')" prop="consigneeEmail">
<el-button type="success" @click="submit">{{$t('确认提货')}}</el-button> <el-input v-model="formData.consigneeEmail" :placeholder="$t('请输入收货人邮箱')" clearable
<el-button type="default" @click="closeDialog">{{$t('关闭')}}</el-button> class="w-150"></el-input>
</el-form-item> </el-form-item>
</el-form> </div>
<el-table :data="[formData]" border class="release-table">
<el-table-column :label="$t('控货箱数')">
{{ detail.sumNum - detail.releaseNum }}
</el-table-column>
<el-table-column :label="$t('放货箱数')">
<template slot-scope="{row}">
<el-form-item prop="pickNum" label-width="0" class="mb-0">
<el-input type="number" v-model.number="row.pickNum" placeholder="" clearable></el-input>
</el-form-item>
</template>
</el-table-column>
<el-table-column :label="$t('体积') + '(m³)'">
<template slot-scope="{row}">
<el-input type="number" v-model.number="row.pickVolume" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('重量') + '(kg)'">
<template slot-scope="{row}">
<el-input type="number" v-model.number="row.pickWeight" placeholder="" clearable></el-input>
</template>
</el-table-column>
<el-table-column :label="$t('备注')">
<template slot-scope="{row}">
<el-input v-model="row.remarks" placeholder="" clearable></el-input>
</template>
</el-table-column>
</el-table>
<el-form-item :label="$t('控货手机号')" prop="field117" style="margin-top:20px">
<el-input :value="'+' + detail.dialCode + detail.phone" readonly :placeholder="$t('请输入控货手机号')">
</el-input>
</el-form-item>
<el-form-item :label="$t('手机验证码')" prop="code">
<el-input v-model="formData.code" :placeholder="$t('请输入手机验证码')" clearable
class="w-150 mr-10"></el-input>
<!-- <el-button type="success">{{ $t('获取验证码') }}</el-button> -->
<send-sms-code :order-id="detail.orderId" scene="5"/>
</el-form-item>
<el-form-item label="" style="margin-top:20px">
<el-button type="success" @click="submit">{{ $t('确认提货') }}</el-button>
<el-button type="default" @click="closeDialog">{{ $t('关闭') }}</el-button>
</el-form-item>
</el-form>
<div v-else> <div v-else>
<!-- <release-agreement /> --> <!-- <release-agreement /> -->
<need-know ref="needKnow" keyname="control" /> <need-know ref="needKnow" keyname="control"/>
<div style="margin-top:30px"> <div style="margin-top:30px">
<el-button type="primary" @click="agreement=true">{{$t('我同意')}}</el-button> <el-button type="primary" @click="agreement=true">{{ $t('我同意') }}</el-button>
<!-- <el-button type="primary" @click="$refs.needKnow.download()">{{ $t('保存协议') }}</el-button> --> <!-- <el-button type="primary" @click="$refs.needKnow.download()">{{ $t('保存协议') }}</el-button> -->
<el-button @click="closeDialog">{{$t('关闭')}}</el-button> <el-button @click="closeDialog">{{ $t('关闭') }}</el-button>
</div>
</div> </div>
</el-dialog> </div>
</el-dialog>
</template> </template>
<script> <script>
import {getOrder} from '@/api/ecw/order' import {getOrder} from '@/api/ecw/order'
...@@ -119,102 +123,105 @@ import AreaCodeSelector from '@/components/AreaCodeSelector' ...@@ -119,102 +123,105 @@ import AreaCodeSelector from '@/components/AreaCodeSelector'
import SendSmsCode from '@/views/ecw/order/components/SendSmsCode' import SendSmsCode from '@/views/ecw/order/components/SendSmsCode'
import NeedKnow from '@/components/NeedKnow' import NeedKnow from '@/components/NeedKnow'
import Decimal from 'decimal.js' import Decimal from 'decimal.js'
export default { export default {
props:{ props: {
orderId: [String, Number] orderId: [String, Number]
}, },
components: {AreaCodeSelector, SendSmsCode, NeedKnow}, components: {AreaCodeSelector, SendSmsCode, NeedKnow},
data(){ data() {
return { return {
show: false, show: false,
detail: null, detail: null,
formData:{ formData: {
"pickNum": 0, "pickNum": 0,
"pickQuantity": 0, "pickQuantity": 0,
"pickVolume": 0, "pickVolume": 0,
"pickWeight": 0, "pickWeight": 0,
"remarks": "", "remarks": "",
}, },
agreement: false, // 是否同意协议 agreement: false, // 是否同意协议
}
},
watch: {
'formData.pickNum'(pickNum) {
this.$set(this.formData, 'pickVolume', Decimal(this.detail.sumVolume).mul(pickNum).div(this.detail.sumNum).toFixed(2))
this.$set(this.formData, 'pickWeight', Decimal(this.detail.sumWeight).mul(pickNum).div(this.detail.sumNum).toFixed(2))
}
},
computed: {
rules() {
return {
consigneeName: {required: true, message: this.$t('请填写收货人')},
code: {required: true, message: this.$t('请填写验证码')},
pickNum: {
type: 'number',
max: this.detail.sumNum - this.detail.releaseNum,
message: this.$t("不能超过剩余箱数"),
trigger: 'change'
} }
},
watch:{
'formData.pickNum'(pickNum){
this.$set(this.formData, 'pickVolume', Decimal(this.detail.sumVolume).mul(pickNum).div(this.detail.sumNum).toFixed(2))
this.$set(this.formData, 'pickWeight', Decimal(this.detail.sumWeight).mul(pickNum).div(this.detail.sumNum).toFixed(2))
} }
}, },
computed:{ title() {
rules(){ let t = this.$t('放货')
return { if (this.detail) {
consigneeName: {required: true, message: this.$t('请填写收货人')}, t += '-' + this.detail.orderNo
code: {required: true, message: this.$t('请填写验证码')}, }
pickNum: { return t
type: 'number', }
max: this.detail.sumNum - this.detail.releaseNum, },
message: this.$t("不能超过剩余箱数"), created() {
trigger: 'change' this.show = true
} this.loadData()
} },
}, methods: {
title(){ loadData() {
let t = this.$t('放货') getReleaseInfo(this.orderId).then(res => {
if(this.detail){ this.detail = res.data
t += '-' + this.detail.orderNo this.$set(this.formData, 'consigneeName', res.data.consigneeName)
} this.$set(this.formData, 'consigneeCountryCode', res.data.consigneeCountryCode ? ('+' + res.data.consigneeCountryCode) : null)
return t this.$set(this.formData, 'consigneePhone', res.data.consigneePhone)
} this.$set(this.formData, 'consigneeEmail', res.data.consigneeEmail)
})
}, },
created(){ closeDialog() {
this.show = true this.show = false
this.loadData() this.$emit('close')
}, },
methods:{ submit() {
loadData(){ this.$refs.form.validate(valid => {
getReleaseInfo(this.orderId).then(res => { if (!valid) {
this.detail = res.data return false
this.$set(this.formData, 'consigneeName', res.data.consigneeName) }
this.$set(this.formData, 'consigneeCountryCode', '+' + res.data.consigneeCountryCode) createPick(Object.assign({orderId: this.orderId}, this.formData)).then(res => {
this.$set(this.formData, 'consigneePhone', res.data.consigneePhone) this.$message.success(res.msg || this.$t('操作成功'))
this.$set(this.formData, 'consigneeEmail', res.data.consigneeEmail)
})
},
closeDialog(){
this.show = false this.show = false
this.$emit('close') this.$emit('success')
}, })
submit(){ })
this.$refs.form.validate(valid => {
if(!valid){
return false
}
createPick(Object.assign({orderId: this.orderId}, this.formData)).then(res => {
this.$message.success(res.msg || this.$t('操作成功'))
this.show = false
this.$emit('success')
})
})
}
} }
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.title{ .title {
font-size:16px; font-size: 16px;
margin:20px 0; margin: 20px 0;
display:flex; display: flex;
align-items:center; align-items: center;
&:before{
&:before {
content: ''; content: '';
width:5px; width: 5px;
height: 15px; height: 15px;
background:#666; background: #666;
margin-right:10px; margin-right: 10px;
} }
} }
::v-deep .release-table .el-form-item__error{
position: static; ::v-deep .release-table .el-form-item__error {
position: static;
} }
</style> </style>
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