正在显示
11 个修改的文件
包含
1194 行增加
和
353 行删除
@@ -7,3 +7,7 @@ export const getCountry = params => { return http.get(`${baseUrl}/getCountryCode | @@ -7,3 +7,7 @@ export const getCountry = params => { return http.get(`${baseUrl}/getCountryCode | ||
7 | export const getByCountryCodeForName = params => { return http.post(`${baseUrl}/getByCountryCodeForName`,params)}; | 7 | export const getByCountryCodeForName = params => { return http.post(`${baseUrl}/getByCountryCodeForName`,params)}; |
8 | 8 | ||
9 | export const getByCountryCode = params => { return http.post(`${baseUrl}/getByCountryCode`,params)}; | 9 | export const getByCountryCode = params => { return http.post(`${baseUrl}/getByCountryCode`,params)}; |
10 | + | ||
11 | +export const getAirportCode = params =>{return http.get(`/nmms-server-import/nmms/mt1201/selectList`,params)} | ||
12 | + | ||
13 | +export const getCustomCode = params =>{return http.get(`/nmms-server-import/nmms/mt1201/selectCustomcode`,params)} |
@@ -12,3 +12,7 @@ export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus | @@ -12,3 +12,7 @@ export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus | ||
12 | export const updateMT3201 = params => { return http.put(`${baseUrl}/updateMt3201`,params)}; | 12 | export const updateMT3201 = params => { return http.put(`${baseUrl}/updateMt3201`,params)}; |
13 | 13 | ||
14 | export const addMt3201 = params => { return http.post(`${baseUrl}/addMt3201`,params)}; | 14 | export const addMt3201 = params => { return http.post(`${baseUrl}/addMt3201`,params)}; |
15 | + | ||
16 | +export const sendCreateMt3201 = params => { return http.post(`${baseUrl}/sendCreateMt3201`,params)}; | ||
17 | + | ||
18 | +export const sendRemoveMt3201 = params => { return http.post(`${baseUrl}/sendRemoveMt3201`,params)}; |
@@ -12,3 +12,8 @@ export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus | @@ -12,3 +12,8 @@ export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus | ||
12 | export const updateMT4201 = params => { return http.put(`${baseUrl}/updateMt4201`,params)}; | 12 | export const updateMT4201 = params => { return http.put(`${baseUrl}/updateMt4201`,params)}; |
13 | 13 | ||
14 | export const addMt4201 = params => { return http.post(`${baseUrl}/addMt4201`,params)}; | 14 | export const addMt4201 = params => { return http.post(`${baseUrl}/addMt4201`,params)}; |
15 | + | ||
16 | + | ||
17 | +export const sendCreateMt4201 = params => { return http.post(`${baseUrl}/sendCreateMt4201`,params)}; | ||
18 | + | ||
19 | +export const sendDeleteMt4201 = params => { return http.post(`${baseUrl}/sendDeleteMt4201`,params)}; |
@@ -17,3 +17,9 @@ export const getLostLoadChange = params => { return http.get(`${baseUrl}/getLost | @@ -17,3 +17,9 @@ export const getLostLoadChange = params => { return http.get(`${baseUrl}/getLost | ||
17 | export const saveLostChange = params => { return http.get(`${baseUrl}/saveLostChange`, params)}; | 17 | export const saveLostChange = params => { return http.get(`${baseUrl}/saveLostChange`, params)}; |
18 | 18 | ||
19 | export const saveLostLoad = params => { return http.put(`${baseUrl}/saveLostLoad`,params)}; | 19 | export const saveLostLoad = params => { return http.put(`${baseUrl}/saveLostLoad`,params)}; |
20 | + | ||
21 | +export const sendDeleteMt2201 = params =>{return http.post(`${baseUrl}/sendDeleteMt2201`,params)} | ||
22 | + | ||
23 | +export const sendUpdateMt2201 = params =>{return http.post(`${baseUrl}/sendUpdateMt2201`,params)} | ||
24 | + | ||
25 | +export const sendCreateMt2201 = params =>{return http.post(`${baseUrl}/sendCreateMt2201`,params)} |
@@ -12,3 +12,7 @@ export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus | @@ -12,3 +12,7 @@ export const updateStatus = params => { return http.put(`${baseUrl}/updateStatus | ||
12 | export const updateMt520X = params => { return http.put(`${baseUrl}/updateMt520x`,params)}; | 12 | export const updateMt520X = params => { return http.put(`${baseUrl}/updateMt520x`,params)}; |
13 | 13 | ||
14 | export const addMt520X = params => { return http.post(`${baseUrl}/addMt520x`,params)}; | 14 | export const addMt520X = params => { return http.post(`${baseUrl}/addMt520x`,params)}; |
15 | + | ||
16 | +export const sendCreateMt5202 = params => { return http.post(`${baseUrl}/sendCreateMt5202`,params)}; | ||
17 | + | ||
18 | +export const sendRemoveMt5202 = params => { return http.post(`${baseUrl}/sendRemoveMt5202`,params)}; |
@@ -51,15 +51,15 @@ | @@ -51,15 +51,15 @@ | ||
51 | </el-col> | 51 | </el-col> |
52 | </el-row> | 52 | </el-row> |
53 | </div> | 53 | </div> |
54 | - <el-table v-loading="listLoading" :data="arriveData" stripe fit highlight-current-row | 54 | + <tree-table v-loading="listLoading" :data="arriveData" stripe fit highlight-current-row |
55 | style="font-size: 12px" border @selection-change="handleSelectionChange"> | 55 | style="font-size: 12px" border @selection-change="handleSelectionChange"> |
56 | <el-table-column type="selection" width="55" align="center"></el-table-column> | 56 | <el-table-column type="selection" width="55" align="center"></el-table-column> |
57 | - <el-table-column label="航班号" width="70" align="center"> | 57 | + <el-table-column label="航班号" width="60" align="center"> |
58 | <template slot-scope="scope"> | 58 | <template slot-scope="scope"> |
59 | <span>{{scope.row.carrier}}{{scope.row.flightno}}</span> | 59 | <span>{{scope.row.carrier}}{{scope.row.flightno}}</span> |
60 | </template> | 60 | </template> |
61 | </el-table-column> | 61 | </el-table-column> |
62 | - <el-table-column label="运单号" width="120" align="center"> | 62 | + <el-table-column label="运单号" width="110" align="center"> |
63 | <template slot-scope="scope"> | 63 | <template slot-scope="scope"> |
64 | <span>{{scope.row.awba}}</span> | 64 | <span>{{scope.row.awba}}</span> |
65 | </template> | 65 | </template> |
@@ -79,7 +79,7 @@ | @@ -79,7 +79,7 @@ | ||
79 | <span>{{scope.row.weight}}</span> | 79 | <span>{{scope.row.weight}}</span> |
80 | </template> | 80 | </template> |
81 | </el-table-column> | 81 | </el-table-column> |
82 | - <el-table-column label="货物描述" width="100" align="center"> | 82 | + <el-table-column label="货物描述" width="120" align="center"> |
83 | <template slot-scope="scope"> | 83 | <template slot-scope="scope"> |
84 | <span>{{scope.row.goodsname}}</span> | 84 | <span>{{scope.row.goodsname}}</span> |
85 | </template> | 85 | </template> |
@@ -91,48 +91,58 @@ | @@ -91,48 +91,58 @@ | ||
91 | </el-table-column> | 91 | </el-table-column> |
92 | <el-table-column label="状态" width="100" align="center"> | 92 | <el-table-column label="状态" width="100" align="center"> |
93 | <template slot-scope="scope"> | 93 | <template slot-scope="scope"> |
94 | - <span v-if="scope.row.status ==='01'">未发送</span> | ||
95 | - <span v-if="scope.row.status ==='02'">已发舱单报</span> | 94 | + <span v-if="scope.row.status ==='01'">接受申报</span> |
95 | + <span v-if="scope.row.status ==='02'">待人工审核</span> | ||
96 | + <span v-if="scope.row.status ==='03'">退单</span> | ||
96 | <span v-if="scope.row.status ==='05'">舱单报退单</span> | 97 | <span v-if="scope.row.status ==='05'">舱单报退单</span> |
97 | <span v-if="scope.row.status ==='06'">舱单转人工</span> | 98 | <span v-if="scope.row.status ==='06'">舱单转人工</span> |
98 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | 99 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> |
99 | <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | 100 | <span v-if="scope.row.status ==='08'">已发舱单删除报</span> |
100 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | 101 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> |
101 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | 102 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> |
102 | - <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
103 | - <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
104 | - <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | 103 | + <span v-if="scope.row.status ==='11'">放行</span> |
104 | + <span v-if="scope.row.status ==='12'">拒装</span> | ||
105 | + <span v-if="scope.row.status ==='13'">禁卸</span> | ||
105 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | 106 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> |
106 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | 107 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> |
107 | <span v-if="scope.row.status ==='16'">海关已存在</span> | 108 | <span v-if="scope.row.status ==='16'">海关已存在</span> |
109 | + <span v-if="scope.row.status ==='21'">可自动发送</span> | ||
110 | + <span v-if="scope.row.status ==='22'">未发送</span> | ||
111 | + <span v-if="scope.row.status ==='23'">已发送新增报</span> | ||
112 | + <span v-if="scope.row.status ==='24'">已发送删除报</span> | ||
113 | + <span v-if="scope.row.status ==='25'">已发送修改报</span> | ||
108 | </template> | 114 | </template> |
109 | </el-table-column> | 115 | </el-table-column> |
110 | - <el-table-column prop="receipt" label="回执信息" width="180" align="center"> | 116 | + <el-table-column prop="receipt" label="回执信息" align="center"> |
111 | <template slot-scope="scope"> | 117 | <template slot-scope="scope"> |
112 | <span>{{scope.row.ext5}}</span> | 118 | <span>{{scope.row.ext5}}</span> |
113 | </template> | 119 | </template> |
114 | </el-table-column> | 120 | </el-table-column> |
115 | - <el-table-column prop="operation" label="操作" align="center"> | 121 | + <el-table-column prop="operation" label="操作" align="center" width="400"> |
116 | <template slot-scope="scope"> | 122 | <template slot-scope="scope"> |
117 | - <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | ||
118 | - <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑运单</el-button> | ||
119 | - <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" | ||
120 | - :disabled="scope.row.status !=='00'">发送舱单报 | 123 | + <el-button size="mini" @click="handleSendDesc(scope.row)">收发明细</el-button> |
124 | + <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑</el-button> | ||
125 | + <el-button size="mini" type="primary" @click="handleSendAwb(scope.row)" | ||
126 | + :disabled="scope.row.status ==='23'">发送舱单报 | ||
127 | + </el-button> | ||
128 | + <p></p> | ||
129 | + <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单 | ||
121 | </el-button> | 130 | </el-button> |
122 | - <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单</el-button> | ||
123 | - | ||
124 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | 131 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" |
125 | - :disabled="scope.row.status ==='00'">修改状态 | 132 | + :disabled="scope.row.status ==='22'">更改状态 |
133 | + </el-button> | ||
134 | + <el-button size="mini" type="danger" @click="handleSendDelete(scope.row)" | ||
135 | + :disabled="scope.row.status ==='24'">发删除报 | ||
126 | </el-button> | 136 | </el-button> |
127 | </template> | 137 | </template> |
128 | </el-table-column> | 138 | </el-table-column> |
129 | - </el-table> | 139 | + </tree-table> |
130 | <div class="btnFoot"> | 140 | <div class="btnFoot"> |
131 | <el-row> | 141 | <el-row> |
132 | <el-button type="primary" size="mini" v-if="arriveQuery.flightno !==undefined || arriveData.length>0" | 142 | <el-button type="primary" size="mini" v-if="arriveQuery.flightno !==undefined || arriveData.length>0" |
133 | @click="handelAddArriveInfo">新增出港运抵 | 143 | @click="handelAddArriveInfo">新增出港运抵 |
134 | </el-button> | 144 | </el-button> |
135 | - <el-button type="primary" size="mini" v-if="arriveModel.flightno !== undefined || arriveData.length>0" | 145 | + <el-button type="primary" size="mini" v-if="arriveQuery.flightno !== undefined || arriveData.length>0" |
136 | @click="handelBackStep">返回 | 146 | @click="handelBackStep">返回 |
137 | </el-button> | 147 | </el-button> |
138 | </el-row> | 148 | </el-row> |
@@ -185,14 +195,28 @@ | @@ -185,14 +195,28 @@ | ||
185 | <el-row> | 195 | <el-row> |
186 | <el-col :span="7.5"> | 196 | <el-col :span="7.5"> |
187 | <el-form-item label="起始站" prop="originstation"> | 197 | <el-form-item label="起始站" prop="originstation"> |
188 | - <el-input v-model="originstation" | ||
189 | - :disabled="dialogFormVisible === 'update'"></el-input> | 198 | + <el-select filterable clearable placeholder="请选择起始站" :remote-method="remoteMethodAirport" |
199 | + allow-create v-model="originstation" remote> | ||
200 | + <el-option v-for="item in airportCode" | ||
201 | + :key="item.airportid" :label="item.airportid" | ||
202 | + :value="item.airportid" :disabled="dialogFormVisible === 'update'"> | ||
203 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
204 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
205 | + </el-option> | ||
206 | + </el-select> | ||
190 | </el-form-item> | 207 | </el-form-item> |
191 | </el-col> | 208 | </el-col> |
192 | <el-col :span="7.5"> | 209 | <el-col :span="7.5"> |
193 | <el-form-item label="目的站" prop="destinationstation"> | 210 | <el-form-item label="目的站" prop="destinationstation"> |
194 | - <el-input v-model="destinationstation" | ||
195 | - :disabled="dialogFormVisible === 'update'"></el-input> | 211 | + <el-select filterable clearable placeholder="请选择起始站" :remote-method="remoteMethodAirport" |
212 | + allow-create v-model="destinationstation" remote> | ||
213 | + <el-option v-for="item in airportCode" | ||
214 | + :key="item.airportid" :label="item.airportid" | ||
215 | + :value="item.airportid" :disabled="dialogFormVisible === 'update'"> | ||
216 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
217 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
218 | + </el-option> | ||
219 | + </el-select> | ||
196 | </el-form-item> | 220 | </el-form-item> |
197 | </el-col> | 221 | </el-col> |
198 | </el-row> | 222 | </el-row> |
@@ -226,9 +250,15 @@ | @@ -226,9 +250,15 @@ | ||
226 | </el-col> | 250 | </el-col> |
227 | <el-col :span="7.5"> | 251 | <el-col :span="7.5"> |
228 | <el-form-item label="海关关区" prop="customcode"> | 252 | <el-form-item label="海关关区" prop="customcode"> |
229 | - <el-select v-model="arriveModel.customcode"> | ||
230 | - <el-option v-for="item in customcodeList " :key="item" :label="item" | ||
231 | - :value="item"></el-option> | 253 | + <el-select v-model="arriveModel.customcode" placeholder="请选择关区代码" :loading="customLoading" |
254 | + filterable clearable remote :remote-method="remoteMethodCustomCode" | ||
255 | + :disabled="dialogStatus === 'addAwbh'"> | ||
256 | + <el-option v-for="item in customCodeList" :key="item.customcode" | ||
257 | + :label="item.customcode" | ||
258 | + :value="item.customcode"> | ||
259 | + <span style="float: left">{{ item.customcode }}</span> | ||
260 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.customname }}</span> | ||
261 | + </el-option> | ||
232 | </el-select> | 262 | </el-select> |
233 | </el-form-item> | 263 | </el-form-item> |
234 | </el-col> | 264 | </el-col> |
@@ -237,12 +267,11 @@ | @@ -237,12 +267,11 @@ | ||
237 | <div slot="footer" class="dialog-footer"> | 267 | <div slot="footer" class="dialog-footer"> |
238 | <el-button @click="dialogFormVisible = false">取消</el-button> | 268 | <el-button @click="dialogFormVisible = false">取消</el-button> |
239 | <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | 269 | <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> |
240 | - <el-button type="success" @click="SaveAndSend">保存并发送</el-button> | ||
241 | </div> | 270 | </div> |
242 | </el-dialog> | 271 | </el-dialog> |
243 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | 272 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> |
244 | <el-table :data="detailData" border> | 273 | <el-table :data="detailData" border> |
245 | - <el-table-column label="操作时间" width="150"> | 274 | + <el-table-column label="操作时间" width="180"> |
246 | <template slot-scope="scope"> | 275 | <template slot-scope="scope"> |
247 | {{scope.row.busdate}} | 276 | {{scope.row.busdate}} |
248 | </template> | 277 | </template> |
@@ -279,16 +308,51 @@ | @@ -279,16 +308,51 @@ | ||
279 | </el-table-column> | 308 | </el-table-column> |
280 | </el-table> | 309 | </el-table> |
281 | </el-dialog> | 310 | </el-dialog> |
311 | + <el-dialog title="删除原因" :visible.sync="dialogDeleteVisible" width="30%"> | ||
312 | + <el-form ref="arriveDeleteForm" :model="respModel" :rules="arriveDeleteRules" | ||
313 | + label-width="120px" style="margin-right: 50px"> | ||
314 | + <el-form-item label="删除原因" prop="reason"> | ||
315 | + <el-input v-model="respModel.reason" placeholder="删除原因"></el-input> | ||
316 | + </el-form-item> | ||
317 | + <el-form-item label="删除操作人" prop="contactName"> | ||
318 | + <el-input v-model="respModel.contactName" placeholder="操作人姓名"></el-input> | ||
319 | + </el-form-item> | ||
320 | + <el-form-item label="操作人Tel" prop="contactTel"> | ||
321 | + <el-input v-model="respModel.contactTel" placeholder="删除操作人联系方式"></el-input> | ||
322 | + </el-form-item> | ||
323 | + <el-form-item label="备注"> | ||
324 | + <el-input v-model="respModel.content" type="textarea"></el-input> | ||
325 | + </el-form-item> | ||
326 | + </el-form> | ||
327 | + <div slot="footer" class="dialog-footer"> | ||
328 | + <el-button @click="dialogDeleteVisible = false">取消</el-button> | ||
329 | + <el-button type="primary" @click="sendArriveDelete()">发送</el-button> | ||
330 | + </div> | ||
331 | + </el-dialog> | ||
282 | </div> | 332 | </div> |
283 | </template> | 333 | </template> |
284 | <script> | 334 | <script> |
285 | import treeTable from '@/components/TreeTable' | 335 | import treeTable from '@/components/TreeTable' |
286 | import treeToArray from '@/utils/customEval' | 336 | import treeToArray from '@/utils/customEval' |
287 | import Pagination from '@/components/Pagination' | 337 | import Pagination from '@/components/Pagination' |
288 | - | ||
289 | - import {getMt3201ListForParam, deleteByIsDelete, updateStatus, updateMT3201, addMt3201} from '@/api/exitArrive' | 338 | + import {getCustomCode, getAirportCode} from "@/api/country"; |
339 | + import { | ||
340 | + getMt3201ListForParam, | ||
341 | + deleteByIsDelete, | ||
342 | + updateStatus, | ||
343 | + updateMT3201, | ||
344 | + addMt3201, | ||
345 | + sendCreateMt3201, | ||
346 | + sendRemoveMt3201 | ||
347 | + } from '@/api/exitArrive' | ||
290 | import {Message} from "element-ui"; | 348 | import {Message} from "element-ui"; |
291 | - import {validAwb, validAlphabets, validAlphabetsAndNum,validAlphabetsAndSpanceKey,validatorNum} from "@/utils/validate"; | 349 | + import { |
350 | + validAwb, | ||
351 | + validAlphabets, | ||
352 | + validAlphabetsAndNum, | ||
353 | + validAlphabetsAndSpanceKey, | ||
354 | + validatorNum | ||
355 | + } from "@/utils/validate"; | ||
292 | import {getResponseForParam} from '@/api/responseDetail' | 356 | import {getResponseForParam} from '@/api/responseDetail' |
293 | 357 | ||
294 | export default { | 358 | export default { |
@@ -314,8 +378,8 @@ | @@ -314,8 +378,8 @@ | ||
314 | } | 378 | } |
315 | callback() | 379 | callback() |
316 | } | 380 | } |
317 | - const validAlphabetsSpanceKey = (rule,value,callback) =>{ | ||
318 | - if(!validAlphabetsAndSpanceKey(value)){ | 381 | + const validAlphabetsSpanceKey = (rule, value, callback) => { |
382 | + if (!validAlphabetsAndSpanceKey(value)) { | ||
319 | callback("只能输入字母、数字、空格") | 383 | callback("只能输入字母、数字、空格") |
320 | } | 384 | } |
321 | callback() | 385 | callback() |
@@ -339,7 +403,8 @@ | @@ -339,7 +403,8 @@ | ||
339 | flightdate: undefined, | 403 | flightdate: undefined, |
340 | originstation: undefined, | 404 | originstation: undefined, |
341 | destinationstation: undefined, | 405 | destinationstation: undefined, |
342 | - customcode: undefined | 406 | + customcode: undefined, |
407 | + messageType: undefined, | ||
343 | }, | 408 | }, |
344 | dialogMap: { | 409 | dialogMap: { |
345 | update: '编辑出港运抵', | 410 | update: '编辑出港运抵', |
@@ -347,11 +412,14 @@ | @@ -347,11 +412,14 @@ | ||
347 | }, | 412 | }, |
348 | dialogTableVisible: false, | 413 | dialogTableVisible: false, |
349 | multipleSelection: [], | 414 | multipleSelection: [], |
350 | - customcodeList: [4604, 4620], | 415 | + customCodeList: [], |
416 | + airportCode: [], | ||
351 | dialogStatus: undefined, | 417 | dialogStatus: undefined, |
352 | awbhStatus: false, | 418 | awbhStatus: false, |
353 | dialogFormVisible: false, | 419 | dialogFormVisible: false, |
420 | + dialogDeleteVisible: false, | ||
354 | listLoading: false, | 421 | listLoading: false, |
422 | + customLoading: false, | ||
355 | arriveRoles: { | 423 | arriveRoles: { |
356 | awba: [{required: true, trigger: 'blur', validator: validatorAwb}], | 424 | awba: [{required: true, trigger: 'blur', validator: validatorAwb}], |
357 | awbh: [{required: true, trigger: 'blur', validator: validatorAwbh}], | 425 | awbh: [{required: true, trigger: 'blur', validator: validatorAwbh}], |
@@ -379,7 +447,24 @@ | @@ -379,7 +447,24 @@ | ||
379 | customcode: undefined, | 447 | customcode: undefined, |
380 | arrivetime: undefined, | 448 | arrivetime: undefined, |
381 | messageType: 'MT3201' | 449 | messageType: 'MT3201' |
382 | - } | 450 | + }, |
451 | + respModel: { | ||
452 | + uuid: undefined, | ||
453 | + reason: undefined, | ||
454 | + contactName: undefined, | ||
455 | + contactTel: undefined, | ||
456 | + content: '', | ||
457 | + flightNo: undefined, | ||
458 | + awba: undefined, | ||
459 | + customCode: undefined, | ||
460 | + flightDate: undefined, | ||
461 | + awbh: '' | ||
462 | + }, | ||
463 | + arriveDeleteRules: { | ||
464 | + reason: [{required: true, message: '删除原因不能为空', trigger: 'blur'}], | ||
465 | + contactName: [{required: true, message: '删除操作人不能为空', trigger: 'blur'}], | ||
466 | + contactTel: [{required: true, message: '操作人联系方式不能为空', trigger: 'blur'}] | ||
467 | + }, | ||
383 | } | 468 | } |
384 | }, | 469 | }, |
385 | created() { | 470 | created() { |
@@ -388,7 +473,6 @@ | @@ -388,7 +473,6 @@ | ||
388 | if (this.$route.params.flightData.awba !== undefined && this.$route.params.flightData.awba !== '') { | 473 | if (this.$route.params.flightData.awba !== undefined && this.$route.params.flightData.awba !== '') { |
389 | this.arriveQuery.awba = this.$route.params.flightData.awba.substring(0, 3) + "-" + this.$route.params.flightData.awba.substring(3) | 474 | this.arriveQuery.awba = this.$route.params.flightData.awba.substring(0, 3) + "-" + this.$route.params.flightData.awba.substring(3) |
390 | } | 475 | } |
391 | - | ||
392 | this.arriveQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) | 476 | this.arriveQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) |
393 | this.arriveQuery.flightno = this.$route.params.flightData.flightno.substring(2) | 477 | this.arriveQuery.flightno = this.$route.params.flightData.flightno.substring(2) |
394 | this.arriveQuery.flightdate = this.$route.params.flightData.flightdate | 478 | this.arriveQuery.flightdate = this.$route.params.flightData.flightdate |
@@ -397,7 +481,7 @@ | @@ -397,7 +481,7 @@ | ||
397 | this.getList() | 481 | this.getList() |
398 | } | 482 | } |
399 | let username = JSON.parse(sessionStorage.getItem('user')).username | 483 | let username = JSON.parse(sessionStorage.getItem('user')).username |
400 | - if(username === 'admin'){ | 484 | + if (username === 'admin') { |
401 | this.isAdmin = true | 485 | this.isAdmin = true |
402 | } | 486 | } |
403 | }, | 487 | }, |
@@ -575,12 +659,78 @@ | @@ -575,12 +659,78 @@ | ||
575 | 659 | ||
576 | }) | 660 | }) |
577 | }, | 661 | }, |
578 | - //保存并发送 | ||
579 | - SaveAndSend() { | 662 | + // 发送舱单报 |
663 | + handleSendAwb(row) { | ||
664 | + this.$confirm("是否发送", "确认消息", { | ||
665 | + distinguishCancelAndClose: true, | ||
666 | + confirmButtonText: '发送', | ||
667 | + cancelButtonText: '取消' | ||
668 | + }).then(() => { | ||
669 | + if (row.awbh === null) { | ||
670 | + row.awbh = '' | ||
671 | + } | ||
672 | + delete row.parent | ||
673 | + delete row.children | ||
674 | + sendCreateMt3201(row).then(res => { | ||
675 | + if (res.data.count > 0) { | ||
676 | + Message.success(res.data.respMessage) | ||
677 | + this.getList() | ||
678 | + } else { | ||
679 | + Message.success(res.data.respMessage) | ||
680 | + } | ||
681 | + }) | ||
682 | + }).catch(error => { | ||
683 | + Message.error(error.message) | ||
684 | + }) | ||
685 | + }, | ||
686 | + | ||
687 | + // 发送删除报 | ||
688 | + handleSendDelete(row) { | ||
689 | + this.respModel = { | ||
690 | + carrier: undefined, | ||
691 | + reason: undefined, | ||
692 | + contactName: undefined, | ||
693 | + contactTel: undefined, | ||
694 | + content: '', | ||
695 | + flightNo: undefined, | ||
696 | + awba: undefined, | ||
697 | + customCode: undefined, | ||
698 | + flightDate: undefined, | ||
699 | + awbh: undefined | ||
700 | + } | ||
701 | + this.dialogDeleteVisible = true | ||
702 | + this.respModel.flightNo = row.flightno | ||
703 | + this.respModel.awba = row.awba | ||
704 | + this.respModel.carrier = row.carrier | ||
705 | + if (row.awbh === null) { | ||
706 | + this.respModel.awbh = '' | ||
707 | + } else { | ||
708 | + this.respModel.awbh = row.awbh | ||
709 | + } | ||
710 | + this.respModel.customCode = row.customcode | ||
711 | + this.respModel.flightDate = row.flightdate | ||
712 | + this.$nextTick(() => { | ||
713 | + this.$refs.arriveDeleteForm.clearValidate() | ||
714 | + }) | ||
715 | + }, | ||
580 | 716 | ||
717 | + sendArriveDelete() { | ||
718 | + this.$refs.arriveDeleteForm.validate(valid => { | ||
719 | + if (valid) { | ||
720 | + sendRemoveMt3201(this.respModel).then(res => { | ||
721 | + if (res.data.count > 0) { | ||
722 | + Message.success(res.data.respMessage) | ||
723 | + this.dialogDeleteVisible = false | ||
724 | + this.getList() | ||
725 | + } else { | ||
726 | + Message.error(res.data.respMessage) | ||
727 | + } | ||
728 | + }) | ||
729 | + } | ||
730 | + }) | ||
581 | }, | 731 | }, |
582 | // 收发明细 | 732 | // 收发明细 |
583 | - handleSend(row) { | 733 | + handleSendDesc(row) { |
584 | const resQuery = { | 734 | const resQuery = { |
585 | carrier: row.carrier, | 735 | carrier: row.carrier, |
586 | flightNo: row.flightno, | 736 | flightNo: row.flightno, |
@@ -594,15 +744,7 @@ | @@ -594,15 +744,7 @@ | ||
594 | this.detailData = res.data | 744 | this.detailData = res.data |
595 | }) | 745 | }) |
596 | }, | 746 | }, |
597 | - // 发送舱单报 | ||
598 | - handleAwbSend() { | ||
599 | - | ||
600 | - }, | ||
601 | - // 发送修改报 | ||
602 | - handleAwbEdit() { | ||
603 | - | ||
604 | - }, | ||
605 | - //发送删除报 | 747 | + //删除运单 |
606 | handleAwbDelete(row) { | 748 | handleAwbDelete(row) { |
607 | this.$confirm("是否删除", "确认消息", { | 749 | this.$confirm("是否删除", "确认消息", { |
608 | distinguishCancelAndClose: true, | 750 | distinguishCancelAndClose: true, |
@@ -634,25 +776,29 @@ | @@ -634,25 +776,29 @@ | ||
634 | }, | 776 | }, |
635 | //更改状态 | 777 | //更改状态 |
636 | handleAwbStatus(row) { | 778 | handleAwbStatus(row) { |
779 | + | ||
637 | this.$confirm("是否发送更改状态", "确认消息", { | 780 | this.$confirm("是否发送更改状态", "确认消息", { |
638 | distinguishCancelAndClose: true, | 781 | distinguishCancelAndClose: true, |
639 | confirmButtonText: '确认更改', | 782 | confirmButtonText: '确认更改', |
640 | cancelButtonText: '取消更改' | 783 | cancelButtonText: '取消更改' |
641 | }).then(() => { | 784 | }).then(() => { |
642 | - updateStatus(row).then(res => { | ||
643 | - if (res.data.count > 0) { | ||
644 | - this.$message({ | ||
645 | - type: 'success', | ||
646 | - message: '当前运单状态已更改' | ||
647 | - }) | ||
648 | - this.getList() | ||
649 | - } else { | ||
650 | - this.$message({ | ||
651 | - type: 'error', | ||
652 | - message: '状态更改失败,请稍后重试' | ||
653 | - }) | ||
654 | - } | ||
655 | - }) | 785 | + if (row.status!==22){ |
786 | + row.status =22; | ||
787 | + } | ||
788 | + // updateStatus(row).then(res => { | ||
789 | + // if (res.data.count > 0) { | ||
790 | + // this.$message({ | ||
791 | + // type: 'success', | ||
792 | + // message: '当前运单状态已更改' | ||
793 | + // }) | ||
794 | + // this.getList() | ||
795 | + // } else { | ||
796 | + // this.$message({ | ||
797 | + // type: 'error', | ||
798 | + // message: '状态更改失败,请稍后重试' | ||
799 | + // }) | ||
800 | + // } | ||
801 | + // }) | ||
656 | 802 | ||
657 | }).catch(action => { | 803 | }).catch(action => { |
658 | this.$message({ | 804 | this.$message({ |
@@ -663,6 +809,41 @@ | @@ -663,6 +809,41 @@ | ||
663 | }) | 809 | }) |
664 | }) | 810 | }) |
665 | }, | 811 | }, |
812 | + //获取机场三字码 | ||
813 | + remoteMethodAirport(query) { | ||
814 | + this.airportCode = [] | ||
815 | + if (query !== '') { | ||
816 | + this.listLoading = true | ||
817 | + getAirportCode({airportid: query}).then(res => { | ||
818 | + if (res !== null) { | ||
819 | + setTimeout(() => { | ||
820 | + this.listLoading = false | ||
821 | + this.airportCode = res.data.data | ||
822 | + }, 200) | ||
823 | + } | ||
824 | + }) | ||
825 | + } else { | ||
826 | + this.airportCode = [] | ||
827 | + } | ||
828 | + }, | ||
829 | + //关区代码 | ||
830 | + remoteMethodCustomCode(query) { | ||
831 | + this.customCodeList = [] | ||
832 | + if (query !== '') { | ||
833 | + this.customLoading = true | ||
834 | + getCustomCode({customcode: query}).then(res => { | ||
835 | + if (res !== null) { | ||
836 | + setTimeout(() => { | ||
837 | + this.customLoading = false | ||
838 | + this.customCodeList = res.data.data | ||
839 | + }, 200) | ||
840 | + } | ||
841 | + }) | ||
842 | + } else { | ||
843 | + this.airportCode = [] | ||
844 | + } | ||
845 | + }, | ||
846 | + | ||
666 | // 携数据跳转 新增运抵 | 847 | // 携数据跳转 新增运抵 |
667 | handleAddArrive() { | 848 | handleAddArrive() { |
668 | const row = { | 849 | const row = { |
@@ -671,7 +852,8 @@ | @@ -671,7 +852,8 @@ | ||
671 | this.$router.push({name: "出港航班信息", params: {scopeRow: row}}) | 852 | this.$router.push({name: "出港航班信息", params: {scopeRow: row}}) |
672 | }, | 853 | }, |
673 | handelBackStep() { | 854 | handelBackStep() { |
674 | - this.$router.push({name: '出港航班信息', params: {scopeRow: this.arriveModel}}) | 855 | + this.arriveQuery.messageType = 'MT3201' |
856 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.arriveQuery}}) | ||
675 | } | 857 | } |
676 | 858 | ||
677 | } | 859 | } |
@@ -26,14 +26,42 @@ | @@ -26,14 +26,42 @@ | ||
26 | </el-date-picker> | 26 | </el-date-picker> |
27 | </el-col> | 27 | </el-col> |
28 | <el-col :span="4"> | 28 | <el-col :span="4"> |
29 | - <el-input placeholder="必填" v-model="originstation"> | ||
30 | - <template slot="prepend">始发站</template> | ||
31 | - </el-input> | 29 | + <el-select |
30 | + :remote-method="remoteMethodAirport" | ||
31 | + :loading="listLoading" | ||
32 | + v-model="flight.originstation" | ||
33 | + allow-create | ||
34 | + filterable | ||
35 | + remote | ||
36 | + placeholder="请选择起始站" clearable> | ||
37 | + <el-option | ||
38 | + v-for="item in airportCode" | ||
39 | + :key="item.airportid" | ||
40 | + :label="item.airportid" | ||
41 | + :value="item.airportid"> | ||
42 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
43 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
44 | + </el-option> | ||
45 | + </el-select> | ||
32 | </el-col> | 46 | </el-col> |
33 | <el-col :span="4" style="margin-left: 20px"> | 47 | <el-col :span="4" style="margin-left: 20px"> |
34 | - <el-input placeholder="必填" v-model="destinationstation"> | ||
35 | - <template slot="prepend">目的站</template> | ||
36 | - </el-input> | 48 | + <el-select |
49 | + :remote-method="remoteMethodAirport" | ||
50 | + :loading="listLoading" | ||
51 | + v-model="flight.destinationstation" | ||
52 | + allow-create | ||
53 | + filterable | ||
54 | + remote | ||
55 | + placeholder="请选择目的站" clearable> | ||
56 | + <el-option | ||
57 | + v-for="item in airportCode" | ||
58 | + :key="item.airportid" | ||
59 | + :label="item.airportdescchn" | ||
60 | + :value="item.airportid"> | ||
61 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
62 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
63 | + </el-option> | ||
64 | + </el-select> | ||
37 | </el-col> | 65 | </el-col> |
38 | <el-col :span="4" style="margin-left: 20px"> | 66 | <el-col :span="4" style="margin-left: 20px"> |
39 | <el-input placeholder="可为空" v-model="awba"> | 67 | <el-input placeholder="可为空" v-model="awba"> |
@@ -55,6 +83,7 @@ | @@ -55,6 +83,7 @@ | ||
55 | 83 | ||
56 | <script> | 84 | <script> |
57 | import {Message} from "element-ui"; | 85 | import {Message} from "element-ui"; |
86 | + import {getCountry, getAirportCode} from "@/api/country"; | ||
58 | 87 | ||
59 | export default { | 88 | export default { |
60 | name: 'ExitFlightDesc', | 89 | name: 'ExitFlightDesc', |
@@ -66,14 +95,18 @@ | @@ -66,14 +95,18 @@ | ||
66 | originstation: undefined, | 95 | originstation: undefined, |
67 | destinationstation: undefined, | 96 | destinationstation: undefined, |
68 | awba: undefined, | 97 | awba: undefined, |
69 | - messageType:undefined | 98 | + messageType: undefined |
70 | }, | 99 | }, |
71 | - btnStatus: true | 100 | + btnStatus: true, |
101 | + listLoading: false, | ||
102 | + airportList: [], | ||
103 | + airportResultCode: [], | ||
104 | + airportCode: [], | ||
72 | }; | 105 | }; |
73 | }, | 106 | }, |
74 | created() { | 107 | created() { |
75 | if (this.$route.params.scopeRow !== undefined) { | 108 | if (this.$route.params.scopeRow !== undefined) { |
76 | - if(this.$route.params.scopeRow.carrier === undefined){ | 109 | + if (this.$route.params.scopeRow.carrier === undefined) { |
77 | this.flight.flightno = this.$route.params.scopeRow.flightno | 110 | this.flight.flightno = this.$route.params.scopeRow.flightno |
78 | } else { | 111 | } else { |
79 | this.flight.flightno = this.$route.params.scopeRow.carrier + this.$route.params.scopeRow.flightno | 112 | this.flight.flightno = this.$route.params.scopeRow.carrier + this.$route.params.scopeRow.flightno |
@@ -82,61 +115,68 @@ | @@ -82,61 +115,68 @@ | ||
82 | this.flight.originstation = this.$route.params.scopeRow.originstation | 115 | this.flight.originstation = this.$route.params.scopeRow.originstation |
83 | this.flight.destinationstation = this.$route.params.scopeRow.destinationstation | 116 | this.flight.destinationstation = this.$route.params.scopeRow.destinationstation |
84 | this.flight.messageType = this.$route.params.scopeRow.messageType | 117 | this.flight.messageType = this.$route.params.scopeRow.messageType |
85 | - if(this.$route.params.scopeRow.awba !== undefined){ | ||
86 | - this.flight.awba = this.$route.params.scopeRow.awba.replace('-','') | 118 | + if (this.$route.params.scopeRow.awba !== undefined) { |
119 | + this.flight.awba = this.$route.params.scopeRow.awba.replace('-', '') | ||
87 | } | 120 | } |
88 | - | ||
89 | } | 121 | } |
90 | }, | 122 | }, |
91 | - computed:{ | ||
92 | - flightno : { | 123 | + // mounted() { |
124 | + // // 延迟加载,否则会出错 | ||
125 | + // setTimeout(() => { | ||
126 | + // this.airportResultCode = this.airportCode.map(item =>{ | ||
127 | + // return {label: item.airportdescchn,value: item.airportid} | ||
128 | + // }) | ||
129 | + // }, 6000) | ||
130 | + // }, | ||
131 | + computed: { | ||
132 | + flightno: { | ||
93 | get: function () { | 133 | get: function () { |
94 | return this.flight.flightno | 134 | return this.flight.flightno |
95 | }, | 135 | }, |
96 | - set: function(val){ | 136 | + set: function (val) { |
97 | this.flight.flightno = val.toUpperCase().trim() | 137 | this.flight.flightno = val.toUpperCase().trim() |
98 | } | 138 | } |
99 | }, | 139 | }, |
100 | - originstation :{ | 140 | + originstation: { |
101 | get: function () { | 141 | get: function () { |
102 | return this.flight.originstation | 142 | return this.flight.originstation |
103 | }, | 143 | }, |
104 | - set: function(val){ | 144 | + set: function (val) { |
105 | this.flight.originstation = val.toUpperCase().trim() | 145 | this.flight.originstation = val.toUpperCase().trim() |
106 | } | 146 | } |
107 | }, | 147 | }, |
108 | - destinationstation :{ | 148 | + destinationstation: { |
109 | get: function () { | 149 | get: function () { |
110 | return this.flight.destinationstation | 150 | return this.flight.destinationstation |
111 | }, | 151 | }, |
112 | - set: function(val){ | 152 | + set: function (val) { |
113 | this.flight.destinationstation = val.toUpperCase().trim() | 153 | this.flight.destinationstation = val.toUpperCase().trim() |
114 | } | 154 | } |
115 | }, | 155 | }, |
116 | - awba :{ | 156 | + awba: { |
117 | get: function () { | 157 | get: function () { |
118 | return this.flight.awba | 158 | return this.flight.awba |
119 | }, | 159 | }, |
120 | - set: function(val){ | 160 | + set: function (val) { |
121 | this.flight.awba = val.trim() | 161 | this.flight.awba = val.trim() |
122 | } | 162 | } |
123 | } | 163 | } |
124 | }, | 164 | }, |
125 | methods: { | 165 | methods: { |
126 | nstep() { | 166 | nstep() { |
127 | - if (this.flight.flightno !== undefined && this.flight.flightno !==''&& | ||
128 | - this.flight.flightdate !== undefined &&this.flight.flightdate !== '' && | ||
129 | - this.flight.destinationstation !== undefined && this.flight.destinationstation !==''&& | ||
130 | - this.flight.originstation !== undefined && this.flight.originstation !=='') { | ||
131 | - if(this.flight.awba !== '' && this.flight.awba !== undefined){ | 167 | + if (this.flight.flightno !== undefined && this.flight.flightno !== '' && |
168 | + this.flight.flightdate !== undefined && this.flight.flightdate !== '' && | ||
169 | + this.flight.destinationstation !== undefined && this.flight.destinationstation !== '' && | ||
170 | + this.flight.originstation !== undefined && this.flight.originstation !== '') { | ||
171 | + if (this.flight.awba !== '' && this.flight.awba !== undefined) { | ||
132 | const manifest = this.flight.awba; | 172 | const manifest = this.flight.awba; |
133 | const reg = /^[0-9]{11}$/ | 173 | const reg = /^[0-9]{11}$/ |
134 | - if(!reg.test(manifest)){ | 174 | + if (!reg.test(manifest)) { |
135 | Message.error("主单号只支持数字并且最多11位") | 175 | Message.error("主单号只支持数字并且最多11位") |
136 | return | 176 | return |
137 | } | 177 | } |
138 | - const num = (manifest.substring(3,10)) % 7 | ||
139 | - if(num !== eval(manifest.substring(10))){ | 178 | + const num = (manifest.substring(3, 10)) % 7 |
179 | + if (num !== eval(manifest.substring(10))) { | ||
140 | Message.error("主单号不符合模7校验") | 180 | Message.error("主单号不符合模7校验") |
141 | return | 181 | return |
142 | } | 182 | } |
@@ -144,23 +184,39 @@ | @@ -144,23 +184,39 @@ | ||
144 | this.flight.awba = undefined | 184 | this.flight.awba = undefined |
145 | } | 185 | } |
146 | 186 | ||
147 | - if(this.flight.messageType ==="MT5201"){ | 187 | + if (this.flight.messageType === "MT5202") { |
148 | this.$router.push({name: '出港理货', params: {flightData: this.flight}}); | 188 | this.$router.push({name: '出港理货', params: {flightData: this.flight}}); |
149 | } | 189 | } |
150 | - if(this.flight.messageType ==="MT4201"){ | 190 | + if (this.flight.messageType === "MT4201") { |
151 | this.$router.push({name: '出港装载', params: {flightData: this.flight}}); | 191 | this.$router.push({name: '出港装载', params: {flightData: this.flight}}); |
152 | } | 192 | } |
153 | - if(this.flight.messageType ==="MT3201"){ | ||
154 | - this.$router.push({name:'出港运抵',params:{flightData: this.flight}}) | 193 | + if (this.flight.messageType === "MT3201") { |
194 | + this.$router.push({name: '出港运抵', params: {flightData: this.flight}}) | ||
155 | } | 195 | } |
156 | - if(this.flight.messageType ==="MT2201"){ | ||
157 | - this.$router.push({name:'出港预配舱单',params:{flightData: this.flight}}) | 196 | + if (this.flight.messageType === "MT2201") { |
197 | + this.$router.push({name: '出港预配舱单', params: {flightData: this.flight}}) | ||
158 | } | 198 | } |
159 | } else { | 199 | } else { |
160 | Message.warning("请将航班信息填写完整") | 200 | Message.warning("请将航班信息填写完整") |
161 | } | 201 | } |
162 | 202 | ||
163 | - } | 203 | + }, |
204 | + remoteMethodAirport(query) { | ||
205 | + this.airportCode = [] | ||
206 | + if (query !== '') { | ||
207 | + this.listLoading = true | ||
208 | + getAirportCode({airportid: query}).then(res => { | ||
209 | + if(res !== null){ | ||
210 | + setTimeout(() => { | ||
211 | + this.listLoading = false | ||
212 | + this.airportCode = res.data.data | ||
213 | + }, 200) | ||
214 | + } | ||
215 | + }) | ||
216 | + } else { | ||
217 | + this.airportCode = [] | ||
218 | + } | ||
219 | + }, | ||
164 | } | 220 | } |
165 | }; | 221 | }; |
166 | </script> | 222 | </script> |
@@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
37 | </el-col> | 37 | </el-col> |
38 | <div class="el-btn"> | 38 | <div class="el-btn"> |
39 | <el-button type="primary" size="mini" @click="handleSearch">查询</el-button> | 39 | <el-button type="primary" size="mini" @click="handleSearch">查询</el-button> |
40 | - <el-button v-if="loadingModel.flightno === undefined && loadingData.length <1" | 40 | + <el-button v-if="loadingQuery.flightno === undefined && loadingData.length <1" |
41 | type="primary" size="mini" @click="handleAddLoading">新增装载 | 41 | type="primary" size="mini" @click="handleAddLoading">新增装载 |
42 | </el-button> | 42 | </el-button> |
43 | </div> | 43 | </div> |
@@ -49,9 +49,10 @@ | @@ -49,9 +49,10 @@ | ||
49 | <div class="grid-content content" style="margin-top: 6px">出港装载明细</div> | 49 | <div class="grid-content content" style="margin-top: 6px">出港装载明细</div> |
50 | </el-col> | 50 | </el-col> |
51 | </el-row> | 51 | </el-row> |
52 | - <tree-table v-loading="listLoading" :data="loadingData" :eval-func="func" :expand-all="true" stripe | ||
53 | - style="font-size: 12px" border @selection-change="handleSelectionChange"> | ||
54 | - <el-table-column label="运单号" width="160" align="center"> | 52 | + <el-table v-loading="listLoading" :data="loadingData"stripe style="font-size: 12px" |
53 | + border @selection-change="handleSelectionChange"> | ||
54 | + <el-table-column type="selection" width="60"></el-table-column> | ||
55 | + <el-table-column label="主单号" width="160" align="center"> | ||
55 | <template slot-scope="scope"> | 56 | <template slot-scope="scope"> |
56 | <span>{{scope.row.awba}}</span> | 57 | <span>{{scope.row.awba}}</span> |
57 | </template> | 58 | </template> |
@@ -78,50 +79,61 @@ | @@ -78,50 +79,61 @@ | ||
78 | </el-table-column> | 79 | </el-table-column> |
79 | <el-table-column label="状态" width="100" align="center"> | 80 | <el-table-column label="状态" width="100" align="center"> |
80 | <template slot-scope="scope"> | 81 | <template slot-scope="scope"> |
81 | - <span v-if="scope.row.status ==='01'">未发送</span> | ||
82 | - <span v-if="scope.row.status ==='02'">已发舱单报</span> | 82 | + <span v-if="scope.row.status ==='01'">接受申报</span> |
83 | + <span v-if="scope.row.status ==='02'">待人工审核</span> | ||
84 | + <span v-if="scope.row.status ==='03'">退单</span> | ||
83 | <span v-if="scope.row.status ==='05'">舱单报退单</span> | 85 | <span v-if="scope.row.status ==='05'">舱单报退单</span> |
84 | <span v-if="scope.row.status ==='06'">舱单转人工</span> | 86 | <span v-if="scope.row.status ==='06'">舱单转人工</span> |
85 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | 87 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> |
86 | <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | 88 | <span v-if="scope.row.status ==='08'">已发舱单删除报</span> |
87 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | 89 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> |
88 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | 90 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> |
89 | - <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
90 | - <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
91 | - <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | 91 | + <span v-if="scope.row.status ==='11'">放行</span> |
92 | + <span v-if="scope.row.status ==='12'">拒装</span> | ||
93 | + <span v-if="scope.row.status ==='13'">禁卸</span> | ||
92 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | 94 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> |
93 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | 95 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> |
94 | <span v-if="scope.row.status ==='16'">海关已存在</span> | 96 | <span v-if="scope.row.status ==='16'">海关已存在</span> |
97 | + <span v-if="scope.row.status ==='21'">可自动发送</span> | ||
98 | + <span v-if="scope.row.status ==='22'">未发送</span> | ||
99 | + <span v-if="scope.row.status ==='23'">已发送新增报</span> | ||
100 | + <span v-if="scope.row.status ==='24'">已发送删除报</span> | ||
101 | + <span v-if="scope.row.status ==='25'">已发送修改报</span> | ||
95 | </template> | 102 | </template> |
96 | </el-table-column> | 103 | </el-table-column> |
97 | - <el-table-column prop="receipt" label="回执信息" width="180" align="center"> | 104 | + <el-table-column label="回执信息" width="180" align="center"> |
98 | <template slot-scope="scope"> | 105 | <template slot-scope="scope"> |
99 | <span>{{scope.row.ext5}}</span> | 106 | <span>{{scope.row.ext5}}</span> |
100 | </template> | 107 | </template> |
101 | </el-table-column> | 108 | </el-table-column> |
102 | - <el-table-column prop="operation" label="操作" align="center"> | 109 | + <el-table-column label="操作" align="center"> |
103 | <template slot-scope="scope"> | 110 | <template slot-scope="scope"> |
104 | <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | 111 | <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> |
105 | - <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑主单 | 112 | + <el-button size="mini" type="success" @click="handleEdit(scope.row)" >编辑 |
106 | </el-button> | 113 | </el-button> |
107 | <el-button size="mini" type="primary" @click="handleSendAwb(scope.row)" | 114 | <el-button size="mini" type="primary" @click="handleSendAwb(scope.row)" |
108 | - :disabled="scope.row.status !=='00'">发送舱单报 | 115 | + :disabled="scope.row.status ==='23'">发送舱单报 |
116 | + </el-button> | ||
117 | + <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单 | ||
109 | </el-button> | 118 | </el-button> |
110 | - <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单</el-button> | ||
111 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | 119 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" |
112 | - :disabled="scope.row.status ==='00'">更改状态 | 120 | + :disabled="scope.row.status ==='22'">更改状态 |
113 | </el-button> | 121 | </el-button> |
122 | + <el-button size="mini" type="danger" @click="handleSendDelete(scope.row)" | ||
123 | + :disabled="scope.row.status ==='24'">发删除报</el-button> | ||
114 | </template> | 124 | </template> |
115 | </el-table-column> | 125 | </el-table-column> |
116 | - </tree-table> | 126 | + </el-table> |
117 | <div class="btnFoot"> | 127 | <div class="btnFoot"> |
118 | <el-row> | 128 | <el-row> |
119 | <el-button type="primary" size="mini" | 129 | <el-button type="primary" size="mini" |
120 | - v-if="loadingModel.flightno !== undefined || loadingData.length >0" | 130 | + v-if="loadingQuery.flightno !== undefined || loadingData.length >0" |
121 | @click="handelAddLoadingInfo">新增出港装载 | 131 | @click="handelAddLoadingInfo">新增出港装载 |
122 | </el-button> | 132 | </el-button> |
123 | - <el-button type="primary" size="mini" v-if="loadingModel.flightno !== undefined || loadingData.length>0" | ||
124 | - @click="handelBackStep">返回</el-button> | 133 | + <el-button type="primary" size="mini" |
134 | + v-if="loadingQuery.flightno !== undefined || loadingData.length>0" | ||
135 | + @click="handelBackStep">返回 | ||
136 | + </el-button> | ||
125 | </el-row> | 137 | </el-row> |
126 | </div> | 138 | </div> |
127 | <pagination v-show="total>0" :total="total" :page.sync="loadingQuery.page" :limit.sync="loadingQuery.limit" | 139 | <pagination v-show="total>0" :total="total" :page.sync="loadingQuery.page" :limit.sync="loadingQuery.limit" |
@@ -136,7 +148,7 @@ | @@ -136,7 +148,7 @@ | ||
136 | <el-row> | 148 | <el-row> |
137 | <el-col :span="7.5"> | 149 | <el-col :span="7.5"> |
138 | <el-form-item label="主单号" prop="awba"> | 150 | <el-form-item label="主单号" prop="awba"> |
139 | - <el-input v-model="loadingModel.awba"></el-input> | 151 | + <el-input v-model="loadingModel.awba" :disabled="dialogStatus ==='update'"></el-input> |
140 | </el-form-item> | 152 | </el-form-item> |
141 | </el-col> | 153 | </el-col> |
142 | <el-col :span="7.5"> | 154 | <el-col :span="7.5"> |
@@ -155,13 +167,28 @@ | @@ -155,13 +167,28 @@ | ||
155 | 167 | ||
156 | <el-col :span="7.5"> | 168 | <el-col :span="7.5"> |
157 | <el-form-item label="起始站" prop="originstation"> | 169 | <el-form-item label="起始站" prop="originstation"> |
158 | - <el-input v-model="originstation" | ||
159 | - :disabled="dialogStatus ==='update'"></el-input> | 170 | + <el-select filterable clearable placeholder="请选择起始站" :remote-method="remoteMethodAirport" |
171 | + allow-create v-model="originstation" remote :disabled="dialogStatus ==='update'"> | ||
172 | + <el-option v-for="item in airportCode" | ||
173 | + :key="item.airportid" :label="item.airportid" | ||
174 | + :value="item.airportid" :disabled="dialogStatus === 'update'"> | ||
175 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
176 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
177 | + </el-option> | ||
178 | + </el-select> | ||
160 | </el-form-item> | 179 | </el-form-item> |
161 | </el-col> | 180 | </el-col> |
162 | <el-col :span="7.5"> | 181 | <el-col :span="7.5"> |
163 | - <el-form-item label="目的站" prop="flightno"> | ||
164 | - <el-input v-model="destinationstation" :disabled="dialogStatus ==='update'"></el-input> | 182 | + <el-form-item label="目的站" prop="originstation"> |
183 | + <el-select filterable clearable placeholder="请选择起始站" :remote-method="remoteMethodAirport" | ||
184 | + allow-create v-model="destinationstation" remote :disabled="dialogStatus ==='update'"> | ||
185 | + <el-option v-for="item in airportCode" | ||
186 | + :key="item.airportid" :label="item.airportid" | ||
187 | + :value="item.airportid" :disabled="dialogStatus === 'update'"> | ||
188 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
189 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
190 | + </el-option> | ||
191 | + </el-select> | ||
165 | </el-form-item> | 192 | </el-form-item> |
166 | </el-col> | 193 | </el-col> |
167 | <el-col :span="7.5"> | 194 | <el-col :span="7.5"> |
@@ -206,9 +233,14 @@ | @@ -206,9 +233,14 @@ | ||
206 | </el-col> | 233 | </el-col> |
207 | <el-col :span="7.5"> | 234 | <el-col :span="7.5"> |
208 | <el-form-item label="海关关区" prop="customcode"> | 235 | <el-form-item label="海关关区" prop="customcode"> |
209 | - <el-select v-model="loadingModel.customcode"> | ||
210 | - <el-option v-for="item in customcodeList " :key="item" :label="item" | ||
211 | - :value="item"></el-option> | 236 | + <el-select v-model="loadingModel.customcode" placeholder="请选择关区代码" |
237 | + filterable clearable remote :remote-method="remoteMethodCustomCode" :loading="customLoading" | ||
238 | + :disabled="dialogStatus === 'addAwbh'"> | ||
239 | + <el-option v-for="item in customCodeList" :key="item.customcode" :label="item.customcode" | ||
240 | + :value="item.customcode"> | ||
241 | + <span style="float: left">{{ item.customcode }}</span> | ||
242 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.customname }}</span> | ||
243 | + </el-option> | ||
212 | </el-select> | 244 | </el-select> |
213 | </el-form-item> | 245 | </el-form-item> |
214 | </el-col> | 246 | </el-col> |
@@ -229,12 +261,11 @@ | @@ -229,12 +261,11 @@ | ||
229 | <div slot="footer" class="dialog-footer"> | 261 | <div slot="footer" class="dialog-footer"> |
230 | <el-button @click="dialogFormVisible = false">取消</el-button> | 262 | <el-button @click="dialogFormVisible = false">取消</el-button> |
231 | <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | 263 | <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> |
232 | - <el-button type="success" @click="handleSaveAndSend">保存并发送</el-button> | ||
233 | </div> | 264 | </div> |
234 | </el-dialog> | 265 | </el-dialog> |
235 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | 266 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> |
236 | <el-table :data="detailData" border> | 267 | <el-table :data="detailData" border> |
237 | - <el-table-column label="操作时间" width="150"> | 268 | + <el-table-column label="操作时间" width="180"> |
238 | <template slot-scope="scope"> | 269 | <template slot-scope="scope"> |
239 | {{scope.row.busdate}} | 270 | {{scope.row.busdate}} |
240 | </template> | 271 | </template> |
@@ -271,19 +302,49 @@ | @@ -271,19 +302,49 @@ | ||
271 | </el-table-column> | 302 | </el-table-column> |
272 | </el-table> | 303 | </el-table> |
273 | </el-dialog> | 304 | </el-dialog> |
305 | + <el-dialog title="删除原因" :visible.sync="dialogDeleteVisible" width="30%"> | ||
306 | + <el-form ref="loadingDeleteForm" :model="respModel" :rules="loadingDeleteRules" | ||
307 | + label-width="120px" style="margin-right: 50px"> | ||
308 | + <el-form-item label="删除原因" prop="reason"> | ||
309 | + <el-input v-model="respModel.reason" placeholder="删除原因"></el-input> | ||
310 | + </el-form-item> | ||
311 | + <el-form-item label="删除操作人" prop="contactName"> | ||
312 | + <el-input v-model="respModel.contactName" placeholder="操作人姓名"></el-input> | ||
313 | + </el-form-item> | ||
314 | + <el-form-item label="操作人Tel" prop="contactTel"> | ||
315 | + <el-input v-model="respModel.contactTel" placeholder="删除操作人联系方式"></el-input> | ||
316 | + </el-form-item> | ||
317 | + <el-form-item label="备注"> | ||
318 | + <el-input v-model="respModel.content" type="textarea"></el-input> | ||
319 | + </el-form-item> | ||
320 | + </el-form> | ||
321 | + <div slot="footer" class="dialog-footer"> | ||
322 | + <el-button @click="dialogDeleteVisible = false">取消</el-button> | ||
323 | + <el-button type="primary" @click="sendLoadingDelete()">发送</el-button> | ||
324 | + </div> | ||
325 | + </el-dialog> | ||
274 | </div> | 326 | </div> |
275 | </div> | 327 | </div> |
276 | </template> | 328 | </template> |
277 | <script> | 329 | <script> |
278 | - import treeTable from '@/components/TreeTable' | ||
279 | - import treeToArray from '@/utils/customEval' | ||
280 | import Pagination from '@/components/Pagination' | 330 | import Pagination from '@/components/Pagination' |
281 | - import {getMt4201ListForParam, deleteByIsDelete, updateStatus, updateMT4201, addMt4201} from '@/api/exitLoading' | 331 | + import {getCustomCode,getAirportCode} from "@/api/country"; |
332 | + import { | ||
333 | + getMt4201ListForParam, deleteByIsDelete, updateStatus, | ||
334 | + updateMT4201, addMt4201, sendCreateMt4201, sendDeleteMt4201 | ||
335 | + } from '@/api/exitLoading' | ||
282 | import {Message} from "element-ui"; | 336 | import {Message} from "element-ui"; |
283 | - import {validAwb, validAlphabets, validAlphabetsAndNum, validAlphabetsAndSpanceKey,validatorNum} from "@/utils/validate" | 337 | + import { |
338 | + validAwb, | ||
339 | + validAlphabets, | ||
340 | + validAlphabetsAndNum, | ||
341 | + validAlphabetsAndSpanceKey, | ||
342 | + validatorNum | ||
343 | + } from "@/utils/validate" | ||
344 | + import {getResponseForParam} from '@/api/responseDetail' | ||
284 | export default { | 345 | export default { |
285 | name: "ExitLoading", | 346 | name: "ExitLoading", |
286 | - components: {treeTable, Pagination}, | 347 | + components: { Pagination}, |
287 | inject: ['reload'], | 348 | inject: ['reload'], |
288 | data() { | 349 | data() { |
289 | const validatorAwb = (rule, value, callback) => { | 350 | const validatorAwb = (rule, value, callback) => { |
@@ -304,8 +365,8 @@ | @@ -304,8 +365,8 @@ | ||
304 | } | 365 | } |
305 | callback() | 366 | callback() |
306 | } | 367 | } |
307 | - const validAlphabetsSpanceKey = (rule,value,callback) =>{ | ||
308 | - if(!validAlphabetsAndSpanceKey(value)){ | 368 | + const validAlphabetsSpanceKey = (rule, value, callback) => { |
369 | + if (!validAlphabetsAndSpanceKey(value)) { | ||
309 | callback("只能输入字母、数字、空格") | 370 | callback("只能输入字母、数字、空格") |
310 | } | 371 | } |
311 | callback() | 372 | callback() |
@@ -317,17 +378,19 @@ | @@ -317,17 +378,19 @@ | ||
317 | callback() | 378 | callback() |
318 | } | 379 | } |
319 | return { | 380 | return { |
320 | - func: treeToArray, | ||
321 | total: 1, | 381 | total: 1, |
322 | - isAdmin:false, | 382 | + isAdmin: false, |
323 | dialogMap: { | 383 | dialogMap: { |
324 | update: '编辑出港装载', | 384 | update: '编辑出港装载', |
325 | create: '添加出港装载', | 385 | create: '添加出港装载', |
326 | }, | 386 | }, |
327 | - customcodeList: [4604, 4620], | 387 | + customCodeList: [], |
388 | + airportCode:[], | ||
328 | dialogStatus: undefined, | 389 | dialogStatus: undefined, |
329 | dialogTableVisible: false, | 390 | dialogTableVisible: false, |
330 | dialogFormVisible: false, | 391 | dialogFormVisible: false, |
392 | + dialogDeleteVisible: false, | ||
393 | + customLoading: false, | ||
331 | listLoading: false, | 394 | listLoading: false, |
332 | loadingQuery: { | 395 | loadingQuery: { |
333 | pageSize: 1, | 396 | pageSize: 1, |
@@ -338,7 +401,8 @@ | @@ -338,7 +401,8 @@ | ||
338 | flightdate: undefined, | 401 | flightdate: undefined, |
339 | originstation: undefined, | 402 | originstation: undefined, |
340 | destinationstation: undefined, | 403 | destinationstation: undefined, |
341 | - customcode: undefined | 404 | + customcode: undefined, |
405 | + messageType: undefined | ||
342 | }, | 406 | }, |
343 | loadingRoles: { | 407 | loadingRoles: { |
344 | awba: [{required: true, trigger: 'blur', validator: validatorAwb}], | 408 | awba: [{required: true, trigger: 'blur', validator: validatorAwb}], |
@@ -350,12 +414,12 @@ | @@ -350,12 +414,12 @@ | ||
350 | destinationstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], | 414 | destinationstation: [{required: true, trigger: 'blur', validator: validatorAlphabets}], |
351 | piece: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | 415 | piece: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], |
352 | weight: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], | 416 | weight: [{type: 'number', required: true, trigger: 'change', message: '只能输入数字'}], |
353 | - customcode:[{required: true, trigger: 'change',message:'不能为空'}] | 417 | + customcode: [{required: true, trigger: 'change', message: '不能为空'}] |
354 | }, | 418 | }, |
355 | loadingData: [], | 419 | loadingData: [], |
356 | detailData: [], | 420 | detailData: [], |
357 | loadingModel: { | 421 | loadingModel: { |
358 | - carrier:undefined, | 422 | + carrier: undefined, |
359 | flightno: undefined, | 423 | flightno: undefined, |
360 | flightdate: undefined, | 424 | flightdate: undefined, |
361 | originstation: undefined, | 425 | originstation: undefined, |
@@ -369,8 +433,29 @@ | @@ -369,8 +433,29 @@ | ||
369 | loadingtime: undefined, | 433 | loadingtime: undefined, |
370 | messageType: 'MT4201', | 434 | messageType: 'MT4201', |
371 | awbprice: undefined, | 435 | awbprice: undefined, |
372 | - awbweight: undefined | ||
373 | - } | 436 | + awbweight: undefined, |
437 | + reason: undefined, | ||
438 | + contactName: undefined, | ||
439 | + contactTel: undefined, | ||
440 | + content: undefined, | ||
441 | + }, | ||
442 | + respModel: { | ||
443 | + uuid: undefined, | ||
444 | + reason: undefined, | ||
445 | + contactName: undefined, | ||
446 | + contactTel: undefined, | ||
447 | + content: '', | ||
448 | + flightNo: undefined, | ||
449 | + awba: undefined, | ||
450 | + customCode: undefined, | ||
451 | + flightDate: undefined, | ||
452 | + awbh: '' | ||
453 | + }, | ||
454 | + loadingDeleteRules: { | ||
455 | + reason: [{required: true, message: '删除原因不能为空', trigger: 'blur'}], | ||
456 | + contactName: [{required: true, message: '删除操作人不能为空', trigger: 'blur'}], | ||
457 | + contactTel: [{required: true, message: '操作人联系方式不能为空', trigger: 'blur'}] | ||
458 | + }, | ||
374 | } | 459 | } |
375 | }, | 460 | }, |
376 | created() { | 461 | created() { |
@@ -387,7 +472,7 @@ | @@ -387,7 +472,7 @@ | ||
387 | this.getList() | 472 | this.getList() |
388 | } | 473 | } |
389 | let username = JSON.parse(sessionStorage.getItem('user')).username | 474 | let username = JSON.parse(sessionStorage.getItem('user')).username |
390 | - if(username === 'admin'){ | 475 | + if (username === 'admin') { |
391 | this.isAdmin = true | 476 | this.isAdmin = true |
392 | } | 477 | } |
393 | }, | 478 | }, |
@@ -477,7 +562,7 @@ | @@ -477,7 +562,7 @@ | ||
477 | this.getList() | 562 | this.getList() |
478 | }, | 563 | }, |
479 | // 收发明细 | 564 | // 收发明细 |
480 | - handleSend() { | 565 | + handleSend(row) { |
481 | const resQuery = { | 566 | const resQuery = { |
482 | carrier: row.carrier, | 567 | carrier: row.carrier, |
483 | flightNo: row.flightno, | 568 | flightNo: row.flightno, |
@@ -494,7 +579,6 @@ | @@ -494,7 +579,6 @@ | ||
494 | // 编辑 弹框 | 579 | // 编辑 弹框 |
495 | handleEdit(row) { | 580 | handleEdit(row) { |
496 | this.loadingModel = Object.assign({}, row) | 581 | this.loadingModel = Object.assign({}, row) |
497 | - console.log(this.loadingModel) | ||
498 | this.dialogStatus = 'update' | 582 | this.dialogStatus = 'update' |
499 | this.dialogFormVisible = true | 583 | this.dialogFormVisible = true |
500 | this.$nextTick(() => { | 584 | this.$nextTick(() => { |
@@ -519,10 +603,75 @@ | @@ -519,10 +603,75 @@ | ||
519 | }, | 603 | }, |
520 | 604 | ||
521 | // 发送舱单报 | 605 | // 发送舱单报 |
522 | - handleSendAwb() { | 606 | + handleSendAwb(row) { |
607 | + | ||
608 | + this.$confirm("是否发送", "确认消息", { | ||
609 | + distinguishCancelAndClose: true, | ||
610 | + confirmButtonText: '发送', | ||
611 | + cancelButtonText: '取消' | ||
612 | + }).then(() => { | ||
613 | + if(row.awbh === null || row.awbh === undefined){ | ||
614 | + row.awbh = '' | ||
615 | + } | ||
616 | + sendCreateMt4201(row).then(res => { | ||
617 | + if (res.data.count > 0) { | ||
618 | + Message.success(res.data.respMessage) | ||
619 | + this.getList() | ||
620 | + }else { | ||
621 | + Message.success(res.data.respMessage) | ||
622 | + } | ||
623 | + }) | ||
624 | + }).catch(error =>{ | ||
625 | + Message.error(error.message) | ||
626 | + }) | ||
627 | + }, | ||
628 | + | ||
629 | + // 发送删除报 | ||
630 | + handleSendDelete(row) { | ||
631 | + this.respModel = { | ||
632 | + carrier: undefined, | ||
633 | + reason: undefined, | ||
634 | + contactName: undefined, | ||
635 | + contactTel: undefined, | ||
636 | + content: '', | ||
637 | + flightNo: undefined, | ||
638 | + awba: undefined, | ||
639 | + customCode: undefined, | ||
640 | + flightDate: undefined, | ||
641 | + awbh: '' | ||
642 | + } | ||
643 | + this.dialogDeleteVisible = true | ||
644 | + this.respModel.carrier = row.carrier | ||
645 | + this.respModel.flightNo = row.flightno | ||
646 | + this.respModel.awba = row.awba | ||
647 | + this.respModel.customCode = row.customcode | ||
648 | + this.respModel.flightDate = row.flightdate | ||
649 | + if(row.awbh ===null){ | ||
650 | + this.respModel.awbh = '' | ||
651 | + }else { | ||
652 | + this.respModel.awbh = row.awbh | ||
653 | + } | ||
654 | + this.$nextTick(() => { | ||
655 | + this.$refs.loadingDeleteForm.clearValidate() | ||
656 | + }) | ||
657 | + }, | ||
523 | 658 | ||
659 | + sendLoadingDelete() { | ||
660 | + this.$refs.loadingDeleteForm.validate(valid => { | ||
661 | + if (valid) { | ||
662 | + sendDeleteMt4201(this.respModel).then(res => { | ||
663 | + if (res.data.count > 0) { | ||
664 | + Message.success(res.data.respMessage) | ||
665 | + this.dialogDeleteVisible = false | ||
666 | + this.getList() | ||
667 | + } else { | ||
668 | + Message.success(res.data.respMessage) | ||
669 | + } | ||
670 | + }) | ||
671 | + } | ||
672 | + }) | ||
524 | }, | 673 | }, |
525 | - // 删除 发送删除报 | 674 | + // 删除 |
526 | handleAwbDelete(row) { | 675 | handleAwbDelete(row) { |
527 | this.$confirm("是否删除", "确认消息", { | 676 | this.$confirm("是否删除", "确认消息", { |
528 | distinguishCancelAndClose: true, | 677 | distinguishCancelAndClose: true, |
@@ -559,20 +708,23 @@ | @@ -559,20 +708,23 @@ | ||
559 | confirmButtonText: '确认更改', | 708 | confirmButtonText: '确认更改', |
560 | cancelButtonText: '取消更改' | 709 | cancelButtonText: '取消更改' |
561 | }).then(() => { | 710 | }).then(() => { |
562 | - updateStatus(row).then(res => { | ||
563 | - if (res.data.count > 0) { | ||
564 | - this.$message({ | ||
565 | - type: 'success', | ||
566 | - message: '当前运单状态已更改' | ||
567 | - }) | ||
568 | - this.getList() | ||
569 | - } else { | ||
570 | - this.$message({ | ||
571 | - type: 'error', | ||
572 | - message: '状态更改失败,请稍后重试' | ||
573 | - }) | ||
574 | - } | ||
575 | - }) | 711 | + if (row.status!==22){ |
712 | + row.status =22; | ||
713 | + } | ||
714 | + // updateStatus(row).then(res => { | ||
715 | + // if (res.data.count > 0) { | ||
716 | + // this.$message({ | ||
717 | + // type: 'success', | ||
718 | + // message: '当前运单状态已更改' | ||
719 | + // }) | ||
720 | + // this.getList() | ||
721 | + // } else { | ||
722 | + // this.$message({ | ||
723 | + // type: 'error', | ||
724 | + // message: '状态更改失败,请稍后重试' | ||
725 | + // }) | ||
726 | + // } | ||
727 | + // }) | ||
576 | 728 | ||
577 | }).catch(action => { | 729 | }).catch(action => { |
578 | this.$message({ | 730 | this.$message({ |
@@ -583,14 +735,10 @@ | @@ -583,14 +735,10 @@ | ||
583 | }) | 735 | }) |
584 | }) | 736 | }) |
585 | }, | 737 | }, |
586 | - // 保存并发送 | ||
587 | - handleSaveAndSend() { | ||
588 | - | ||
589 | - }, | ||
590 | // 重置实体 | 738 | // 重置实体 |
591 | restModel() { | 739 | restModel() { |
592 | this.loadingModel = { | 740 | this.loadingModel = { |
593 | - carrier:undefined, | 741 | + carrier: undefined, |
594 | flightno: undefined, | 742 | flightno: undefined, |
595 | flightdate: undefined, | 743 | flightdate: undefined, |
596 | originstation: undefined, | 744 | originstation: undefined, |
@@ -639,6 +787,40 @@ | @@ -639,6 +787,40 @@ | ||
639 | } | 787 | } |
640 | }) | 788 | }) |
641 | }, | 789 | }, |
790 | + //获取机场三字码 | ||
791 | + remoteMethodAirport(query){ | ||
792 | + this.airportCode = [] | ||
793 | + if (query !== '') { | ||
794 | + this.listLoading = true | ||
795 | + getAirportCode({airportid: query}).then(res => { | ||
796 | + if(res !== null){ | ||
797 | + setTimeout(() => { | ||
798 | + this.listLoading = false | ||
799 | + this.airportCode = res.data.data | ||
800 | + }, 200) | ||
801 | + } | ||
802 | + }) | ||
803 | + } else { | ||
804 | + this.airportCode = [] | ||
805 | + } | ||
806 | + }, | ||
807 | + //关区代码 | ||
808 | + remoteMethodCustomCode(query){ | ||
809 | + this.customCodeList = [] | ||
810 | + if (query !== '') { | ||
811 | + this.customLoading = true | ||
812 | + getCustomCode({customcode: query}).then(res => { | ||
813 | + if(res !== null){ | ||
814 | + setTimeout(() => { | ||
815 | + this.customLoading = false | ||
816 | + this.customCodeList = res.data.data | ||
817 | + }, 200) | ||
818 | + } | ||
819 | + }) | ||
820 | + } else { | ||
821 | + this.airportCode = [] | ||
822 | + } | ||
823 | + }, | ||
642 | handleAddLoading() { | 824 | handleAddLoading() { |
643 | const row = { | 825 | const row = { |
644 | 'messageType': 'MT4201' | 826 | 'messageType': 'MT4201' |
@@ -646,7 +828,8 @@ | @@ -646,7 +828,8 @@ | ||
646 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | 828 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) |
647 | }, | 829 | }, |
648 | handelBackStep() { | 830 | handelBackStep() { |
649 | - this.$router.push({name: '出港航班信息', params: {scopeRow: this.loadingModel}}) | 831 | + this.loadingQuery.messageType = 'MT4201' |
832 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.loadingQuery}}) | ||
650 | } | 833 | } |
651 | } | 834 | } |
652 | } | 835 | } |
@@ -212,6 +212,7 @@ | @@ -212,6 +212,7 @@ | ||
212 | 212 | ||
213 | }, | 213 | }, |
214 | handleUpdate(row){ | 214 | handleUpdate(row){ |
215 | + console.log(row.messageType ) | ||
215 | if(row.messageType === 'MT2201'){ | 216 | if(row.messageType === 'MT2201'){ |
216 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | 217 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) |
217 | } | 218 | } |
@@ -221,7 +222,7 @@ | @@ -221,7 +222,7 @@ | ||
221 | if(row.messageType === 'MT4201'){ | 222 | if(row.messageType === 'MT4201'){ |
222 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | 223 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) |
223 | } | 224 | } |
224 | - if(row.messageType === 'MT5201'){ | 225 | + if(row.messageType === 'MT5202'){ |
225 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | 226 | this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) |
226 | } | 227 | } |
227 | }, | 228 | }, |
@@ -13,9 +13,9 @@ | @@ -13,9 +13,9 @@ | ||
13 | </el-col> | 13 | </el-col> |
14 | <el-col :span="20"> | 14 | <el-col :span="20"> |
15 | <div class="grid-content"> | 15 | <div class="grid-content"> |
16 | - <span class="titleSpan">航班号:{{this.listQuery.carrier}}{{this.listQuery.flightNo}}</span> | ||
17 | - <span class="titleSpan">航班日期:{{this.listQuery.flightDate}}</span> | ||
18 | - <span class="titleSpan">航段:{{this.listQuery.originStation}}-{{this.listQuery.destinationStation}}</span> | 16 | + <span class="titleSpan">航班号:{{this.preQuery.carrier}}{{this.preQuery.flightno}}</span> |
17 | + <span class="titleSpan">航班日期:{{this.preQuery.flightdate}}</span> | ||
18 | + <span class="titleSpan">航段:{{this.preQuery.originstation}}-{{this.preQuery.destinationstation}}</span> | ||
19 | </div> | 19 | </div> |
20 | </el-col> | 20 | </el-col> |
21 | </div> | 21 | </div> |
@@ -32,12 +32,12 @@ | @@ -32,12 +32,12 @@ | ||
32 | <div class="grid-content"> | 32 | <div class="grid-content"> |
33 | <el-col :span="4"> | 33 | <el-col :span="4"> |
34 | <div class="grid-content"> | 34 | <div class="grid-content"> |
35 | - <el-input v-model="listQuery.awba" placeholder="请输入主单号" clearable></el-input> | 35 | + <el-input v-model="preQuery.awba" placeholder="请输入主单号" clearable></el-input> |
36 | </div> | 36 | </div> |
37 | </el-col> | 37 | </el-col> |
38 | <div class="grid-content el-btn"> | 38 | <div class="grid-content el-btn"> |
39 | <el-button type="primary" size="mini" @click="handleSerach">查询</el-button> | 39 | <el-button type="primary" size="mini" @click="handleSerach">查询</el-button> |
40 | - <el-button v-if="preModel.flightno === undefined && preData.length<1" type="primary" | 40 | + <el-button v-if="preQuery.flightno === undefined && preData.length<1" type="primary" |
41 | size="mini" | 41 | size="mini" |
42 | @click="handleAddpre">新增预配舱单 | 42 | @click="handleAddpre">新增预配舱单 |
43 | </el-button> | 43 | </el-button> |
@@ -87,27 +87,33 @@ | @@ -87,27 +87,33 @@ | ||
87 | {{scope.row.actime}} | 87 | {{scope.row.actime}} |
88 | </template> | 88 | </template> |
89 | </el-table-column> | 89 | </el-table-column> |
90 | - <el-table-column label="代理人代码" width="120" align="center"> | ||
91 | - <template slot-scope="scope"> | ||
92 | - {{scope.row.status}} | ||
93 | - </template> | ||
94 | - </el-table-column> | 90 | + <!--<el-table-column label="代理人代码" width="120" align="center">--> |
91 | + <!--<template slot-scope="scope">--> | ||
92 | + <!--{{scope.row.status}}--> | ||
93 | + <!--</template>--> | ||
94 | + <!--</el-table-column>--> | ||
95 | <el-table-column label="状态" width="100" align="center"> | 95 | <el-table-column label="状态" width="100" align="center"> |
96 | <template slot-scope="scope"> | 96 | <template slot-scope="scope"> |
97 | - <span v-if="scope.row.status ==='01'">未发送</span> | ||
98 | - <span v-if="scope.row.status ==='02'">已发舱单报</span> | 97 | + <span v-if="scope.row.status ==='01'">接受申报</span> |
98 | + <span v-if="scope.row.status ==='02'">待人工审核</span> | ||
99 | + <span v-if="scope.row.status ==='03'">退单</span> | ||
99 | <span v-if="scope.row.status ==='05'">舱单报退单</span> | 100 | <span v-if="scope.row.status ==='05'">舱单报退单</span> |
100 | <span v-if="scope.row.status ==='06'">舱单转人工</span> | 101 | <span v-if="scope.row.status ==='06'">舱单转人工</span> |
101 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | 102 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> |
102 | <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | 103 | <span v-if="scope.row.status ==='08'">已发舱单删除报</span> |
103 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | 104 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> |
104 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | 105 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> |
105 | - <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
106 | - <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
107 | - <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | 106 | + <span v-if="scope.row.status ==='11'">放行</span> |
107 | + <span v-if="scope.row.status ==='12'">拒装</span> | ||
108 | + <span v-if="scope.row.status ==='13'">禁卸</span> | ||
108 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | 109 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> |
109 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | 110 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> |
110 | <span v-if="scope.row.status ==='16'">海关已存在</span> | 111 | <span v-if="scope.row.status ==='16'">海关已存在</span> |
112 | + <span v-if="scope.row.status ==='21'">可自动发送</span> | ||
113 | + <span v-if="scope.row.status ==='22'">未发送</span> | ||
114 | + <span v-if="scope.row.status ==='23'">已发送新增报</span> | ||
115 | + <span v-if="scope.row.status ==='24'">已发送删除报</span> | ||
116 | + <span v-if="scope.row.status ==='25'">已发送修改报</span> | ||
111 | </template> | 117 | </template> |
112 | </el-table-column> | 118 | </el-table-column> |
113 | <el-table-column prop="receipt" label="回执信息" align="center"> | 119 | <el-table-column prop="receipt" label="回执信息" align="center"> |
@@ -116,36 +122,38 @@ | @@ -116,36 +122,38 @@ | ||
116 | <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | 122 | <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> |
117 | </template> | 123 | </template> |
118 | </el-table-column> | 124 | </el-table-column> |
119 | - <el-table-column label="操作" width="300"> | 125 | + <el-table-column label="操作" width="450"> |
120 | <template slot-scope="scope"> | 126 | <template slot-scope="scope"> |
121 | - <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑运单</el-button> | 127 | + <el-button size="mini" type="success" @click="handleEdit(scope.row)" >编辑</el-button> |
122 | <el-button size="mini" type="success" v-if="scope.row.awbh ===null" | 128 | <el-button size="mini" type="success" v-if="scope.row.awbh ===null" |
123 | @click="handleAddAwbh(scope.row)">新增分单 | 129 | @click="handleAddAwbh(scope.row)">新增分单 |
124 | </el-button> | 130 | </el-button> |
125 | <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" | 131 | <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" |
126 | - :disabled="scope.row.status !== '01'">发舱单报 | 132 | + :disabled="scope.row.status === '23'">发舱单报 |
127 | </el-button> | 133 | </el-button> |
128 | <p></p> | 134 | <p></p> |
129 | - <el-button size="mini" type="primary" @click="handleAwbEdit(scope.row)">发修改报</el-button> | ||
130 | - | 135 | + <el-button size="mini" type="primary" @click="handleAwbEdit(scope.row)" |
136 | + :disabled="scope.row.status ==='25'">发修改报</el-button> | ||
131 | <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单</el-button> | 137 | <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单</el-button> |
132 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | 138 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" |
133 | - :disabled="scope.row.status === '01'">更改状态 | 139 | + :disabled="scope.row.status === '22'">更改状态 |
134 | </el-button> | 140 | </el-button> |
141 | + <el-button size="mini" type="danger" @click="handleSendDelete(scope.row)" | ||
142 | + :disabled="scope.row.status ==='24'">发删除报</el-button> | ||
135 | </template> | 143 | </template> |
136 | </el-table-column> | 144 | </el-table-column> |
137 | </tree-table> | 145 | </tree-table> |
138 | <div class="btnFoot"> | 146 | <div class="btnFoot"> |
139 | <el-row> | 147 | <el-row> |
140 | - <el-button type="primary" size="mini" v-if="preData.flightno !== undefined || preData.length> 0" | 148 | + <el-button type="primary" size="mini" v-if="preQuery.flightno !== undefined | preData.length > 0" |
141 | @click="handleAddpreInfo">新增预配舱单 | 149 | @click="handleAddpreInfo">新增预配舱单 |
142 | </el-button> | 150 | </el-button> |
143 | <el-button type="primary" size="mini" @click="handelBackStep" | 151 | <el-button type="primary" size="mini" @click="handelBackStep" |
144 | - v-if="preModel.flightno !== undefined || preData.length >0">返回 | 152 | + v-if="preQuery.flightno !== undefined || preData.length >0">返回 |
145 | </el-button> | 153 | </el-button> |
146 | </el-row> | 154 | </el-row> |
147 | </div> | 155 | </div> |
148 | - <pagination v-show="total>0" :total="total" :page.sync="listQuery.pageSize" :limit.sync="listQuery.limitSize" | 156 | + <pagination v-show="total>0" :total="total" :page.sync="preQuery.pageSize" :limit.sync="preQuery.limitSize" |
149 | @pagination="getList"/> | 157 | @pagination="getList"/> |
150 | <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible" width="60%"> | 158 | <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="dialogFormVisible" width="60%"> |
151 | <el-form ref="preFormData" :model="preModel" :rules="preRoles" label-position="right" | 159 | <el-form ref="preFormData" :model="preModel" :rules="preRoles" label-position="right" |
@@ -192,12 +200,34 @@ | @@ -192,12 +200,34 @@ | ||
192 | <el-row> | 200 | <el-row> |
193 | <el-col :span="7.5"> | 201 | <el-col :span="7.5"> |
194 | <el-form-item label="起始站" prop="originstation"> | 202 | <el-form-item label="起始站" prop="originstation"> |
195 | - <el-input v-model="originstation" :disabled="dialogStatus === 'addAwbh'" clearable/> | 203 | + <el-select |
204 | + filterable | ||
205 | + clearable | ||
206 | + placeholder="请选择起始站" | ||
207 | + :remote-method="remoteMethodAirport" | ||
208 | + allow-create remote | ||
209 | + v-model="originstation" | ||
210 | + :loading="airportLoading"> | ||
211 | + <el-option v-for="item in airportCode" | ||
212 | + :key="item.airportid" :label="item.airportid" | ||
213 | + :value="item.airportid" :disabled="dialogStatus === 'addAwbh'"> | ||
214 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
215 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
216 | + </el-option> | ||
217 | + </el-select> | ||
196 | </el-form-item> | 218 | </el-form-item> |
197 | </el-col> | 219 | </el-col> |
198 | <el-col :span="7.5"> | 220 | <el-col :span="7.5"> |
199 | <el-form-item label="目的站" prop="destinationstation"> | 221 | <el-form-item label="目的站" prop="destinationstation"> |
200 | - <el-input v-model="destinationstation" :disabled="dialogStatus === 'addAwbh'" clearable/> | 222 | + <el-select filterable clearable placeholder="请选择目的站" allow-create remote |
223 | + v-model="destinationstation" :remote-method="remoteMethodAirport"> | ||
224 | + <el-option v-for="item in airportCode" | ||
225 | + :key="item.airportid" :label="item.airportid" | ||
226 | + :value="item.airportid" :disabled="dialogStatus === 'addAwbh'" > | ||
227 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
228 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
229 | + </el-option> | ||
230 | + </el-select> | ||
201 | </el-form-item> | 231 | </el-form-item> |
202 | </el-col> | 232 | </el-col> |
203 | </el-row> | 233 | </el-row> |
@@ -306,16 +336,20 @@ | @@ -306,16 +336,20 @@ | ||
306 | <el-row> | 336 | <el-row> |
307 | <el-col :span="7.5"> | 337 | <el-col :span="7.5"> |
308 | <el-form-item label="关区代码" prop="customcode"> | 338 | <el-form-item label="关区代码" prop="customcode"> |
309 | - <el-select v-model="preModel.customcode" class="filter-item" placeholder="请选择关区代码" | 339 | + <el-select v-model="preModel.customcode" placeholder="请选择关区代码" |
340 | + filterable clearable :remote-method="remoteMethodCustomCode" :loading="customLoading" remote | ||
310 | :disabled="dialogStatus === 'addAwbh'"> | 341 | :disabled="dialogStatus === 'addAwbh'"> |
311 | - <el-option v-for="item in customcodeList" :key="item.value" :label="item.label" | ||
312 | - :value="item.value"></el-option> | 342 | + <el-option v-for="item in customCodeList" :key="item.customcode" :label="item.customcode" |
343 | + :value="item.customcode"> | ||
344 | + <span style="float: left">{{ item.customcode }}</span> | ||
345 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.customname }}</span> | ||
346 | + </el-option> | ||
313 | </el-select> | 347 | </el-select> |
314 | </el-form-item> | 348 | </el-form-item> |
315 | </el-col> | 349 | </el-col> |
316 | <el-col :span="7.5"> | 350 | <el-col :span="7.5"> |
317 | <el-form-item label="海关状态"> | 351 | <el-form-item label="海关状态"> |
318 | - <el-select v-model="preModel.awbtype" class="filter-item" placeholder="请录入货物类型"> | 352 | + <el-select v-model="preModel.awbinfo.awbtype" class="filter-item" placeholder="请录入货物类型"> |
319 | <el-option v-for="item in customTypes" :key="item.value" :label="item.label" | 353 | <el-option v-for="item in customTypes" :key="item.value" :label="item.label" |
320 | :value="item.value"/> | 354 | :value="item.value"/> |
321 | </el-select> | 355 | </el-select> |
@@ -520,16 +554,40 @@ | @@ -520,16 +554,40 @@ | ||
520 | <!--</el-form-item>--> | 554 | <!--</el-form-item>--> |
521 | <!--</el-col>--> | 555 | <!--</el-col>--> |
522 | </el-row> | 556 | </el-row> |
557 | + <div v-if="dialogStatus === 'sendUpdate'"> | ||
558 | + <div class="grid-content content"> | ||
559 | + 运单信息 | ||
560 | + </div> | ||
561 | + <el-row> | ||
562 | + <el-col :span="7.5"> | ||
563 | + <el-form-item label="修改原因" prop="reason"> | ||
564 | + <el-input v-model="preModel.reason" clearable/> | ||
565 | + </el-form-item> | ||
566 | + </el-col> | ||
567 | + <el-col :span="7.5"> | ||
568 | + <el-form-item label="修改人" prop="contactName"> | ||
569 | + <el-input v-model="preModel.contactName" clearable/> | ||
570 | + </el-form-item> | ||
571 | + </el-col> | ||
572 | + <el-col :span="7.5"> | ||
573 | + <el-form-item label="修改人Tel" prop="contactTel"> | ||
574 | + <el-input v-model="preModel.contactTel" clearable maxlength="5"/> | ||
575 | + </el-form-item> | ||
576 | + </el-col> | ||
577 | + </el-row> | ||
578 | + </div> | ||
579 | + | ||
523 | </el-form> | 580 | </el-form> |
524 | <div slot="footer" class="dialog-footer"> | 581 | <div slot="footer" class="dialog-footer"> |
525 | <el-button @click="dialogFormVisible = false">取消</el-button> | 582 | <el-button @click="dialogFormVisible = false">取消</el-button> |
526 | - <el-button type="primary" @click="dialogStatus !=='create'? createData():updateData()">保存</el-button> | ||
527 | - <el-button type="success" @click="handleSaveAndSend">保存并发送</el-button> | 583 | + <el-button type="primary" v-show="dialogStatus!=='sendUpdate'" |
584 | + @click="dialogStatus ==='create'? createData():updateData()">保存</el-button> | ||
585 | + <el-button type="primary" v-show="dialogStatus==='sendUpdate'" @click="sendUpdate()">发送</el-button> | ||
528 | </div> | 586 | </div> |
529 | </el-dialog> | 587 | </el-dialog> |
530 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | 588 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> |
531 | <el-table :data="detailData" border> | 589 | <el-table :data="detailData" border> |
532 | - <el-table-column label="操作时间" width="150"> | 590 | + <el-table-column label="操作时间" width="180"> |
533 | <template slot-scope="scope"> | 591 | <template slot-scope="scope"> |
534 | {{scope.row.busdate}} | 592 | {{scope.row.busdate}} |
535 | </template> | 593 | </template> |
@@ -566,6 +624,27 @@ | @@ -566,6 +624,27 @@ | ||
566 | </el-table-column> | 624 | </el-table-column> |
567 | </el-table> | 625 | </el-table> |
568 | </el-dialog> | 626 | </el-dialog> |
627 | + <el-dialog title="删除原因" :visible.sync="dialogDeleteVisble" width="30%"> | ||
628 | + <el-form ref="sendDeleteForm" :model="respModel" :rules="sendDeleteRules" label-width="120px" | ||
629 | + style="margin-right:50px;"> | ||
630 | + <el-form-item label="删除原因" prop="reason"> | ||
631 | + <el-input v-model="respModel.reason" placeholder="删除原因"></el-input> | ||
632 | + </el-form-item> | ||
633 | + <el-form-item label="删除操作人" prop="contactName"> | ||
634 | + <el-input v-model="respModel.contactName" placeholder="操作人姓名"></el-input> | ||
635 | + </el-form-item> | ||
636 | + <el-form-item label="操作人Tel" prop="contactTel"> | ||
637 | + <el-input v-model="respModel.contactTel" placeholder="删除操作人联系方式"></el-input> | ||
638 | + </el-form-item> | ||
639 | + <el-form-item label="备注"> | ||
640 | + <el-input v-model="respModel.content" type="textarea"></el-input> | ||
641 | + </el-form-item> | ||
642 | + </el-form> | ||
643 | + <div slot="footer" class="dialog-footer"> | ||
644 | + <el-button @click="dialogDeleteVisble = false">取消</el-button> | ||
645 | + <el-button type="primary" @click="sendDelete()">发送</el-button> | ||
646 | + </div> | ||
647 | + </el-dialog> | ||
569 | </div> | 648 | </div> |
570 | </template> | 649 | </template> |
571 | <script> | 650 | <script> |
@@ -573,8 +652,17 @@ | @@ -573,8 +652,17 @@ | ||
573 | import treeToArray from '@/utils/customEval' | 652 | import treeToArray from '@/utils/customEval' |
574 | import Pagination from '@/components/Pagination' | 653 | import Pagination from '@/components/Pagination' |
575 | 654 | ||
576 | - import {getCountry, getByCountryCode, getByCountryCodeForName} from "@/api/country"; | ||
577 | - import {getMt2201ListForParam, deleteByIsDelete, updateStatus, updateMT2201, addMt2201} from '@/api/exitPre' | 655 | + import {getCountry, getByCountryCode, getByCountryCodeForName,getCustomCode,getAirportCode} from "@/api/country"; |
656 | + import { | ||
657 | + getMt2201ListForParam, | ||
658 | + deleteByIsDelete, | ||
659 | + updateStatus, | ||
660 | + updateMT2201, | ||
661 | + addMt2201, | ||
662 | + sendCreateMt2201, | ||
663 | + sendDeleteMt2201, | ||
664 | + sendUpdateMt2201 | ||
665 | + } from '@/api/exitPre' | ||
578 | import {Message} from "element-ui"; | 666 | import {Message} from "element-ui"; |
579 | import {getResponseForParam} from '@/api/responseDetail' | 667 | import {getResponseForParam} from '@/api/responseDetail' |
580 | import { | 668 | import { |
@@ -623,16 +711,17 @@ | @@ -623,16 +711,17 @@ | ||
623 | return { | 711 | return { |
624 | func: treeToArray, | 712 | func: treeToArray, |
625 | total: 1, | 713 | total: 1, |
626 | - isAdmin:false, | ||
627 | - listQuery: { | 714 | + isAdmin: false, |
715 | + preQuery: { | ||
628 | pageSize: 1, | 716 | pageSize: 1, |
629 | limitSize: 100, | 717 | limitSize: 100, |
630 | awba: undefined, | 718 | awba: undefined, |
631 | carrier: undefined, | 719 | carrier: undefined, |
632 | - flightNo: undefined, | ||
633 | - flightDate: undefined, | ||
634 | - originStation: undefined, | ||
635 | - destinationStation: undefined | 720 | + flightno: undefined, |
721 | + flightdate: undefined, | ||
722 | + originstation: undefined, | ||
723 | + destinationstation: undefined, | ||
724 | + messageType: undefined | ||
636 | }, | 725 | }, |
637 | dialogMap: { | 726 | dialogMap: { |
638 | update: '编辑预配舱单', | 727 | update: '编辑预配舱单', |
@@ -647,10 +736,14 @@ | @@ -647,10 +736,14 @@ | ||
647 | {label: '快件', value: '005'}], | 736 | {label: '快件', value: '005'}], |
648 | payTypes: [{label: '预付', value: '0'}, {label: '到付', value: '1'}], | 737 | payTypes: [{label: '预付', value: '0'}, {label: '到付', value: '1'}], |
649 | splitcodes: [{label: '是', value: 'T'}, {label: '否', value: 'P'}], | 738 | splitcodes: [{label: '是', value: 'T'}, {label: '否', value: 'P'}], |
650 | - customcodeList: [{label: '4604', value: '4604'}, {label: '4620', value: '4620'}], | 739 | + customCodeList: [], |
740 | + airportCode:[], | ||
651 | dialogStatus: undefined, | 741 | dialogStatus: undefined, |
652 | dialogTableVisible: false, | 742 | dialogTableVisible: false, |
743 | + dialogDeleteVisble: false, | ||
653 | listLoading: false, | 744 | listLoading: false, |
745 | + customLoading:false, | ||
746 | + airportLoading:false, | ||
654 | disabledStatus: false, | 747 | disabledStatus: false, |
655 | dialogFormVisible: false, | 748 | dialogFormVisible: false, |
656 | countryOption: [], | 749 | countryOption: [], |
@@ -673,6 +766,9 @@ | @@ -673,6 +766,9 @@ | ||
673 | 'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}], | 766 | 'awbinfo.collected': [{required: true, message: '付款方式必选', trigger: 'change'}], |
674 | goodsname: [{required: true, trigger: 'change', validator: validAlphabetsSpanceKey}], | 767 | goodsname: [{required: true, trigger: 'change', validator: validAlphabetsSpanceKey}], |
675 | ex5: [{required: true, message: '货物描述不能为空', trigger: 'blur'}], | 768 | ex5: [{required: true, message: '货物描述不能为空', trigger: 'blur'}], |
769 | + reason:[{required: true, message: '修改原因不能为空', trigger: 'blur'}], | ||
770 | + contactName:[{required: true, message: '修改操作人不能为空', trigger: 'blur'}], | ||
771 | + contactTel:[{required: true, message: '修改操作人联系方式不能为空', trigger: 'blur'}], | ||
676 | 'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}], | 772 | 'awbinfo.sairportid': [{required: true, message: '起始航站不能为空', trigger: 'change'}], |
677 | 'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}], | 773 | 'awbinfo.shprname': [{required: true, message: '发货人不能为空', trigger: 'change'}], |
678 | 'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}], | 774 | 'awbinfo.shprtel': [{required: true, message: '发货电话不能为空', trigger: 'change'}], |
@@ -703,6 +799,9 @@ | @@ -703,6 +799,9 @@ | ||
703 | uldNo: undefined, | 799 | uldNo: undefined, |
704 | status: undefined, | 800 | status: undefined, |
705 | ex5: undefined, | 801 | ex5: undefined, |
802 | + reason: undefined, | ||
803 | + contactName: undefined, | ||
804 | + contactTel: undefined, | ||
706 | awbinfo: { | 805 | awbinfo: { |
707 | pcs: undefined, | 806 | pcs: undefined, |
708 | weight: undefined, | 807 | weight: undefined, |
@@ -743,6 +842,23 @@ | @@ -743,6 +842,23 @@ | ||
743 | awbtype: undefined | 842 | awbtype: undefined |
744 | } | 843 | } |
745 | }, | 844 | }, |
845 | + respModel: { | ||
846 | + uuid: undefined, | ||
847 | + reason: undefined, | ||
848 | + contactName: undefined, | ||
849 | + contactTel: undefined, | ||
850 | + content: '', | ||
851 | + flightNo: undefined, | ||
852 | + awba: undefined, | ||
853 | + customCode: undefined, | ||
854 | + flightDate: undefined, | ||
855 | + awbh: '' | ||
856 | + }, | ||
857 | + sendDeleteRules:{ | ||
858 | + reason:[{required:true,message:'删除原因不能为空',trigger:'blur'}], | ||
859 | + contactName:[{required:true,message:'删除操作人不能为空',trigger:'blur'}], | ||
860 | + contactTel:[{required:true,message:'操作人联系方式不能为空',trigger:'blur'}] | ||
861 | + }, | ||
746 | preData: [], | 862 | preData: [], |
747 | detailData: [] | 863 | detailData: [] |
748 | } | 864 | } |
@@ -757,17 +873,19 @@ | @@ -757,17 +873,19 @@ | ||
757 | }, | 873 | }, |
758 | created() { | 874 | created() { |
759 | if (this.$route.params.flightData !== undefined) { | 875 | if (this.$route.params.flightData !== undefined) { |
760 | - this.listQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) | ||
761 | - this.listQuery.flightNo = this.$route.params.flightData.flightno.substring(2) | ||
762 | - this.listQuery.flightDate = this.$route.params.flightData.flightdate | ||
763 | - this.listQuery.originStation = this.$route.params.flightData.originstation | ||
764 | - this.listQuery.destinationStation = this.$route.params.flightData.destinationstation | ||
765 | - this.listQuery.awba = this.$route.params.flightData.awba | 876 | + this.preQuery.carrier = this.$route.params.flightData.flightno.substring(0, 2) |
877 | + this.preQuery.flightno = this.$route.params.flightData.flightno.substring(2) | ||
878 | + this.preQuery.flightdate = this.$route.params.flightData.flightdate | ||
879 | + this.preQuery.originstation = this.$route.params.flightData.originstation | ||
880 | + this.preQuery.destinationstation = this.$route.params.flightData.destinationstation | ||
881 | + if (this.$route.params.flightData.awba !== undefined && this.$route.params.flightData.awba !== '') { | ||
882 | + this.preQuery.awba = this.$route.params.flightData.awba.substring(0, 3) + "-" + this.$route.params.flightData.awba.substring(3) | ||
883 | + } | ||
766 | this.getList() | 884 | this.getList() |
767 | } | 885 | } |
768 | this.getCountryList() | 886 | this.getCountryList() |
769 | let username = JSON.parse(sessionStorage.getItem('user')).username | 887 | let username = JSON.parse(sessionStorage.getItem('user')).username |
770 | - if(username === 'admin'){ | 888 | + if (username === 'admin') { |
771 | this.isAdmin = true | 889 | this.isAdmin = true |
772 | } | 890 | } |
773 | }, | 891 | }, |
@@ -981,24 +1099,24 @@ | @@ -981,24 +1099,24 @@ | ||
981 | // >>>>>>>>>>>>>>>>获取list集合<<<<<<<<<<<<<<<<<< | 1099 | // >>>>>>>>>>>>>>>>获取list集合<<<<<<<<<<<<<<<<<< |
982 | getList() { | 1100 | getList() { |
983 | this.listLoading = true | 1101 | this.listLoading = true |
984 | - if (this.listQuery.awba !== undefined && this.listQuery.awba !== '') { | ||
985 | - getMt2201ListForParam(this.listQuery).then(res => { | 1102 | + if (this.preQuery.awba !== undefined && this.preQuery.awba !== '') { |
1103 | + getMt2201ListForParam(this.preQuery).then(res => { | ||
986 | this.preData = res.data.dataList | 1104 | this.preData = res.data.dataList |
987 | this.total = res.data.count | 1105 | this.total = res.data.count |
988 | if (res.data.count > 0) { | 1106 | if (res.data.count > 0) { |
989 | - this.listQuery.carrier = this.preData[0].carrier | ||
990 | - this.listQuery.flightNo = this.preData[0].flightno | ||
991 | - this.listQuery.flightDate = this.preData[0].flightdate | ||
992 | - this.listQuery.originStation = this.preData[0].originstation | ||
993 | - this.listQuery.destinationStation = this.preData[0].destinationstation | ||
994 | - this.listQuery.customcode = this.preData[0].customcode | 1107 | + this.preQuery.carrier = this.preData[0].carrier |
1108 | + this.preQuery.flightno = this.preData[0].flightno | ||
1109 | + this.preQuery.flightdate = this.preData[0].flightdate | ||
1110 | + this.preQuery.originstation = this.preData[0].originstation | ||
1111 | + this.preQuery.destinationstation = this.preData[0].destinationstation | ||
1112 | + this.preQuery.customcode = this.preData[0].customcode | ||
995 | } | 1113 | } |
996 | setTimeout(() => { | 1114 | setTimeout(() => { |
997 | this.listLoading = false | 1115 | this.listLoading = false |
998 | }, 1500) | 1116 | }, 1500) |
999 | }) | 1117 | }) |
1000 | } else { | 1118 | } else { |
1001 | - getMt2201ListForParam(this.listQuery).then(res => { | 1119 | + getMt2201ListForParam(this.preQuery).then(res => { |
1002 | this.preData = res.data.dataList | 1120 | this.preData = res.data.dataList |
1003 | this.total = res.data.count | 1121 | this.total = res.data.count |
1004 | setTimeout(() => { | 1122 | setTimeout(() => { |
@@ -1072,12 +1190,12 @@ | @@ -1072,12 +1190,12 @@ | ||
1072 | // >>>>>>>>>>>>>>>>新增主单<<<<<<<<<<<<<<<<<< | 1190 | // >>>>>>>>>>>>>>>>新增主单<<<<<<<<<<<<<<<<<< |
1073 | handleAddpreInfo() { | 1191 | handleAddpreInfo() { |
1074 | this.restModel() | 1192 | this.restModel() |
1075 | - this.preModel.carrier = this.listQuery.carrier | ||
1076 | - this.preModel.flightno = this.listQuery.flightno | ||
1077 | - this.preModel.flightdate = this.listQuery.flightdate | ||
1078 | - this.preModel.originstation = this.listQuery.originstation | ||
1079 | - this.preModel.destinationstation = this.listQuery.carrier | ||
1080 | - this.preModel.customcode = this.listQuery.customcode | 1193 | + this.preModel.carrier = this.preQuery.carrier |
1194 | + this.preModel.flightno = this.preQuery.flightno | ||
1195 | + this.preModel.flightdate = this.preQuery.flightdate | ||
1196 | + this.preModel.originstation = this.preQuery.originstation | ||
1197 | + this.preModel.destinationstation = this.preQuery.carrier | ||
1198 | + this.preModel.customcode = this.preQuery.customcode | ||
1081 | this.dialogStatus = 'create' | 1199 | this.dialogStatus = 'create' |
1082 | this.dialogFormVisible = true | 1200 | this.dialogFormVisible = true |
1083 | this.$nextTick(() => { | 1201 | this.$nextTick(() => { |
@@ -1105,19 +1223,19 @@ | @@ -1105,19 +1223,19 @@ | ||
1105 | }, | 1223 | }, |
1106 | // >>>>>>>>>>>>>>>>搜索<<<<<<<<<<<<<<<<<< | 1224 | // >>>>>>>>>>>>>>>>搜索<<<<<<<<<<<<<<<<<< |
1107 | handleSerach() { | 1225 | handleSerach() { |
1108 | - this.listQuery.carrier = undefined | ||
1109 | - this.listQuery.flightno = undefined | ||
1110 | - this.listQuery.originstation = undefined | ||
1111 | - this.listQuery.flightdate = undefined | ||
1112 | - this.listQuery.destinationstation = undefined | 1226 | + this.preQuery.flightno = undefined |
1227 | + this.preQuery.carrier = undefined | ||
1228 | + this.preQuery.originstation = undefined | ||
1229 | + this.preQuery.flightdate = undefined | ||
1230 | + this.preQuery.destinationstation = undefined | ||
1113 | this.getList() | 1231 | this.getList() |
1114 | }, | 1232 | }, |
1115 | // >>>>>>>>>>>>>>>>收发明细<<<<<<<<<<<<<<<<<< | 1233 | // >>>>>>>>>>>>>>>>收发明细<<<<<<<<<<<<<<<<<< |
1116 | handleSend(row) { | 1234 | handleSend(row) { |
1117 | const resQuery = { | 1235 | const resQuery = { |
1118 | carrier: row.carrier, | 1236 | carrier: row.carrier, |
1119 | - flightNo: row.flightno, | ||
1120 | - flightDate: row.flightdate, | 1237 | + flightno: row.flightno, |
1238 | + flightdate: row.flightdate, | ||
1121 | awba: row.awba, | 1239 | awba: row.awba, |
1122 | awbh: row.awbh, | 1240 | awbh: row.awbh, |
1123 | messageType: 'MT2201' | 1241 | messageType: 'MT2201' |
@@ -1128,8 +1246,26 @@ | @@ -1128,8 +1246,26 @@ | ||
1128 | }) | 1246 | }) |
1129 | }, | 1247 | }, |
1130 | // >>>>>>>>>>>>>>>>发送舱单报<<<<<<<<<<<<<<<<<< | 1248 | // >>>>>>>>>>>>>>>>发送舱单报<<<<<<<<<<<<<<<<<< |
1131 | - handleAwbSend() { | ||
1132 | - | 1249 | + handleAwbSend(row) { |
1250 | + delete row.parent | ||
1251 | + delete row.children | ||
1252 | + this.$confirm("是否发送", "确认消息", { | ||
1253 | + distinguishCancelAndClose: true, | ||
1254 | + confirmButtonText: '发送', | ||
1255 | + cancelButtonText: '取消' | ||
1256 | + }).then(() => { | ||
1257 | + if (row.awbh === null) { | ||
1258 | + row.awbh = '' | ||
1259 | + } | ||
1260 | + sendCreateMt2201(row).then(res => { | ||
1261 | + if (res.data.count > 0) { | ||
1262 | + Message.success(res.data.respMessage) | ||
1263 | + this.getList() | ||
1264 | + } else { | ||
1265 | + Message.error(res.data.respMessage) | ||
1266 | + } | ||
1267 | + }) | ||
1268 | + }) | ||
1133 | }, | 1269 | }, |
1134 | // >>>>>>>>>>>>>>>>更新运单数据<<<<<<<<<<<<<<<<<< | 1270 | // >>>>>>>>>>>>>>>>更新运单数据<<<<<<<<<<<<<<<<<< |
1135 | handleEdit(row) { | 1271 | handleEdit(row) { |
@@ -1158,14 +1294,96 @@ | @@ -1158,14 +1294,96 @@ | ||
1158 | }) | 1294 | }) |
1159 | }, | 1295 | }, |
1160 | // >>>>>>>>>>>>>>>>发送修改报<<<<<<<<<<<<<<<<<< | 1296 | // >>>>>>>>>>>>>>>>发送修改报<<<<<<<<<<<<<<<<<< |
1161 | - handleAwbEdit() { | ||
1162 | - | 1297 | + handleAwbEdit(row) { |
1298 | + delete row.parent | ||
1299 | + delete row.children | ||
1300 | + this.preModel = Object.assign({}, row) | ||
1301 | + this.dialogStatus = 'sendUpdate' | ||
1302 | + this.dialogFormVisible = true | ||
1303 | + this.$nextTick(() => { | ||
1304 | + this.$refs.preFormData.clearValidate() | ||
1305 | + }) | ||
1163 | }, | 1306 | }, |
1164 | - // >>>>>>>>>>>>>>>>保存并发送<<<<<<<<<<<<<<<<<< | ||
1165 | - handleSaveAndSend() { | 1307 | + sendUpdate(){ |
1308 | + this.respModel.reason = this.preModel.reason | ||
1309 | + this.respModel.contactName = this.preModel.contactName | ||
1310 | + this.respModel.contactTel = this.preModel.contactTel | ||
1311 | + // | ||
1312 | + delete this.preModel._expanded | ||
1313 | + delete this.preModel._level | ||
1314 | + delete this.preModel._marginLeft | ||
1315 | + delete this.preModel._show | ||
1316 | + delete this.preModel._width | ||
1166 | 1317 | ||
1318 | + const reason = this.preModel.reason | ||
1319 | + const contactName = this.preModel.contactName | ||
1320 | + const contactTel = this.preModel.contactTel | ||
1321 | + | ||
1322 | + this.$refs.preFormData.validate(valid =>{ | ||
1323 | + if(valid){ | ||
1324 | + delete this.preModel.reason | ||
1325 | + delete this.preModel.contactName | ||
1326 | + delete this.preModel.contactTel | ||
1327 | + const map = { | ||
1328 | + 'mt2201': this.preModel, | ||
1329 | + 'reason' : reason, | ||
1330 | + 'contactName': contactName, | ||
1331 | + 'contactTel': contactTel, | ||
1332 | + } | ||
1333 | + sendUpdateMt2201(map).then(res =>{ | ||
1334 | + if(res.data.count >0){ | ||
1335 | + Message.success(res.data.respMessage) | ||
1336 | + this.getList() | ||
1337 | + this.dialogFormVisible = false | ||
1338 | + }else { | ||
1339 | + Message.error(res.data.respMessage) | ||
1340 | + } | ||
1341 | + }) | ||
1342 | + } | ||
1343 | + }) | ||
1167 | }, | 1344 | }, |
1345 | + | ||
1168 | // >>>>>>>>>>>>>>>>发送删除报<<<<<<<<<<<<<<<<<< | 1346 | // >>>>>>>>>>>>>>>>发送删除报<<<<<<<<<<<<<<<<<< |
1347 | + handleSendDelete(row) { | ||
1348 | + this.respModel = { | ||
1349 | + carrier: undefined, | ||
1350 | + reason: undefined, | ||
1351 | + contactName: undefined, | ||
1352 | + contactTel: undefined, | ||
1353 | + content: '', | ||
1354 | + flightNo: undefined, | ||
1355 | + awba: undefined, | ||
1356 | + customCode: undefined, | ||
1357 | + flightDate: undefined, | ||
1358 | + awbh: '' | ||
1359 | + } | ||
1360 | + this.dialogDeleteVisble = true | ||
1361 | + this.respModel.awba = row.awba | ||
1362 | + this.respModel.flightNo = row.flightno | ||
1363 | + this.respModel.customCode = row.customcode | ||
1364 | + this.respModel.awbh = row.awbh | ||
1365 | + this.respModel.flightDate = row.flightdate | ||
1366 | + this.respModel.carrier = row.carrier | ||
1367 | + this.$nextTick(()=>{ | ||
1368 | + this.$refs.sendDeleteForm.clearValidate() | ||
1369 | + }) | ||
1370 | + }, | ||
1371 | + sendDelete() { | ||
1372 | + this.$refs.sendDeleteForm.validate(valid =>{ | ||
1373 | + if(valid){ | ||
1374 | + sendDeleteMt2201(this.respModel).then(res => { | ||
1375 | + if(res.data.count>0){ | ||
1376 | + Message.success(res.data.respMessage) | ||
1377 | + this.dialogDeleteVisble = false | ||
1378 | + this.getList() | ||
1379 | + }else { | ||
1380 | + Message.error(res.data.respMessage) | ||
1381 | + } | ||
1382 | + }) | ||
1383 | + } | ||
1384 | + }) | ||
1385 | + }, | ||
1386 | + //>>>>>>>>>>>>>>>>删除运单<<<<<<<<<<<<<<<<<< | ||
1169 | handleAwbDelete(row) { | 1387 | handleAwbDelete(row) { |
1170 | delete row.parent | 1388 | delete row.parent |
1171 | delete row.children | 1389 | delete row.children |
@@ -1199,27 +1417,28 @@ | @@ -1199,27 +1417,28 @@ | ||
1199 | }, | 1417 | }, |
1200 | // >>>>>>>>>>>>>>>>更改运单状态<<<<<<<<<<<<<<<<<< | 1418 | // >>>>>>>>>>>>>>>>更改运单状态<<<<<<<<<<<<<<<<<< |
1201 | handleAwbStatus(row) { | 1419 | handleAwbStatus(row) { |
1202 | - delete row.parent | ||
1203 | - delete row.children | ||
1204 | this.$confirm("是否发送更改状态", "确认消息", { | 1420 | this.$confirm("是否发送更改状态", "确认消息", { |
1205 | distinguishCancelAndClose: true, | 1421 | distinguishCancelAndClose: true, |
1206 | confirmButtonText: '确认更改', | 1422 | confirmButtonText: '确认更改', |
1207 | cancelButtonText: '取消更改' | 1423 | cancelButtonText: '取消更改' |
1208 | }).then(() => { | 1424 | }).then(() => { |
1209 | - updateStatus(row).then(res => { | ||
1210 | - if (res.data.count > 0) { | ||
1211 | - this.$message({ | ||
1212 | - type: 'success', | ||
1213 | - message: '当前运单状态已更改' | ||
1214 | - }) | ||
1215 | - this.getList() | ||
1216 | - } else { | ||
1217 | - this.$message({ | ||
1218 | - type: 'error', | ||
1219 | - message: '状态更改失败,请稍后重试' | ||
1220 | - }) | ||
1221 | - } | ||
1222 | - }) | 1425 | + if (row.status!==22){ |
1426 | + row.status =22; | ||
1427 | + } | ||
1428 | + // updateStatus(row).then(res => { | ||
1429 | + // if (res.data.count > 0) { | ||
1430 | + // this.$message({ | ||
1431 | + // type: 'success', | ||
1432 | + // message: '当前运单状态已更改' | ||
1433 | + // }) | ||
1434 | + // this.getList() | ||
1435 | + // } else { | ||
1436 | + // this.$message({ | ||
1437 | + // type: 'error', | ||
1438 | + // message: '状态更改失败,请稍后重试' | ||
1439 | + // }) | ||
1440 | + // } | ||
1441 | + // }) | ||
1223 | 1442 | ||
1224 | }).catch(action => { | 1443 | }).catch(action => { |
1225 | this.$message({ | 1444 | this.$message({ |
@@ -1246,14 +1465,14 @@ | @@ -1246,14 +1465,14 @@ | ||
1246 | this.preModel.awbinfo.sairportid = template.awbinfo.sairportid | 1465 | this.preModel.awbinfo.sairportid = template.awbinfo.sairportid |
1247 | this.preModel.awbinfo.eairportid = template.awbinfo.eairportid | 1466 | this.preModel.awbinfo.eairportid = template.awbinfo.eairportid |
1248 | this.preModel.awbinfo.ex5 = template.awbinfo.ex5 | 1467 | this.preModel.awbinfo.ex5 = template.awbinfo.ex5 |
1249 | - this.listQuery.awba = template.awba | ||
1250 | - this.listQuery.flightDate = template.flightdate | ||
1251 | - this.listQuery.flightNo = template.flightno | ||
1252 | - this.listQuery.originStation = template.originstation | ||
1253 | - this.listQuery.destinationStation = template.destinationstation | ||
1254 | - this.listQuery.customcode = template.customcode | ||
1255 | - this.listQuery.carrier = template.carrier | ||
1256 | - getMt2201ListForParam(this.listQuery).then(res => { | 1468 | + this.preQuery.awba = template.awba |
1469 | + this.preQuery.flightdate = template.flightdate | ||
1470 | + this.preQuery.flightno = template.flightno | ||
1471 | + this.preQuery.originstation = template.originstation | ||
1472 | + this.preQuery.destinationstation = template.destinationstation | ||
1473 | + this.preQuery.customcode = template.customcode | ||
1474 | + this.preQuery.carrier = template.carrier | ||
1475 | + getMt2201ListForParam(this.preQuery).then(res => { | ||
1257 | this.awbPiece = 0 | 1476 | this.awbPiece = 0 |
1258 | this.awbWeight = 0 | 1477 | this.awbWeight = 0 |
1259 | let residuePiece = 0 | 1478 | let residuePiece = 0 |
@@ -1278,7 +1497,7 @@ | @@ -1278,7 +1497,7 @@ | ||
1278 | }) | 1497 | }) |
1279 | }, | 1498 | }, |
1280 | 1499 | ||
1281 | - //获取城市列表 | 1500 | + //获取国家列表 |
1282 | getCountryList() { | 1501 | getCountryList() { |
1283 | getCountry().then(res => { | 1502 | getCountry().then(res => { |
1284 | this.countryList = res.data.dataList | 1503 | this.countryList = res.data.dataList |
@@ -1294,22 +1513,44 @@ | @@ -1294,22 +1513,44 @@ | ||
1294 | .indexOf(query.toUpperCase()) > -1 | 1513 | .indexOf(query.toUpperCase()) > -1 |
1295 | }) | 1514 | }) |
1296 | }, 200) | 1515 | }, 200) |
1297 | - // if (query.length > 1) { | ||
1298 | - // this.selectCountry.countryCode = query | ||
1299 | - // getByCountryCode(this.selectCountry).then(res => { | ||
1300 | - // this.shpCompnyList = res.data.dataList | ||
1301 | - // this.shpCompnyTypeOption = this.shpCompnyList.map(item => { | ||
1302 | - // console.log(item) | ||
1303 | - // return {value: item.enterpriseCode, label: item.enterpriseCode} | ||
1304 | - // }) | ||
1305 | - // }) | ||
1306 | - // } | ||
1307 | } else { | 1516 | } else { |
1308 | this.countryOption = [] | 1517 | this.countryOption = [] |
1309 | } | 1518 | } |
1519 | + }, | ||
1520 | + remoteMethodAirport(query){ | ||
1521 | + this.airportCode = [] | ||
1522 | + if (query !== '') { | ||
1523 | + this.airportLoading = true | ||
1524 | + getAirportCode({airportid: query}).then(res => { | ||
1525 | + if(res !== null){ | ||
1526 | + setTimeout(() => { | ||
1527 | + this.airportLoading = false | ||
1528 | + this.airportCode = res.data.data | ||
1529 | + }, 200) | ||
1530 | + } | ||
1531 | + }) | ||
1532 | + } else { | ||
1533 | + this.airportCode = [] | ||
1534 | + } | ||
1535 | + }, | ||
1310 | 1536 | ||
1311 | - | 1537 | + remoteMethodCustomCode(query){ |
1538 | + this.customCodeList = [] | ||
1539 | + if (query !== '') { | ||
1540 | + this.customLoading = true | ||
1541 | + getCustomCode({customcode: query}).then(res => { | ||
1542 | + if(res !== null){ | ||
1543 | + setTimeout(() => { | ||
1544 | + this.customLoading = false | ||
1545 | + this.customCodeList = res.data.data | ||
1546 | + }, 200) | ||
1547 | + } | ||
1548 | + }) | ||
1549 | + } else { | ||
1550 | + this.airportCode = [] | ||
1551 | + } | ||
1312 | }, | 1552 | }, |
1553 | + | ||
1313 | handleAddpre() { | 1554 | handleAddpre() { |
1314 | const row = { | 1555 | const row = { |
1315 | 'messageType': 'MT2201' | 1556 | 'messageType': 'MT2201' |
@@ -1318,7 +1559,8 @@ | @@ -1318,7 +1559,8 @@ | ||
1318 | }, | 1559 | }, |
1319 | 1560 | ||
1320 | handelBackStep() { | 1561 | handelBackStep() { |
1321 | - this.$router.push({name: '出港航班信息', params: {scopeRow: this.preModel}}) | 1562 | + this.preQuery.messageType = 'MT2201' |
1563 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.preQuery}}) | ||
1322 | } | 1564 | } |
1323 | } | 1565 | } |
1324 | } | 1566 | } |
@@ -32,7 +32,7 @@ | @@ -32,7 +32,7 @@ | ||
32 | <div class="grid-content"> | 32 | <div class="grid-content"> |
33 | <el-col :span="4"> | 33 | <el-col :span="4"> |
34 | <div class="grid-content"> | 34 | <div class="grid-content"> |
35 | - <el-input v-model="tidyQuery.awba" placeholder="请输入主单号"></el-input> | 35 | + <el-input v-model="tidyQuery.awba" placeholder="请输入主单号" clearable></el-input> |
36 | </div> | 36 | </div> |
37 | </el-col> | 37 | </el-col> |
38 | <div class="grid-content el-btn"> | 38 | <div class="grid-content el-btn"> |
@@ -58,7 +58,7 @@ | @@ -58,7 +58,7 @@ | ||
58 | <span>{{scope.row.awba}}</span> | 58 | <span>{{scope.row.awba}}</span> |
59 | </template> | 59 | </template> |
60 | </el-table-column> | 60 | </el-table-column> |
61 | - <el-table-column label="运单号" width="120" align="center"> | 61 | + <el-table-column label="分单号" width="120" align="center"> |
62 | <template slot-scope="scope"> | 62 | <template slot-scope="scope"> |
63 | <span>{{scope.row.awbh}}</span> | 63 | <span>{{scope.row.awbh}}</span> |
64 | </template> | 64 | </template> |
@@ -80,52 +80,55 @@ | @@ -80,52 +80,55 @@ | ||
80 | </el-table-column> | 80 | </el-table-column> |
81 | <el-table-column label="状态" width="100" align="center"> | 81 | <el-table-column label="状态" width="100" align="center"> |
82 | <template slot-scope="scope"> | 82 | <template slot-scope="scope"> |
83 | - <span v-if="scope.row.status ==='01'">未发送</span> | ||
84 | - <span v-if="scope.row.status ==='02'">已发舱单报</span> | 83 | + <span v-if="scope.row.status ==='01'">接受申报</span> |
84 | + <span v-if="scope.row.status ==='02'">待人工审核</span> | ||
85 | + <span v-if="scope.row.status ==='03'">退单</span> | ||
85 | <span v-if="scope.row.status ==='05'">舱单报退单</span> | 86 | <span v-if="scope.row.status ==='05'">舱单报退单</span> |
86 | <span v-if="scope.row.status ==='06'">舱单转人工</span> | 87 | <span v-if="scope.row.status ==='06'">舱单转人工</span> |
87 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> | 88 | <span v-if="scope.row.status ==='07'">舱单报申报成功</span> |
88 | - <span v-if="scope.row.status ==='08'">已发舱单删除报</span> | ||
89 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> | 89 | <span v-if="scope.row.status ==='09'">舱单删除报退单</span> |
90 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> | 90 | <span v-if="scope.row.status ==='10'">舱单删除报转人工</span> |
91 | - <span v-if="scope.row.status ==='11'">舱单删除成功</span> | ||
92 | - <span v-if="scope.row.status ==='12'">已发舱单修改报</span> | ||
93 | - <span v-if="scope.row.status ==='13'">舱单修改报退单</span> | 91 | + <span v-if="scope.row.status ==='11'">放行</span> |
92 | + <span v-if="scope.row.status ==='12'">拒装</span> | ||
93 | + <span v-if="scope.row.status ==='13'">禁卸</span> | ||
94 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> | 94 | <span v-if="scope.row.status ==='14'">舱单修改报转人工</span> |
95 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> | 95 | <span v-if="scope.row.status ==='15'">舱单修改报成功</span> |
96 | <span v-if="scope.row.status ==='16'">海关已存在</span> | 96 | <span v-if="scope.row.status ==='16'">海关已存在</span> |
97 | + <span v-if="scope.row.status ==='21'">可自动发送</span> | ||
98 | + <span v-if="scope.row.status ==='22'">未发送</span> | ||
99 | + <span v-if="scope.row.status ==='23'">已发送新增报</span> | ||
100 | + <span v-if="scope.row.status ==='24'">已发送删除报</span> | ||
101 | + <span v-if="scope.row.status ==='25'">已发送修改报</span> | ||
97 | </template> | 102 | </template> |
98 | </el-table-column> | 103 | </el-table-column> |
99 | - <el-table-column prop="receipt" label="回执信息" width="180" align="center"> | 104 | + <el-table-column label="回执信息" show-overflow-tooltip width="300" align="center"> |
100 | <template slot-scope="scope"> | 105 | <template slot-scope="scope"> |
101 | <span>{{scope.row.ext5}}</span> | 106 | <span>{{scope.row.ext5}}</span> |
102 | </template> | 107 | </template> |
103 | </el-table-column> | 108 | </el-table-column> |
104 | - <el-table-column prop="operation" label="操作" show-overflow-tooltip align="center"> | 109 | + <el-table-column prop="operation" label="操作" align="center"> |
105 | <template slot-scope="scope"> | 110 | <template slot-scope="scope"> |
106 | - | ||
107 | <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> | 111 | <el-button size="mini" @click="handleSend(scope.row)">收发明细</el-button> |
108 | <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑</el-button> | 112 | <el-button size="mini" type="success" @click="handleEdit(scope.row)">编辑</el-button> |
109 | <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" | 113 | <el-button size="mini" type="primary" @click="handleAwbSend(scope.row)" |
110 | - :disabled="scope.row.status !=='00'">发舱单报 | ||
111 | - </el-button> | 114 | + :disabled="scope.row.status ==='23'">发舱单报</el-button> |
112 | <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单</el-button> | 115 | <el-button size="mini" type="danger" v-if="isAdmin" @click="handleAwbDelete(scope.row)">删除运单</el-button> |
113 | - | 116 | + <p></p> |
114 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" | 117 | <el-button size="mini" type="warning" @click="handleAwbStatus(scope.row)" |
115 | - :disabled="scope.row.status ==='00'">更改状态 | ||
116 | - </el-button> | 118 | + :disabled="scope.row.status ==='22'">更改状态</el-button> |
117 | <el-button size="mini" type="primary" v-if="scope.row.awbh ===null" | 119 | <el-button size="mini" type="primary" v-if="scope.row.awbh ===null" |
118 | - @click="handleAddAwbh(scope.row)">新增分单 | ||
119 | - </el-button> | 120 | + @click="handleAddAwbh(scope.row)">新增分单</el-button> |
121 | + <el-button size="mini" type="danger" @click="handleSendDelete(scope.row)" | ||
122 | + :disabled="scope.row.status ==='24'">发删除报</el-button> | ||
120 | </template> | 123 | </template> |
121 | </el-table-column> | 124 | </el-table-column> |
122 | </tree-table> | 125 | </tree-table> |
123 | <div class="btnFoot"> | 126 | <div class="btnFoot"> |
124 | <el-row> | 127 | <el-row> |
125 | - <el-button type="primary" size="mini" v-if="tidyModel.flightno !== undefined || tidyData.length> 0" | 128 | + <el-button type="primary" size="mini" v-if="tidyQuery.flightno !== undefined || tidyData.length> 0" |
126 | @click="handelAddTidyInfo">新增出港理货 | 129 | @click="handelAddTidyInfo">新增出港理货 |
127 | </el-button> | 130 | </el-button> |
128 | - <el-button type="primary" size="mini" v-if="tidyModel.flightno !== undefined || tidyData.length> 0" | 131 | + <el-button type="primary" size="mini" v-if="tidyQuery.flightno !== undefined || tidyData.length> 0" |
129 | @click="handelBackStep">返回 | 132 | @click="handelBackStep">返回 |
130 | </el-button> | 133 | </el-button> |
131 | </el-row> | 134 | </el-row> |
@@ -174,14 +177,29 @@ | @@ -174,14 +177,29 @@ | ||
174 | <el-row> | 177 | <el-row> |
175 | <el-col :span="7.5"> | 178 | <el-col :span="7.5"> |
176 | <el-form-item label="起始站" prop="originstation"> | 179 | <el-form-item label="起始站" prop="originstation"> |
177 | - <el-input v-model="originstation" | ||
178 | - :disabled="dialogStatus === 'update'"></el-input> | 180 | + |
181 | + <el-select filterable clearable placeholder="请选择起始站" :remote-method="remoteMethodAirport" | ||
182 | + allow-create v-model="originstation" remote> | ||
183 | + <el-option v-for="item in airportCode" | ||
184 | + :key="item.airportid" :label="item.airportid" | ||
185 | + :value="item.airportid" :disabled="dialogStatus === 'update'"> | ||
186 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
187 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
188 | + </el-option> | ||
189 | + </el-select> | ||
179 | </el-form-item> | 190 | </el-form-item> |
180 | </el-col> | 191 | </el-col> |
181 | <el-col :span="7.5"> | 192 | <el-col :span="7.5"> |
182 | <el-form-item label="目的站" prop="destinationstation"> | 193 | <el-form-item label="目的站" prop="destinationstation"> |
183 | - <el-input v-model="destinationstation" | ||
184 | - :disabled="dialogStatus === 'update'"></el-input> | 194 | + <el-select filterable clearable placeholder="请选择起始站" :remote-method="remoteMethodAirport" |
195 | + allow-create v-model="destinationstation" remote> | ||
196 | + <el-option v-for="item in airportCode" | ||
197 | + :key="item.airportid" :label="item.airportid" | ||
198 | + :value="item.airportid" :disabled="dialogStatus === 'update'"> | ||
199 | + <span style="float: left">{{ item.airportdescchn }}</span> | ||
200 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.airportid }}</span> | ||
201 | + </el-option> | ||
202 | + </el-select> | ||
185 | </el-form-item> | 203 | </el-form-item> |
186 | </el-col> | 204 | </el-col> |
187 | 205 | ||
@@ -238,9 +256,14 @@ | @@ -238,9 +256,14 @@ | ||
238 | </el-col> | 256 | </el-col> |
239 | <el-col :span="7.5"> | 257 | <el-col :span="7.5"> |
240 | <el-form-item label="海关关区" prop="customcode"> | 258 | <el-form-item label="海关关区" prop="customcode"> |
241 | - <el-select v-model="tidyModel.customcode"> | ||
242 | - <el-option v-for="item in customcodeList " :key="item" :label="item" | ||
243 | - :value="item"></el-option> | 259 | + <el-select v-model="tidyModel.customcode" placeholder="请选择关区代码" |
260 | + filterable clearable remote :remote-method="remoteMethodCustomCode" :loading="customLoading" | ||
261 | + :disabled="dialogStatus === 'addAwbh'"> | ||
262 | + <el-option v-for="item in customCodeList" :key="item.customcode" :label="item.customcode" | ||
263 | + :value="item.customcode"> | ||
264 | + <span style="float: left">{{ item.customcode }}</span> | ||
265 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.customname }}</span> | ||
266 | + </el-option> | ||
244 | </el-select> | 267 | </el-select> |
245 | </el-form-item> | 268 | </el-form-item> |
246 | </el-col> | 269 | </el-col> |
@@ -249,12 +272,11 @@ | @@ -249,12 +272,11 @@ | ||
249 | <div slot="footer" class="dialog-footer"> | 272 | <div slot="footer" class="dialog-footer"> |
250 | <el-button @click="dialogFormVisible = false">取消</el-button> | 273 | <el-button @click="dialogFormVisible = false">取消</el-button> |
251 | <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> | 274 | <el-button type="primary" @click="dialogStatus==='create'?createData():updateData()">保存</el-button> |
252 | - <el-button type="success" @click="handleSaveAndSend">保存并发送</el-button> | ||
253 | </div> | 275 | </div> |
254 | </el-dialog> | 276 | </el-dialog> |
255 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> | 277 | <el-dialog title="收发明细" :visible.sync="dialogTableVisible"> |
256 | <el-table :data="detailData" border> | 278 | <el-table :data="detailData" border> |
257 | - <el-table-column label="操作时间" width="150"> | 279 | + <el-table-column label="操作时间" width="180"> |
258 | <template slot-scope="scope"> | 280 | <template slot-scope="scope"> |
259 | {{scope.row.busdate}} | 281 | {{scope.row.busdate}} |
260 | </template> | 282 | </template> |
@@ -291,7 +313,27 @@ | @@ -291,7 +313,27 @@ | ||
291 | </el-table-column> | 313 | </el-table-column> |
292 | </el-table> | 314 | </el-table> |
293 | </el-dialog> | 315 | </el-dialog> |
294 | - | 316 | + <el-dialog title="删除原因" :visible.sync="dialogDeleteVisible" width="30%"> |
317 | + <el-form ref="tidyDeleteForm" :model="respModel" :rules="tidyDeleteRules" | ||
318 | + label-width="120px" style="margin-right: 50px"> | ||
319 | + <el-form-item label="删除原因" prop="reason"> | ||
320 | + <el-input v-model="respModel.reason" placeholder="删除原因"></el-input> | ||
321 | + </el-form-item> | ||
322 | + <el-form-item label="删除操作人" prop="contactName"> | ||
323 | + <el-input v-model="respModel.contactName" placeholder="操作人姓名"></el-input> | ||
324 | + </el-form-item> | ||
325 | + <el-form-item label="操作人Tel" prop="contactTel"> | ||
326 | + <el-input v-model="respModel.contactTel" placeholder="删除操作人联系方式"></el-input> | ||
327 | + </el-form-item> | ||
328 | + <el-form-item label="备注"> | ||
329 | + <el-input v-model="respModel.content" type="textarea"></el-input> | ||
330 | + </el-form-item> | ||
331 | + </el-form> | ||
332 | + <div slot="footer" class="dialog-footer"> | ||
333 | + <el-button @click="dialogDeleteVisible = false">取消</el-button> | ||
334 | + <el-button type="primary" @click="sendTidyDelete()">发送</el-button> | ||
335 | + </div> | ||
336 | + </el-dialog> | ||
295 | </div> | 337 | </div> |
296 | </template> | 338 | </template> |
297 | <script> | 339 | <script> |
@@ -299,10 +341,14 @@ | @@ -299,10 +341,14 @@ | ||
299 | import treeToArray from '@/utils/customEval' | 341 | import treeToArray from '@/utils/customEval' |
300 | import Pagination from '@/components/Pagination' | 342 | import Pagination from '@/components/Pagination' |
301 | 343 | ||
302 | - import {getMt520XListForParam, deleteByIsDelete, updateStatus, updateMt520X, addMt520X} from '@/api/exitTidy' | 344 | + import { |
345 | + getMt520XListForParam, deleteByIsDelete, | ||
346 | + updateStatus, updateMt520X, addMt520X, | ||
347 | + sendCreateMt5202,sendRemoveMt5202 } from '@/api/exitTidy' | ||
303 | import {Message} from "element-ui"; | 348 | import {Message} from "element-ui"; |
304 | import {getResponseForParam} from '@/api/responseDetail' | 349 | import {getResponseForParam} from '@/api/responseDetail' |
305 | import {validAwb, validAlphabets, validAlphabetsAndNum, validAlphabetsAndSpanceKey,validatorNum} from "@/utils/validate" | 350 | import {validAwb, validAlphabets, validAlphabetsAndNum, validAlphabetsAndSpanceKey,validatorNum} from "@/utils/validate" |
351 | + import {getCustomCode,getAirportCode} from "@/api/country"; | ||
306 | 352 | ||
307 | export default { | 353 | export default { |
308 | name: "ExitTidy", | 354 | name: "ExitTidy", |
@@ -348,7 +394,8 @@ | @@ -348,7 +394,8 @@ | ||
348 | create: '添加出港理货', | 394 | create: '添加出港理货', |
349 | addAwbh: '添加分单理货' | 395 | addAwbh: '添加分单理货' |
350 | }, | 396 | }, |
351 | - customcodeList: [4604, 4620], | 397 | + customCodeList: [], |
398 | + airportCode:[], | ||
352 | tidyQuery: { | 399 | tidyQuery: { |
353 | pageSize: 1, | 400 | pageSize: 1, |
354 | limitSize: 100, | 401 | limitSize: 100, |
@@ -358,7 +405,8 @@ | @@ -358,7 +405,8 @@ | ||
358 | flightdate: undefined, | 405 | flightdate: undefined, |
359 | originstation: undefined, | 406 | originstation: undefined, |
360 | destinationstation: undefined, | 407 | destinationstation: undefined, |
361 | - customcode: undefined | 408 | + customcode: undefined, |
409 | + messageType: undefined | ||
362 | }, | 410 | }, |
363 | tidyRoles: { | 411 | tidyRoles: { |
364 | awba: [{required: true, trigger: 'blur', validator: validatorAwb}], | 412 | awba: [{required: true, trigger: 'blur', validator: validatorAwb}], |
@@ -374,9 +422,11 @@ | @@ -374,9 +422,11 @@ | ||
374 | tidyData: [], | 422 | tidyData: [], |
375 | detailData: [], | 423 | detailData: [], |
376 | dialogTableVisible: false, | 424 | dialogTableVisible: false, |
425 | + dialogDeleteVisible: false, | ||
377 | dialogStatus: undefined, | 426 | dialogStatus: undefined, |
378 | disabledStatus: false, | 427 | disabledStatus: false, |
379 | listLoading: false, | 428 | listLoading: false, |
429 | + customLoading:false, | ||
380 | dialogFormVisible: false, | 430 | dialogFormVisible: false, |
381 | tidyModel: { | 431 | tidyModel: { |
382 | carrier: undefined, | 432 | carrier: undefined, |
@@ -396,7 +446,25 @@ | @@ -396,7 +446,25 @@ | ||
396 | awbpiece: undefined, | 446 | awbpiece: undefined, |
397 | awbweight: undefined, | 447 | awbweight: undefined, |
398 | rcfdep: 'MT5202', | 448 | rcfdep: 'MT5202', |
399 | - } | 449 | + }, |
450 | + respModel : { | ||
451 | + uuid: undefined, | ||
452 | + reason: undefined, | ||
453 | + contactName: undefined, | ||
454 | + contactTel: undefined, | ||
455 | + content: '', | ||
456 | + flightNo: undefined, | ||
457 | + awba: undefined, | ||
458 | + customCode: undefined, | ||
459 | + flightDate: undefined, | ||
460 | + awbh: undefined, | ||
461 | + rcfdep: 'MT5202', | ||
462 | + }, | ||
463 | + tidyDeleteRules: { | ||
464 | + reason: [{required: true, message: '删除原因不能为空', trigger: 'blur'}], | ||
465 | + contactName: [{required: true, message: '删除操作人不能为空', trigger: 'blur'}], | ||
466 | + contactTel: [{required: true, message: '操作人联系方式不能为空', trigger: 'blur'}] | ||
467 | + }, | ||
400 | } | 468 | } |
401 | }, | 469 | }, |
402 | created() { | 470 | created() { |
@@ -489,7 +557,7 @@ | @@ -489,7 +557,7 @@ | ||
489 | getList() { | 557 | getList() { |
490 | this.listLoading = true | 558 | this.listLoading = true |
491 | //根据是否有主单号 来给查询条件赋值 | 559 | //根据是否有主单号 来给查询条件赋值 |
492 | - if (this.tidyQuery.awba != undefined && this.tidyQuery.awba != '') { | 560 | + if (this.tidyQuery.awba !== undefined && this.tidyQuery.awba !== '') { |
493 | getMt520XListForParam(this.tidyQuery).then(res => { | 561 | getMt520XListForParam(this.tidyQuery).then(res => { |
494 | this.tidyData = res.data.dataList | 562 | this.tidyData = res.data.dataList |
495 | this.total = res.data.count | 563 | this.total = res.data.count |
@@ -547,7 +615,26 @@ | @@ -547,7 +615,26 @@ | ||
547 | 615 | ||
548 | //发送舱单报 | 616 | //发送舱单报 |
549 | handleAwbSend(row) { | 617 | handleAwbSend(row) { |
550 | - | 618 | + delete row.children |
619 | + delete row.parent | ||
620 | + this.$confirm("是否发送", "确认消息", { | ||
621 | + distinguishCancelAndClose: true, | ||
622 | + confirmButtonText: '发送', | ||
623 | + cancelButtonText: '取消' | ||
624 | + }).then(() => { | ||
625 | + delete row.messageType | ||
626 | + console.log(row) | ||
627 | + sendCreateMt5202(row).then(res => { | ||
628 | + if (res.data.count > 0) { | ||
629 | + Message.success(res.data.respMessage) | ||
630 | + this.getList() | ||
631 | + }else { | ||
632 | + Message.error(res.data.respMessage) | ||
633 | + } | ||
634 | + }) | ||
635 | + }).catch(error =>{ | ||
636 | + Message.error(error.message) | ||
637 | + }) | ||
551 | }, | 638 | }, |
552 | //新增分单理货 | 639 | //新增分单理货 |
553 | handleAddAwbh(row) { | 640 | handleAddAwbh(row) { |
@@ -564,6 +651,52 @@ | @@ -564,6 +651,52 @@ | ||
564 | this.$refs.tidyFormData.clearValidate() | 651 | this.$refs.tidyFormData.clearValidate() |
565 | }) | 652 | }) |
566 | }, | 653 | }, |
654 | + // 发删除报 | ||
655 | + handleSendDelete(row){ | ||
656 | + this.respModel = { | ||
657 | + carrier: undefined, | ||
658 | + reason: undefined, | ||
659 | + contactName: undefined, | ||
660 | + contactTel: undefined, | ||
661 | + content: '', | ||
662 | + flightNo: undefined, | ||
663 | + awba: undefined, | ||
664 | + customCode: undefined, | ||
665 | + flightDate: undefined, | ||
666 | + awbh: undefined, | ||
667 | + rcfdep: 'MT5202', | ||
668 | + } | ||
669 | + this.dialogDeleteVisible = true | ||
670 | + this.respModel.carrier = row.carrier | ||
671 | + this.respModel.flightNo = row.flightno | ||
672 | + this.respModel.awba = row.awba | ||
673 | + this.respModel.customCode = row.customcode | ||
674 | + this.respModel.flightDate = row.flightdate | ||
675 | + if(row.awbh === null){ | ||
676 | + this.respModel.awbh = '' | ||
677 | + }else { | ||
678 | + this.respModel.awbh = row.awbh | ||
679 | + } | ||
680 | + this.$nextTick(() => { | ||
681 | + this.$refs.tidyDeleteForm.clearValidate() | ||
682 | + }) | ||
683 | + }, | ||
684 | + sendTidyDelete(){ | ||
685 | + this.$refs.tidyDeleteForm.validate(valid =>{ | ||
686 | + if(valid){ | ||
687 | + sendRemoveMt5202(this.respModel).then(res =>{ | ||
688 | + if(res.data.count >0){ | ||
689 | + Message.success(res.data.respMessage) | ||
690 | + this.dialogDeleteVisible = false | ||
691 | + this.getList() | ||
692 | + }else { | ||
693 | + Message.error(res.data.respMessage) | ||
694 | + } | ||
695 | + }) | ||
696 | + } | ||
697 | + }) | ||
698 | + }, | ||
699 | + | ||
567 | // 删除当前运单 | 700 | // 删除当前运单 |
568 | handleAwbDelete(row) { | 701 | handleAwbDelete(row) { |
569 | delete row.parent | 702 | delete row.parent |
@@ -575,16 +708,10 @@ | @@ -575,16 +708,10 @@ | ||
575 | }).then(() => { | 708 | }).then(() => { |
576 | deleteByIsDelete(row).then(res => { | 709 | deleteByIsDelete(row).then(res => { |
577 | if (res.data.count > 0) { | 710 | if (res.data.count > 0) { |
578 | - this.$message({ | ||
579 | - type: 'success', | ||
580 | - message: '删除成功' | ||
581 | - }) | 711 | + Message.success("删除成功") |
582 | this.getList() | 712 | this.getList() |
583 | } else { | 713 | } else { |
584 | - this.$message({ | ||
585 | - type: 'error', | ||
586 | - message: '删除异常,请稍后重试' | ||
587 | - }) | 714 | + Message.success("删除异常,请稍后重试") |
588 | } | 715 | } |
589 | }) | 716 | }) |
590 | }).catch(action => { | 717 | }).catch(action => { |
@@ -599,27 +726,23 @@ | @@ -599,27 +726,23 @@ | ||
599 | }, | 726 | }, |
600 | // 更新运单为可发送状态 | 727 | // 更新运单为可发送状态 |
601 | handleAwbStatus(row) { | 728 | handleAwbStatus(row) { |
602 | - delete row.parent | ||
603 | - delete row.children | 729 | + |
604 | this.$confirm("是否发送更改状态", "确认消息", { | 730 | this.$confirm("是否发送更改状态", "确认消息", { |
605 | distinguishCancelAndClose: true, | 731 | distinguishCancelAndClose: true, |
606 | confirmButtonText: '确认更改', | 732 | confirmButtonText: '确认更改', |
607 | cancelButtonText: '取消更改' | 733 | cancelButtonText: '取消更改' |
608 | }).then(() => { | 734 | }).then(() => { |
609 | - updateStatus(row).then(res => { | ||
610 | - if (res.data.count > 0) { | ||
611 | - this.$message({ | ||
612 | - type: 'success', | ||
613 | - message: '当前运单状态已更改' | ||
614 | - }) | ||
615 | - this.getList() | ||
616 | - } else { | ||
617 | - this.$message({ | ||
618 | - type: 'error', | ||
619 | - message: '更新失败,请稍后重试' | ||
620 | - }) | ||
621 | - } | ||
622 | - }) | 735 | + if (row.status!==22){ |
736 | + row.status =22; | ||
737 | + } | ||
738 | + // updateStatus(row).then(res => { | ||
739 | + // if (res.data.count > 0) { | ||
740 | + // Message.success(res.data.respMessage) | ||
741 | + // this.getList() | ||
742 | + // } else { | ||
743 | + // Message.error(res.data.respMessage) | ||
744 | + // } | ||
745 | + // }) | ||
623 | }).catch(action => { | 746 | }).catch(action => { |
624 | this.$message({ | 747 | this.$message({ |
625 | type: 'info', | 748 | type: 'info', |
@@ -712,20 +835,51 @@ | @@ -712,20 +835,51 @@ | ||
712 | } | 835 | } |
713 | }) | 836 | }) |
714 | }, | 837 | }, |
715 | - // 保存并发送 | ||
716 | - handleSaveAndSend() { | ||
717 | - | 838 | + //获取机场三字码 |
839 | + remoteMethodAirport(query){ | ||
840 | + this.airportCode = [] | ||
841 | + if (query !== '') { | ||
842 | + this.listLoading = true | ||
843 | + getAirportCode({airportid: query}).then(res => { | ||
844 | + if(res !== null){ | ||
845 | + setTimeout(() => { | ||
846 | + this.listLoading = false | ||
847 | + this.airportCode = res.data.data | ||
848 | + }, 200) | ||
849 | + } | ||
850 | + }) | ||
851 | + } else { | ||
852 | + this.airportCode = [] | ||
853 | + } | ||
854 | + }, | ||
855 | + //关区代码 | ||
856 | + remoteMethodCustomCode(query){ | ||
857 | + this.customCodeList = [] | ||
858 | + if (query !== '') { | ||
859 | + this.customLoading = true | ||
860 | + getCustomCode({customcode: query}).then(res => { | ||
861 | + if(res !== null){ | ||
862 | + setTimeout(() => { | ||
863 | + this.customLoading = false | ||
864 | + this.customCodeList = res.data.data | ||
865 | + }, 200) | ||
866 | + } | ||
867 | + }) | ||
868 | + } else { | ||
869 | + this.airportCode = [] | ||
870 | + } | ||
718 | }, | 871 | }, |
719 | // 新增理货弹框 | 872 | // 新增理货弹框 |
720 | handleAddTidy() { | 873 | handleAddTidy() { |
721 | - const row = { | ||
722 | - 'messageType': 'MT5201' | 874 | + const query = { |
875 | + 'messageType': 'MT5202' | ||
723 | } | 876 | } |
724 | - this.$router.push({name: '出港航班信息', params: {scopeRow: row}}) | 877 | + this.$router.push({name: '出港航班信息', params: {scopeRow: query}}) |
725 | }, | 878 | }, |
726 | // 返回 | 879 | // 返回 |
727 | handelBackStep() { | 880 | handelBackStep() { |
728 | - this.$router.push({name: '出港航班信息', params: {scopeRow: this.tidyModel}}) | 881 | + this.tidyQuery.messageType = 'MT5202' |
882 | + this.$router.push({name: '出港航班信息', params: {scopeRow: this.tidyQuery}}) | ||
729 | } | 883 | } |
730 | } | 884 | } |
731 | } | 885 | } |
-
请 注册 或 登录 后发表评论