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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<template>
<div class="app-container">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item :label="$t('报价单号')">
<div>{{number}}</div>
</el-form-item>
<el-form-item :label="$t('结果')" prop="result">
<dict-selector form-type="radio" :type="DICT_TYPE.ECW_OFFER_RESULT" v-model="form.result" />
</el-form-item>
<template v-if="form.result==1">
<el-form-item :label="$t('入仓类型')" prop="warehousingType">
<dict-selector :type="DICT_TYPE.ECW_WAREHOUSING_TYPE" v-model="form.warehousingType" />
</el-form-item>
<el-form-item :label="$t('关联订单')" prop="orderIds">
<!-- <el-input v-model="form.orderIds" style="width: 206px;"></el-input> -->
<el-select
v-model="form.orderNo"
filterable
remote
reserve-keyword
:placeholder="$t('订单号')"
@focus="checkOptions"
:remote-method="remoteMethod"
:loading="selectLoading">
<el-option
v-for="item in orderNoList"
:key="item.value"
:label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</template>
<template v-else>
<el-form-item :label="$t('原因')" prop="reason">
<el-input style="width: 500px;" type="textarea" placeholder="" v-model="form.reason"></el-input>
</el-form-item>
</template>
<el-form-item>
<el-button type="primary" @click="submitForm">{{form.result==1? $t("确定并新增草稿订单") : $t("提交")}}</el-button>
<el-button @click="$router.back()">{{ $t('返 回') }}</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import { updateOfferResult } from '@/api/ecw/offer';
import CustomersSelector from '@/components/CustomersSelector'
import RoutersSelector from '@/components/RoutersSelector'
import ProductsSelector from '@/components/ProductsSelector'
import Editor from '@/components/Editor'
import Selector from '@/components/Selector/index'
import {getOrderNoSearch} from '@/api/ecw/order'
export default {
name: "OfferResult",
components: { CustomersSelector, RoutersSelector, ProductsSelector, Editor, Selector },
data() {
return {
number: null,
// 遮罩层
loading: true,
// 表单参数
form: {
"number": null,
"offerId": undefined,
"orderIds": undefined,
"reason": undefined,
"result": 1,
"warehousingType": undefined
},
// 表单校验
rules: {
warehousingType: {required: true, message: this.$t('请选择入仓类型')}
},
selectLoading: false,
orderNoList: []
};
},
computed: {
},
watch: {
},
created() {
if(this.$route.query.number){
this.number = this.$route.query.number
}
if(this.$route.query.offerId){
this.form.offerId = this.$route.query.offerId
}
},
methods: {
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (!valid) {
return;
}
let data = Object.assign({}, this.form)
updateOfferResult(data).then(response => {
if(response.data > 0){
this.$message.success(this.$t('赢单成功'))
this.$redirect('../order/edit?id=' + response.data)
return
}
this.$message.success(this.$t('输单成功'))
this.$router.back();
});
});
},
remoteMethod(query){
this.selectLoading = true
getOrderNoSearch({key: query, pageSize: 200}).then(res => {
this.orderNoList = res.data.list
}).finally(res => {
this.selectLoading = false
})
},
checkOptions(){
if(!this.orderNoList.length){
this.remoteMethod("")
}
}
},
};
</script>