正在显示
3 个修改的文件
包含
159 行增加
和
37 行删除
@@ -10,4 +10,9 @@ export const selectLists = params => { return axios.get(`${baseServiceURL}/Expor | @@ -10,4 +10,9 @@ export const selectLists = params => { return axios.get(`${baseServiceURL}/Expor | ||
10 | //订单申报 | 10 | //订单申报 |
11 | export const sendOrder = params => { return http.post(`${baseServiceURL}/ExportOrderDeclaration/sendOrder`, params); }; | 11 | export const sendOrder = params => { return http.post(`${baseServiceURL}/ExportOrderDeclaration/sendOrder`, params); }; |
12 | //上传EXCEL | 12 | //上传EXCEL |
13 | -export const UploadExcel = params => { return http.postExcelData(`${baseServiceURL}/ExportOrderDeclaration/upload`, params); }; | 13 | +export const importExcel = params => { return http.postExcelData(`${baseServiceURL}/import/importExcel`, params); }; |
14 | +//订单批量申报 | ||
15 | +export const batchOrder = params => { return http.post(`${baseServiceURL}/ExportOrderDeclaration/batchOrder`, params); }; | ||
16 | +//订单批量导入申报 | ||
17 | +export const batchOrderImport = params => { return http.postExcelData(`${baseServiceURL}/ExportOrderDeclaration/batchOrderImport`, params); }; | ||
18 | + |
@@ -313,7 +313,7 @@ | @@ -313,7 +313,7 @@ | ||
313 | <el-row :gutter="20"> | 313 | <el-row :gutter="20"> |
314 | <el-col :span="20"> | 314 | <el-col :span="20"> |
315 | <el-form-item> | 315 | <el-form-item> |
316 | - <el-button type="primary" @click="dialogStatus==='create'?addsubmitForm('ruleForm'):edisubmitForm('ruleForm')">保存</el-button> | 316 | + <el-button size="medium" type="primary" @click="dialogStatus==='create'?addsubmitForm('ruleForm'):edisubmitForm('ruleForm')">保存</el-button> |
317 | </el-form-item> | 317 | </el-form-item> |
318 | </el-col> | 318 | </el-col> |
319 | </el-row> | 319 | </el-row> |
@@ -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') { |
-
请 注册 或 登录 后发表评论