Merge remote-tracking branch 'origin/master'
正在显示
11 个修改的文件
包含
2503 行增加
和
145 行删除
src/api/transport/transport2.0.js
0 → 100644
1 | +import http from "../http"; | ||
2 | + | ||
3 | +let baseUrl = 'air-server-transport' | ||
4 | +let baseUrlResultMsg = 'air-server-transport/transport/returnmsg' | ||
5 | +//查询海关代码,机场代码 | ||
6 | +export const selectBycustomcode = params => { return http.get(`${baseUrl}/transport/customcode/selectBycustomcode`, params); }; | ||
7 | +export const selectByairportcode = params => { return http.get(`${baseUrl}/transport/airportcode/selectByairportcode`, params); }; | ||
8 | +//在港动态信息 | ||
9 | +export const insertSelective = params => { return http.post(`${baseUrl}/transport/aircraftStaying/insertSelective`, params); }; | ||
10 | +export const updateByPrimaryKeySelective = params => { return http.post(`${baseUrl}/transport/aircraftStaying/updateByPrimaryKeySelective`, params); }; | ||
11 | +export const selectLists = params => { return http.get(`${baseUrl}/transport/aircraftStaying/selectLists`, params); }; | ||
12 | +export const sendAircraftstaying = params => { return http.post(`${baseUrl}/transport/aircraftStaying/sendAircraftstaying`, params); }; | ||
13 | + | ||
14 | + | ||
15 | +//查询回执列表 | ||
16 | +export const selectReturnMsgList=params=>{return http.get(`${baseUrlResultMsg}/selectReturnMsg`, params);}; | ||
17 | + | ||
18 | +//单证申报 | ||
19 | +export const selectBillLists = params => { return http.get(`${baseUrl}/transport/bill/selectBillLists`, params); }; | ||
20 | +export const insertSelectiveBill = params => { return http.post(`${baseUrl}/transport/bill/insertSelectiveBill`, params); }; | ||
21 | +export const updateByPrimaryKeySelectiveBill = params => { return http.post(`${baseUrl}/transport/bill/updateByPrimaryKeySelectiveBill`, params); }; | ||
22 | +export const sendBillSdeclare = params => { return http.post(`${baseUrl}/transport/bill/sendBillSdeclare`, params); }; | ||
23 | +export const batchJZImport = params => { return http.postExcelData(`${baseUrl}/transport/bill/batchJZImport`, params); }; | ||
24 | + | ||
25 | + | ||
26 | +//预确报申报 | ||
27 | +export const selectPreList = params => { return http.get(`${baseUrl}/transport/prediction/selectList`, params); }; | ||
28 | +export const insertSelectivePre = params => { return http.post(`${baseUrl}/transport/prediction/insertSelective`, params); }; | ||
29 | +export const updateByPrimaryKeySelectivePre = params => { return http.post(`${baseUrl}/transport/prediction/updateByPrimaryKeySelective`, params); }; | ||
30 | +export const sendPrediction = params => { return http.post(`${baseUrl}/transport/prediction/sendPrediction`, params); }; | ||
31 | +export const canclePre = params => { return http.post(`${baseUrl}/transport/prediction/canclePre`, params); }; | ||
32 | + | ||
33 | + | ||
34 | + | ||
35 | + | ||
36 | + | ||
37 | + | ||
38 | + | ||
39 | + | ||
40 | + | ||
41 | + | ||
42 | + | ||
43 | + |
@@ -212,6 +212,12 @@ import ImportOrder from './views/exportorder/ImportOrder'; | @@ -212,6 +212,12 @@ import ImportOrder from './views/exportorder/ImportOrder'; | ||
212 | import ZhiDan from './views/zhidan/zhidan.vue' | 212 | import ZhiDan from './views/zhidan/zhidan.vue' |
213 | import Rate from './views/zhidan/rate.vue' | 213 | import Rate from './views/zhidan/rate.vue' |
214 | 214 | ||
215 | +//运输工具2.0 | ||
216 | +import zaigang from './views/airtransport/zaigang.vue' | ||
217 | +import gongtui from './views/airtransport/gongtui.vue' | ||
218 | +import danzheng from './views/airtransport/danzheng.vue' | ||
219 | +import yqdeclare from './views/airtransport/yqdeclare.vue' | ||
220 | + | ||
215 | // 邮件风控 | 221 | // 邮件风控 |
216 | import MailRisk from './views/mail_risk/index.vue' | 222 | import MailRisk from './views/mail_risk/index.vue' |
217 | 223 | ||
@@ -679,11 +685,11 @@ let routes = [ | @@ -679,11 +685,11 @@ let routes = [ | ||
679 | { | 685 | { |
680 | path: '/at', | 686 | path: '/at', |
681 | component: HomeNew, | 687 | component: HomeNew, |
682 | - name: '在港动态', | 688 | + name: '在港申报', |
683 | iconCls:'el-icon-goods', | 689 | iconCls:'el-icon-goods', |
684 | children:[ | 690 | children:[ |
685 | - {path:'/dynamics',component:dynamics,name:'在港动态信息'}, | ||
686 | - {path:'/matter',component:matter,name:'物料申报管理'} | 691 | + {path:'/dynamics',component:dynamics,name:'在港动态申报'}, |
692 | + {path:'/matter',component:matter,name:'供退物料申报'} | ||
687 | ] | 693 | ] |
688 | }, | 694 | }, |
689 | { | 695 | { |
@@ -787,6 +793,18 @@ let routes = [ | @@ -787,6 +793,18 @@ let routes = [ | ||
787 | { path: '/page6', component: Page6, name: '综合楼空调站' }, | 793 | { path: '/page6', component: Page6, name: '综合楼空调站' }, |
788 | ] | 794 | ] |
789 | }, | 795 | }, |
796 | + { | ||
797 | + path: '/zg', | ||
798 | + component: HomeNew, | ||
799 | + name: '在港申报2.0', | ||
800 | + iconCls:'el-icon-goods', | ||
801 | + children:[ | ||
802 | + {path:'/gongtui',component:gongtui,name:'供退物料申报'}, | ||
803 | + {path:'/zaigang',component:zaigang,name:'在港动态申报'}, | ||
804 | + {path:'/danzheng',component:danzheng,name:'单证申报'}, | ||
805 | + {path:'/yqdeclare',component:yqdeclare,name:'预确报申报'} | ||
806 | + ] | ||
807 | + }, | ||
790 | 808 | ||
791 | { | 809 | { |
792 | path: '*', | 810 | path: '*', |
@@ -11,19 +11,19 @@ | @@ -11,19 +11,19 @@ | ||
11 | <el-form :label-position="labelPosition" :model="queryConfigure" :rules="rules" ref="queryFlight" | 11 | <el-form :label-position="labelPosition" :model="queryConfigure" :rules="rules" ref="queryFlight" |
12 | label-width="130px" class="demo-ruleForm"> | 12 | label-width="130px" class="demo-ruleForm"> |
13 | <el-row> | 13 | <el-row> |
14 | - <el-col :span="5" style="margin-right: 70px"> | 14 | + <el-col :span="5"> |
15 | <el-form-item label="承运人" prop="carrier" label-width="70px"> | 15 | <el-form-item label="承运人" prop="carrier" label-width="70px"> |
16 | <el-input v-model="queryConfigure.carrier" style="width:120px"></el-input> | 16 | <el-input v-model="queryConfigure.carrier" style="width:120px"></el-input> |
17 | </el-form-item> | 17 | </el-form-item> |
18 | </el-col> | 18 | </el-col> |
19 | - <el-col :span="5" style="margin-right: 70px"> | 19 | + <el-col :span="5"> |
20 | <el-form-item label="航班号" prop="flightno" label-width="70px"> | 20 | <el-form-item label="航班号" prop="flightno" label-width="70px"> |
21 | <el-input v-model="queryConfigure.flightno" style="width:120px"></el-input> | 21 | <el-input v-model="queryConfigure.flightno" style="width:120px"></el-input> |
22 | </el-form-item> | 22 | </el-form-item> |
23 | </el-col> | 23 | </el-col> |
24 | <el-col :span="8" > | 24 | <el-col :span="8" > |
25 | - <el-button type="primary" icon="el-icon-search" @click="submitForm()">查询</el-button> | ||
26 | - <el-button type="success" icon="el-icon-edit" @click="addForm()">新增</el-button> | 25 | + <el-button type="primary" @click="submitForm()">查询</el-button> |
26 | + <el-button type="success" @click="addForm()">新增</el-button> | ||
27 | 27 | ||
28 | </el-col> | 28 | </el-col> |
29 | </el-row> | 29 | </el-row> |
@@ -36,28 +36,19 @@ | @@ -36,28 +36,19 @@ | ||
36 | :data="tableData" | 36 | :data="tableData" |
37 | border | 37 | border |
38 | v-loading="tableloading" style="margin-bottom: 20px;margin-top: 20px"> | 38 | v-loading="tableloading" style="margin-bottom: 20px;margin-top: 20px"> |
39 | - <el-table-column | 39 | + <!--<el-table-column |
40 | prop="carrier" | 40 | prop="carrier" |
41 | label="承运人"> | 41 | label="承运人"> |
42 | - </el-table-column> | 42 | + </el-table-column>--> |
43 | <el-table-column | 43 | <el-table-column |
44 | prop="flightno" | 44 | prop="flightno" |
45 | label="航班号"> | 45 | label="航班号"> |
46 | </el-table-column> | 46 | </el-table-column> |
47 | <el-table-column | 47 | <el-table-column |
48 | - prop="customscode" | ||
49 | - label="申报关区"> | ||
50 | - </el-table-column> | ||
51 | - <el-table-column | ||
52 | prop="aircraftcode" | 48 | prop="aircraftcode" |
53 | label="航空注册器编号"> | 49 | label="航空注册器编号"> |
54 | </el-table-column> | 50 | </el-table-column> |
55 | <el-table-column | 51 | <el-table-column |
56 | - prop="aircrafttype" | ||
57 | - label="航空器备案类型" | ||
58 | - show-overflow-tooltip> | ||
59 | - </el-table-column> | ||
60 | - <el-table-column | ||
61 | prop="originstation" | 52 | prop="originstation" |
62 | label="航班起始站"> | 53 | label="航班起始站"> |
63 | </el-table-column> | 54 | </el-table-column> |
@@ -66,12 +57,37 @@ | @@ -66,12 +57,37 @@ | ||
66 | label="航班目的站"> | 57 | label="航班目的站"> |
67 | </el-table-column> | 58 | </el-table-column> |
68 | <el-table-column | 59 | <el-table-column |
60 | + prop="customscode" | ||
61 | + label="申报关区"> | ||
62 | + </el-table-column> | ||
63 | + <el-table-column | ||
64 | + label="配置类型"> | ||
65 | + <template slot-scope="scope"> | ||
66 | + <span v-if="scope.row.type ==='2'">入境</span> | ||
67 | + <span v-if="scope.row.type ==='1'">出境</span> | ||
68 | + </template> | ||
69 | + </el-table-column> | ||
70 | + <!--<el-table-column | ||
71 | + prop="aircrafttype" | ||
72 | + label="航空器备案类型" | ||
73 | + show-overflow-tooltip> | ||
74 | + </el-table-column>--> | ||
75 | + | ||
76 | + <!--<el-table-column | ||
69 | prop="configstarttime" | 77 | prop="configstarttime" |
70 | label="配置生效时间"> | 78 | label="配置生效时间"> |
71 | </el-table-column> | 79 | </el-table-column> |
72 | <el-table-column | 80 | <el-table-column |
73 | prop="configendtime" | 81 | prop="configendtime" |
74 | label="配置生效生效到期日"> | 82 | label="配置生效生效到期日"> |
83 | + </el-table-column>--> | ||
84 | + <el-table-column | ||
85 | + prop="entrytime" | ||
86 | + label="入境时间"> | ||
87 | + </el-table-column> | ||
88 | + <el-table-column | ||
89 | + prop="departuretime" | ||
90 | + label="出境时间"> | ||
75 | </el-table-column> | 91 | </el-table-column> |
76 | <el-table-column | 92 | <el-table-column |
77 | label="配置状态"> | 93 | label="配置状态"> |
@@ -80,14 +96,8 @@ | @@ -80,14 +96,8 @@ | ||
80 | <span v-if="scope.row.configstatus ==='1'">生效</span> | 96 | <span v-if="scope.row.configstatus ==='1'">生效</span> |
81 | </template> | 97 | </template> |
82 | </el-table-column> | 98 | </el-table-column> |
83 | - <el-table-column | ||
84 | - label="配置类型"> | ||
85 | - <template slot-scope="scope"> | ||
86 | - <span v-if="scope.row.type ==='2'">入境</span> | ||
87 | - <span v-if="scope.row.type ==='1'">出境</span> | ||
88 | - </template> | ||
89 | - </el-table-column> | ||
90 | - <el-table-column | 99 | + |
100 | + <!--<el-table-column | ||
91 | prop="userid" | 101 | prop="userid" |
92 | label="创建人"> | 102 | label="创建人"> |
93 | </el-table-column> | 103 | </el-table-column> |
@@ -98,16 +108,9 @@ | @@ -98,16 +108,9 @@ | ||
98 | <el-table-column | 108 | <el-table-column |
99 | prop="updatedate" | 109 | prop="updatedate" |
100 | label="配置更新时间"> | 110 | label="配置更新时间"> |
101 | - </el-table-column> | ||
102 | - <el-table-column | ||
103 | - prop="entrytime" | ||
104 | - label="入境时间"> | ||
105 | - </el-table-column> | ||
106 | - <el-table-column | ||
107 | - prop="departuretime" | ||
108 | - label="出境时间"> | ||
109 | - </el-table-column> | ||
110 | - <el-table-column | 111 | + </el-table-column>--> |
112 | + | ||
113 | + <!--<el-table-column | ||
111 | prop="stayid" | 114 | prop="stayid" |
112 | label="停机位"> | 115 | label="停机位"> |
113 | </el-table-column> | 116 | </el-table-column> |
@@ -122,12 +125,12 @@ | @@ -122,12 +125,12 @@ | ||
122 | <el-table-column | 125 | <el-table-column |
123 | prop="remark" | 126 | prop="remark" |
124 | label="配置规则备注"> | 127 | label="配置规则备注"> |
125 | - </el-table-column> | 128 | + </el-table-column>--> |
126 | <el-table-column | 129 | <el-table-column |
127 | fixed="right" | 130 | fixed="right" |
128 | prop="" | 131 | prop="" |
129 | - label="报文操作" | ||
130 | - width="280"> | 132 | + label="信息操作" |
133 | + width="180"> | ||
131 | <template slot-scope="scope"> | 134 | <template slot-scope="scope"> |
132 | <el-button | 135 | <el-button |
133 | size="mini" | 136 | size="mini" |
@@ -187,8 +190,10 @@ | @@ -187,8 +190,10 @@ | ||
187 | <el-row> | 190 | <el-row> |
188 | <el-col :span="6"> | 191 | <el-col :span="6"> |
189 | <el-form-item label="航空器备案类型" prop="aircrafttype" label-width="140px"> | 192 | <el-form-item label="航空器备案类型" prop="aircrafttype" label-width="140px"> |
190 | - <el-input v-model="configure_editForm.aircrafttype" | ||
191 | - ></el-input> | 193 | + <el-select v-model="configure_editForm.aircrafttype" placeholder="请选择"> |
194 | + <el-option label="通用航空器" value="1"></el-option> | ||
195 | + <el-option label="航线航空器" value="2"></el-option> | ||
196 | + </el-select> | ||
192 | </el-form-item> | 197 | </el-form-item> |
193 | </el-col> | 198 | </el-col> |
194 | <el-col :span="6"> | 199 | <el-col :span="6"> |
@@ -203,27 +208,27 @@ | @@ -203,27 +208,27 @@ | ||
203 | maxLength='3'></el-input> | 208 | maxLength='3'></el-input> |
204 | </el-form-item> | 209 | </el-form-item> |
205 | </el-col> | 210 | </el-col> |
206 | - <el-col :span="6"> | 211 | + <!--<el-col :span="6"> |
207 | <el-form-item label="配置生效时间" prop="configstarttime" label-width="130px"> | 212 | <el-form-item label="配置生效时间" prop="configstarttime" label-width="130px"> |
208 | <el-date-picker | 213 | <el-date-picker |
209 | v-model="configure_editForm.configstarttime" | 214 | v-model="configure_editForm.configstarttime" |
210 | type="datetime" | 215 | type="datetime" |
211 | placeholder="选择日期时间" | 216 | placeholder="选择日期时间" |
212 | - value-format="yyyyMMddhhmmss" | ||
213 | - format="yyyyMMddhhmmss" | 217 | + value-format="yyyy-MM-dd HH:mm:ss" |
218 | + format="yyyy-MM-dd HH:mm:ss" | ||
214 | style="width: 100%" | 219 | style="width: 100%" |
215 | :picker-options="pickerOptions"> | 220 | :picker-options="pickerOptions"> |
216 | </el-date-picker> | 221 | </el-date-picker> |
217 | </el-form-item> | 222 | </el-form-item> |
218 | - </el-col> | 223 | + </el-col>--> |
219 | <el-col :span="6"> | 224 | <el-col :span="6"> |
220 | <el-form-item label="配置生效到期日" prop="configendtime" label-width="140px"> | 225 | <el-form-item label="配置生效到期日" prop="configendtime" label-width="140px"> |
221 | <el-date-picker | 226 | <el-date-picker |
222 | v-model="configure_editForm.configendtime" | 227 | v-model="configure_editForm.configendtime" |
223 | type="datetime" | 228 | type="datetime" |
224 | placeholder="选择日期时间" | 229 | placeholder="选择日期时间" |
225 | - value-format="yyyyMMddhhmmss" | ||
226 | - format="yyyyMMddhhmmss" | 230 | + value-format="yyyy-MM-dd HH:mm:ss" |
231 | + format="yyyy-MM-dd HH:mm:ss" | ||
227 | style="width: 100%" | 232 | style="width: 100%" |
228 | :picker-options="pickerOptions"> | 233 | :picker-options="pickerOptions"> |
229 | </el-date-picker> | 234 | </el-date-picker> |
@@ -247,12 +252,12 @@ | @@ -247,12 +252,12 @@ | ||
247 | </el-select> | 252 | </el-select> |
248 | </el-form-item> | 253 | </el-form-item> |
249 | </el-col> | 254 | </el-col> |
250 | - <el-col :span="6"> | 255 | + <!--<el-col :span="6"> |
251 | <el-form-item label="创建人" prop="userid" label-width="130px"> | 256 | <el-form-item label="创建人" prop="userid" label-width="130px"> |
252 | <el-input v-model="configure_editForm.userid"></el-input> | 257 | <el-input v-model="configure_editForm.userid"></el-input> |
253 | </el-form-item> | 258 | </el-form-item> |
254 | - </el-col> | ||
255 | - <el-col :span="6"> | 259 | + </el-col>--> |
260 | + <!--<el-col :span="6"> | ||
256 | <el-form-item label="创建时间" prop="creatdate" label-width="130px"> | 261 | <el-form-item label="创建时间" prop="creatdate" label-width="130px"> |
257 | <el-date-picker | 262 | <el-date-picker |
258 | v-model="configure_editForm.creatdate" | 263 | v-model="configure_editForm.creatdate" |
@@ -277,15 +282,15 @@ | @@ -277,15 +282,15 @@ | ||
277 | :picker-options="pickerOptions"> | 282 | :picker-options="pickerOptions"> |
278 | </el-date-picker> | 283 | </el-date-picker> |
279 | </el-form-item> | 284 | </el-form-item> |
280 | - </el-col> | 285 | + </el-col>--> |
281 | <el-col :span="6"> | 286 | <el-col :span="6"> |
282 | <el-form-item label="入境时间" prop="entrytime" label-width="130px"> | 287 | <el-form-item label="入境时间" prop="entrytime" label-width="130px"> |
283 | <el-date-picker | 288 | <el-date-picker |
284 | v-model="configure_editForm.entrytime" | 289 | v-model="configure_editForm.entrytime" |
285 | type="datetime" | 290 | type="datetime" |
286 | placeholder="选择日期时间" | 291 | placeholder="选择日期时间" |
287 | - value-format="yyyyMMddhhmmss" | ||
288 | - format="yyyyMMddhhmmss" | 292 | + value-format="yyyy-MM-dd HH:mm:ss" |
293 | + format="yyyy-MM-dd HH:mm:ss" | ||
289 | style="width:100%"> | 294 | style="width:100%"> |
290 | </el-date-picker> | 295 | </el-date-picker> |
291 | </el-form-item> | 296 | </el-form-item> |
@@ -296,8 +301,8 @@ | @@ -296,8 +301,8 @@ | ||
296 | v-model="configure_editForm.departuretime" | 301 | v-model="configure_editForm.departuretime" |
297 | type="datetime" | 302 | type="datetime" |
298 | placeholder="选择日期时间" | 303 | placeholder="选择日期时间" |
299 | - value-format="yyyyMMddhhmmss" | ||
300 | - format="yyyyMMddhhmmss" | 304 | + value-format="yyyy-MM-dd HH:mm:ss" |
305 | + format="yyyy-MM-dd HH:mm:ss" | ||
301 | style="width:100%"> | 306 | style="width:100%"> |
302 | </el-date-picker> | 307 | </el-date-picker> |
303 | </el-form-item> | 308 | </el-form-item> |
@@ -308,7 +313,7 @@ | @@ -308,7 +313,7 @@ | ||
308 | <el-input v-model="configure_editForm.stayid"></el-input> | 313 | <el-input v-model="configure_editForm.stayid"></el-input> |
309 | </el-form-item> | 314 | </el-form-item> |
310 | </el-col> | 315 | </el-col> |
311 | - <el-col :span="6"> | 316 | + <!--<el-col :span="6"> |
312 | <el-form-item label="定时任务配置时间规则" prop="crontask" label-width="130px"> | 317 | <el-form-item label="定时任务配置时间规则" prop="crontask" label-width="130px"> |
313 | <el-input v-model="configure_editForm.crontask"></el-input> | 318 | <el-input v-model="configure_editForm.crontask"></el-input> |
314 | </el-form-item> | 319 | </el-form-item> |
@@ -322,7 +327,7 @@ | @@ -322,7 +327,7 @@ | ||
322 | <el-form-item label="配置规则备注" prop="remark" label-width="130px"> | 327 | <el-form-item label="配置规则备注" prop="remark" label-width="130px"> |
323 | <el-input v-model="configure_editForm.remark"></el-input> | 328 | <el-input v-model="configure_editForm.remark"></el-input> |
324 | </el-form-item> | 329 | </el-form-item> |
325 | - </el-col> | 330 | + </el-col>--> |
326 | </el-form> | 331 | </el-form> |
327 | <div slot="footer" class="dialog-footer"> | 332 | <div slot="footer" class="dialog-footer"> |
328 | <el-button @click="configure_dialog.addDialog = false" size="small">取 消</el-button> | 333 | <el-button @click="configure_dialog.addDialog = false" size="small">取 消</el-button> |
@@ -396,13 +401,13 @@ | @@ -396,13 +401,13 @@ | ||
396 | flightno: '', | 401 | flightno: '', |
397 | customscode: '', | 402 | customscode: '', |
398 | aircraftcode: '', | 403 | aircraftcode: '', |
399 | - aircrafttype: '', | 404 | + aircrafttype: '1', |
400 | originstation: '', | 405 | originstation: '', |
401 | destinationstation: '', | 406 | destinationstation: '', |
402 | configstarttime: '', | 407 | configstarttime: '', |
403 | configendtime: '', | 408 | configendtime: '', |
404 | - configstatus: '', | ||
405 | - type: '', | 409 | + configstatus: '1', |
410 | + type: '2', | ||
406 | userid: '', | 411 | userid: '', |
407 | creatdate: '', | 412 | creatdate: '', |
408 | updatedate: '', | 413 | updatedate: '', |
@@ -421,9 +426,6 @@ | @@ -421,9 +426,6 @@ | ||
421 | flightno: [ | 426 | flightno: [ |
422 | { required: true, message: '请输入', trigger: 'change' } | 427 | { required: true, message: '请输入', trigger: 'change' } |
423 | ], | 428 | ], |
424 | - configstarttime: [ | ||
425 | - { required: true, message: '请输入', trigger: 'change' } | ||
426 | - ], | ||
427 | configendtime: [ | 429 | configendtime: [ |
428 | { required: true, message: '请输入', trigger: 'change' } | 430 | { required: true, message: '请输入', trigger: 'change' } |
429 | ], | 431 | ], |
@@ -433,12 +435,6 @@ | @@ -433,12 +435,6 @@ | ||
433 | type: [ | 435 | type: [ |
434 | { required: true, message: '请输入', trigger: 'change' } | 436 | { required: true, message: '请输入', trigger: 'change' } |
435 | ], | 437 | ], |
436 | - creatdate: [ | ||
437 | - { required: true, message: '请输入', trigger: 'change' } | ||
438 | - ], | ||
439 | - updatedate: [ | ||
440 | - { required: true, message: '请输入', trigger: 'change' } | ||
441 | - ], | ||
442 | entrytime: [ | 438 | entrytime: [ |
443 | { required: true, message: '请输入', trigger: 'change' } | 439 | { required: true, message: '请输入', trigger: 'change' } |
444 | ], | 440 | ], |
@@ -460,9 +456,6 @@ | @@ -460,9 +456,6 @@ | ||
460 | destinationstation: [ | 456 | destinationstation: [ |
461 | { required: true, message: '请输入', trigger: 'change' } | 457 | { required: true, message: '请输入', trigger: 'change' } |
462 | ], | 458 | ], |
463 | - userid: [ | ||
464 | - { required: true, message: '请输入', trigger: 'change' } | ||
465 | - ], | ||
466 | stayid: [ | 459 | stayid: [ |
467 | { required: true, message: '请输入', trigger: 'change' } | 460 | { required: true, message: '请输入', trigger: 'change' } |
468 | ], | 461 | ], |
src/views/airtransport/danzheng.vue
0 → 100644
1 | +<template> | ||
2 | + <div> | ||
3 | + <el-row :gutter="10"> | ||
4 | + <el-col :span="4"> | ||
5 | + <el-input | ||
6 | + placeholder="航空器注册编号" | ||
7 | + v-model="query.aircraftNo" | ||
8 | + size="medium" | ||
9 | + clearable> | ||
10 | + </el-input> | ||
11 | + </el-col> | ||
12 | + <el-col :span="4"> | ||
13 | + <el-input | ||
14 | + placeholder="进出境(港)航班号" | ||
15 | + v-model="query.flightNo" | ||
16 | + size="medium" | ||
17 | + clearable> | ||
18 | + </el-input> | ||
19 | + </el-col> | ||
20 | + <el-col :span="8"> | ||
21 | + <div class="block"> | ||
22 | + <el-date-picker | ||
23 | + v-model="flightdate" | ||
24 | + type="daterange" | ||
25 | + :picker-options="pickerOptions" | ||
26 | + range-separator="至" | ||
27 | + start-placeholder="开始日期" | ||
28 | + end-placeholder="结束日期" | ||
29 | + value-format="yyyy-MM-dd" | ||
30 | + size="medium" | ||
31 | + align="right"> | ||
32 | + </el-date-picker> | ||
33 | + </div> | ||
34 | + </el-col> | ||
35 | + <el-col :span="2"> | ||
36 | + <el-button size="medium" type="primary" @click="selectList" plain>查询</el-button> | ||
37 | + </el-col> | ||
38 | + <el-col :span="2"> | ||
39 | + <el-button size="medium" type="success" @click="addForm()" plain>新增</el-button> | ||
40 | + </el-col> | ||
41 | + <el-col :span="2"> | ||
42 | + <el-upload | ||
43 | + class="upload-demo" | ||
44 | + action="" | ||
45 | + :before-upload="beforeUpload" | ||
46 | + :http-request="uploadFile" | ||
47 | + :show-file-list="false"> | ||
48 | + <el-button size="medium" type="success" plain>导入</el-button> | ||
49 | + </el-upload> | ||
50 | + </el-col> | ||
51 | + </el-row> | ||
52 | + <el-row :gutter="10"> | ||
53 | + <el-table | ||
54 | + :data="tableData" | ||
55 | + style="width: 100%" | ||
56 | + row-key="uuid" | ||
57 | + :expand-row-keys="expandedRowKeys" | ||
58 | + border | ||
59 | + stripe> | ||
60 | + <el-table-column | ||
61 | + align="center" | ||
62 | + fixed="left" | ||
63 | + label="信息操作" | ||
64 | + width="80"> | ||
65 | + <template slot-scope="scope"> | ||
66 | + <el-button @click="ediForm(scope.row)" type="text" size="small">编辑</el-button> | ||
67 | + </template> | ||
68 | + </el-table-column> | ||
69 | + <el-table-column type="expand" label="详细信息"> | ||
70 | + <template v-slot:default="{ row }"> | ||
71 | + <el-table | ||
72 | + :data="row.billpersonList" | ||
73 | + style="width: 70%;margin-left: 75px;margin-top: 10px" | ||
74 | + row-key="autoId" | ||
75 | + stripe | ||
76 | + border | ||
77 | + > | ||
78 | + <el-table-column prop="name" label="姓名" /> | ||
79 | + <el-table-column width="80" prop="gender" label="性别"> | ||
80 | + <template slot-scope="scope"> | ||
81 | + {{ scope.row.gender === 'M' ? '男' : '女' }} | ||
82 | + </template> | ||
83 | + </el-table-column> | ||
84 | + <el-table-column width="80" prop="nationality" label="国籍" /> | ||
85 | + <el-table-column label="职务"> | ||
86 | + <template slot-scope="scope"> | ||
87 | + {{ { | ||
88 | + '1': '航线机长', | ||
89 | + '2': '副驾驶', | ||
90 | + '3': '乘务长', | ||
91 | + '4': '安全员', | ||
92 | + '5': '乘务员', | ||
93 | + '6': '机械师', | ||
94 | + '7': '随行人员', | ||
95 | + '8': '工程师', | ||
96 | + '9': '装载员', | ||
97 | + '10': '押运员', | ||
98 | + '11': '其它随机人员' | ||
99 | + }[scope.row.gareer] || scope.row.gareer }} | ||
100 | + </template> | ||
101 | + </el-table-column> | ||
102 | + <el-table-column prop="certType" :formatter="formatType" label="证件类型" /> | ||
103 | + <el-table-column prop="ceterNo" label="证件号" /> | ||
104 | + </el-table> | ||
105 | + </template> | ||
106 | + </el-table-column> | ||
107 | + <el-table-column | ||
108 | + prop="messageid" | ||
109 | + label="编号" | ||
110 | + width="320"> | ||
111 | + </el-table-column> | ||
112 | + | ||
113 | + <el-table-column | ||
114 | + prop="aircraftNo" | ||
115 | + label="航空器注册编号" | ||
116 | + width="100"> | ||
117 | + </el-table-column> | ||
118 | + <el-table-column | ||
119 | + prop="arrivalno" | ||
120 | + label="海关关区" | ||
121 | + width="100"> | ||
122 | + </el-table-column> | ||
123 | + <el-table-column | ||
124 | + prop="flightNo" | ||
125 | + label="进境(港)航班号" | ||
126 | + width="120"> | ||
127 | + </el-table-column> | ||
128 | + <el-table-column | ||
129 | + prop="flightDate" | ||
130 | + label="航班日期" | ||
131 | + width="100"> | ||
132 | + </el-table-column> | ||
133 | + <el-table-column | ||
134 | + label="进出类型" | ||
135 | + width="100"> | ||
136 | + <template slot-scope="scope"> | ||
137 | + {{ scope.row.accessFlag === 'D' ? '出港' : '进港' }} | ||
138 | + </template> | ||
139 | + </el-table-column> | ||
140 | + <el-table-column | ||
141 | + prop="arrivaldatetime" | ||
142 | + label="出入(境)时间" | ||
143 | + width="140"> | ||
144 | + </el-table-column> | ||
145 | + <el-table-column | ||
146 | + prop="statusMsg" | ||
147 | + label="海关状态" | ||
148 | + width="120"> | ||
149 | + </el-table-column> | ||
150 | + <el-table-column | ||
151 | + fixed="right" | ||
152 | + label="操作" | ||
153 | + width="200"> | ||
154 | + <template slot-scope="scope"> | ||
155 | + <el-button @click="returnlist(scope.row)" type="text" size="small">查看</el-button> | ||
156 | + <el-button @click="sendstying(scope.row,2)" type="text" size="small">申报</el-button> | ||
157 | + <el-button @click="sendstying(scope.row,5)" type="text" size="small">修改</el-button> | ||
158 | + <el-button @click="sendstying(scope.row,3)" type="text" size="small">删除</el-button> | ||
159 | + </template> | ||
160 | + </el-table-column> | ||
161 | + </el-table> | ||
162 | + </el-row> | ||
163 | + <el-row :gutter="10"> | ||
164 | + <div class="block"> | ||
165 | + <el-pagination | ||
166 | + @size-change="handleSizeChange" | ||
167 | + @current-change="handleCurrentChange" | ||
168 | + :current-page="query.pageNum" | ||
169 | + :page-sizes="[100, 200, 300, 400]" | ||
170 | + :page-size="query.pageSize" | ||
171 | + layout="total, sizes, prev, pager, next, jumper" | ||
172 | + :total="total"> | ||
173 | + </el-pagination> | ||
174 | + </div> | ||
175 | + </el-row> | ||
176 | + <el-row :gutter="10"> | ||
177 | + <el-dialog | ||
178 | + title="回执列表" | ||
179 | + :visible.sync="returnVisible" | ||
180 | + width="55%" | ||
181 | + :before-close="handleClose"> | ||
182 | + <el-table :data="gridData"> | ||
183 | + <el-table-column property="sendtime" label="操作时间" ></el-table-column> | ||
184 | + <el-table-column property="createBy" label="操作人" ></el-table-column> | ||
185 | + <el-table-column property="flightNo" label="航班号"></el-table-column> | ||
186 | + <el-table-column property="flightDate" label="航班日期" ></el-table-column> | ||
187 | + <el-table-column property="receiptContent" label="回执内容" ></el-table-column> | ||
188 | + </el-table> | ||
189 | + </el-dialog> | ||
190 | + </el-row> | ||
191 | + <el-row :gutter="10"> | ||
192 | + <el-dialog | ||
193 | + :title="'单证信息'+textMap[dialogStatus]" | ||
194 | + :visible.sync="dialogVisible" | ||
195 | + width="80%" | ||
196 | + center> | ||
197 | + <el-form :model="form" :rules="rules" ref="form" label-width="130px"> | ||
198 | + <el-row :gutter="10"> | ||
199 | + <el-col :span="6"> | ||
200 | + <el-form-item label="航空注册器编号" prop="aircraftNo"> | ||
201 | + <el-input v-model="form.aircraftNo"></el-input> | ||
202 | + </el-form-item> | ||
203 | + </el-col> | ||
204 | + <el-col :span="6"> | ||
205 | + <el-form-item label="航班号" prop="flightNo"> | ||
206 | + <el-input v-model="form.flightNo"></el-input> | ||
207 | + </el-form-item> | ||
208 | + </el-col> | ||
209 | + <el-col :span="6"> | ||
210 | + <el-form-item label="航班日期" prop="flightDate" style="width: 100%;"> | ||
211 | + <div class="block"> | ||
212 | + <el-date-picker | ||
213 | + v-model="form.flightDate" | ||
214 | + type="datetime" | ||
215 | + value-format="yyyy-MM-dd" | ||
216 | + placeholder="yyyy-MM-dd" | ||
217 | + style="width: 100%;"> | ||
218 | + </el-date-picker> | ||
219 | + </div> | ||
220 | + </el-form-item> | ||
221 | + </el-col> | ||
222 | + <el-col :span="6"> | ||
223 | + <el-form-item label="进出标识" prop="accessFlag"> | ||
224 | + <el-select v-model="form.accessFlag"> | ||
225 | + <el-option label="进港" value="A"></el-option> | ||
226 | + <el-option label="出港" value="D"></el-option> | ||
227 | + </el-select> | ||
228 | + </el-form-item> | ||
229 | + </el-col> | ||
230 | + </el-row> | ||
231 | + <el-row :gutter="10"> | ||
232 | + <el-col :span="6"> | ||
233 | + <el-form-item label="进出港口" prop="arrivalAirport"> | ||
234 | + <el-select v-model="form.arrivalAirport" | ||
235 | + filterable | ||
236 | + allow-create | ||
237 | + default-first-option | ||
238 | + remote | ||
239 | + :remote-method="getAirportCode" | ||
240 | + :loading="loading" placeholder="请选择"> | ||
241 | + <el-option | ||
242 | + v-for="item in airportcodes" | ||
243 | + :key="item.airportid" | ||
244 | + :label="item.airportid" | ||
245 | + :value="item.airportid"> | ||
246 | + <span style="float: left">{{ item.airportid }}</span> | ||
247 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.airportname}}</span> | ||
248 | + </el-option> | ||
249 | + </el-select> | ||
250 | + </el-form-item> | ||
251 | + </el-col> | ||
252 | + <el-col :span="6"> | ||
253 | + <el-form-item label="海关关区" prop="arrivalno"> | ||
254 | + <el-select v-model="form.arrivalno" | ||
255 | + filterable | ||
256 | + allow-create | ||
257 | + default-first-option | ||
258 | + remote | ||
259 | + :remote-method="getCustomCode" | ||
260 | + :loading="loading" placeholder="请选择"> | ||
261 | + <el-option | ||
262 | + v-for="item in customcodes" | ||
263 | + :key="item.customcode" | ||
264 | + :label="item.customcode" | ||
265 | + :value="item.customcode"> | ||
266 | + <span style="float: left">{{ item.customcode }}</span> | ||
267 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.customname }}</span> | ||
268 | + </el-option> | ||
269 | + </el-select> | ||
270 | + </el-form-item> | ||
271 | + </el-col> | ||
272 | + <el-col :span="6"> | ||
273 | + <el-form-item label="进出境时间" prop="arrivaldatetime" style="width: 100%;"> | ||
274 | + <el-date-picker | ||
275 | + v-model="form.arrivaldatetime" | ||
276 | + type="datetime" | ||
277 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
278 | + placeholder="yyyy-MM-dd HH:mm:ss" | ||
279 | + style="width: 100%;"> | ||
280 | + </el-date-picker> | ||
281 | + </el-form-item> | ||
282 | + </el-col> | ||
283 | + <el-col :span="6"> | ||
284 | + <el-form-item label="机组人数" prop="aircrewSum"> | ||
285 | + <el-input v-model="form.aircrewSum"></el-input> | ||
286 | + </el-form-item> | ||
287 | + </el-col> | ||
288 | + </el-row> | ||
289 | + <el-row :guter="10"> | ||
290 | + <el-col :span="6"> | ||
291 | + <el-form-item label="国际旅客人数" prop="interPassengerSum"> | ||
292 | + <el-input v-model="form.interPassengerSum"></el-input> | ||
293 | + </el-form-item> | ||
294 | + </el-col> | ||
295 | + <el-col :span="6"> | ||
296 | + <el-form-item label="国际行李件数" prop="interBaggageNum"> | ||
297 | + <el-input v-model="form.interBaggageNum"></el-input> | ||
298 | + </el-form-item> | ||
299 | + </el-col> | ||
300 | + <el-col :span="6"> | ||
301 | + <el-form-item label="货邮件数" prop="goodsNum"> | ||
302 | + <el-input v-model="form.goodsNum"></el-input> | ||
303 | + </el-form-item> | ||
304 | + </el-col> | ||
305 | + <el-col :span="6"> | ||
306 | + <el-form-item label="货邮重量(千克)" prop="goodsQuantity"> | ||
307 | + <el-input v-model="form.goodsQuantity"></el-input> | ||
308 | + </el-form-item> | ||
309 | + </el-col> | ||
310 | + </el-row> | ||
311 | + <el-row :guter="10"> | ||
312 | + <el-col :span="6"> | ||
313 | + <el-form-item label="是否有健康异常" prop="remark"> | ||
314 | + <el-select v-model="form.remark"> | ||
315 | + <el-option label="是" value="T"></el-option> | ||
316 | + <el-option label="否" value="F"></el-option> | ||
317 | + </el-select> | ||
318 | + </el-form-item> | ||
319 | + </el-col> | ||
320 | + <el-col :span="6"> | ||
321 | + <el-form-item label="是否发现病媒生物" prop="remark1"> | ||
322 | + <el-select v-model="form.remark2"> | ||
323 | + <el-option label="是" value="T"></el-option> | ||
324 | + <el-option label="否" value="F"></el-option> | ||
325 | + </el-select> | ||
326 | + </el-form-item> | ||
327 | + </el-col> | ||
328 | + <el-col :span="6"> | ||
329 | + <el-form-item label="是否发现外来有害生物" prop="remark2"> | ||
330 | + <el-select v-model="form.remark2"> | ||
331 | + <el-option label="是" value="T"></el-option> | ||
332 | + <el-option label="否" value="F"></el-option> | ||
333 | + </el-select> | ||
334 | + </el-form-item> | ||
335 | + </el-col> | ||
336 | + <el-col :span="6"> | ||
337 | + <el-form-item label="是否有有效灭蚊证明" prop="remark3"> | ||
338 | + <el-select v-model="form.remark3"> | ||
339 | + <el-option label="是" value="T"></el-option> | ||
340 | + <el-option label="否" value="F"></el-option> | ||
341 | + </el-select> | ||
342 | + </el-form-item> | ||
343 | + </el-col> | ||
344 | + </el-row> | ||
345 | + <el-row :guter="10"> | ||
346 | + <el-col :span="18"> | ||
347 | + <el-form-item label="备注"> | ||
348 | + <el-input v-model="form.meno"></el-input> | ||
349 | + </el-form-item> | ||
350 | + </el-col> | ||
351 | + <el-col :span="6"> | ||
352 | + <el-form-item label=""> | ||
353 | + <el-button @click="dialogVisible=false">取消</el-button> | ||
354 | + <el-button type="primary" @click="dialogStatus==='create'?createData('form'):updateData('form')">暂存</el-button> | ||
355 | + </el-form-item> | ||
356 | + </el-col> | ||
357 | + </el-row> | ||
358 | + </el-form> | ||
359 | + <el-divider content-position="left"><span style="color: #1d8ce0">机组人员信息</span> | ||
360 | + <el-divider direction="vertical"></el-divider> | ||
361 | + <el-button type="primary" @click="addBillperson">新增机组人员</el-button> | ||
362 | + <el-divider direction="vertical"></el-divider></el-divider> | ||
363 | + | ||
364 | + <el-table | ||
365 | + :data="tableChldren" | ||
366 | + style="width: 80%;margin-left: 75px;margin-top: 10px" | ||
367 | + row-key="autoId" | ||
368 | + stripe | ||
369 | + border> | ||
370 | + <el-table-column prop="name" label="姓名" /> | ||
371 | + <el-table-column width="80" prop="gender" label="性别"> | ||
372 | + <template slot-scope="scope"> | ||
373 | + {{ scope.row.gender === 'M' ? '男' : '女' }} | ||
374 | + </template> | ||
375 | + </el-table-column> | ||
376 | + <el-table-column width="80" prop="nationality" label="国籍" /> | ||
377 | + <el-table-column label="职务"> | ||
378 | + <template slot-scope="scope"> | ||
379 | + {{ { | ||
380 | + '1': '航线机长', | ||
381 | + '2': '副驾驶', | ||
382 | + '3': '乘务长', | ||
383 | + '4': '安全员', | ||
384 | + '5': '乘务员', | ||
385 | + '6': '机械师', | ||
386 | + '7': '随行人员', | ||
387 | + '8': '工程师', | ||
388 | + '9': '装载员', | ||
389 | + '10': '押运员', | ||
390 | + '11': '其它随机人员' | ||
391 | + }[scope.row.gareer] || scope.row.gareer }} | ||
392 | + </template> | ||
393 | + </el-table-column> | ||
394 | + <el-table-column prop="certType" :formatter="formatType" label="证件类型" /> | ||
395 | + <el-table-column prop="ceterNo" label="证件号" /> | ||
396 | + <el-table-column | ||
397 | + fixed="right" | ||
398 | + label="操作" | ||
399 | + width="50"> | ||
400 | + <template slot-scope="scope"> | ||
401 | + <el-button @click.native.prevent="deleteRow(scope.$index, tableChldren)" type="text" size="small">删除</el-button> | ||
402 | + </template> | ||
403 | + </el-table-column> | ||
404 | + </el-table> | ||
405 | + </el-dialog> | ||
406 | + <el-dialog title="机组人员添加" :visible.sync="dialogFormVisible" width="70%" | ||
407 | + center> | ||
408 | + <el-form :model="billperson" :rules="rules" ref="billperson" label-width="100px"> | ||
409 | + <el-row :gutter="10"> | ||
410 | + <el-col :span="6"> | ||
411 | + <el-form-item label="姓名" prop="name"> | ||
412 | + <el-input v-model="billperson.name"></el-input> | ||
413 | + </el-form-item> | ||
414 | + </el-col> | ||
415 | + <el-col :span="6"> | ||
416 | + <el-form-item label="性别" prop="gender"> | ||
417 | + <el-select v-model="billperson.gender"> | ||
418 | + <el-option label="男" value="M"></el-option> | ||
419 | + <el-option label="女" value="F"></el-option> | ||
420 | + </el-select> | ||
421 | + </el-form-item> | ||
422 | + </el-col> | ||
423 | + <el-col :span="6"> | ||
424 | + <el-form-item label="国籍" prop="nationality"> | ||
425 | + <el-select v-model="billperson.nationality" | ||
426 | + filterable | ||
427 | + @click.native="getCountry" | ||
428 | + @change="selectChange" | ||
429 | + default-first-option | ||
430 | + :loading="loading" placeholder="请选择" | ||
431 | + style="text-transform:uppercase"> | ||
432 | + <el-option | ||
433 | + v-for="item in countryOptions" | ||
434 | + :key="item.countryid" | ||
435 | + :label="item.countryid+'-'+item.countrydescchn" | ||
436 | + :value="item.countryid"> | ||
437 | + <span style="float: left">{{ item.countryid }}</span> | ||
438 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.countrydescchn }}</span> | ||
439 | + </el-option> | ||
440 | + </el-select> | ||
441 | + </el-form-item> | ||
442 | + </el-col> | ||
443 | + <el-col :span="6"> | ||
444 | + <el-form-item label="职务" prop="gareer"> | ||
445 | + <el-select v-model="billperson.gareer" placeholder="请选择"> | ||
446 | + <el-option label="1-航线机长" value="1"></el-option> | ||
447 | + <el-option label="2-副驾驶" value="2"></el-option> | ||
448 | + <el-option label="3-乘务长" value="3"></el-option> | ||
449 | + <el-option label="4-安全员" value="4"></el-option> | ||
450 | + <el-option label="5-乘务员" value="5"></el-option> | ||
451 | + <el-option label="6-机械师" value="6"></el-option> | ||
452 | + <el-option label="7-随行人员" value="7"></el-option> | ||
453 | + <el-option label="8-工程师" value="8"></el-option> | ||
454 | + <el-option label="9-装载员" value="9"></el-option> | ||
455 | + <el-option label="10-押运员" value="10"></el-option> | ||
456 | + <el-option label="11-其它随机人员" value="11"></el-option> | ||
457 | + </el-select> | ||
458 | + </el-form-item> | ||
459 | + </el-col> | ||
460 | + <el-col :span="6"> | ||
461 | + <el-form-item label="证件类型" prop="certType"> | ||
462 | + <el-select v-model="billperson.certType" | ||
463 | + filterable | ||
464 | + @click.native="getCreden" | ||
465 | + :loading="loading" placeholder="请选择"> | ||
466 | + <el-option | ||
467 | + v-for="item in certOptions" | ||
468 | + :key="item.serialno" | ||
469 | + :label="item.serialno+'-'+item.credenname" | ||
470 | + :value="item.serialno"> | ||
471 | + <span style="float: left">{{ item.serialno }}</span> | ||
472 | + <span style="float: right; color: #8492a6; font-size: 13px">{{ item.credenname }}</span> | ||
473 | + </el-option> | ||
474 | + </el-select> | ||
475 | + </el-form-item> | ||
476 | + </el-col> | ||
477 | + <el-col :span="6"> | ||
478 | + <el-form-item label="证件号码" prop="ceterNo"> | ||
479 | + <el-input v-model="billperson.ceterNo" placeholder="请输入"></el-input> | ||
480 | + </el-form-item> | ||
481 | + </el-col> | ||
482 | + <el-col :span="6"> | ||
483 | + <el-form-item label="备注" prop="meno"> | ||
484 | + <el-input v-model="billperson.meno" placeholder="请输入"></el-input> | ||
485 | + </el-form-item> | ||
486 | + </el-col> | ||
487 | + <el-col :span="6"> | ||
488 | + <el-form-item> | ||
489 | + <el-button type="primary" @click="addRow('billperson')">添加</el-button> | ||
490 | + </el-form-item> | ||
491 | + </el-col> | ||
492 | + </el-row> | ||
493 | + | ||
494 | + </el-form> | ||
495 | + </el-dialog> | ||
496 | + </el-row> | ||
497 | + </div> | ||
498 | +</template> | ||
499 | +<script> | ||
500 | + import { | ||
501 | + insertSelectiveBill, | ||
502 | + selectBillLists, | ||
503 | + selectByairportcode, | ||
504 | + selectBycustomcode, | ||
505 | + selectReturnMsgList, sendBillSdeclare, updateByPrimaryKeySelectiveBill,batchJZImport | ||
506 | + } from "../../api/transport/transport2.0"; | ||
507 | + import {selectCountry, selectCreden} from "../../api/transport"; | ||
508 | + import {importExcel} from "../../api/consigner/exportOrder"; | ||
509 | + | ||
510 | + export default{ | ||
511 | + data(){ | ||
512 | + return{ | ||
513 | + certOptions:[], | ||
514 | + countryOptions:[], | ||
515 | + countryid:'', | ||
516 | + dialogFormVisible:false, | ||
517 | + tableChldren:[], | ||
518 | + dialogVisible: false, | ||
519 | + dialogStatus:'', | ||
520 | + textMap:{ | ||
521 | + update: '编辑', | ||
522 | + create: '新增' | ||
523 | + }, | ||
524 | + tableData:[], | ||
525 | + expandedRowKeys: [], | ||
526 | + query:{ | ||
527 | + aircraftNo:'', | ||
528 | + flightNo:'', | ||
529 | + starttime:'', | ||
530 | + endtime:'', | ||
531 | + pageNum:0, | ||
532 | + pageSize:10, | ||
533 | + }, | ||
534 | + form: { | ||
535 | + uuid: '', | ||
536 | + aircraftNo: '', | ||
537 | + flightNo: '', | ||
538 | + flightDate: '', // Use JavaScript Date object | ||
539 | + accessFlag: 'A', | ||
540 | + departureAirport: '', | ||
541 | + departuredatetime: '', // Use JavaScript Date object | ||
542 | + departureno: '', | ||
543 | + arrivalAirport: '', | ||
544 | + arrivaldatetime: '', // Use JavaScript Date object | ||
545 | + arrivalno: '', | ||
546 | + aircrewSum: 0, | ||
547 | + interPassengerSum: 0, | ||
548 | + localePassengerSum: 0, | ||
549 | + interBaggageNum: 0, | ||
550 | + localeBaggageNum: 0, | ||
551 | + goodsNum: 0, | ||
552 | + goodsQuantity: 0, | ||
553 | + cargoBillNum: 0, | ||
554 | + passengerPage: 0, | ||
555 | + aircrewBillNum: 0, | ||
556 | + aircrewCargoBillNum: 0, | ||
557 | + arrivalPosition: '', | ||
558 | + bussinessType: '', | ||
559 | + messageid: '', | ||
560 | + status: '', | ||
561 | + statusMsg: '', | ||
562 | + meno: '', | ||
563 | + createTime: '', // Use JavaScript Date object | ||
564 | + createBy: '', | ||
565 | + updateTime: '', // Use JavaScript Date object | ||
566 | + updateBy: '', | ||
567 | + isDelete: '', | ||
568 | + remark: 'F', | ||
569 | + remark1: 'F', | ||
570 | + remark2: 'F', | ||
571 | + remark3: 'F', | ||
572 | + billpersonList: [] // Array of objects that represent the AIR_BILLPERSON model | ||
573 | + }, | ||
574 | + billperson: { | ||
575 | + autoId: '', | ||
576 | + name: '', | ||
577 | + gender: '', | ||
578 | + gareer: '', // Note: This might be a typo in the original Java class. It should probably be "career". | ||
579 | + nationality: '', | ||
580 | + certType: '', | ||
581 | + ceterNo: '', // Note: This might also be a typo. It should probably be "centerNo" or "certNo". | ||
582 | + createTime: '', // Use JavaScript Date object | ||
583 | + createBy: '', | ||
584 | + updateTime: '', // Use JavaScript Date object | ||
585 | + updateBy: '', | ||
586 | + meno: '', | ||
587 | + isDelete: '0', | ||
588 | + billsId: '' | ||
589 | + }, | ||
590 | + flightdate:['2021-11-17', '2024-12-24'], | ||
591 | + pickerOptions: { | ||
592 | + shortcuts: [{ | ||
593 | + text: '最近一周', | ||
594 | + onClick(picker) { | ||
595 | + const end = new Date(); | ||
596 | + const start = new Date(); | ||
597 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); | ||
598 | + picker.$emit('pick', [start, end]); | ||
599 | + } | ||
600 | + }, { | ||
601 | + text: '最近一个月', | ||
602 | + onClick(picker) { | ||
603 | + const end = new Date(); | ||
604 | + const start = new Date(); | ||
605 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); | ||
606 | + picker.$emit('pick', [start, end]); | ||
607 | + } | ||
608 | + }, { | ||
609 | + text: '最近三个月', | ||
610 | + onClick(picker) { | ||
611 | + const end = new Date(); | ||
612 | + const start = new Date(); | ||
613 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); | ||
614 | + picker.$emit('pick', [start, end]); | ||
615 | + } | ||
616 | + }] | ||
617 | + }, | ||
618 | + total:0, | ||
619 | + returnVisible:false, | ||
620 | + gridData:[], | ||
621 | + customcodes:[], | ||
622 | + airportcodes:[], | ||
623 | + loading:false, | ||
624 | + rules: { | ||
625 | + aircraftNo: [ | ||
626 | + { required: true, message: '航空注册器编号不可为空', trigger: 'blur' } | ||
627 | + ], | ||
628 | + flightNo: [ | ||
629 | + { required: true, message: '航班号不可为空', trigger: 'blur' } | ||
630 | + ], | ||
631 | + flightDate: [ | ||
632 | + { required: true, message: '航班日期不可为空', trigger: 'blur' } | ||
633 | + ], | ||
634 | + arrivalAirport: [ | ||
635 | + { required: true, message: '进出港口不可为空', trigger: 'blur' } | ||
636 | + ], | ||
637 | + arrivalno: [ | ||
638 | + { required: true, message: '海关关区不可为空', trigger: 'blur' } | ||
639 | + ], | ||
640 | + arrivaldatetime: [ | ||
641 | + { required: true, message: '进出境时间不可为空', trigger: 'blur' } | ||
642 | + ], | ||
643 | + aircrewSum: [ | ||
644 | + { required: true, message: '机组人数不可为空', trigger: 'blur' } | ||
645 | + ], | ||
646 | + interPassengerSum: [ | ||
647 | + { required: true, message: '国际旅客不可为空', trigger: 'blur' } | ||
648 | + ], | ||
649 | + interBaggageNum: [ | ||
650 | + { required: true, message: '国际行李件数不可为空', trigger: 'blur' } | ||
651 | + ], | ||
652 | + name: [ | ||
653 | + { required: true, message: '机组人员姓名不可为空', trigger: 'blur' } | ||
654 | + ], | ||
655 | + nationality: [ | ||
656 | + { required: true, message: '机组人员国籍不可为空', trigger: 'blur' } | ||
657 | + ], | ||
658 | + gender: [ | ||
659 | + { required: true, message: '机组人员性别不可为空', trigger: 'blur' } | ||
660 | + ], | ||
661 | + gareer: [ | ||
662 | + { required: true, message: '机组人员职务不可为空', trigger: 'blur' } | ||
663 | + ], | ||
664 | + certType: [ | ||
665 | + { required: true, message: '机组人员类型不可为空', trigger: 'blur' } | ||
666 | + ], | ||
667 | + ceterNo: [ | ||
668 | + { required: true, message: '机组人员证件号不可为空', trigger: 'blur' } | ||
669 | + ], | ||
670 | + }, | ||
671 | + } | ||
672 | + }, | ||
673 | + methods:{ | ||
674 | + //导入订单excel | ||
675 | + beforeUpload(file) { | ||
676 | + // 检查文件类型 | ||
677 | + const isExcel = file.type === 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || file.type === 'application/vnd.ms-excel'; | ||
678 | + if (!isExcel) { | ||
679 | + this.$message.error('上传文件只能是 Excel 格式!'); | ||
680 | + return false; // 取消文件上传 | ||
681 | + } | ||
682 | + return true; // 允许上传 | ||
683 | + | ||
684 | + }, | ||
685 | + uploadFile({ file, onSuccess, onError }){ | ||
686 | + // 生成 FormData 对象 | ||
687 | + const formData = new FormData(); | ||
688 | + formData.append('file', file); | ||
689 | + batchJZImport(formData).then((response) => { | ||
690 | + const res = response.data | ||
691 | + if (res.code !== '200') { | ||
692 | + return this.$message.error(res.msg); | ||
693 | + } | ||
694 | + this.$message.success(res.msg); | ||
695 | + this.selectList(); | ||
696 | + onSuccess(response.data); // 调用 onSuccess 回调通知上传成功 | ||
697 | + }).catch(error => { | ||
698 | + // 关闭加载 | ||
699 | + this.$message.error(error.toString()) | ||
700 | + onError(error); // 调用 onError 回调通知上传失败 | ||
701 | + }) | ||
702 | + }, | ||
703 | + addBillperson(){ | ||
704 | + this.dialogFormVisible = true; | ||
705 | + }, | ||
706 | + addRow(formName) { | ||
707 | + this.$refs[formName].validate((valid) => { | ||
708 | + if (valid) { | ||
709 | + const newMember = { | ||
710 | + autoId: this.tableChldren.length > 0 ? this.tableChldren[this.tableChldren.length - 1].autoId + 1 : 1, | ||
711 | + name: this.billperson.name, | ||
712 | + gender: this.billperson.gender, | ||
713 | + nationality: this.billperson.nationality, | ||
714 | + gareer: this.billperson.gareer, | ||
715 | + certType: this.billperson.certType, | ||
716 | + ceterNo: this.billperson.ceterNo, | ||
717 | + meno:this.billperson.meno, | ||
718 | + createTime: '', // Use JavaScript Date object | ||
719 | + createBy: '', | ||
720 | + updateTime: '', // Use JavaScript Date object | ||
721 | + updateBy: '', | ||
722 | + isDelete: '0', | ||
723 | + billsId: '' | ||
724 | + }; | ||
725 | + this.tableChldren.push(newMember); | ||
726 | + this.resetForm(); | ||
727 | + this.dialogFormVisible = false; | ||
728 | + } else { | ||
729 | + return false; | ||
730 | + } | ||
731 | + }); | ||
732 | + }, | ||
733 | + resetForm() { | ||
734 | + this.billperson.name = ''; | ||
735 | + this.billperson.gender = ''; | ||
736 | + this.billperson.nationality = ''; | ||
737 | + this.billperson.gareer = ''; | ||
738 | + this.billperson.certType = ''; | ||
739 | + this.billperson.ceterNo = ''; | ||
740 | + }, | ||
741 | + deleteRow(index, rows) { | ||
742 | + rows.splice(index, 1); | ||
743 | + }, | ||
744 | + //暂存新增 | ||
745 | + createData(formName){ | ||
746 | + this.$refs[formName].validate((valid) => { | ||
747 | + if (valid) { | ||
748 | + this.form.departuredatetime=this.form.arrivaldatetime; | ||
749 | + this.form.departureAirport=this.form.arrivalAirport; | ||
750 | + insertSelectiveBill(this.form).then(res =>{ | ||
751 | + let response=res.data; | ||
752 | + if(response.code=='200'){ | ||
753 | + this.dialogVisible=false; | ||
754 | + this.$message.success(response.msg); | ||
755 | + this.getList(); | ||
756 | + }else{ | ||
757 | + this.$message.error(response.msg) | ||
758 | + } | ||
759 | + }); | ||
760 | + } else { | ||
761 | + return false; | ||
762 | + } | ||
763 | + }); | ||
764 | + }, | ||
765 | + //暂存更新 | ||
766 | + updateData(formName){ | ||
767 | + this.$refs[formName].validate((valid) => { | ||
768 | + if (valid) { | ||
769 | + this.form.departuredatetime=this.form.arrivaldatetime; | ||
770 | + this.form.departureAirport=this.form.arrivalAirport; | ||
771 | + updateByPrimaryKeySelectiveBill(this.form).then(res =>{ | ||
772 | + let response=res.data; | ||
773 | + if(response.code=='200'){ | ||
774 | + this.dialogVisible=false; | ||
775 | + Object.assign(this.$data, this.$options.data()); | ||
776 | + this.$message.success(response.msg); | ||
777 | + this.getList(); | ||
778 | + }else{ | ||
779 | + this.$message.error(response.msg) | ||
780 | + } | ||
781 | + }); | ||
782 | + } else { | ||
783 | + return false; | ||
784 | + } | ||
785 | + }); | ||
786 | + }, | ||
787 | + selectList(){ | ||
788 | + if(this.flightdate !== null && this.flightdate !== ""){ | ||
789 | + this.query.starttime = this.flightdate[0]; | ||
790 | + this.query.endtime = this.flightdate[1]; | ||
791 | + }else{ | ||
792 | + return this.$message.error('请选取时间区间') | ||
793 | + } | ||
794 | + selectBillLists(this.query).then((response) => { | ||
795 | + const res = response.data | ||
796 | + if (res.code !== '200') { | ||
797 | + this.loading = false; | ||
798 | + return this.$message.error('获取消息收发记录,失败!') | ||
799 | + } | ||
800 | + // 获取列表数据 | ||
801 | + this.tableData = res.data.list | ||
802 | + //this.expandedRowKeys = this.tableData.map(item => item.uuid); | ||
803 | + // 获取列表的总记录数 | ||
804 | + this.total = res.data.total | ||
805 | + this.loading = false; | ||
806 | + this.$message.success('获取消息收发记录,成功!'); | ||
807 | + }).catch(error => { | ||
808 | + // 关闭加载 | ||
809 | + this.$message.error(error.toString()) | ||
810 | + }) | ||
811 | + }, | ||
812 | + addForm(){ | ||
813 | + this.dialogVisible=true; | ||
814 | + this.dialogStatus='create'; | ||
815 | + this.form={ | ||
816 | + uuid: '', | ||
817 | + aircraftNo: '', | ||
818 | + flightNo: '', | ||
819 | + flightDate: '', // Use JavaScript Date object | ||
820 | + accessFlag: 'A', | ||
821 | + departureAirport: '', | ||
822 | + departuredatetime: '', // Use JavaScript Date object | ||
823 | + departureno: '', | ||
824 | + arrivalAirport: '', | ||
825 | + arrivaldatetime: '', // Use JavaScript Date object | ||
826 | + arrivalno: '', | ||
827 | + aircrewSum: 0, | ||
828 | + interPassengerSum: 0, | ||
829 | + localePassengerSum: 0, | ||
830 | + interBaggageNum: 0, | ||
831 | + localeBaggageNum: 0, | ||
832 | + goodsNum: 0, | ||
833 | + goodsQuantity: 0, | ||
834 | + cargoBillNum: 0, | ||
835 | + passengerPage: 0, | ||
836 | + aircrewBillNum: 0, | ||
837 | + aircrewCargoBillNum: 0, | ||
838 | + arrivalPosition: '', | ||
839 | + bussinessType: '', | ||
840 | + messageid: '', | ||
841 | + status: '', | ||
842 | + statusMsg: '', | ||
843 | + meno: '', | ||
844 | + createTime: '', // Use JavaScript Date object | ||
845 | + createBy: '', | ||
846 | + updateTime: '', // Use JavaScript Date object | ||
847 | + updateBy: '', | ||
848 | + isDelete: '', | ||
849 | + remark: 'F', | ||
850 | + remark1: 'F', | ||
851 | + remark2: 'F', | ||
852 | + remark3: 'F', | ||
853 | + billpersonList: [] // Array of objects that represent the AIR_BILLPERSON model | ||
854 | + }; | ||
855 | + this.tableChldren=this.form.billpersonList; | ||
856 | + }, | ||
857 | + ediForm(row){ | ||
858 | + this.dialogVisible=true; | ||
859 | + this.dialogStatus='update'; | ||
860 | + this.form=row; | ||
861 | + this.tableChldren=row.billpersonList; | ||
862 | + }, | ||
863 | + sendstying(row,FunctionCode){ | ||
864 | + const params = { | ||
865 | + row: row, | ||
866 | + FunctionCode: FunctionCode | ||
867 | + }; | ||
868 | + sendBillSdeclare(params).then(res =>{ | ||
869 | + let response=res.data; | ||
870 | + if(response.code=='200'){ | ||
871 | + this.selectList(); | ||
872 | + this.$message.success(response.msg) | ||
873 | + }else{ | ||
874 | + this.$message.error(response.msg) | ||
875 | + } | ||
876 | + }); | ||
877 | + }, | ||
878 | + formatType: function(row,column){ | ||
879 | + return row.certType=='06'?'一次有效台湾居民来往大陆通行证':row.certType=='11'?'外交护照':row.certType=='12'?'公务护照' | ||
880 | + :row.certType=='13'?'因公普通护照':row.certType=='14'?'普通护照':row.certType=='15'?'中华人民共和国旅行证' | ||
881 | + :row.certType=='16'?'五年有效台湾居民往来大陆通行证':row.certType=='17'?'海员证':row.certType=='20'?'中华人民共和国出入境通行证' | ||
882 | + :row.certType=='21'?'前往港澳通行证(16页,多次有效)':row.certType=='22'?'前往港澳通行证(8页,一次有效)' | ||
883 | + :row.certType=='23'?'前往港澳通行证':row.certType=='24'?'港澳同胞回乡证或港澳居民来往内地通行证' | ||
884 | + :row.certType=='25'?'大陆居民来往台湾通行证':row.certType=='30'?'外国人出入境通行证':row.certType=='38'?'中华人民共和国回国证明' | ||
885 | + :row.certType=='70'?'香港特别行政区护照':row.certType=='71'?'澳门特别行政区护照' | ||
886 | + :row.certType=='72'?'因公往来香港澳门特别行政区通行证(官员)' | ||
887 | + :row.certType=='73'?'因公往来香港澳门特别行政区通行证(普通)':row.certType=='74'?'中华人民共和国居民身份证':row.certType=='75'?'其他证件' | ||
888 | + :row.certType=='98'?'其他因私证件(包括联合国通行证等)' | ||
889 | + :row.certType=='99'?'其他因私证件(包括难民证等)':''; | ||
890 | + }, | ||
891 | + handleSizeChange(val) { | ||
892 | + this.query.pageSize=val; | ||
893 | + this.selectList(); | ||
894 | + }, | ||
895 | + handleCurrentChange(val) { | ||
896 | + this.query.pageNum=val; | ||
897 | + this.selectList(); | ||
898 | + }, | ||
899 | + //查询回执列表 | ||
900 | + returnlist(row){ | ||
901 | + this.gridData=[]; | ||
902 | + let params={messageid:row.messageid}; | ||
903 | + selectReturnMsgList(params).then(res=>{ | ||
904 | + let response=res.data.data; | ||
905 | + this.gridData=response; | ||
906 | + }); | ||
907 | + this.returnVisible=true; | ||
908 | + }, | ||
909 | + handleClose() { | ||
910 | + this.returnVisible=false; | ||
911 | + }, | ||
912 | + //获取关区代码 | ||
913 | + getCustomCode:function(query){ | ||
914 | + this.customcodes=[]; | ||
915 | + let params={customcode:query}; | ||
916 | + this.loading = true; | ||
917 | + selectBycustomcode(params).then(res =>{ | ||
918 | + if (res !== '') { | ||
919 | + setTimeout(() => { | ||
920 | + this.loading = false; | ||
921 | + this.customcodes=res.data.data; | ||
922 | + }, 200); | ||
923 | + } else { | ||
924 | + this.customcodes = []; | ||
925 | + } | ||
926 | + | ||
927 | + }); | ||
928 | + }, | ||
929 | + //获取机场代码 | ||
930 | + getAirportCode:function(query){ | ||
931 | + this.airportcodes=[]; | ||
932 | + let params={airportid:query}; | ||
933 | + this.loading = true; | ||
934 | + selectByairportcode(params).then(res =>{ | ||
935 | + if (res !== '') { | ||
936 | + setTimeout(() => { | ||
937 | + this.loading = false; | ||
938 | + this.airportcodes=res.data.data; | ||
939 | + }, 200); | ||
940 | + } else { | ||
941 | + this.airportcodes = []; | ||
942 | + } | ||
943 | + | ||
944 | + }); | ||
945 | + }, | ||
946 | + /*获取国籍*/ | ||
947 | + getCountry:function(query){ | ||
948 | + this.countryOptions=[]; | ||
949 | + let params={countryid:query}; | ||
950 | + this.loading = true; | ||
951 | + selectCountry(params).then(res =>{ | ||
952 | + if (res!=null) { | ||
953 | + console.log(res.data.data) | ||
954 | + setTimeout(() => { | ||
955 | + this.loading = false; | ||
956 | + this.countryOptions=res.data.data; | ||
957 | + }, 200); | ||
958 | + } else { | ||
959 | + this.countryOptions = []; | ||
960 | + } | ||
961 | + | ||
962 | + }); | ||
963 | + }, | ||
964 | + selectChange:function(val){ | ||
965 | + console.log(val) | ||
966 | + this.$emit('tellFarther',val); | ||
967 | + }, | ||
968 | + /*获取证件*/ | ||
969 | + getCreden:function(query){ | ||
970 | + this.certOptions=[]; | ||
971 | + let params={serialno:query}; | ||
972 | + this.loading = true; | ||
973 | + selectCreden(params).then(res =>{ | ||
974 | + if (res!=null) { | ||
975 | + console.log(res.data.data) | ||
976 | + setTimeout(() => { | ||
977 | + this.loading = false; | ||
978 | + this.certOptions=res.data.data; | ||
979 | + }, 200); | ||
980 | + } else { | ||
981 | + this.certOptions = []; | ||
982 | + } | ||
983 | + | ||
984 | + }); | ||
985 | + }, | ||
986 | + }, | ||
987 | + mounted() { | ||
988 | + this.expandedRowKeys = this.tableData.map(item => item.uuid); | ||
989 | + } | ||
990 | + } | ||
991 | +</script> |
@@ -240,7 +240,7 @@ | @@ -240,7 +240,7 @@ | ||
240 | <el-col :span="24"> | 240 | <el-col :span="24"> |
241 | <el-form-item> | 241 | <el-form-item> |
242 | <el-button size="small" style="margin-left: 500px;width: 100px" type="info" @click="trans_dialog.addDialog = false">取消</el-button> | 242 | <el-button size="small" style="margin-left: 500px;width: 100px" type="info" @click="trans_dialog.addDialog = false">取消</el-button> |
243 | - <el-button type="primary" size="small" style="margin-left: 20px;width: 100px" @click="dialogStatus==='create'?trans_add():trans_edit()">提交</el-button> | 243 | + <el-button type="primary" size="small" style="margin-left: 20px;width: 100px" @click="dialogStatus==='create'?trans_add('form'):trans_edit('form')">提交</el-button> |
244 | </el-form-item> | 244 | </el-form-item> |
245 | </el-col> | 245 | </el-col> |
246 | </el-row> | 246 | </el-row> |
@@ -392,8 +392,8 @@ | @@ -392,8 +392,8 @@ | ||
392 | }, | 392 | }, |
393 | 393 | ||
394 | // 新增功能 | 394 | // 新增功能 |
395 | - trans_add() { // 进行表单的预验证 | ||
396 | - this.$refs.form.validate(valid => { | 395 | + trans_add(formName) { // 进行表单的预验证 |
396 | + this.$refs[formName].validate((valid) => { | ||
397 | // 未通过,表单预校验 | 397 | // 未通过,表单预校验 |
398 | if (!valid) return | 398 | if (!valid) return |
399 | addAircraftStaying(this.form).then((response) => { | 399 | addAircraftStaying(this.form).then((response) => { |
@@ -423,9 +423,9 @@ | @@ -423,9 +423,9 @@ | ||
423 | }) | 423 | }) |
424 | }, | 424 | }, |
425 | // 编辑功能 | 425 | // 编辑功能 |
426 | - trans_edit() { | 426 | + trans_edit(formName) { |
427 | // 进行表单的预验证 | 427 | // 进行表单的预验证 |
428 | - this.$refs.form.validate(valid => { | 428 | + this.$refs[formName].validate((valid) => { |
429 | // 未通过,表单预校验 | 429 | // 未通过,表单预校验 |
430 | if (!valid) return | 430 | if (!valid) return |
431 | addAircraftStaying(this.form).then((response) => { | 431 | addAircraftStaying(this.form).then((response) => { |
src/views/airtransport/gongtui.vue
0 → 100644
1 | +<template> | ||
2 | + <el-row :gutter="20"> | ||
3 | + <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> | ||
4 | + <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> | ||
5 | + <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> | ||
6 | + <el-col :span="6"><div class="grid-content bg-purple"></div></el-col> | ||
7 | + </el-row> | ||
8 | +</template> | ||
9 | +<script> | ||
10 | + export default { | ||
11 | + data(){ | ||
12 | + return{ | ||
13 | + | ||
14 | + } | ||
15 | + }, | ||
16 | + methods:{} | ||
17 | + } | ||
18 | +</script> |
@@ -14,8 +14,8 @@ | @@ -14,8 +14,8 @@ | ||
14 | </el-form-item> | 14 | </el-form-item> |
15 | </el-col> | 15 | </el-col> |
16 | <el-col :span="8"> | 16 | <el-col :span="8"> |
17 | - <el-form-item label="进出标识" prop="ietype" label-width="120px"> | ||
18 | - <el-select v-model="outConfigure.ietype" placeholder="" style="display:inline"> | 17 | + <el-form-item label="进出标识" prop="ieType" label-width="120px"> |
18 | + <el-select v-model="outConfigure.ieType" placeholder="" style="display:inline"> | ||
19 | <el-option v-for="item in linesTypes" :key="item.value" :label="item.label" | 19 | <el-option v-for="item in linesTypes" :key="item.value" :label="item.label" |
20 | :value="item.value"></el-option> | 20 | :value="item.value"></el-option> |
21 | </el-select> | 21 | </el-select> |
@@ -78,7 +78,7 @@ | @@ -78,7 +78,7 @@ | ||
78 | outConfigure:{ | 78 | outConfigure:{ |
79 | username:loginUserInfo.username, | 79 | username:loginUserInfo.username, |
80 | flightNo:undefined, | 80 | flightNo:undefined, |
81 | - ietype:'2', | 81 | + ieType:'2', |
82 | reamrk:undefined, | 82 | reamrk:undefined, |
83 | // accessFlag:'2', | 83 | // accessFlag:'2', |
84 | createBy:loginUserInfo.username, | 84 | createBy:loginUserInfo.username, |
@@ -88,7 +88,7 @@ | @@ -88,7 +88,7 @@ | ||
88 | flightNo: [ | 88 | flightNo: [ |
89 | {required: true, message: '请输入', trigger: 'blur'} | 89 | {required: true, message: '请输入', trigger: 'blur'} |
90 | ], | 90 | ], |
91 | - ietype: [ | 91 | + ieType: [ |
92 | {required: true, message: '请选择', trigger: 'change'} | 92 | {required: true, message: '请选择', trigger: 'change'} |
93 | ], | 93 | ], |
94 | }, | 94 | }, |
@@ -11,19 +11,19 @@ | @@ -11,19 +11,19 @@ | ||
11 | <el-form :label-position="labelPosition" :model="queryConfigure" :rules="rules" ref="queryFlight" | 11 | <el-form :label-position="labelPosition" :model="queryConfigure" :rules="rules" ref="queryFlight" |
12 | label-width="130px" class="demo-ruleForm"> | 12 | label-width="130px" class="demo-ruleForm"> |
13 | <el-row> | 13 | <el-row> |
14 | - <el-col :span="5" style="margin-right: 70px"> | 14 | + <el-col :span="5"> |
15 | <el-form-item label="承运人" prop="awcd" label-width="70px"> | 15 | <el-form-item label="承运人" prop="awcd" label-width="70px"> |
16 | <el-input v-model="queryConfigure.awcd" style="width:120px"></el-input> | 16 | <el-input v-model="queryConfigure.awcd" style="width:120px"></el-input> |
17 | </el-form-item> | 17 | </el-form-item> |
18 | </el-col> | 18 | </el-col> |
19 | - <el-col :span="5" style="margin-right: 70px"> | 19 | + <el-col :span="5"> |
20 | <el-form-item label="航班号" prop="flightNo" label-width="70px"> | 20 | <el-form-item label="航班号" prop="flightNo" label-width="70px"> |
21 | <el-input v-model="queryConfigure.flightNo" style="width:120px"></el-input> | 21 | <el-input v-model="queryConfigure.flightNo" style="width:120px"></el-input> |
22 | </el-form-item> | 22 | </el-form-item> |
23 | </el-col> | 23 | </el-col> |
24 | <el-col :span="8" > | 24 | <el-col :span="8" > |
25 | - <el-button type="primary" icon="el-icon-search" @click="submitForm()">查询</el-button> | ||
26 | - <el-button type="success" icon="el-icon-edit" @click="addForm()">新增</el-button> | 25 | + <el-button type="primary" @click="submitForm()">查询</el-button> |
26 | + <el-button type="success" @click="addForm()">新增</el-button> | ||
27 | 27 | ||
28 | </el-col> | 28 | </el-col> |
29 | </el-row> | 29 | </el-row> |
@@ -36,32 +36,19 @@ | @@ -36,32 +36,19 @@ | ||
36 | :data="tableData" | 36 | :data="tableData" |
37 | border | 37 | border |
38 | v-loading="tableloading" style="margin-bottom: 20px;margin-top: 20px"> | 38 | v-loading="tableloading" style="margin-bottom: 20px;margin-top: 20px"> |
39 | - <el-table-column | 39 | + <!--<el-table-column |
40 | prop="awcd" | 40 | prop="awcd" |
41 | label="承运人"> | 41 | label="承运人"> |
42 | - </el-table-column> | 42 | + </el-table-column>--> |
43 | <el-table-column | 43 | <el-table-column |
44 | prop="flightNo" | 44 | prop="flightNo" |
45 | label="航班号"> | 45 | label="航班号"> |
46 | </el-table-column> | 46 | </el-table-column> |
47 | <el-table-column | 47 | <el-table-column |
48 | - prop="customscode" | ||
49 | - label="申报关区"> | ||
50 | - </el-table-column> | ||
51 | - <el-table-column | ||
52 | prop="aircraftNo" | 48 | prop="aircraftNo" |
53 | label="航空注册器编号"> | 49 | label="航空注册器编号"> |
54 | </el-table-column> | 50 | </el-table-column> |
55 | <el-table-column | 51 | <el-table-column |
56 | - prop="transportflag" | ||
57 | - label="航空器备案类型" | ||
58 | - show-overflow-tooltip> | ||
59 | - </el-table-column> | ||
60 | - <el-table-column | ||
61 | - prop="aircraftstand" | ||
62 | - label="停机位"> | ||
63 | - </el-table-column> | ||
64 | - <el-table-column | ||
65 | prop="departurePort" | 52 | prop="departurePort" |
66 | label="航班起始站"> | 53 | label="航班起始站"> |
67 | </el-table-column> | 54 | </el-table-column> |
@@ -70,16 +57,37 @@ | @@ -70,16 +57,37 @@ | ||
70 | label="航班目的站"> | 57 | label="航班目的站"> |
71 | </el-table-column> | 58 | </el-table-column> |
72 | <el-table-column | 59 | <el-table-column |
60 | + prop="customscode" | ||
61 | + label="申报关区"> | ||
62 | + </el-table-column> | ||
63 | + <el-table-column | ||
64 | + label="配置类型"> | ||
65 | + <template slot-scope="scope"> | ||
66 | + <span v-if="scope.row.type ==='2'">入境</span> | ||
67 | + <span v-if="scope.row.type ==='1'">出境</span> | ||
68 | + </template> | ||
69 | + </el-table-column> | ||
70 | + <!--<el-table-column | ||
71 | + prop="transportflag" | ||
72 | + label="航空器备案类型" | ||
73 | + show-overflow-tooltip> | ||
74 | + </el-table-column>--> | ||
75 | + <!--<el-table-column | ||
76 | + prop="aircraftstand" | ||
77 | + label="停机位"> | ||
78 | + </el-table-column>--> | ||
79 | + <el-table-column | ||
73 | prop="departuredatetime" | 80 | prop="departuredatetime" |
74 | label="预计出境时间"> | 81 | label="预计出境时间"> |
75 | </el-table-column> | 82 | </el-table-column> |
76 | <el-table-column | 83 | <el-table-column |
77 | prop="arrivaldatetime" | 84 | prop="arrivaldatetime" |
78 | label="预计入境时间"> | 85 | label="预计入境时间"> |
79 | - </el-table-column><el-table-column | 86 | + </el-table-column> |
87 | + <!--<el-table-column | ||
80 | prop="validtime" | 88 | prop="validtime" |
81 | label="配置生效到期日"> | 89 | label="配置生效到期日"> |
82 | - </el-table-column> | 90 | + </el-table-column>--> |
83 | <el-table-column | 91 | <el-table-column |
84 | label="配置状态"> | 92 | label="配置状态"> |
85 | <template slot-scope="scope"> | 93 | <template slot-scope="scope"> |
@@ -87,14 +95,8 @@ | @@ -87,14 +95,8 @@ | ||
87 | <span v-if="scope.row.status ==='1'">生效</span> | 95 | <span v-if="scope.row.status ==='1'">生效</span> |
88 | </template> | 96 | </template> |
89 | </el-table-column> | 97 | </el-table-column> |
90 | - <el-table-column | ||
91 | - label="配置类型"> | ||
92 | - <template slot-scope="scope"> | ||
93 | - <span v-if="scope.row.type ==='2'">入境</span> | ||
94 | - <span v-if="scope.row.type ==='1'">出境</span> | ||
95 | - </template> | ||
96 | - </el-table-column> | ||
97 | - <el-table-column | 98 | + |
99 | + <!--<el-table-column | ||
98 | prop="userid" | 100 | prop="userid" |
99 | label="创建人"> | 101 | label="创建人"> |
100 | </el-table-column> | 102 | </el-table-column> |
@@ -109,12 +111,12 @@ | @@ -109,12 +111,12 @@ | ||
109 | <el-table-column | 111 | <el-table-column |
110 | prop="meno" | 112 | prop="meno" |
111 | label="备注"> | 113 | label="备注"> |
112 | - </el-table-column> | 114 | + </el-table-column>--> |
113 | <el-table-column | 115 | <el-table-column |
114 | fixed="right" | 116 | fixed="right" |
115 | prop="" | 117 | prop="" |
116 | - label="报文操作" | ||
117 | - width="280"> | 118 | + label="信息操作" |
119 | + width="180"> | ||
118 | <template slot-scope="scope"> | 120 | <template slot-scope="scope"> |
119 | <el-button | 121 | <el-button |
120 | size="mini" | 122 | size="mini" |
@@ -174,9 +176,12 @@ | @@ -174,9 +176,12 @@ | ||
174 | <el-row> | 176 | <el-row> |
175 | <el-col :span="6"> | 177 | <el-col :span="6"> |
176 | <el-form-item label="航空器备案类型" prop="transportflag" label-width="140px"> | 178 | <el-form-item label="航空器备案类型" prop="transportflag" label-width="140px"> |
177 | - <el-input v-model="configure_addForm.transportflag" | ||
178 | - ></el-input> | 179 | + <el-select v-model="configure_addForm.transportflag" placeholder="请选择"> |
180 | + <el-option label="通用航空器" value="1"></el-option> | ||
181 | + <el-option label="航线航空器" value="2"></el-option> | ||
182 | + </el-select> | ||
179 | </el-form-item> | 183 | </el-form-item> |
184 | + | ||
180 | </el-col> | 185 | </el-col> |
181 | <el-col :span="6"> | 186 | <el-col :span="6"> |
182 | <el-form-item label="停机位" prop="aircraftstand" label-width="120px"> | 187 | <el-form-item label="停机位" prop="aircraftstand" label-width="120px"> |
@@ -201,8 +206,8 @@ | @@ -201,8 +206,8 @@ | ||
201 | v-model="configure_addForm.departuredatetime" | 206 | v-model="configure_addForm.departuredatetime" |
202 | type="datetime" | 207 | type="datetime" |
203 | placeholder="选择日期时间" | 208 | placeholder="选择日期时间" |
204 | - value-format="yyyyMMddhhmmss" | ||
205 | - format="yyyyMMddhhmmss" | 209 | + value-format="yyyy-MM-dd HH:mm:ss" |
210 | + format="yyyy-MM-dd HH:mm:ss" | ||
206 | style="width:100%"> | 211 | style="width:100%"> |
207 | </el-date-picker> | 212 | </el-date-picker> |
208 | </el-form-item> | 213 | </el-form-item> |
@@ -213,8 +218,8 @@ | @@ -213,8 +218,8 @@ | ||
213 | v-model="configure_addForm.arrivaldatetime" | 218 | v-model="configure_addForm.arrivaldatetime" |
214 | type="datetime" | 219 | type="datetime" |
215 | placeholder="选择日期时间" | 220 | placeholder="选择日期时间" |
216 | - value-format="yyyyMMddhhmmss" | ||
217 | - format="yyyyMMddhhmmss" | 221 | + value-format="yyyy-MM-dd HH:mm:ss" |
222 | + format="yyyy-MM-dd HH:mm:ss" | ||
218 | style="width:100%"> | 223 | style="width:100%"> |
219 | </el-date-picker> | 224 | </el-date-picker> |
220 | </el-form-item> | 225 | </el-form-item> |
@@ -225,18 +230,18 @@ | @@ -225,18 +230,18 @@ | ||
225 | v-model="configure_addForm.validtime" | 230 | v-model="configure_addForm.validtime" |
226 | type="datetime" | 231 | type="datetime" |
227 | placeholder="选择日期时间" | 232 | placeholder="选择日期时间" |
228 | - value-format="yyyyMMddhhmmss" | ||
229 | - format="yyyyMMddhhmmss" | 233 | + value-format="yyyy-MM-dd HH:mm:ss" |
234 | + format="yyyy-MM-dd HH:mm:ss" | ||
230 | style="width: 100%" | 235 | style="width: 100%" |
231 | :picker-options="pickerOptions"> | 236 | :picker-options="pickerOptions"> |
232 | </el-date-picker> | 237 | </el-date-picker> |
233 | </el-form-item> | 238 | </el-form-item> |
234 | </el-col> | 239 | </el-col> |
235 | - <el-col :span="6"> | 240 | + <!--<el-col :span="6"> |
236 | <el-form-item label="创建人" prop="userid" label-width="120px"> | 241 | <el-form-item label="创建人" prop="userid" label-width="120px"> |
237 | <el-input v-model="configure_addForm.userid"></el-input> | 242 | <el-input v-model="configure_addForm.userid"></el-input> |
238 | </el-form-item> | 243 | </el-form-item> |
239 | - </el-col> | 244 | + </el-col>--> |
240 | 245 | ||
241 | <el-col :span="6"> | 246 | <el-col :span="6"> |
242 | <el-form-item label="配置类型" prop="type" label-width="120px"> | 247 | <el-form-item label="配置类型" prop="type" label-width="120px"> |
@@ -256,7 +261,7 @@ | @@ -256,7 +261,7 @@ | ||
256 | </el-select> | 261 | </el-select> |
257 | </el-form-item> | 262 | </el-form-item> |
258 | </el-col> | 263 | </el-col> |
259 | - <el-col :span="6"> | 264 | + <!--<el-col :span="6"> |
260 | <el-form-item label="创建时间" prop="creatdate" label-width="120px"> | 265 | <el-form-item label="创建时间" prop="creatdate" label-width="120px"> |
261 | <el-date-picker | 266 | <el-date-picker |
262 | v-model="configure_addForm.creatdate" | 267 | v-model="configure_addForm.creatdate" |
@@ -281,9 +286,7 @@ | @@ -281,9 +286,7 @@ | ||
281 | :picker-options="pickerOptions"> | 286 | :picker-options="pickerOptions"> |
282 | </el-date-picker> | 287 | </el-date-picker> |
283 | </el-form-item> | 288 | </el-form-item> |
284 | - </el-col> | ||
285 | - </el-row> | ||
286 | - <el-row> | 289 | + </el-col>--> |
287 | <el-col :span="12"> | 290 | <el-col :span="12"> |
288 | <el-form-item label="星期日期" prop="schedule.options" label-width="120px"> | 291 | <el-form-item label="星期日期" prop="schedule.options" label-width="120px"> |
289 | <el-select v-model="configure_addForm.schedule.options" multiple placeholder="请选择(可多选)" style="width: 100%"> | 292 | <el-select v-model="configure_addForm.schedule.options" multiple placeholder="请选择(可多选)" style="width: 100%"> |
@@ -296,11 +299,6 @@ | @@ -296,11 +299,6 @@ | ||
296 | </el-select> | 299 | </el-select> |
297 | </el-form-item> | 300 | </el-form-item> |
298 | </el-col> | 301 | </el-col> |
299 | - <el-col :span="12"> | ||
300 | - <el-form-item label="备注" prop="meno" label-width="120px"> | ||
301 | - <el-input v-model="configure_addForm.meno"></el-input> | ||
302 | - </el-form-item> | ||
303 | - </el-col> | ||
304 | </el-row> | 302 | </el-row> |
305 | 303 | ||
306 | </el-form> | 304 | </el-form> |
@@ -377,15 +375,15 @@ | @@ -377,15 +375,15 @@ | ||
377 | flightNo:'', | 375 | flightNo:'', |
378 | customscode:'', | 376 | customscode:'', |
379 | aircraftNo:'', | 377 | aircraftNo:'', |
380 | - transportflag:'', | 378 | + transportflag:'1', |
381 | aircraftstand:'', | 379 | aircraftstand:'', |
382 | departurePort:'', | 380 | departurePort:'', |
383 | arrivalPort:'', | 381 | arrivalPort:'', |
384 | departuredatetime:'', | 382 | departuredatetime:'', |
385 | arrivaldatetime:'', | 383 | arrivaldatetime:'', |
386 | validtime:'', | 384 | validtime:'', |
387 | - status:'', | ||
388 | - type:'', | 385 | + status:'1', |
386 | + type:'2', | ||
389 | userid:'', | 387 | userid:'', |
390 | creatdate:'', | 388 | creatdate:'', |
391 | updatedate:'', | 389 | updatedate:'', |
@@ -454,21 +452,12 @@ | @@ -454,21 +452,12 @@ | ||
454 | validtime: [ | 452 | validtime: [ |
455 | { required: true, message: '请输入', trigger: 'change' } | 453 | { required: true, message: '请输入', trigger: 'change' } |
456 | ], | 454 | ], |
457 | - userid: [ | ||
458 | - { required: true, message: '请输入', trigger: 'change' } | ||
459 | - ], | ||
460 | type: [ | 455 | type: [ |
461 | { required: true, message: '请输入', trigger: 'change' } | 456 | { required: true, message: '请输入', trigger: 'change' } |
462 | ], | 457 | ], |
463 | status: [ | 458 | status: [ |
464 | { required: true, message: '请输入', trigger: 'change' } | 459 | { required: true, message: '请输入', trigger: 'change' } |
465 | ], | 460 | ], |
466 | - creatdate: [ | ||
467 | - { required: true, message: '请输入', trigger: 'change' } | ||
468 | - ], | ||
469 | - updatedate: [ | ||
470 | - { required: true, message: '请输入', trigger: 'change' } | ||
471 | - ], | ||
472 | 'schedule.options': [ | 461 | 'schedule.options': [ |
473 | { required: true, message: '请输入', trigger: 'change' } | 462 | { required: true, message: '请输入', trigger: 'change' } |
474 | ], | 463 | ], |
src/views/airtransport/yqdeclare.vue
0 → 100644
1 | +<template> | ||
2 | + <div> | ||
3 | + <el-row :gutter="10"> | ||
4 | + <el-col :span="4"> | ||
5 | + <el-input | ||
6 | + placeholder="航空器注册编号" | ||
7 | + v-model="query.aircraftNo" | ||
8 | + size="medium" | ||
9 | + clearable> | ||
10 | + </el-input> | ||
11 | + </el-col> | ||
12 | + <el-col :span="4"> | ||
13 | + <el-input | ||
14 | + placeholder="进出境航班号" | ||
15 | + v-model="query.flightNo" | ||
16 | + size="medium" | ||
17 | + clearable> | ||
18 | + </el-input> | ||
19 | + </el-col> | ||
20 | + <el-col :span="8"> | ||
21 | + <div class="block"> | ||
22 | + <el-date-picker | ||
23 | + v-model="flightdate" | ||
24 | + type="daterange" | ||
25 | + :picker-options="pickerOptions" | ||
26 | + range-separator="至" | ||
27 | + start-placeholder="开始日期" | ||
28 | + end-placeholder="结束日期" | ||
29 | + value-format="yyyy-MM-dd" | ||
30 | + size="medium" | ||
31 | + align="right"> | ||
32 | + </el-date-picker> | ||
33 | + </div> | ||
34 | + </el-col> | ||
35 | + <el-col :span="6"> | ||
36 | + <el-select v-model="query.customDistrictNo" | ||
37 | + filterable | ||
38 | + allow-create | ||
39 | + default-first-option | ||
40 | + remote | ||
41 | + :remote-method="getCustomCode" | ||
42 | + size="medium" | ||
43 | + :loading="loading" placeholder="海关关区"> | ||
44 | + <el-option | ||
45 | + v-for="item in customcodes" | ||
46 | + :key="item.customcode" | ||
47 | + :label="item.customcode" | ||
48 | + :value="item.customcode"> | ||
49 | + <span style="float: left">{{ item.customcode }}</span> | ||
50 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.customname }}</span> | ||
51 | + </el-option> | ||
52 | + </el-select> | ||
53 | + </el-col> | ||
54 | + </el-row> | ||
55 | + <el-row :gutter="10"> | ||
56 | + <el-col :span="4"> | ||
57 | + <el-select v-model="query.accessFlag" size="medium" placeholder="请选择"> | ||
58 | + <el-option label="进境" value="0"></el-option> | ||
59 | + <el-option label="出境" value="1"></el-option> | ||
60 | + </el-select> | ||
61 | + </el-col> | ||
62 | + <el-col :span="4"> | ||
63 | + <el-select v-model="query.yqtype" size="medium" placeholder="请选择"> | ||
64 | + <el-option label="预报" value="Y"></el-option> | ||
65 | + <el-option label="确报" value="Q"></el-option> | ||
66 | + </el-select> | ||
67 | + </el-col> | ||
68 | + <el-col :span="2"> | ||
69 | + <el-button size="medium" type="primary" @click="selectList" plain>查询</el-button> | ||
70 | + </el-col> | ||
71 | + <el-col :span="2"> | ||
72 | + <el-button size="medium" type="success" @click="addForm()" plain>新增</el-button> | ||
73 | + </el-col> | ||
74 | + </el-row> | ||
75 | + <el-row :gutter="10"> | ||
76 | + <el-table | ||
77 | + :data="tableData" | ||
78 | + border | ||
79 | + style="width: 100%"> | ||
80 | + <el-table-column | ||
81 | + fixed="left" | ||
82 | + label="信息操作" | ||
83 | + width="100"> | ||
84 | + <template slot-scope="scope"> | ||
85 | + <el-button @click="handleClick(scope.row)" type="text" size="small">编辑</el-button> | ||
86 | + </template> | ||
87 | + </el-table-column> | ||
88 | + <el-table-column | ||
89 | + prop="messageid" | ||
90 | + label="编号" | ||
91 | + width="240"> | ||
92 | + </el-table-column> | ||
93 | + <el-table-column | ||
94 | + prop="aircraftNo" | ||
95 | + label="航空器注册编号" | ||
96 | + width="110"> | ||
97 | + </el-table-column> | ||
98 | + <el-table-column | ||
99 | + prop="flightNo" | ||
100 | + label="进出境航班号" | ||
101 | + width="120"> | ||
102 | + </el-table-column> | ||
103 | + <el-table-column | ||
104 | + prop="flightDate" | ||
105 | + label="航班日期" | ||
106 | + width="120"> | ||
107 | + </el-table-column> | ||
108 | + <el-table-column | ||
109 | + label="进出类型" | ||
110 | + width="120"> | ||
111 | + <template slot-scope="scope"> | ||
112 | + {{ scope.row.accessFlag === '0' ? '进境' : '出境' }} | ||
113 | + </template> | ||
114 | + </el-table-column> | ||
115 | + <el-table-column | ||
116 | + label="申报类型" | ||
117 | + width="120"> | ||
118 | + <template slot-scope="scope"> | ||
119 | + {{ scope.row.yqtype === 'Y' ? '预报' : '确报' }} | ||
120 | + </template> | ||
121 | + </el-table-column> | ||
122 | + <el-table-column | ||
123 | + label="进出境时间" | ||
124 | + width="120"> | ||
125 | + <template slot-scope="scope"> | ||
126 | + <span v-if="scope.row.accessFlag === '0'">{{ scope.row.arrivaldatetime }}</span> | ||
127 | + <span v-else>{{ scope.row.departuredatetime }}</span> | ||
128 | + </template> | ||
129 | + </el-table-column> | ||
130 | + <el-table-column | ||
131 | + prop="arrivalPort" | ||
132 | + label="目的港" | ||
133 | + width="120"> | ||
134 | + </el-table-column> | ||
135 | + <el-table-column | ||
136 | + prop="statusMsg" | ||
137 | + label="海关状态" | ||
138 | + width="120"> | ||
139 | + </el-table-column> | ||
140 | + <el-table-column | ||
141 | + fixed="right" | ||
142 | + label="操作" | ||
143 | + width="220"> | ||
144 | + <template slot-scope="scope"> | ||
145 | + <el-button @click="returnlist(scope.row)" type="text" size="small">查看</el-button> | ||
146 | + <el-button @click="sendpre(scope.row,2)" type="text" size="small">申报</el-button> | ||
147 | + <el-button @click="sendpre(scope.row,5)" type="text" size="small">修改</el-button> | ||
148 | + <el-button @click="sendpre(scope.row,3)" type="text" size="small">删除</el-button> | ||
149 | + <el-button @click="cancleSB(scope.row)" type="text" size="small">取消</el-button> | ||
150 | + </template> | ||
151 | + </el-table-column> | ||
152 | + </el-table> | ||
153 | + </el-row> | ||
154 | + <el-row :gutter="10"> | ||
155 | + <div class="block"> | ||
156 | + <el-pagination | ||
157 | + @size-change="handleSizeChange" | ||
158 | + @current-change="handleCurrentChange" | ||
159 | + :current-page="query.pageNum" | ||
160 | + :page-sizes="[100, 200, 300, 400]" | ||
161 | + :page-size="query.pageSize" | ||
162 | + layout="total, sizes, prev, pager, next, jumper" | ||
163 | + :total="total"> | ||
164 | + </el-pagination> | ||
165 | + </div> | ||
166 | + </el-row> | ||
167 | + <el-row> | ||
168 | + <el-dialog | ||
169 | + :title="'预确报信息'+textMap[dialogStatus]" | ||
170 | + :visible.sync="dialogVisible" | ||
171 | + width="80%" | ||
172 | + center> | ||
173 | + <el-form :model="form" :rules="rules" ref="form" label-width="130px"> | ||
174 | + <el-divider content-position="left"><span style="color: #1d8ce0">报给单位</span></el-divider> | ||
175 | + <el-row :gutter="20"> | ||
176 | + <el-col :span="6"> | ||
177 | + <el-form-item label="海关关区" prop="customDistrictNo"> | ||
178 | + <el-select v-model="form.customDistrictNo" | ||
179 | + filterable | ||
180 | + allow-create | ||
181 | + default-first-option | ||
182 | + remote | ||
183 | + :remote-method="getCustomCode2" | ||
184 | + :loading="loading" placeholder="请选择"> | ||
185 | + <el-option | ||
186 | + v-for="item in customcodes2" | ||
187 | + :key="item.customcode" | ||
188 | + :label="item.customcode" | ||
189 | + :value="item.customcode"> | ||
190 | + <span style="float: left">{{ item.customcode }}</span> | ||
191 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.customname }}</span> | ||
192 | + </el-option> | ||
193 | + </el-select> | ||
194 | + </el-form-item> | ||
195 | + </el-col> | ||
196 | + <el-col :span="6"> | ||
197 | + <el-form-item label="进出类型" prop="accessFlag"> | ||
198 | + <el-select v-model="form.accessFlag" placeholder="请选择"> | ||
199 | + <el-option label="进境" value="0"></el-option> | ||
200 | + <el-option label="出境" value="1"></el-option> | ||
201 | + </el-select> | ||
202 | + </el-form-item> | ||
203 | + </el-col> | ||
204 | + <el-col :span="6"> | ||
205 | + <el-form-item label="申报类型" prop="yqtype"> | ||
206 | + <el-select v-model="form.yqtype" placeholder="请选择"> | ||
207 | + <el-option label="预报" value="Y"></el-option> | ||
208 | + <el-option label="确报" value="Q"></el-option> | ||
209 | + </el-select> | ||
210 | + </el-form-item> | ||
211 | + </el-col> | ||
212 | + </el-row> | ||
213 | + <el-divider content-position="left"><span style="color: #1d8ce0">航空器信息</span></el-divider> | ||
214 | + <el-row :gutter="20"> | ||
215 | + <el-col :span="6"> | ||
216 | + <el-form-item label="航空器注册编号" prop="aircraftno"> | ||
217 | + <el-input v-model="form.aircraftNo"></el-input> | ||
218 | + </el-form-item> | ||
219 | + </el-col> | ||
220 | + <el-col :span="6"> | ||
221 | + <el-form-item label="注册海关关区" prop="costomcode"> | ||
222 | + <el-select v-model="form.costomcode" | ||
223 | + filterable | ||
224 | + allow-create | ||
225 | + default-first-option | ||
226 | + remote | ||
227 | + :remote-method="getCustomCode3" | ||
228 | + :loading="loading" placeholder="请选择"> | ||
229 | + <el-option | ||
230 | + v-for="item in customcodes3" | ||
231 | + :key="item.customcode" | ||
232 | + :label="item.customcode" | ||
233 | + :value="item.customcode"> | ||
234 | + <span style="float: left">{{ item.customcode }}</span> | ||
235 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.customname }}</span> | ||
236 | + </el-option> | ||
237 | + </el-select> | ||
238 | + </el-form-item> | ||
239 | + </el-col> | ||
240 | + <el-col :span="6"> | ||
241 | + <el-form-item label="航空器备案类型" prop="aircrafttype"> | ||
242 | + <el-select v-model="form.aircrafttype" placeholder="请选择"> | ||
243 | + <el-option label="通用航空器" value="1"></el-option> | ||
244 | + <el-option label="航线航空器" value="2"></el-option> | ||
245 | + </el-select> | ||
246 | + </el-form-item> | ||
247 | + </el-col> | ||
248 | + </el-row> | ||
249 | + <el-divider content-position="left"><span style="color: #1d8ce0">航班信息</span></el-divider> | ||
250 | + <el-row :gutter="20"> | ||
251 | + <el-col :span="6"> | ||
252 | + <el-form-item label="进出境航班号" prop="flightNo"> | ||
253 | + <el-input v-model="form.flightNo"></el-input> | ||
254 | + </el-form-item> | ||
255 | + </el-col> | ||
256 | + <el-col :span="6"> | ||
257 | + <el-form-item label="航班日期" prop="flightDate" style="width: 100%;"> | ||
258 | + <div class="block"> | ||
259 | + <el-date-picker | ||
260 | + v-model="form.flightDate" | ||
261 | + value-format="yyyy-MM-dd" | ||
262 | + type="date" | ||
263 | + placeholder="选择日期" | ||
264 | + style="width: 100%;" | ||
265 | + ></el-date-picker> | ||
266 | + </div> | ||
267 | + </el-form-item> | ||
268 | + </el-col> | ||
269 | + <el-col :span="6"> | ||
270 | + <el-form-item label="停机位" prop="stayid"> | ||
271 | + <el-input v-model="form.stayid"></el-input> | ||
272 | + </el-form-item> | ||
273 | + </el-col> | ||
274 | + <el-col :span="6"> | ||
275 | + <el-form-item label="出发港" prop="departurePort" style="width: 100%;"> | ||
276 | + <el-select v-model="form.departurePort" | ||
277 | + filterable | ||
278 | + allow-create | ||
279 | + default-first-option | ||
280 | + remote | ||
281 | + :remote-method="getAirportCode" | ||
282 | + :loading="loading" placeholder="请选择"> | ||
283 | + <el-option | ||
284 | + v-for="item in airportcodes" | ||
285 | + :key="item.airportid" | ||
286 | + :label="item.airportid" | ||
287 | + :value="item.airportid"> | ||
288 | + <span style="float: left">{{ item.airportid }}</span> | ||
289 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.airportname}}</span> | ||
290 | + </el-option> | ||
291 | + </el-select> | ||
292 | + </el-form-item> | ||
293 | + </el-col> | ||
294 | + <el-col :span="6"> | ||
295 | + <el-form-item label="目的港" prop="arrivalPort" style="width: 100%;"> | ||
296 | + <el-select v-model="form.arrivalPort" | ||
297 | + filterable | ||
298 | + allow-create | ||
299 | + default-first-option | ||
300 | + remote | ||
301 | + :remote-method="getAirportCode2" | ||
302 | + :loading="loading" placeholder="请选择"> | ||
303 | + <el-option | ||
304 | + v-for="item in airportcodes2" | ||
305 | + :key="item.airportid" | ||
306 | + :label="item.airportid" | ||
307 | + :value="item.airportid"> | ||
308 | + <span style="float: left">{{ item.airportid }}</span> | ||
309 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.airportname}}</span> | ||
310 | + </el-option> | ||
311 | + </el-select> | ||
312 | + </el-form-item> | ||
313 | + </el-col> | ||
314 | + <el-col :span="6"> | ||
315 | + <el-form-item label="出境时间" prop="departuredatetime" style="width: 100%;"> | ||
316 | + <el-date-picker | ||
317 | + v-model="form.departuredatetime" | ||
318 | + type="datetime" | ||
319 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
320 | + placeholder="yyyy-MM-dd HH:mm:ss" | ||
321 | + style="width: 100%;"> | ||
322 | + </el-date-picker> | ||
323 | + </el-form-item> | ||
324 | + </el-col> | ||
325 | + <el-col :span="6"> | ||
326 | + <el-form-item label="进境时间" prop="arrivaldatetime" style="width: 100%;"> | ||
327 | + <el-date-picker | ||
328 | + v-model="form.arrivaldatetime" | ||
329 | + type="datetime" | ||
330 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
331 | + placeholder="yyyy-MM-dd HH:mm:ss" | ||
332 | + style="width: 100%;"> | ||
333 | + </el-date-picker> | ||
334 | + </el-form-item> | ||
335 | + </el-col> | ||
336 | + </el-row> | ||
337 | + <el-divider content-position="left"><span style="color: #1d8ce0">海关备注</span></el-divider> | ||
338 | + <el-row :gutter="20"> | ||
339 | + <el-col :span="12"> | ||
340 | + <el-form-item label="海关备注"> | ||
341 | + <el-input v-model="form.meno"></el-input> | ||
342 | + </el-form-item> | ||
343 | + </el-col> | ||
344 | + </el-row> | ||
345 | + <el-divider></el-divider> | ||
346 | + <el-row :gutter="20"> | ||
347 | + <el-col :span="12" :offset="6"> | ||
348 | + <el-form-item> | ||
349 | + <el-button @click="dialogVisible=false">取消</el-button> | ||
350 | + <el-button type="primary" @click="dialogStatus==='create'?createData('form'):updateData('form')">暂存</el-button> | ||
351 | + </el-form-item> | ||
352 | + </el-col> | ||
353 | + </el-row> | ||
354 | + </el-form> | ||
355 | + </el-dialog> | ||
356 | + </el-row> | ||
357 | + <el-row :gutter="10"> | ||
358 | + <el-dialog | ||
359 | + title="回执列表" | ||
360 | + :visible.sync="returnVisible" | ||
361 | + width="55%" | ||
362 | + :before-close="handleClose"> | ||
363 | + <el-table :data="gridData"> | ||
364 | + <el-table-column property="sendtime" label="操作时间" ></el-table-column> | ||
365 | + <el-table-column property="createBy" label="操作人" ></el-table-column> | ||
366 | + <el-table-column property="flightNo" label="航班号"></el-table-column> | ||
367 | + <el-table-column property="flightDate" label="航班日期" ></el-table-column> | ||
368 | + <el-table-column property="receiptContent" label="回执内容" ></el-table-column> | ||
369 | + </el-table> | ||
370 | + </el-dialog> | ||
371 | + </el-row> | ||
372 | + <el-row> | ||
373 | + <el-dialog title="航班取消申报" :visible.sync="dialogFormVisible"> | ||
374 | + <el-form :model="cancleForm"> | ||
375 | + <el-form-item label="取消原因" label-width="130px"> | ||
376 | + <el-input v-model="cancleForm.content" autocomplete="off"></el-input> | ||
377 | + </el-form-item> | ||
378 | + </el-form> | ||
379 | + <div slot="footer" class="dialog-footer"> | ||
380 | + <el-button @click="dialogFormVisible = false">取 消</el-button> | ||
381 | + <el-button type="primary" @click="canclesendpre">确 定</el-button> | ||
382 | + </div> | ||
383 | + </el-dialog> | ||
384 | + </el-row> | ||
385 | + </div> | ||
386 | +</template> | ||
387 | +<script> | ||
388 | + import { | ||
389 | + selectByairportcode, | ||
390 | + selectBycustomcode, | ||
391 | + selectPreList, | ||
392 | + insertSelectivePre, | ||
393 | + updateByPrimaryKeySelectivePre, selectReturnMsgList, canclePre,sendPrediction | ||
394 | + } from "../../api/transport/transport2.0"; | ||
395 | + | ||
396 | + export default { | ||
397 | + data(){ | ||
398 | + return{ | ||
399 | + cancleForm:{ | ||
400 | + content:'' | ||
401 | + }, | ||
402 | + dialogFormVisible:false, | ||
403 | + textMap:{ | ||
404 | + update: '编辑', | ||
405 | + create: '新增' | ||
406 | + }, | ||
407 | + dialogStatus:'', | ||
408 | + dialogVisible:false, | ||
409 | + form: { | ||
410 | + uuid: '', // 唯一标识符 | ||
411 | + awcd: '', // 不知道具体含义,根据业务需求填充 | ||
412 | + aircraftNo: '', // 飞机编号 | ||
413 | + flightNo: '', // 航班号 | ||
414 | + flightDate: '', // 航班日期 | ||
415 | + departurePort: '', // 出发港 | ||
416 | + arrivalPort: '', // 到达港 | ||
417 | + departuredatetime: '', // 出发日期时间 | ||
418 | + departuredate: '', // 出发日期 | ||
419 | + stayid: '', // 停留ID | ||
420 | + departureconveyancefacility: '', // 出发运输设施 | ||
421 | + arrivalconveyancefacility: '', // 到达运输设施 | ||
422 | + arrivaldatetime: '', // 到达日期时间 | ||
423 | + arrivaldate: '', // 到达日期 | ||
424 | + dischargecompleteddatetime: '', // 卸载完成日期时间 | ||
425 | + transportflag: '', // 运输标志 | ||
426 | + customDistrictNo: '', // 海关区号 | ||
427 | + cancelFlag: '', // 取消标志 | ||
428 | + accessFlag: '0', // 访问标志 | ||
429 | + meno: '', // 备注 | ||
430 | + createTime: '', // 创建时间 | ||
431 | + createBy: '', // 创建人 | ||
432 | + updateTime: '', // 更新时间 | ||
433 | + updateBy: '', // 更新人 | ||
434 | + isDelete: '0', // 是否删除 | ||
435 | + status: '', // 状态 | ||
436 | + statusMsg: '', // 状态信息 | ||
437 | + messageid: '', // 消息ID | ||
438 | + yqtype: 'Y', // 不知道具体含义,根据业务需求填充 | ||
439 | + costomcode:'', | ||
440 | + aircrafttype:'1', | ||
441 | + content:'' | ||
442 | + }, | ||
443 | + tableData:[], | ||
444 | + total:0, | ||
445 | + query:{ | ||
446 | + aircraftNo:'', | ||
447 | + flightNo:'', | ||
448 | + starttime:'', | ||
449 | + endtime:'', | ||
450 | + customDistrictNo:'', | ||
451 | + accessFlag:'', | ||
452 | + yqtype:'', | ||
453 | + pageNum:0, | ||
454 | + pageSize:10 | ||
455 | + }, | ||
456 | + customcodes:[], | ||
457 | + customcodes2:[], | ||
458 | + customcodes3:[], | ||
459 | + airportcodes:[], | ||
460 | + airportcodes2:[], | ||
461 | + loading:false, | ||
462 | + flightdate:['2024-12-22','2024-12-25'], | ||
463 | + pickerOptions: { | ||
464 | + shortcuts: [{ | ||
465 | + text: '最近一周', | ||
466 | + onClick(picker) { | ||
467 | + const end = new Date(); | ||
468 | + const start = new Date(); | ||
469 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); | ||
470 | + picker.$emit('pick', [start, end]); | ||
471 | + } | ||
472 | + }, { | ||
473 | + text: '最近一个月', | ||
474 | + onClick(picker) { | ||
475 | + const end = new Date(); | ||
476 | + const start = new Date(); | ||
477 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); | ||
478 | + picker.$emit('pick', [start, end]); | ||
479 | + } | ||
480 | + }, { | ||
481 | + text: '最近三个月', | ||
482 | + onClick(picker) { | ||
483 | + const end = new Date(); | ||
484 | + const start = new Date(); | ||
485 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); | ||
486 | + picker.$emit('pick', [start, end]); | ||
487 | + } | ||
488 | + }] | ||
489 | + }, | ||
490 | + rules:{ | ||
491 | + aircraftNo: [ | ||
492 | + { required: true, message: '航空注册器编号不可为空', trigger: 'blur' } | ||
493 | + ], | ||
494 | + flightNo: [ | ||
495 | + { required: true, message: '航班号不可为空', trigger: 'blur' } | ||
496 | + ], | ||
497 | + flightDate: [ | ||
498 | + { required: true, message: '航班日期不可为空', trigger: 'blur' } | ||
499 | + ], | ||
500 | + customDistrictNo: [ | ||
501 | + { required: true, message: '海关关区不可为空', trigger: 'blur' } | ||
502 | + ], | ||
503 | + costomcode: [ | ||
504 | + { required: true, message: '海关关区不可为空', trigger: 'blur' } | ||
505 | + ], | ||
506 | + aircrafttype: [ | ||
507 | + { required: true, message: '航空器备案类型不可为空', trigger: 'blur' } | ||
508 | + ], | ||
509 | + stayid: [ | ||
510 | + { required: true, message: '停机位不可为空', trigger: 'blur' } | ||
511 | + ], | ||
512 | + departurePort: [ | ||
513 | + { required: true, message: '出发港不可为空', trigger: 'blur' } | ||
514 | + ], | ||
515 | + arrivalPort: [ | ||
516 | + { required: true, message: '目的港不可为空', trigger: 'blur' } | ||
517 | + ], | ||
518 | + departuredatetime: [ | ||
519 | + { required: true, message: '出境不可为空', trigger: 'blur' } | ||
520 | + ], | ||
521 | + arrivaldatetime: [ | ||
522 | + { required: true, message: '进境不可为空', trigger: 'blur' } | ||
523 | + ], | ||
524 | + }, | ||
525 | + returnVisible:false, | ||
526 | + gridData:[], | ||
527 | + row2:undefined | ||
528 | + } | ||
529 | + }, | ||
530 | + methods:{ | ||
531 | + cancleSB(row){ | ||
532 | + this.dialogFormVisible=true; | ||
533 | + this.row2=row; | ||
534 | + | ||
535 | + }, | ||
536 | + canclesendpre(row,FunctionCode){ | ||
537 | + this.row2.content=this.cancleForm.content; | ||
538 | + const params = { | ||
539 | + row: this.row2, | ||
540 | + FunctionCode: 2 | ||
541 | + }; | ||
542 | + canclePre(params).then(res =>{ | ||
543 | + let response=res.data; | ||
544 | + if(response.code=='200'){ | ||
545 | + this.dialogFormVisible=false; | ||
546 | + this.selectList(); | ||
547 | + this.$message.success(response.msg) | ||
548 | + }else{ | ||
549 | + this.$message.error(response.msg) | ||
550 | + } | ||
551 | + }); | ||
552 | + }, | ||
553 | + sendpre(row,FunctionCode){ | ||
554 | + //this.row2.content=this.cancleForm.content; | ||
555 | + const params = { | ||
556 | + row: row, | ||
557 | + FunctionCode: FunctionCode | ||
558 | + }; | ||
559 | + sendPrediction(params).then(res =>{ | ||
560 | + let response=res.data; | ||
561 | + if(response.code=='200'){ | ||
562 | + this.dialogFormVisible=false; | ||
563 | + this.selectList(); | ||
564 | + this.$message.success(response.msg) | ||
565 | + }else{ | ||
566 | + this.$message.error(response.msg) | ||
567 | + } | ||
568 | + }); | ||
569 | + }, | ||
570 | + | ||
571 | + handleClose() { | ||
572 | + this.returnVisible=false; | ||
573 | + }, | ||
574 | + //查询回执列表 | ||
575 | + returnlist(row){ | ||
576 | + this.gridData=[]; | ||
577 | + let params={messageid:row.messageid}; | ||
578 | + selectReturnMsgList(params).then(res=>{ | ||
579 | + let response=res.data.data; | ||
580 | + this.gridData=response; | ||
581 | + }); | ||
582 | + this.returnVisible=true; | ||
583 | + }, | ||
584 | + createData(formName){ | ||
585 | + this.$refs[formName].validate((valid) => { | ||
586 | + if (valid) { | ||
587 | + insertSelectivePre(this.form).then(res =>{ | ||
588 | + let response=res.data; | ||
589 | + if(response.code=='200'){ | ||
590 | + this.dialogVisible=false; | ||
591 | + this.$message.success(response.msg); | ||
592 | + this.selectList(); | ||
593 | + }else{ | ||
594 | + this.$message.error(response.msg) | ||
595 | + } | ||
596 | + }); | ||
597 | + } else { | ||
598 | + return false; | ||
599 | + } | ||
600 | + }); | ||
601 | + }, | ||
602 | + updateData(formName){ | ||
603 | + this.$refs[formName].validate((valid) => { | ||
604 | + if (valid) { | ||
605 | + this.form.departuredatetime=this.form.arrivaldatetime; | ||
606 | + this.form.departureAirport=this.form.arrivalAirport; | ||
607 | + updateByPrimaryKeySelectivePre(this.form).then(res =>{ | ||
608 | + let response=res.data; | ||
609 | + if(response.code=='200'){ | ||
610 | + this.dialogVisible=false; | ||
611 | + Object.assign(this.$data, this.$options.data()); | ||
612 | + this.$message.success(response.msg); | ||
613 | + this.getList(); | ||
614 | + }else{ | ||
615 | + this.$message.error(response.msg) | ||
616 | + } | ||
617 | + }); | ||
618 | + } else { | ||
619 | + return false; | ||
620 | + } | ||
621 | + }); | ||
622 | + }, | ||
623 | + //获取关区代码 | ||
624 | + getCustomCode:function(query){ | ||
625 | + this.customcodes=[]; | ||
626 | + let params={customcode:query}; | ||
627 | + this.loading = true; | ||
628 | + selectBycustomcode(params).then(res =>{ | ||
629 | + if (res !== '') { | ||
630 | + setTimeout(() => { | ||
631 | + this.loading = false; | ||
632 | + this.customcodes=res.data.data; | ||
633 | + }, 200); | ||
634 | + } else { | ||
635 | + this.customcodes = []; | ||
636 | + } | ||
637 | + | ||
638 | + }); | ||
639 | + }, | ||
640 | + //获取关区代码 | ||
641 | + getCustomCode2:function(query){ | ||
642 | + this.customcodes2=[]; | ||
643 | + let params={customcode:query}; | ||
644 | + this.loading = true; | ||
645 | + selectBycustomcode(params).then(res =>{ | ||
646 | + if (res !== '') { | ||
647 | + setTimeout(() => { | ||
648 | + this.loading = false; | ||
649 | + this.customcodes2=res.data.data; | ||
650 | + }, 200); | ||
651 | + } else { | ||
652 | + this.customcodes2 = []; | ||
653 | + } | ||
654 | + | ||
655 | + }); | ||
656 | + }, | ||
657 | + //获取关区代码 | ||
658 | + getCustomCode3:function(query){ | ||
659 | + this.customcodes3=[]; | ||
660 | + let params={customcode:query}; | ||
661 | + this.loading = true; | ||
662 | + selectBycustomcode(params).then(res =>{ | ||
663 | + if (res !== '') { | ||
664 | + setTimeout(() => { | ||
665 | + this.loading = false; | ||
666 | + this.customcodes3=res.data.data; | ||
667 | + }, 200); | ||
668 | + } else { | ||
669 | + this.customcodes3 = []; | ||
670 | + } | ||
671 | + | ||
672 | + }); | ||
673 | + }, | ||
674 | + //获取机场代码 | ||
675 | + getAirportCode:function(query){ | ||
676 | + this.airportcodes=[]; | ||
677 | + let params={airportid:query}; | ||
678 | + this.loading = true; | ||
679 | + selectByairportcode(params).then(res =>{ | ||
680 | + if (res !== '') { | ||
681 | + setTimeout(() => { | ||
682 | + this.loading = false; | ||
683 | + this.airportcodes=res.data.data; | ||
684 | + }, 200); | ||
685 | + } else { | ||
686 | + this.airportcodes = []; | ||
687 | + } | ||
688 | + | ||
689 | + }); | ||
690 | + }, | ||
691 | + //获取机场代码 | ||
692 | + getAirportCode2:function(query){ | ||
693 | + this.airportcodes2=[]; | ||
694 | + let params={airportid:query}; | ||
695 | + this.loading = true; | ||
696 | + selectByairportcode(params).then(res =>{ | ||
697 | + if (res !== '') { | ||
698 | + setTimeout(() => { | ||
699 | + this.loading = false; | ||
700 | + this.airportcodes2=res.data.data; | ||
701 | + }, 200); | ||
702 | + } else { | ||
703 | + this.airportcodes2 = []; | ||
704 | + } | ||
705 | + | ||
706 | + }); | ||
707 | + }, | ||
708 | + selectList(){ | ||
709 | + if(this.flightdate !== null && this.flightdate !== ""){ | ||
710 | + this.query.starttime = this.flightdate[0]; | ||
711 | + this.query.endtime = this.flightdate[1]; | ||
712 | + }else{ | ||
713 | + return this.$message.error('请选取时间区间') | ||
714 | + } | ||
715 | + this.loading = true; | ||
716 | + selectPreList(this.query).then((response) => { | ||
717 | + const res = response.data | ||
718 | + if (res.code !== '200') { | ||
719 | + this.loading = false; | ||
720 | + return this.$message.error('获取消息收发记录,失败!') | ||
721 | + } | ||
722 | + // 获取列表数据 | ||
723 | + this.tableData = res.data.list | ||
724 | + // 获取列表的总记录数 | ||
725 | + this.total = res.data.total | ||
726 | + this.loading = false; | ||
727 | + this.$message.success('获取消息收发记录,成功!'); | ||
728 | + }).catch(error => { | ||
729 | + // 关闭加载 | ||
730 | + this.$message.error(error.toString()) | ||
731 | + }) | ||
732 | + }, | ||
733 | + //新增 | ||
734 | + addForm(){ | ||
735 | + this.dialogVisible=true; | ||
736 | + this.dialogStatus='create'; | ||
737 | + }, | ||
738 | + handleClick(row){ | ||
739 | + this.dialogVisible=true; | ||
740 | + this.dialogStatus='update'; | ||
741 | + this.form=row; | ||
742 | + }, | ||
743 | + //分页 | ||
744 | + handleSizeChange(val) { | ||
745 | + this.query.pageSize=val; | ||
746 | + this.selectList(); | ||
747 | + }, | ||
748 | + handleCurrentChange(val) { | ||
749 | + this.query.pageNum=val; | ||
750 | + this.selectList(); | ||
751 | + } | ||
752 | + }, | ||
753 | + } | ||
754 | +</script> |
src/views/airtransport/zaigang.vue
0 → 100644
1 | +<template> | ||
2 | + <div> | ||
3 | + <el-row :gutter="10"> | ||
4 | + <el-col :span="4"> | ||
5 | + <el-input | ||
6 | + placeholder="航空器注册编号" | ||
7 | + v-model="query.aircraftno" | ||
8 | + size="medium" | ||
9 | + clearable> | ||
10 | + </el-input> | ||
11 | + </el-col> | ||
12 | + <el-col :span="4"> | ||
13 | + <el-input | ||
14 | + placeholder="进境(港)航班号" | ||
15 | + v-model="query.flightno" | ||
16 | + size="medium" | ||
17 | + clearable> | ||
18 | + </el-input> | ||
19 | + </el-col> | ||
20 | + <el-col :span="8"> | ||
21 | + <div class="block"> | ||
22 | + <el-date-picker | ||
23 | + v-model="flightdate" | ||
24 | + type="daterange" | ||
25 | + :picker-options="pickerOptions" | ||
26 | + range-separator="至" | ||
27 | + start-placeholder="开始日期" | ||
28 | + end-placeholder="结束日期" | ||
29 | + value-format="yyyy-MM-dd" | ||
30 | + size="medium" | ||
31 | + align="right"> | ||
32 | + </el-date-picker> | ||
33 | + </div> | ||
34 | + </el-col> | ||
35 | + <el-col :span="2"> | ||
36 | + <el-button size="medium" type="primary" @click="selectList" plain>查询</el-button> | ||
37 | + </el-col> | ||
38 | + <el-col :span="2"> | ||
39 | + <el-button size="medium" type="success" @click="addForm()" plain>新增</el-button> | ||
40 | + </el-col> | ||
41 | + </el-row> | ||
42 | + <el-row :gutter="10"> | ||
43 | + <el-table | ||
44 | + :data="tableData" | ||
45 | + border | ||
46 | + style="width: 100%"> | ||
47 | + <el-table-column | ||
48 | + align="center" | ||
49 | + fixed="left" | ||
50 | + label="信息操作" | ||
51 | + width="80"> | ||
52 | + <template slot-scope="scope"> | ||
53 | + <el-button @click="ediForm(scope.row)" type="text" size="small">编辑</el-button> | ||
54 | + </template> | ||
55 | + </el-table-column> | ||
56 | + <el-table-column | ||
57 | + prop="messageid" | ||
58 | + label="编号" | ||
59 | + width="320"> | ||
60 | + </el-table-column> | ||
61 | + <el-table-column | ||
62 | + prop="aircraftno" | ||
63 | + label="航空器注册编号" | ||
64 | + width="120"> | ||
65 | + </el-table-column> | ||
66 | + <el-table-column | ||
67 | + prop="flightno" | ||
68 | + label="进境(港)航班号" | ||
69 | + width="120"> | ||
70 | + </el-table-column> | ||
71 | + <el-table-column | ||
72 | + prop="callport" | ||
73 | + label="停靠港" | ||
74 | + width="120"> | ||
75 | + </el-table-column> | ||
76 | + <el-table-column | ||
77 | + prop="flightdate" | ||
78 | + label="航班日期" | ||
79 | + width="100"> | ||
80 | + </el-table-column> | ||
81 | + <el-table-column | ||
82 | + prop="statusmsg" | ||
83 | + label="海关状态" | ||
84 | + width="120"> | ||
85 | + </el-table-column> | ||
86 | + <el-table-column | ||
87 | + fixed="right" | ||
88 | + label="操作" | ||
89 | + width="200"> | ||
90 | + <template slot-scope="scope"> | ||
91 | + <el-button @click="returnlist(scope.row)" type="text" size="small">查看</el-button> | ||
92 | + <el-button @click="sendstying(scope.row,2)" type="text" size="small">申报</el-button> | ||
93 | + <el-button @click="sendstying(scope.row,5)" type="text" size="small">修改</el-button> | ||
94 | + <el-button @click="sendstying(scope.row,3)" type="text" size="small">删除</el-button> | ||
95 | + </template> | ||
96 | + </el-table-column> | ||
97 | + </el-table> | ||
98 | + </el-row> | ||
99 | + <el-row :gutter="10"> | ||
100 | + <div class="block"> | ||
101 | + <el-pagination | ||
102 | + @size-change="handleSizeChange" | ||
103 | + @current-change="handleCurrentChange" | ||
104 | + :current-page="query.pageNum" | ||
105 | + :page-sizes="[100, 200, 300, 400]" | ||
106 | + :page-size="query.pageSize" | ||
107 | + layout="total, sizes, prev, pager, next, jumper" | ||
108 | + :total="total"> | ||
109 | + </el-pagination> | ||
110 | + </div> | ||
111 | + </el-row> | ||
112 | + <el-dialog | ||
113 | + :title="'在港信息'+textMap[dialogStatus]" | ||
114 | + :visible.sync="dialogVisible" | ||
115 | + width="80%" | ||
116 | + center> | ||
117 | + <el-form :model="form" :rules="rules" ref="form" label-width="130px"> | ||
118 | + <el-divider content-position="left"><span style="color: #1d8ce0">报给单位</span></el-divider> | ||
119 | + <el-row :gutter="20"> | ||
120 | + <el-col :span="6"> | ||
121 | + <el-form-item label="海关关区" prop="customcode"> | ||
122 | + <el-select v-model="form.customcode" | ||
123 | + filterable | ||
124 | + allow-create | ||
125 | + default-first-option | ||
126 | + remote | ||
127 | + :remote-method="getCustomCode" | ||
128 | + :loading="loading" placeholder="请选择"> | ||
129 | + <el-option | ||
130 | + v-for="item in customcodes" | ||
131 | + :key="item.customcode" | ||
132 | + :label="item.customcode" | ||
133 | + :value="item.customcode"> | ||
134 | + <span style="float: left">{{ item.customcode }}</span> | ||
135 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.customname }}</span> | ||
136 | + </el-option> | ||
137 | + </el-select> | ||
138 | + </el-form-item> | ||
139 | + </el-col> | ||
140 | + </el-row> | ||
141 | + <el-divider content-position="left"><span style="color: #1d8ce0">航空器信息</span></el-divider> | ||
142 | + <el-row :gutter="20"> | ||
143 | + <el-col :span="6"> | ||
144 | + <el-form-item label="航空器注册编号" prop="aircraftno"> | ||
145 | + <el-input v-model="form.aircraftno"></el-input> | ||
146 | + </el-form-item> | ||
147 | + </el-col> | ||
148 | + <el-col :span="6"> | ||
149 | + <el-form-item label="注册海关关区"> | ||
150 | + <el-select v-model="form.registeredcustom" | ||
151 | + filterable | ||
152 | + allow-create | ||
153 | + default-first-option | ||
154 | + remote | ||
155 | + :remote-method="getCustomCode2" | ||
156 | + :loading="loading" placeholder="请选择"> | ||
157 | + <el-option | ||
158 | + v-for="item in customcodes2" | ||
159 | + :key="item.customcode" | ||
160 | + :label="item.customcode" | ||
161 | + :value="item.customcode"> | ||
162 | + <span style="float: left">{{ item.customcode }}</span> | ||
163 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.customname }}</span> | ||
164 | + </el-option> | ||
165 | + </el-select> | ||
166 | + </el-form-item> | ||
167 | + </el-col> | ||
168 | + <el-col :span="6"> | ||
169 | + <el-form-item label="航空器备案类型"> | ||
170 | + <el-select v-model="form.aircrafttype" placeholder="请选择"> | ||
171 | + <el-option label="通用航空器" value="1"></el-option> | ||
172 | + <el-option label="航线航空器" value="2"></el-option> | ||
173 | + </el-select> | ||
174 | + </el-form-item> | ||
175 | + | ||
176 | + </el-col> | ||
177 | + </el-row> | ||
178 | + <el-divider content-position="left"><span style="color: #1d8ce0">在港申报信息</span></el-divider> | ||
179 | + <el-row :gutter="20"> | ||
180 | + <el-col :span="6"> | ||
181 | + <el-form-item label="进境(港)航班号" prop="flightno"> | ||
182 | + <el-input v-model="form.flightno"></el-input> | ||
183 | + </el-form-item> | ||
184 | + </el-col> | ||
185 | + <el-col :span="6"> | ||
186 | + <el-form-item label="航班日期" prop="flightdate" style="width: 100%;"> | ||
187 | + <div class="block"> | ||
188 | + <el-date-picker | ||
189 | + v-model="form.flightdate" | ||
190 | + value-format="yyyy-MM-dd" | ||
191 | + type="date" | ||
192 | + placeholder="选择日期" | ||
193 | + style="width: 100%;" | ||
194 | + ></el-date-picker> | ||
195 | + </div> | ||
196 | + </el-form-item> | ||
197 | + </el-col> | ||
198 | + <el-col :span="6"> | ||
199 | + <el-form-item label="停靠港" prop="callport" style="width: 100%;"> | ||
200 | + <el-select v-model="form.callport" | ||
201 | + filterable | ||
202 | + allow-create | ||
203 | + default-first-option | ||
204 | + remote | ||
205 | + :remote-method="getAirportCode" | ||
206 | + :loading="loading" placeholder="请选择"> | ||
207 | + <el-option | ||
208 | + v-for="item in airportcodes" | ||
209 | + :key="item.airportid" | ||
210 | + :label="item.airportid" | ||
211 | + :value="item.airportid"> | ||
212 | + <span style="float: left">{{ item.airportid }}</span> | ||
213 | + <span style="float: right; color: #8492a6; font-size: 13px">-{{ item.airportname}}</span> | ||
214 | + </el-option> | ||
215 | + </el-select> | ||
216 | + </el-form-item> | ||
217 | + </el-col> | ||
218 | + <el-col :span="6"> | ||
219 | + <el-form-item label="停机位" prop="callarea"> | ||
220 | + <el-input v-model="form.callarea"></el-input> | ||
221 | + </el-form-item> | ||
222 | + </el-col> | ||
223 | + </el-row> | ||
224 | + <el-divider content-position="left"><span style="color: #1d8ce0">备注信息</span></el-divider> | ||
225 | + <el-row :gutter="20"> | ||
226 | + <el-col :span="6"> | ||
227 | + <el-form-item label="滞留原因"> | ||
228 | + <el-select v-model="form.reasons" placeholder="请选择"> | ||
229 | + <el-option label="移泊" value="1"></el-option> | ||
230 | + <el-option label="待命" value="2"></el-option> | ||
231 | + <el-option label="维修" value="3"></el-option> | ||
232 | + <el-option label="其它" value="4"></el-option> | ||
233 | + </el-select> | ||
234 | + </el-form-item> | ||
235 | + </el-col> | ||
236 | + <el-col :span="6"> | ||
237 | + <el-form-item label="海关备注"> | ||
238 | + <el-input v-model="form.remark"></el-input> | ||
239 | + </el-form-item> | ||
240 | + </el-col> | ||
241 | + </el-row> | ||
242 | + <el-divider></el-divider> | ||
243 | + <el-row :gutter="20"> | ||
244 | + <el-col :span="12" :offset="6"> | ||
245 | + <el-form-item> | ||
246 | + <el-button @click="dialogVisible=false">取消</el-button> | ||
247 | + <el-button type="primary" @click="dialogStatus==='create'?createData('form'):updateData('form')">暂存</el-button> | ||
248 | + </el-form-item> | ||
249 | + </el-col> | ||
250 | + </el-row> | ||
251 | + </el-form> | ||
252 | + </el-dialog> | ||
253 | + <el-dialog | ||
254 | + title="回执列表" | ||
255 | + :visible.sync="returnVisible" | ||
256 | + width="55%" | ||
257 | + :before-close="handleClose"> | ||
258 | + <el-table :data="gridData"> | ||
259 | + <el-table-column property="sendtime" label="操作时间" ></el-table-column> | ||
260 | + <el-table-column property="createBy" label="操作人" ></el-table-column> | ||
261 | + <el-table-column property="flightNo" label="航班号"></el-table-column> | ||
262 | + <el-table-column property="flightDate" label="航班日期" ></el-table-column> | ||
263 | + <el-table-column property="receiptContent" label="回执内容" ></el-table-column> | ||
264 | + </el-table> | ||
265 | + </el-dialog> | ||
266 | + </div> | ||
267 | +</template> | ||
268 | +<script> | ||
269 | + import {selectBycustomcode,selectByairportcode,selectLists,insertSelective,updateByPrimaryKeySelective, | ||
270 | + selectReturnMsgList,sendAircraftstaying} from "../../api/transport/transport2.0"; | ||
271 | + | ||
272 | + export default { | ||
273 | + data(){ | ||
274 | + return{ | ||
275 | + returnVisible:false, | ||
276 | + query:{ | ||
277 | + aircraftno:'', | ||
278 | + flightno:'', | ||
279 | + flightdate:'', | ||
280 | + starttime:'', | ||
281 | + endtime:'', | ||
282 | + pageNum:0, | ||
283 | + pageSize:10 | ||
284 | + }, | ||
285 | + customcodes:[], | ||
286 | + customcodes2:[], | ||
287 | + airportcodes:[], | ||
288 | + form:{ | ||
289 | + uuid:'', | ||
290 | + customcode:'', | ||
291 | + aircraftno:'', | ||
292 | + registeredcustom:'', | ||
293 | + aircrafttype:'', | ||
294 | + flightno:'', | ||
295 | + flightdate:'', | ||
296 | + callport:'', | ||
297 | + callarea:'', | ||
298 | + reasons:'', | ||
299 | + remark:'', | ||
300 | + userid:'', | ||
301 | + status:'', | ||
302 | + statusmsg:'', | ||
303 | + messageid:'' | ||
304 | + }, | ||
305 | + rules: { | ||
306 | + customcode: [ | ||
307 | + { required: true, message: '海关关区不可为空', trigger: 'blur' } | ||
308 | + ], | ||
309 | + aircraftno: [ | ||
310 | + { required: true, message: '航空器注册编号不可为空', trigger: 'blur' } | ||
311 | + ], | ||
312 | + flightno: [ | ||
313 | + { required: true, message: '进境(港)航班号不可为空', trigger: 'blur' } | ||
314 | + ], | ||
315 | + flightdate: [ | ||
316 | + { required: true, message: '航班日期不可为空', trigger: 'blur' } | ||
317 | + ], | ||
318 | + callport: [ | ||
319 | + { required: true, message: '停靠港不可为空', trigger: 'blur' } | ||
320 | + ], | ||
321 | + callarea: [ | ||
322 | + { required: true, message: '停机位不可为空', trigger: 'blur' } | ||
323 | + ] | ||
324 | + }, | ||
325 | + dialogVisible: false, | ||
326 | + currentPage4: 4, | ||
327 | + textMap:{ | ||
328 | + update: '编辑', | ||
329 | + create: '新增' | ||
330 | + }, | ||
331 | + dialogStatus:'', | ||
332 | + loading:false, | ||
333 | + flightdate:'', | ||
334 | + total:0, | ||
335 | + pickerOptions: { | ||
336 | + shortcuts: [{ | ||
337 | + text: '最近一周', | ||
338 | + onClick(picker) { | ||
339 | + const end = new Date(); | ||
340 | + const start = new Date(); | ||
341 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); | ||
342 | + picker.$emit('pick', [start, end]); | ||
343 | + } | ||
344 | + }, { | ||
345 | + text: '最近一个月', | ||
346 | + onClick(picker) { | ||
347 | + const end = new Date(); | ||
348 | + const start = new Date(); | ||
349 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); | ||
350 | + picker.$emit('pick', [start, end]); | ||
351 | + } | ||
352 | + }, { | ||
353 | + text: '最近三个月', | ||
354 | + onClick(picker) { | ||
355 | + const end = new Date(); | ||
356 | + const start = new Date(); | ||
357 | + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); | ||
358 | + picker.$emit('pick', [start, end]); | ||
359 | + } | ||
360 | + }] | ||
361 | + }, | ||
362 | + tableData: [], | ||
363 | + gridData:[] | ||
364 | + } | ||
365 | + }, | ||
366 | + methods:{ | ||
367 | + sendstying(row,FunctionCode){ | ||
368 | + const params = { | ||
369 | + row: row, | ||
370 | + FunctionCode: FunctionCode | ||
371 | + }; | ||
372 | + sendAircraftstaying(params).then(res =>{ | ||
373 | + let response=res.data; | ||
374 | + if(response.code=='200'){ | ||
375 | + this.selectList(); | ||
376 | + this.$message.success(response.msg) | ||
377 | + }else{ | ||
378 | + this.$message.error(response.msg) | ||
379 | + } | ||
380 | + }); | ||
381 | + }, | ||
382 | + //查询回执列表 | ||
383 | + returnlist(row){ | ||
384 | + this.gridData=[]; | ||
385 | + let params={messageid:row.messageid}; | ||
386 | + selectReturnMsgList(params).then(res=>{ | ||
387 | + let response=res.data.data; | ||
388 | + this.gridData=response; | ||
389 | + }); | ||
390 | + this.returnVisible=true; | ||
391 | + }, | ||
392 | + handleClose() { | ||
393 | + this.returnVisible=false; | ||
394 | + }, | ||
395 | + //暂存新增 | ||
396 | + createData(formName){ | ||
397 | + this.$refs[formName].validate((valid) => { | ||
398 | + if (valid) { | ||
399 | + insertSelective(this.form).then(res =>{ | ||
400 | + let response=res.data; | ||
401 | + if(response.code=='200'){ | ||
402 | + this.dialogVisible=false; | ||
403 | + this.$message.success(response.msg) | ||
404 | + }else{ | ||
405 | + this.$message.error(response.msg) | ||
406 | + } | ||
407 | + }); | ||
408 | + } else { | ||
409 | + return false; | ||
410 | + } | ||
411 | + }); | ||
412 | + }, | ||
413 | + //暂存更新 | ||
414 | + updateData(formName){ | ||
415 | + this.$refs[formName].validate((valid) => { | ||
416 | + if (valid) { | ||
417 | + updateByPrimaryKeySelective(this.form).then(res =>{ | ||
418 | + let response=res.data; | ||
419 | + if(response.code=='200'){ | ||
420 | + this.dialogVisible=false; | ||
421 | + Object.assign(this.$data, this.$options.data()); | ||
422 | + this.$message.success(response.msg) | ||
423 | + }else{ | ||
424 | + this.$message.error(response.msg) | ||
425 | + } | ||
426 | + }); | ||
427 | + } else { | ||
428 | + return false; | ||
429 | + } | ||
430 | + }); | ||
431 | + }, | ||
432 | + //查询列表 | ||
433 | + selectList(){ | ||
434 | + if(this.flightdate !== null && this.flightdate !== ""){ | ||
435 | + this.query.starttime = this.flightdate[0]; | ||
436 | + this.query.endtime = this.flightdate[1]; | ||
437 | + }else{ | ||
438 | + return this.$message.error('请选取时间区间') | ||
439 | + } | ||
440 | + this.loading = true; | ||
441 | + selectLists(this.query).then((response) => { | ||
442 | + const res = response.data | ||
443 | + if (res.code !== '200') { | ||
444 | + this.loading = false; | ||
445 | + return this.$message.error('获取消息收发记录,失败!') | ||
446 | + } | ||
447 | + // 获取列表数据 | ||
448 | + this.tableData = res.data.list | ||
449 | + // 获取列表的总记录数 | ||
450 | + this.total = res.data.total | ||
451 | + this.loading = false; | ||
452 | + this.$message.success('获取消息收发记录,成功!'); | ||
453 | + }).catch(error => { | ||
454 | + // 关闭加载 | ||
455 | + this.$message.error(error.toString()) | ||
456 | + }) | ||
457 | + | ||
458 | + }, | ||
459 | + //获取机场代码 | ||
460 | + getAirportCode:function(query){ | ||
461 | + this.airportcodes=[]; | ||
462 | + let params={airportid:query}; | ||
463 | + this.loading = true; | ||
464 | + selectByairportcode(params).then(res =>{ | ||
465 | + if (res !== '') { | ||
466 | + setTimeout(() => { | ||
467 | + this.loading = false; | ||
468 | + this.airportcodes=res.data.data; | ||
469 | + }, 200); | ||
470 | + } else { | ||
471 | + this.airportcodes = []; | ||
472 | + } | ||
473 | + | ||
474 | + }); | ||
475 | + }, | ||
476 | + //获取关区代码 | ||
477 | + getCustomCode:function(query){ | ||
478 | + this.customcodes=[]; | ||
479 | + let params={customcode:query}; | ||
480 | + this.loading = true; | ||
481 | + selectBycustomcode(params).then(res =>{ | ||
482 | + if (res !== '') { | ||
483 | + setTimeout(() => { | ||
484 | + this.loading = false; | ||
485 | + this.customcodes=res.data.data; | ||
486 | + }, 200); | ||
487 | + } else { | ||
488 | + this.customcodes = []; | ||
489 | + } | ||
490 | + | ||
491 | + }); | ||
492 | + }, | ||
493 | + getCustomCode2:function(query){ | ||
494 | + this.customcodes2=[]; | ||
495 | + let params={customcode:query}; | ||
496 | + this.loading = true; | ||
497 | + selectBycustomcode(params).then(res =>{ | ||
498 | + if (res !== '') { | ||
499 | + setTimeout(() => { | ||
500 | + this.loading = false; | ||
501 | + this.customcodes2=res.data.data; | ||
502 | + }, 200); | ||
503 | + } else { | ||
504 | + this.customcodes2 = []; | ||
505 | + } | ||
506 | + | ||
507 | + }); | ||
508 | + }, | ||
509 | + //新增 | ||
510 | + addForm(){ | ||
511 | + this.dialogVisible=true; | ||
512 | + this.dialogStatus='create'; | ||
513 | + }, | ||
514 | + //编辑 | ||
515 | + ediForm(row){ | ||
516 | + this.dialogVisible=true; | ||
517 | + this.dialogStatus='update'; | ||
518 | + this.form=row; | ||
519 | + }, | ||
520 | + handleClick(row) { | ||
521 | + }, | ||
522 | + //分页 | ||
523 | + handleSizeChange(val) { | ||
524 | + this.query.pageSize=val; | ||
525 | + this.selectList(); | ||
526 | + }, | ||
527 | + handleCurrentChange(val) { | ||
528 | + this.query.pageNum=val; | ||
529 | + this.selectList(); | ||
530 | + } | ||
531 | + } | ||
532 | + } | ||
533 | +</script> |
@@ -149,11 +149,30 @@ | @@ -149,11 +149,30 @@ | ||
149 | const header = this.columns.map(col => col.label); | 149 | const header = this.columns.map(col => col.label); |
150 | 150 | ||
151 | // 将 tableData 转换成二维数组,并添加到 worksheet 中 | 151 | // 将 tableData 转换成二维数组,并添加到 worksheet 中 |
152 | - const data = this.tableData.map(row => this.columns.map(col => row[col.prop])); | 152 | + const data = this.tableData.map(row => |
153 | + this.columns.map(col => { | ||
154 | + // 如果是 costs 列,则转换为数值 | ||
155 | + if (col.prop === 'costs') { | ||
156 | + return parseFloat(row[col.prop]) || 0; // 确保无效值转换为0 | ||
157 | + } | ||
158 | + return row[col.prop]; | ||
159 | + }) | ||
160 | + ); | ||
153 | 161 | ||
154 | // 使用 XLSX.utils.aoa_to_sheet 创建工作表,指定头部 | 162 | // 使用 XLSX.utils.aoa_to_sheet 创建工作表,指定头部 |
155 | const ws = XLSX.utils.aoa_to_sheet([header, ...data]); | 163 | const ws = XLSX.utils.aoa_to_sheet([header, ...data]); |
156 | 164 | ||
165 | + // 指定每一列的数据类型 | ||
166 | + const columnTypes = this.columns.map(col => ({ | ||
167 | + t: col.prop === 'costs' ? 'n' : 's' // 'n' for number, 's' for string | ||
168 | + })); | ||
169 | + | ||
170 | + // 更新工作表中的单元格类型 | ||
171 | + for (let i = 1; i <= data.length; i++) { // 从1开始,因为第0行是标题 | ||
172 | + const cellRef = XLSX.utils.encode_cell({ c: this.columns.findIndex(col => col.prop === 'costs'), r: i }); | ||
173 | + ws[cellRef].t = 'n'; // 设置单元格类型为数值 | ||
174 | + } | ||
175 | + | ||
157 | // 添加 worksheet 到 workbook | 176 | // 添加 worksheet 到 workbook |
158 | XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); | 177 | XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); |
159 | 178 |
-
请 注册 或 登录 后发表评论