1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<template>
<el-dialog :title="title" visible :before-close="closeDialog" :close-on-click-modal="false">
<div class="" v-if="agreement">
<el-form ref="form" :model="form" :rules="rules" label-position="left" label-width="120px">
<el-form-item label="原控货人">
<el-input v-model="cargoControlName" readonly></el-input>
</el-form-item>
<el-form-item label="原控货手机号">
<el-input v-model="cargoControlPhone" readonly></el-input>
</el-form-item>
<el-form-item label="新控货人" prop="name">
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="新控货手机号" prop="phone">
<el-input v-model="form.phone" type="tel">
<el-select slot="prepend" v-model="form.dialCode" placeholder="" style="width:200px">
<el-option v-for="item in countryList" :key="item.id" :label="item.nameZh + item.tel" :value="item.tel.replace('+', '')"></el-option>
</el-select>
</el-input>
</el-form-item>
<el-form-item label="新控货人邮箱" prop="email">
<el-input v-model="form.email" type="email"></el-input>
</el-form-item>
<el-form-item label="手机验证码" prop="code">
<el-input v-model.number="form.code" type="number">
<send-sms-code slot="append" :order-id="orderId" scene="4" />
</el-input>
</el-form-item>
<el-form-item label="">
<el-button type="primary" @click="submit">确定转移</el-button>
</el-form-item>
</el-form>
</div>
<div v-else>
<transfer-agreement />
<div style="margin-top:30px">
<el-button type="primary" @click="agreement=true">我同意</el-button>
<el-button @click="closeDialog">关闭</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
import TransferAgreement from "./TransferAgreement"
import {getCountryListAll} from '@/api/ecw/country'
import SendSmsCode from './SendSmsCode'
import {create} from '@/api/ecw/orderCargoControl'
export default {
props:{
orderId: [String, Number],
cargoControlName: String,
cargoControlPhone: String,
orderNo: String
},
components: {TransferAgreement, SendSmsCode},
data(){
return {
show: false,
// detail: null,
form:{},
agreement: false, // 是否同意协议
countryList: [],
rules:{
name: [{required: true, message: '请输入控货人'}],
phone: [{required: true, message: '请输入控货人手机'}],
// email: [{required: true, message: '请输入控货人'}],
code: [{required: true, message: '验证码不能为空'}]
}
}
},
computed:{
title(){
return this.orderNo
}
},
watch:{
countryList(){
if(this.countryList.length){
this.$set(this.form, 'dialCode', this.countryList[0].tel.replace('+', ''))
}
}
},
created(){
this.show = true
getCountryListAll().then(res => {
this.countryList = res.data
})
},
methods:{
closeDialog(){
this.show = false
this.$emit('close');
},
submit(){
this.$refs.form.validate(valid => {
if(!valid){
return false
}
let data = Object.assign({
orderId: this.orderId,
orderNo: this.orderNo
}, this.form)
create(data)
.then(res => {
this.$message.success(res.message || '操作成功')
this.closeDialog()
})
})
}
}
}
</script>