|
@@ -2,11 +2,14 @@ |
|
@@ -2,11 +2,14 @@ |
2
|
<div class="table-container">
|
2
|
<div class="table-container">
|
3
|
<div>
|
3
|
<div>
|
4
|
<el-form :inline="true" :model="queryInfo" class="demo-form-inline">
|
4
|
<el-form :inline="true" :model="queryInfo" class="demo-form-inline">
|
5
|
- <el-form-item label="订单号">
|
|
|
6
|
- <el-input v-model="queryInfo.orderno" placeholder="订单号"></el-input>
|
5
|
+ <el-form-item label="">
|
|
|
6
|
+ <el-input size="medium" v-model="queryInfo.ext1" placeholder="客户编码"></el-input>
|
7
|
</el-form-item>
|
7
|
</el-form-item>
|
8
|
- <el-form-item label="订单类型">
|
|
|
9
|
- <el-select v-model="queryInfo.ordertype" placeholder="请选择">
|
8
|
+ <el-form-item label="">
|
|
|
9
|
+ <el-input size="medium" v-model="queryInfo.orderno" placeholder="订单号"></el-input>
|
|
|
10
|
+ </el-form-item>
|
|
|
11
|
+ <el-form-item label="">
|
|
|
12
|
+ <el-select size="medium" v-model="queryInfo.ordertype" placeholder="订单类型">
|
10
|
<el-option
|
13
|
<el-option
|
11
|
v-for="item in ordertypes"
|
14
|
v-for="item in ordertypes"
|
12
|
:key="item.value"
|
15
|
:key="item.value"
|
|
@@ -15,8 +18,8 @@ |
|
@@ -15,8 +18,8 @@ |
15
|
</el-option>
|
18
|
</el-option>
|
16
|
</el-select>
|
19
|
</el-select>
|
17
|
</el-form-item>
|
20
|
</el-form-item>
|
18
|
- <el-form-item label="报送类型">
|
|
|
19
|
- <el-select v-model="queryInfo.apptype" placeholder="请选择">
|
21
|
+ <el-form-item label="">
|
|
|
22
|
+ <el-select size="medium" v-model="queryInfo.apptype" placeholder="报送类型">
|
20
|
<el-option
|
23
|
<el-option
|
21
|
v-for="item in apptypes"
|
24
|
v-for="item in apptypes"
|
22
|
:key="item.value"
|
25
|
:key="item.value"
|
|
@@ -25,8 +28,8 @@ |
|
@@ -25,8 +28,8 @@ |
25
|
</el-option>
|
28
|
</el-option>
|
26
|
</el-select>
|
29
|
</el-select>
|
27
|
</el-form-item>
|
30
|
</el-form-item>
|
28
|
- <el-form-item label="报关状态">
|
|
|
29
|
- <el-select v-model="queryInfo.appstatus" placeholder="请选择">
|
31
|
+ <el-form-item label="">
|
|
|
32
|
+ <el-select size="medium" v-model="queryInfo.appstatus" placeholder="报关状态">
|
30
|
<el-option
|
33
|
<el-option
|
31
|
v-for="item in appstatuss"
|
34
|
v-for="item in appstatuss"
|
32
|
:key="item.value"
|
35
|
:key="item.value"
|
|
@@ -36,7 +39,22 @@ |
|
@@ -36,7 +39,22 @@ |
36
|
</el-select>
|
39
|
</el-select>
|
37
|
</el-form-item>
|
40
|
</el-form-item>
|
38
|
<el-form-item>
|
41
|
<el-form-item>
|
39
|
- <el-button type="primary" @click="getList">查询</el-button>
|
42
|
+ <div class="block">
|
|
|
43
|
+ <el-date-picker
|
|
|
44
|
+ size="medium"
|
|
|
45
|
+ v-model="value2"
|
|
|
46
|
+ type="daterange"
|
|
|
47
|
+ align="right"
|
|
|
48
|
+ unlink-panels
|
|
|
49
|
+ range-separator="至"
|
|
|
50
|
+ start-placeholder="开始日期"
|
|
|
51
|
+ end-placeholder="结束日期"
|
|
|
52
|
+ :picker-options="pickerOptions">
|
|
|
53
|
+ </el-date-picker>
|
|
|
54
|
+ </div>
|
|
|
55
|
+ </el-form-item>
|
|
|
56
|
+ <el-form-item>
|
|
|
57
|
+ <el-button size="medium" @click="getList">查询</el-button>
|
40
|
</el-form-item>
|
58
|
</el-form-item>
|
41
|
<el-form-item>
|
59
|
<el-form-item>
|
42
|
<el-upload
|
60
|
<el-upload
|
|
@@ -45,11 +63,28 @@ |
|
@@ -45,11 +63,28 @@ |
45
|
:before-upload="beforeUpload"
|
63
|
:before-upload="beforeUpload"
|
46
|
:http-request="uploadFile"
|
64
|
:http-request="uploadFile"
|
47
|
:show-file-list="false">
|
65
|
:show-file-list="false">
|
48
|
- <el-button size="small" type="success">导入订单</el-button>
|
66
|
+ <el-button size="medium" type="primary">导入订单</el-button>
|
49
|
</el-upload>
|
67
|
</el-upload>
|
50
|
</el-form-item>
|
68
|
</el-form-item>
|
51
|
</el-form>
|
69
|
</el-form>
|
52
|
</div>
|
70
|
</div>
|
|
|
71
|
+ <div style="margin-bottom: 20px">
|
|
|
72
|
+ <el-row :gutter="24">
|
|
|
73
|
+ <el-col :span="3">
|
|
|
74
|
+ <el-button size="medium" @click="batchOrder">订单批量申报</el-button>
|
|
|
75
|
+ </el-col>
|
|
|
76
|
+ <el-col :span="3">
|
|
|
77
|
+ <el-upload
|
|
|
78
|
+ class="upload-demo"
|
|
|
79
|
+ action=""
|
|
|
80
|
+ :before-upload="beforeUpload"
|
|
|
81
|
+ :http-request="batchOrderImport"
|
|
|
82
|
+ :show-file-list="false">
|
|
|
83
|
+ <el-button size="medium">订单批量导入申报</el-button>
|
|
|
84
|
+ </el-upload>
|
|
|
85
|
+ </el-col>
|
|
|
86
|
+ </el-row>
|
|
|
87
|
+ </div>
|
53
|
|
88
|
|
54
|
<el-table
|
89
|
<el-table
|
55
|
:data="tableData"
|
90
|
:data="tableData"
|
|
@@ -64,7 +99,7 @@ |
|
@@ -64,7 +99,7 @@ |
64
|
<template v-slot:default="{ row }">
|
99
|
<template v-slot:default="{ row }">
|
65
|
<el-table
|
100
|
<el-table
|
66
|
:data="row.exportOrderDeclarationBodyList"
|
101
|
:data="row.exportOrderDeclarationBodyList"
|
67
|
- style="width: 100%"
|
102
|
+ style="width: 85%;margin-left: 20px"
|
68
|
row-key="id"
|
103
|
row-key="id"
|
69
|
stripe
|
104
|
stripe
|
70
|
>
|
105
|
>
|
|
@@ -78,16 +113,25 @@ |
|
@@ -78,16 +113,25 @@ |
78
|
<el-table-column prop="price" label="单价" />
|
113
|
<el-table-column prop="price" label="单价" />
|
79
|
<el-table-column prop="totalprice" label="总价" />
|
114
|
<el-table-column prop="totalprice" label="总价" />
|
80
|
<el-table-column prop="note" label="备注" />
|
115
|
<el-table-column prop="note" label="备注" />
|
81
|
- <el-table-column
|
|
|
82
|
- fixed="right"
|
|
|
83
|
- label=""
|
|
|
84
|
- width="120">
|
|
|
85
|
- </el-table-column>
|
|
|
86
|
</el-table>
|
116
|
</el-table>
|
87
|
</template>
|
117
|
</template>
|
88
|
</el-table-column>
|
118
|
</el-table-column>
|
89
|
<el-table-column type="selection" width="55"></el-table-column>
|
119
|
<el-table-column type="selection" width="55"></el-table-column>
|
90
|
- <el-table-column prop="guid" label="GUID" width="180"></el-table-column>
|
120
|
+ <el-table-column prop="orderno" label="订单编号" width="180"></el-table-column>
|
|
|
121
|
+ <el-table-column prop="ordertype" label="订单类型" width="120">
|
|
|
122
|
+ <template slot-scope="scope">
|
|
|
123
|
+ <span v-if="scope.row.ordertype==='E'">
|
|
|
124
|
+ B2C
|
|
|
125
|
+ </span>
|
|
|
126
|
+ <span v-else-if="scope.row.ordertype==='B'">
|
|
|
127
|
+ B2B
|
|
|
128
|
+ </span>
|
|
|
129
|
+ <span v-else>
|
|
|
130
|
+ 海外仓
|
|
|
131
|
+ </span>
|
|
|
132
|
+ </template>
|
|
|
133
|
+ </el-table-column>
|
|
|
134
|
+ <!--<el-table-column prop="guid" label="GUID" width="180"></el-table-column>-->
|
91
|
<el-table-column prop="apptype" label="报送类型" width="120">
|
135
|
<el-table-column prop="apptype" label="报送类型" width="120">
|
92
|
<template slot-scope="scope">
|
136
|
<template slot-scope="scope">
|
93
|
<span v-if="scope.row.apptype==='1'">
|
137
|
<span v-if="scope.row.apptype==='1'">
|
|
@@ -109,20 +153,6 @@ |
|
@@ -109,20 +153,6 @@ |
109
|
</span>
|
153
|
</span>
|
110
|
</template>
|
154
|
</template>
|
111
|
</el-table-column>
|
155
|
</el-table-column>
|
112
|
- <el-table-column prop="ordertype" label="订单类型" width="120">
|
|
|
113
|
- <template slot-scope="scope">
|
|
|
114
|
- <span v-if="scope.row.ordertype==='E'">
|
|
|
115
|
- B2C
|
|
|
116
|
- </span>
|
|
|
117
|
- <span v-else-if="scope.row.ordertype==='B'">
|
|
|
118
|
- B2B
|
|
|
119
|
- </span>
|
|
|
120
|
- <span v-else>
|
|
|
121
|
- 海外仓
|
|
|
122
|
- </span>
|
|
|
123
|
- </template>
|
|
|
124
|
- </el-table-column>
|
|
|
125
|
- <el-table-column prop="orderno" label="订单编号" width="180"></el-table-column>
|
|
|
126
|
<el-table-column prop="ebpname" label="电商平台" width="180"></el-table-column>
|
156
|
<el-table-column prop="ebpname" label="电商平台" width="180"></el-table-column>
|
127
|
<el-table-column prop="goodsvalue" label="商品金额" width="120"></el-table-column>
|
157
|
<el-table-column prop="goodsvalue" label="商品金额" width="120"></el-table-column>
|
128
|
<el-table-column prop="freight" label="运杂费" width="120"></el-table-column>
|
158
|
<el-table-column prop="freight" label="运杂费" width="120"></el-table-column>
|
|
@@ -130,10 +160,11 @@ |
|
@@ -130,10 +160,11 @@ |
130
|
<el-table-column
|
160
|
<el-table-column
|
131
|
fixed="right"
|
161
|
fixed="right"
|
132
|
label="操作"
|
162
|
label="操作"
|
133
|
- width="120"
|
163
|
+ width="180"
|
134
|
show-overflow-tooltip>
|
164
|
show-overflow-tooltip>
|
135
|
<template slot-scope="scope">
|
165
|
<template slot-scope="scope">
|
136
|
- <el-button type="success" @click="sendorder(scope.row)">申报</el-button>
|
166
|
+ <el-button type="text" size="small" @click="sendorder(scope.row)">订单申报</el-button>
|
|
|
167
|
+ <el-button type="text" size="small" @click="sendorder(scope.row)">清单申报</el-button>
|
137
|
</template>
|
168
|
</template>
|
138
|
</el-table-column>
|
169
|
</el-table-column>
|
139
|
</el-table>
|
170
|
</el-table>
|
|
@@ -152,7 +183,7 @@ |
|
@@ -152,7 +183,7 @@ |
152
|
</template>
|
183
|
</template>
|
153
|
|
184
|
|
154
|
<script>
|
185
|
<script>
|
155
|
- import {sendOrder,selectLists} from '../../api/consigner/exportOrder'
|
186
|
+ import {sendOrder,selectLists,batchOrder,batchOrderImport,importExcel} from '../../api/consigner/exportOrder'
|
156
|
export default {
|
187
|
export default {
|
157
|
data() {
|
188
|
data() {
|
158
|
return {
|
189
|
return {
|
|
@@ -194,10 +225,40 @@ |
|
@@ -194,10 +225,40 @@ |
194
|
apptype:'',
|
225
|
apptype:'',
|
195
|
orderno:'',
|
226
|
orderno:'',
|
196
|
ordertype:'',
|
227
|
ordertype:'',
|
|
|
228
|
+ ext1:'',
|
197
|
pageNum:1,
|
229
|
pageNum:1,
|
198
|
pageSize:20
|
230
|
pageSize:20
|
199
|
},
|
231
|
},
|
200
|
- total:0
|
232
|
+ total:0,
|
|
|
233
|
+ pickerOptions: {
|
|
|
234
|
+ shortcuts: [{
|
|
|
235
|
+ text: '最近一周',
|
|
|
236
|
+ onClick(picker) {
|
|
|
237
|
+ const end = new Date();
|
|
|
238
|
+ const start = new Date();
|
|
|
239
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
240
|
+ picker.$emit('pick', [start, end]);
|
|
|
241
|
+ }
|
|
|
242
|
+ }, {
|
|
|
243
|
+ text: '最近一个月',
|
|
|
244
|
+ onClick(picker) {
|
|
|
245
|
+ const end = new Date();
|
|
|
246
|
+ const start = new Date();
|
|
|
247
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
248
|
+ picker.$emit('pick', [start, end]);
|
|
|
249
|
+ }
|
|
|
250
|
+ }, {
|
|
|
251
|
+ text: '最近三个月',
|
|
|
252
|
+ onClick(picker) {
|
|
|
253
|
+ const end = new Date();
|
|
|
254
|
+ const start = new Date();
|
|
|
255
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
256
|
+ picker.$emit('pick', [start, end]);
|
|
|
257
|
+ }
|
|
|
258
|
+ }]
|
|
|
259
|
+ },
|
|
|
260
|
+ value2:'',
|
|
|
261
|
+ transformedData:''
|
201
|
};
|
262
|
};
|
202
|
},
|
263
|
},
|
203
|
mounted() {
|
264
|
mounted() {
|
|
@@ -205,6 +266,46 @@ |
|
@@ -205,6 +266,46 @@ |
205
|
this.getList();
|
266
|
this.getList();
|
206
|
},
|
267
|
},
|
207
|
methods: {
|
268
|
methods: {
|
|
|
269
|
+ //订单批量导入申报
|
|
|
270
|
+ batchOrderImport({ file, onSuccess, onError }){
|
|
|
271
|
+ // 生成 FormData 对象
|
|
|
272
|
+ const formData = new FormData();
|
|
|
273
|
+ formData.append('file', file);
|
|
|
274
|
+ batchOrderImport(formData).then((response) => {
|
|
|
275
|
+ const res = response.data
|
|
|
276
|
+ if (res.code !== '200') {
|
|
|
277
|
+ return this.$message.error(res.msg);
|
|
|
278
|
+ }
|
|
|
279
|
+ this.$message.success(res.msg);
|
|
|
280
|
+ this.getList();
|
|
|
281
|
+ onSuccess(response.data); // 调用 onSuccess 回调通知上传成功
|
|
|
282
|
+ }).catch(error => {
|
|
|
283
|
+ // 关闭加载
|
|
|
284
|
+ this.$message.error(error.toString())
|
|
|
285
|
+ onError(error); // 调用 onError 回调通知上传失败
|
|
|
286
|
+ })
|
|
|
287
|
+ },
|
|
|
288
|
+ //批量申报订单
|
|
|
289
|
+ batchOrder(){
|
|
|
290
|
+ if(this.selectedRows.length!==0){
|
|
|
291
|
+ this.transformedData = this.selectedRows.map(item => ({
|
|
|
292
|
+ orderno: item.orderno,
|
|
|
293
|
+ ext1: item.ext1
|
|
|
294
|
+ }));
|
|
|
295
|
+ batchOrder(this.transformedData).then((response)=>{
|
|
|
296
|
+ const res=response.data;
|
|
|
297
|
+ if (res.code !== '200') {
|
|
|
298
|
+ return this.$message.error('订单批量申报失败!')
|
|
|
299
|
+ }
|
|
|
300
|
+ this.$message.success('订单批量申报成功!');
|
|
|
301
|
+ this.getList();
|
|
|
302
|
+ }).catch(error=>{
|
|
|
303
|
+ this.$message.error(error.toString())
|
|
|
304
|
+ })
|
|
|
305
|
+ }else{
|
|
|
306
|
+ this.$message.error('请选勾取需要申报的订单信息!');
|
|
|
307
|
+ }
|
|
|
308
|
+ },
|
208
|
//导入订单excel
|
309
|
//导入订单excel
|
209
|
beforeUpload(file) {
|
310
|
beforeUpload(file) {
|
210
|
// 检查文件类型
|
311
|
// 检查文件类型
|
|
@@ -220,6 +321,19 @@ |
|
@@ -220,6 +321,19 @@ |
220
|
// 生成 FormData 对象
|
321
|
// 生成 FormData 对象
|
221
|
const formData = new FormData();
|
322
|
const formData = new FormData();
|
222
|
formData.append('file', file);
|
323
|
formData.append('file', file);
|
|
|
324
|
+ importExcel(formData).then((response) => {
|
|
|
325
|
+ const res = response.data
|
|
|
326
|
+ if (res.code !== '200') {
|
|
|
327
|
+ return this.$message.error(res.msg);
|
|
|
328
|
+ }
|
|
|
329
|
+ this.$message.success(res.msg);
|
|
|
330
|
+ this.getList();
|
|
|
331
|
+ onSuccess(response.data); // 调用 onSuccess 回调通知上传成功
|
|
|
332
|
+ }).catch(error => {
|
|
|
333
|
+ // 关闭加载
|
|
|
334
|
+ this.$message.error(error.toString())
|
|
|
335
|
+ onError(error); // 调用 onError 回调通知上传失败
|
|
|
336
|
+ })
|
223
|
},
|
337
|
},
|
224
|
//订单申报
|
338
|
//订单申报
|
225
|
sendorder(row){
|
339
|
sendorder(row){
|
|
@@ -236,6 +350,9 @@ |
|
@@ -236,6 +350,9 @@ |
236
|
},
|
350
|
},
|
237
|
//订单列表查询
|
351
|
//订单列表查询
|
238
|
getList(){
|
352
|
getList(){
|
|
|
353
|
+ if(this.value2 !== null && this.value2 !== ""){
|
|
|
354
|
+ console.log(this.value2)
|
|
|
355
|
+ }
|
239
|
selectLists(this.queryInfo).then((response) => {
|
356
|
selectLists(this.queryInfo).then((response) => {
|
240
|
const res = response.data
|
357
|
const res = response.data
|
241
|
if (res.code !== '200') {
|
358
|
if (res.code !== '200') {
|