Merge remote-tracking branch 'origin/master'
正在显示
23 个修改的文件
包含
1911 行增加
和
292 行删除
@@ -7,10 +7,10 @@ function getusername(){ | @@ -7,10 +7,10 @@ function getusername(){ | ||
7 | let user = JSON.parse(sessionStorage.getItem('user')); | 7 | let user = JSON.parse(sessionStorage.getItem('user')); |
8 | return user; | 8 | return user; |
9 | }else { | 9 | }else { |
10 | - Message({ | ||
11 | - message:"未查询到用户缓存名称", | ||
12 | - type:"error", | ||
13 | - }); | 10 | + // Message({ |
11 | + // message:"未查询到用户缓存名称", | ||
12 | + // type:"error", | ||
13 | + // }); | ||
14 | return { | 14 | return { |
15 | username:"" | 15 | username:"" |
16 | }; | 16 | }; |
src/api/dispatch_api.js
0 → 100644
1 | +import http from './http.js' | ||
2 | + | ||
3 | +let baseUrl = 'dispatch-system/dispatch' | ||
4 | +// let baseUrl = 'http://127.0.0.1:9999/dispatch' | ||
5 | +/*用户端,调度车辆*/ | ||
6 | +export const dispatch = params =>{return http.post(`${baseUrl}/dispatch`, params);}; | ||
7 | +/*用户端,取消车辆调度*/ | ||
8 | +export const cancel = params =>{return http.put(`${baseUrl}/cancel`, params);}; | ||
9 | +/*用户端,获取用户信息*/ | ||
10 | +export const getUser = params =>{return http.get(`${baseUrl}/user/getUser`, params);}; | ||
11 | + | ||
12 | +/* 管理员端,调度记录,开始任务 */ | ||
13 | +export const startTask = params =>{return http.put(`${baseUrl}/startTask`, params);}; | ||
14 | +/* 管理员端,调度记录,结束任务 */ | ||
15 | +export const completeTask = params =>{return http.put(`${baseUrl}/completeTask`, params);}; | ||
16 | + | ||
17 | +/*用户端,管理员端调度记录,查询车辆调度记录*/ | ||
18 | +export const selectDispatchNoteList = params =>{return http.get(`${baseUrl}/dispatchNote/selectDispatchNoteList`, params);}; | ||
19 | +/*管理员端,调度记录,增加车辆调度记录*/ | ||
20 | +export const insertDispatchNote = params =>{return http.post(`${baseUrl}/dispatchNote/insertDispatchNote`, params);}; | ||
21 | +/*管理员端,调度记录,编辑车辆调度记录*/ | ||
22 | +export const updateDispatchNote = params =>{return http.put(`${baseUrl}/dispatchNote/updateDispatchNote`, params);}; | ||
23 | +/*管理员端,调度记录,删除车辆调度记录*/ | ||
24 | +export const deleteDispatchNote = params =>{return http.del(`${baseUrl}/dispatchNote/deleteDispatchNote`, params);}; | ||
25 | +/*管理员端,调度记录,批量删除车辆调度记录*/ | ||
26 | +export const batchRemoveDispatchNode = params =>{return http.get(`${baseUrl}/dispatchNote/batchRemove`, params);}; | ||
27 | + | ||
28 | +/*管理员端,车辆信息,查询车辆信息*/ | ||
29 | +export const selectVehicleInfoList = params =>{return http.get(`${baseUrl}/vehicleInfo/selectVehicleInfoList`, params);}; | ||
30 | +/*管理员端,车辆信息,新增车辆信息*/ | ||
31 | +export const insertVehicleInfo = params =>{return http.post(`${baseUrl}/vehicleInfo/insertVehicleInfo`, params);}; | ||
32 | +/*管理员端,车辆信息,修改车辆信息*/ | ||
33 | +export const updateVehicleInfo = params =>{return http.put(`${baseUrl}/vehicleInfo/updateVehicleInfo`, params);}; | ||
34 | +/*管理员端,车辆信息,删除车辆信息*/ | ||
35 | +export const deleteVehicleInfo = params =>{return http.del(`${baseUrl}/vehicleInfo/deleteVehicleInfo`, params);}; | ||
36 | +/*管理员端,车辆信息,批量删除车辆信息*/ | ||
37 | +export const batchRemoveVehicleInfo= params =>{return http.get(`${baseUrl}/vehicleInfo/batchRemove`, params);}; | ||
38 | + | ||
39 | +/*管理员端,驾驶员信息,查询驾驶员信息*/ | ||
40 | +export const selectDriverInfoList = params =>{return http.get(`${baseUrl}/driverInfo/selectDriverInfoList`, params);}; | ||
41 | +/*管理员端,驾驶员信息,新增驾驶员信息*/ | ||
42 | +export const insertDriverInfo = params =>{return http.post(`${baseUrl}/driverInfo/insertDriverInfo`, params);}; | ||
43 | +/*管理员端,驾驶员信息,修改驾驶员信息*/ | ||
44 | +export const updateDriverInfo = params =>{return http.put(`${baseUrl}/driverInfo/updateDriverInfo`, params);}; | ||
45 | +/*管理员端,驾驶员信息,删除驾驶员信息*/ | ||
46 | +export const deleteDriverInfo = params =>{return http.del(`${baseUrl}/driverInfo/deleteDriverInfo`, params);}; | ||
47 | +/*管理员端,驾驶员信息,批量删除驾驶员信息*/ | ||
48 | +export const batchRemoveDriverInfo= params =>{return http.get(`${baseUrl}/driverInfo/batchRemove`, params);}; |
@@ -12,4 +12,6 @@ export const selectCustomcode=params=>{return http.get(`${baseUrl}/selectCustomc | @@ -12,4 +12,6 @@ export const selectCustomcode=params=>{return http.get(`${baseUrl}/selectCustomc | ||
12 | 12 | ||
13 | export const sendCreateMt1201=params=>{return http.post(`${baseUrl}/sendCreateMt1201`, params);}; | 13 | export const sendCreateMt1201=params=>{return http.post(`${baseUrl}/sendCreateMt1201`, params);}; |
14 | export const sendEditeMt1201=params=>{return http.post(`${baseUrl}/sendEditeMt1201`, params);}; | 14 | export const sendEditeMt1201=params=>{return http.post(`${baseUrl}/sendEditeMt1201`, params);}; |
15 | -export const sendRemoveMt1201=params=>{return http.post(`${baseUrl}/sendRemoveMt1201`, params);}; | ||
15 | +export const sendRemoveMt1201=params=>{return http.post(`${baseUrl}/sendRemoveMt1201`, params);}; | ||
16 | +export const sendBatchDelMt1201=params=>{return http.post(`${baseUrl}/sendBatchDelMt1201`, params);}; | ||
17 | +export const sendBatchApllyMt1201=params=>{return http.post(`${baseUrl}/sendBatchApllyMt1201`, params);}; |
@@ -11,4 +11,8 @@ export const sendCreateMt520x=params=>{return http.post(`${baseUrl}/sendCreateMt | @@ -11,4 +11,8 @@ export const sendCreateMt520x=params=>{return http.post(`${baseUrl}/sendCreateMt | ||
11 | export const sendRemoveMt520x=params=>{return http.post(`${baseUrl}/sendRemoveMt520x`, params);}; | 11 | export const sendRemoveMt520x=params=>{return http.post(`${baseUrl}/sendRemoveMt520x`, params);}; |
12 | export const selectCustomcode=params=>{return http.get(`${baseUrl2}/selectCustomcode`, params);}; | 12 | export const selectCustomcode=params=>{return http.get(`${baseUrl2}/selectCustomcode`, params);}; |
13 | 13 | ||
14 | +export const sendbatchRemoveMt5201=params=>{return http.post(`${baseUrl}/sendbatchRemoveMt5201`, params);}; | ||
15 | +export const sendbatchCreateMt5201=params=>{return http.post(`${baseUrl}/sendbatchCreateMt5201`, params);}; | ||
16 | + | ||
17 | + | ||
14 | 18 |
@@ -91,6 +91,7 @@ var axois_init = { | @@ -91,6 +91,7 @@ var axois_init = { | ||
91 | sessionStorage.removeItem('user'); | 91 | sessionStorage.removeItem('user'); |
92 | sessionStorage.removeItem('menu'); | 92 | sessionStorage.removeItem('menu'); |
93 | sessionStorage.removeItem('token'); | 93 | sessionStorage.removeItem('token'); |
94 | + axios.defaults.headers.common['Authorization'] = undefined; | ||
94 | next() | 95 | next() |
95 | }else{ | 96 | }else{ |
96 | let user = JSON.parse(sessionStorage.getItem('user')); | 97 | let user = JSON.parse(sessionStorage.getItem('user')); |
src/components/ICON.vue
0 → 100644
1 | +<template> | ||
2 | + <div class="myicons"> | ||
3 | + <ul class="icon-list"> | ||
4 | + <li><span><i class="el-icon-platform-eleme"></i><span class="icon-name">el-icon-platform-eleme</span></span> | ||
5 | + </li> | ||
6 | + <li><span><i class="el-icon-eleme"></i><span class="icon-name">el-icon-eleme</span></span></li> | ||
7 | + <li><span><i class="el-icon-delete-solid"></i><span class="icon-name">el-icon-delete-solid</span></span> | ||
8 | + </li> | ||
9 | + <li><span><i class="el-icon-delete"></i><span class="icon-name">el-icon-delete</span></span></li> | ||
10 | + <li><span><i class="el-icon-s-tools"></i><span class="icon-name">el-icon-s-tools</span></span></li> | ||
11 | + <li><span><i class="el-icon-setting"></i><span class="icon-name">el-icon-setting</span></span></li> | ||
12 | + <li><span><i class="el-icon-user-solid"></i><span class="icon-name">el-icon-user-solid</span></span></li> | ||
13 | + <li><span><i class="el-icon-user"></i><span class="icon-name">el-icon-user</span></span></li> | ||
14 | + <li><span><i class="el-icon-phone"></i><span class="icon-name">el-icon-phone</span></span></li> | ||
15 | + <li><span><i class="el-icon-phone-outline"></i><span class="icon-name">el-icon-phone-outline</span></span> | ||
16 | + </li> | ||
17 | + <li><span><i class="el-icon-more"></i><span class="icon-name">el-icon-more</span></span></li> | ||
18 | + <li><span><i class="el-icon-more-outline"></i><span class="icon-name">el-icon-more-outline</span></span> | ||
19 | + </li> | ||
20 | + <li><span><i class="el-icon-star-on"></i><span class="icon-name">el-icon-star-on</span></span></li> | ||
21 | + <li><span><i class="el-icon-star-off"></i><span class="icon-name">el-icon-star-off</span></span></li> | ||
22 | + <li><span><i class="el-icon-s-goods"></i><span class="icon-name">el-icon-s-goods</span></span></li> | ||
23 | + <li><span><i class="el-icon-goods"></i><span class="icon-name">el-icon-goods</span></span></li> | ||
24 | + <li><span><i class="el-icon-warning"></i><span class="icon-name">el-icon-warning</span></span></li> | ||
25 | + <li><span><i class="el-icon-warning-outline"></i><span | ||
26 | + class="icon-name">el-icon-warning-outline</span></span></li> | ||
27 | + <li><span><i class="el-icon-question"></i><span class="icon-name">el-icon-question</span></span></li> | ||
28 | + <li><span><i class="el-icon-info"></i><span class="icon-name">el-icon-info</span></span></li> | ||
29 | + <li><span><i class="el-icon-remove"></i><span class="icon-name">el-icon-remove</span></span></li> | ||
30 | + <li><span><i class="el-icon-circle-plus"></i><span class="icon-name">el-icon-circle-plus</span></span></li> | ||
31 | + <li><span><i class="el-icon-success"></i><span class="icon-name">el-icon-success</span></span></li> | ||
32 | + <li><span><i class="el-icon-error"></i><span class="icon-name">el-icon-error</span></span></li> | ||
33 | + <li><span><i class="el-icon-zoom-in"></i><span class="icon-name">el-icon-zoom-in</span></span></li> | ||
34 | + <li><span><i class="el-icon-zoom-out"></i><span class="icon-name">el-icon-zoom-out</span></span></li> | ||
35 | + <li><span><i class="el-icon-remove-outline"></i><span class="icon-name">el-icon-remove-outline</span></span> | ||
36 | + </li> | ||
37 | + <li><span><i class="el-icon-circle-plus-outline"></i><span | ||
38 | + class="icon-name">el-icon-circle-plus-outline</span></span></li> | ||
39 | + <li><span><i class="el-icon-circle-check"></i><span class="icon-name">el-icon-circle-check</span></span> | ||
40 | + </li> | ||
41 | + <li><span><i class="el-icon-circle-close"></i><span class="icon-name">el-icon-circle-close</span></span> | ||
42 | + </li> | ||
43 | + <li><span><i class="el-icon-s-help"></i><span class="icon-name">el-icon-s-help</span></span></li> | ||
44 | + <li><span><i class="el-icon-help"></i><span class="icon-name">el-icon-help</span></span></li> | ||
45 | + <li><span><i class="el-icon-minus"></i><span class="icon-name">el-icon-minus</span></span></li> | ||
46 | + <li><span><i class="el-icon-plus"></i><span class="icon-name">el-icon-plus</span></span></li> | ||
47 | + <li><span><i class="el-icon-check"></i><span class="icon-name">el-icon-check</span></span></li> | ||
48 | + <li><span><i class="el-icon-close"></i><span class="icon-name">el-icon-close</span></span></li> | ||
49 | + <li><span><i class="el-icon-picture"></i><span class="icon-name">el-icon-picture</span></span></li> | ||
50 | + <li><span><i class="el-icon-picture-outline"></i><span | ||
51 | + class="icon-name">el-icon-picture-outline</span></span></li> | ||
52 | + <li><span><i class="el-icon-picture-outline-round"></i><span | ||
53 | + class="icon-name">el-icon-picture-outline-round</span></span></li> | ||
54 | + <li><span><i class="el-icon-upload"></i><span class="icon-name">el-icon-upload</span></span></li> | ||
55 | + <li><span><i class="el-icon-upload2"></i><span class="icon-name">el-icon-upload2</span></span></li> | ||
56 | + <li><span><i class="el-icon-download"></i><span class="icon-name">el-icon-download</span></span></li> | ||
57 | + <li><span><i class="el-icon-camera-solid"></i><span class="icon-name">el-icon-camera-solid</span></span> | ||
58 | + </li> | ||
59 | + <li><span><i class="el-icon-camera"></i><span class="icon-name">el-icon-camera</span></span></li> | ||
60 | + <li><span><i class="el-icon-video-camera-solid"></i><span | ||
61 | + class="icon-name">el-icon-video-camera-solid</span></span></li> | ||
62 | + <li><span><i class="el-icon-video-camera"></i><span class="icon-name">el-icon-video-camera</span></span> | ||
63 | + </li> | ||
64 | + <li><span><i class="el-icon-message-solid"></i><span class="icon-name">el-icon-message-solid</span></span> | ||
65 | + </li> | ||
66 | + <li><span><i class="el-icon-bell"></i><span class="icon-name">el-icon-bell</span></span></li> | ||
67 | + <li><span><i class="el-icon-s-cooperation"></i><span class="icon-name">el-icon-s-cooperation</span></span> | ||
68 | + </li> | ||
69 | + <li><span><i class="el-icon-s-order"></i><span class="icon-name">el-icon-s-order</span></span></li> | ||
70 | + <li><span><i class="el-icon-s-platform"></i><span class="icon-name">el-icon-s-platform</span></span></li> | ||
71 | + <li><span><i class="el-icon-s-fold"></i><span class="icon-name">el-icon-s-fold</span></span></li> | ||
72 | + <li><span><i class="el-icon-s-unfold"></i><span class="icon-name">el-icon-s-unfold</span></span></li> | ||
73 | + <li><span><i class="el-icon-s-operation"></i><span class="icon-name">el-icon-s-operation</span></span></li> | ||
74 | + <li><span><i class="el-icon-s-promotion"></i><span class="icon-name">el-icon-s-promotion</span></span></li> | ||
75 | + <li><span><i class="el-icon-s-home"></i><span class="icon-name">el-icon-s-home</span></span></li> | ||
76 | + <li><span><i class="el-icon-s-release"></i><span class="icon-name">el-icon-s-release</span></span></li> | ||
77 | + <li><span><i class="el-icon-s-ticket"></i><span class="icon-name">el-icon-s-ticket</span></span></li> | ||
78 | + <li><span><i class="el-icon-s-management"></i><span class="icon-name">el-icon-s-management</span></span> | ||
79 | + </li> | ||
80 | + <li><span><i class="el-icon-s-open"></i><span class="icon-name">el-icon-s-open</span></span></li> | ||
81 | + <li><span><i class="el-icon-s-shop"></i><span class="icon-name">el-icon-s-shop</span></span></li> | ||
82 | + <li><span><i class="el-icon-s-marketing"></i><span class="icon-name">el-icon-s-marketing</span></span></li> | ||
83 | + <li><span><i class="el-icon-s-flag"></i><span class="icon-name">el-icon-s-flag</span></span></li> | ||
84 | + <li><span><i class="el-icon-s-comment"></i><span class="icon-name">el-icon-s-comment</span></span></li> | ||
85 | + <li><span><i class="el-icon-s-finance"></i><span class="icon-name">el-icon-s-finance</span></span></li> | ||
86 | + <li><span><i class="el-icon-s-claim"></i><span class="icon-name">el-icon-s-claim</span></span></li> | ||
87 | + <li><span><i class="el-icon-s-custom"></i><span class="icon-name">el-icon-s-custom</span></span></li> | ||
88 | + <li><span><i class="el-icon-s-opportunity"></i><span class="icon-name">el-icon-s-opportunity</span></span> | ||
89 | + </li> | ||
90 | + <li><span><i class="el-icon-s-data"></i><span class="icon-name">el-icon-s-data</span></span></li> | ||
91 | + <li><span><i class="el-icon-s-check"></i><span class="icon-name">el-icon-s-check</span></span></li> | ||
92 | + <li><span><i class="el-icon-s-grid"></i><span class="icon-name">el-icon-s-grid</span></span></li> | ||
93 | + <li><span><i class="el-icon-menu"></i><span class="icon-name">el-icon-menu</span></span></li> | ||
94 | + <li><span><i class="el-icon-share"></i><span class="icon-name">el-icon-share</span></span></li> | ||
95 | + <li><span><i class="el-icon-d-caret"></i><span class="icon-name">el-icon-d-caret</span></span></li> | ||
96 | + <li><span><i class="el-icon-caret-left"></i><span class="icon-name">el-icon-caret-left</span></span></li> | ||
97 | + <li><span><i class="el-icon-caret-right"></i><span class="icon-name">el-icon-caret-right</span></span></li> | ||
98 | + <li><span><i class="el-icon-caret-bottom"></i><span class="icon-name">el-icon-caret-bottom</span></span> | ||
99 | + </li> | ||
100 | + <li><span><i class="el-icon-caret-top"></i><span class="icon-name">el-icon-caret-top</span></span></li> | ||
101 | + <li><span><i class="el-icon-bottom-left"></i><span class="icon-name">el-icon-bottom-left</span></span></li> | ||
102 | + <li><span><i class="el-icon-bottom-right"></i><span class="icon-name">el-icon-bottom-right</span></span> | ||
103 | + </li> | ||
104 | + <li><span><i class="el-icon-back"></i><span class="icon-name">el-icon-back</span></span></li> | ||
105 | + <li><span><i class="el-icon-right"></i><span class="icon-name">el-icon-right</span></span></li> | ||
106 | + <li><span><i class="el-icon-bottom"></i><span class="icon-name">el-icon-bottom</span></span></li> | ||
107 | + <li><span><i class="el-icon-top"></i><span class="icon-name">el-icon-top</span></span></li> | ||
108 | + <li><span><i class="el-icon-top-left"></i><span class="icon-name">el-icon-top-left</span></span></li> | ||
109 | + <li><span><i class="el-icon-top-right"></i><span class="icon-name">el-icon-top-right</span></span></li> | ||
110 | + <li><span><i class="el-icon-arrow-left"></i><span class="icon-name">el-icon-arrow-left</span></span></li> | ||
111 | + <li><span><i class="el-icon-arrow-right"></i><span class="icon-name">el-icon-arrow-right</span></span></li> | ||
112 | + <li><span><i class="el-icon-arrow-down"></i><span class="icon-name">el-icon-arrow-down</span></span></li> | ||
113 | + <li><span><i class="el-icon-arrow-up"></i><span class="icon-name">el-icon-arrow-up</span></span></li> | ||
114 | + <li><span><i class="el-icon-d-arrow-left"></i><span class="icon-name">el-icon-d-arrow-left</span></span> | ||
115 | + </li> | ||
116 | + <li><span><i class="el-icon-d-arrow-right"></i><span class="icon-name">el-icon-d-arrow-right</span></span> | ||
117 | + </li> | ||
118 | + <li><span><i class="el-icon-video-pause"></i><span class="icon-name">el-icon-video-pause</span></span></li> | ||
119 | + <li><span><i class="el-icon-video-play"></i><span class="icon-name">el-icon-video-play</span></span></li> | ||
120 | + <li><span><i class="el-icon-refresh"></i><span class="icon-name">el-icon-refresh</span></span></li> | ||
121 | + <li><span><i class="el-icon-refresh-right"></i><span class="icon-name">el-icon-refresh-right</span></span> | ||
122 | + </li> | ||
123 | + <li><span><i class="el-icon-refresh-left"></i><span class="icon-name">el-icon-refresh-left</span></span> | ||
124 | + </li> | ||
125 | + <li><span><i class="el-icon-finished"></i><span class="icon-name">el-icon-finished</span></span></li> | ||
126 | + <li><span><i class="el-icon-sort"></i><span class="icon-name">el-icon-sort</span></span></li> | ||
127 | + <li><span><i class="el-icon-sort-up"></i><span class="icon-name">el-icon-sort-up</span></span></li> | ||
128 | + <li><span><i class="el-icon-sort-down"></i><span class="icon-name">el-icon-sort-down</span></span></li> | ||
129 | + <li><span><i class="el-icon-rank"></i><span class="icon-name">el-icon-rank</span></span></li> | ||
130 | + <li><span><i class="el-icon-loading"></i><span class="icon-name">el-icon-loading</span></span></li> | ||
131 | + <li><span><i class="el-icon-view"></i><span class="icon-name">el-icon-view</span></span></li> | ||
132 | + <li><span><i class="el-icon-c-scale-to-original"></i><span | ||
133 | + class="icon-name">el-icon-c-scale-to-original</span></span></li> | ||
134 | + <li><span><i class="el-icon-date"></i><span class="icon-name">el-icon-date</span></span></li> | ||
135 | + <li><span><i class="el-icon-edit"></i><span class="icon-name">el-icon-edit</span></span></li> | ||
136 | + <li><span><i class="el-icon-edit-outline"></i><span class="icon-name">el-icon-edit-outline</span></span> | ||
137 | + </li> | ||
138 | + <li><span><i class="el-icon-folder"></i><span class="icon-name">el-icon-folder</span></span></li> | ||
139 | + <li><span><i class="el-icon-folder-opened"></i><span class="icon-name">el-icon-folder-opened</span></span> | ||
140 | + </li> | ||
141 | + <li><span><i class="el-icon-folder-add"></i><span class="icon-name">el-icon-folder-add</span></span></li> | ||
142 | + <li><span><i class="el-icon-folder-remove"></i><span class="icon-name">el-icon-folder-remove</span></span> | ||
143 | + </li> | ||
144 | + <li><span><i class="el-icon-folder-delete"></i><span class="icon-name">el-icon-folder-delete</span></span> | ||
145 | + </li> | ||
146 | + <li><span><i class="el-icon-folder-checked"></i><span class="icon-name">el-icon-folder-checked</span></span> | ||
147 | + </li> | ||
148 | + <li><span><i class="el-icon-tickets"></i><span class="icon-name">el-icon-tickets</span></span></li> | ||
149 | + <li><span><i class="el-icon-document-remove"></i><span | ||
150 | + class="icon-name">el-icon-document-remove</span></span></li> | ||
151 | + <li><span><i class="el-icon-document-delete"></i><span | ||
152 | + class="icon-name">el-icon-document-delete</span></span></li> | ||
153 | + <li><span><i class="el-icon-document-copy"></i><span class="icon-name">el-icon-document-copy</span></span> | ||
154 | + </li> | ||
155 | + <li><span><i class="el-icon-document-checked"></i><span | ||
156 | + class="icon-name">el-icon-document-checked</span></span></li> | ||
157 | + <li><span><i class="el-icon-document"></i><span class="icon-name">el-icon-document</span></span></li> | ||
158 | + <li><span><i class="el-icon-document-add"></i><span class="icon-name">el-icon-document-add</span></span> | ||
159 | + </li> | ||
160 | + <li><span><i class="el-icon-printer"></i><span class="icon-name">el-icon-printer</span></span></li> | ||
161 | + <li><span><i class="el-icon-paperclip"></i><span class="icon-name">el-icon-paperclip</span></span></li> | ||
162 | + <li><span><i class="el-icon-takeaway-box"></i><span class="icon-name">el-icon-takeaway-box</span></span> | ||
163 | + </li> | ||
164 | + <li><span><i class="el-icon-search"></i><span class="icon-name">el-icon-search</span></span></li> | ||
165 | + <li><span><i class="el-icon-monitor"></i><span class="icon-name">el-icon-monitor</span></span></li> | ||
166 | + <li><span><i class="el-icon-attract"></i><span class="icon-name">el-icon-attract</span></span></li> | ||
167 | + <li><span><i class="el-icon-mobile"></i><span class="icon-name">el-icon-mobile</span></span></li> | ||
168 | + <li><span><i class="el-icon-scissors"></i><span class="icon-name">el-icon-scissors</span></span></li> | ||
169 | + <li><span><i class="el-icon-umbrella"></i><span class="icon-name">el-icon-umbrella</span></span></li> | ||
170 | + <li><span><i class="el-icon-headset"></i><span class="icon-name">el-icon-headset</span></span></li> | ||
171 | + <li><span><i class="el-icon-brush"></i><span class="icon-name">el-icon-brush</span></span></li> | ||
172 | + <li><span><i class="el-icon-mouse"></i><span class="icon-name">el-icon-mouse</span></span></li> | ||
173 | + <li><span><i class="el-icon-coordinate"></i><span class="icon-name">el-icon-coordinate</span></span></li> | ||
174 | + <li><span><i class="el-icon-magic-stick"></i><span class="icon-name">el-icon-magic-stick</span></span></li> | ||
175 | + <li><span><i class="el-icon-reading"></i><span class="icon-name">el-icon-reading</span></span></li> | ||
176 | + <li><span><i class="el-icon-data-line"></i><span class="icon-name">el-icon-data-line</span></span></li> | ||
177 | + <li><span><i class="el-icon-data-board"></i><span class="icon-name">el-icon-data-board</span></span></li> | ||
178 | + <li><span><i class="el-icon-pie-chart"></i><span class="icon-name">el-icon-pie-chart</span></span></li> | ||
179 | + <li><span><i class="el-icon-data-analysis"></i><span class="icon-name">el-icon-data-analysis</span></span> | ||
180 | + </li> | ||
181 | + <li><span><i class="el-icon-collection-tag"></i><span class="icon-name">el-icon-collection-tag</span></span> | ||
182 | + </li> | ||
183 | + <li><span><i class="el-icon-film"></i><span class="icon-name">el-icon-film</span></span></li> | ||
184 | + <li><span><i class="el-icon-suitcase"></i><span class="icon-name">el-icon-suitcase</span></span></li> | ||
185 | + <li><span><i class="el-icon-suitcase-1"></i><span class="icon-name">el-icon-suitcase-1</span></span></li> | ||
186 | + <li><span><i class="el-icon-receiving"></i><span class="icon-name">el-icon-receiving</span></span></li> | ||
187 | + <li><span><i class="el-icon-collection"></i><span class="icon-name">el-icon-collection</span></span></li> | ||
188 | + <li><span><i class="el-icon-files"></i><span class="icon-name">el-icon-files</span></span></li> | ||
189 | + <li><span><i class="el-icon-notebook-1"></i><span class="icon-name">el-icon-notebook-1</span></span></li> | ||
190 | + <li><span><i class="el-icon-notebook-2"></i><span class="icon-name">el-icon-notebook-2</span></span></li> | ||
191 | + <li><span><i class="el-icon-toilet-paper"></i><span class="icon-name">el-icon-toilet-paper</span></span> | ||
192 | + </li> | ||
193 | + <li><span><i class="el-icon-office-building"></i><span | ||
194 | + class="icon-name">el-icon-office-building</span></span></li> | ||
195 | + <li><span><i class="el-icon-school"></i><span class="icon-name">el-icon-school</span></span></li> | ||
196 | + <li><span><i class="el-icon-table-lamp"></i><span class="icon-name">el-icon-table-lamp</span></span></li> | ||
197 | + <li><span><i class="el-icon-house"></i><span class="icon-name">el-icon-house</span></span></li> | ||
198 | + <li><span><i class="el-icon-no-smoking"></i><span class="icon-name">el-icon-no-smoking</span></span></li> | ||
199 | + <li><span><i class="el-icon-smoking"></i><span class="icon-name">el-icon-smoking</span></span></li> | ||
200 | + <li><span><i class="el-icon-shopping-cart-full"></i><span | ||
201 | + class="icon-name">el-icon-shopping-cart-full</span></span></li> | ||
202 | + <li><span><i class="el-icon-shopping-cart-1"></i><span | ||
203 | + class="icon-name">el-icon-shopping-cart-1</span></span></li> | ||
204 | + <li><span><i class="el-icon-shopping-cart-2"></i><span | ||
205 | + class="icon-name">el-icon-shopping-cart-2</span></span></li> | ||
206 | + <li><span><i class="el-icon-shopping-bag-1"></i><span class="icon-name">el-icon-shopping-bag-1</span></span> | ||
207 | + </li> | ||
208 | + <li><span><i class="el-icon-shopping-bag-2"></i><span class="icon-name">el-icon-shopping-bag-2</span></span> | ||
209 | + </li> | ||
210 | + <li><span><i class="el-icon-sold-out"></i><span class="icon-name">el-icon-sold-out</span></span></li> | ||
211 | + <li><span><i class="el-icon-sell"></i><span class="icon-name">el-icon-sell</span></span></li> | ||
212 | + <li><span><i class="el-icon-present"></i><span class="icon-name">el-icon-present</span></span></li> | ||
213 | + <li><span><i class="el-icon-box"></i><span class="icon-name">el-icon-box</span></span></li> | ||
214 | + <li><span><i class="el-icon-bank-card"></i><span class="icon-name">el-icon-bank-card</span></span></li> | ||
215 | + <li><span><i class="el-icon-money"></i><span class="icon-name">el-icon-money</span></span></li> | ||
216 | + <li><span><i class="el-icon-coin"></i><span class="icon-name">el-icon-coin</span></span></li> | ||
217 | + <li><span><i class="el-icon-wallet"></i><span class="icon-name">el-icon-wallet</span></span></li> | ||
218 | + <li><span><i class="el-icon-discount"></i><span class="icon-name">el-icon-discount</span></span></li> | ||
219 | + <li><span><i class="el-icon-price-tag"></i><span class="icon-name">el-icon-price-tag</span></span></li> | ||
220 | + <li><span><i class="el-icon-news"></i><span class="icon-name">el-icon-news</span></span></li> | ||
221 | + <li><span><i class="el-icon-guide"></i><span class="icon-name">el-icon-guide</span></span></li> | ||
222 | + <li><span><i class="el-icon-male"></i><span class="icon-name">el-icon-male</span></span></li> | ||
223 | + <li><span><i class="el-icon-female"></i><span class="icon-name">el-icon-female</span></span></li> | ||
224 | + <li><span><i class="el-icon-thumb"></i><span class="icon-name">el-icon-thumb</span></span></li> | ||
225 | + <li><span><i class="el-icon-cpu"></i><span class="icon-name">el-icon-cpu</span></span></li> | ||
226 | + <li><span><i class="el-icon-link"></i><span class="icon-name">el-icon-link</span></span></li> | ||
227 | + <li><span><i class="el-icon-connection"></i><span class="icon-name">el-icon-connection</span></span></li> | ||
228 | + <li><span><i class="el-icon-open"></i><span class="icon-name">el-icon-open</span></span></li> | ||
229 | + <li><span><i class="el-icon-turn-off"></i><span class="icon-name">el-icon-turn-off</span></span></li> | ||
230 | + <li><span><i class="el-icon-set-up"></i><span class="icon-name">el-icon-set-up</span></span></li> | ||
231 | + <li><span><i class="el-icon-chat-round"></i><span class="icon-name">el-icon-chat-round</span></span></li> | ||
232 | + <li><span><i class="el-icon-chat-line-round"></i><span | ||
233 | + class="icon-name">el-icon-chat-line-round</span></span></li> | ||
234 | + <li><span><i class="el-icon-chat-square"></i><span class="icon-name">el-icon-chat-square</span></span></li> | ||
235 | + <li><span><i class="el-icon-chat-dot-round"></i><span class="icon-name">el-icon-chat-dot-round</span></span> | ||
236 | + </li> | ||
237 | + <li><span><i class="el-icon-chat-dot-square"></i><span | ||
238 | + class="icon-name">el-icon-chat-dot-square</span></span></li> | ||
239 | + <li><span><i class="el-icon-chat-line-square"></i><span | ||
240 | + class="icon-name">el-icon-chat-line-square</span></span></li> | ||
241 | + <li><span><i class="el-icon-message"></i><span class="icon-name">el-icon-message</span></span></li> | ||
242 | + <li><span><i class="el-icon-postcard"></i><span class="icon-name">el-icon-postcard</span></span></li> | ||
243 | + <li><span><i class="el-icon-position"></i><span class="icon-name">el-icon-position</span></span></li> | ||
244 | + <li><span><i class="el-icon-turn-off-microphone"></i><span | ||
245 | + class="icon-name">el-icon-turn-off-microphone</span></span></li> | ||
246 | + <li><span><i class="el-icon-microphone"></i><span class="icon-name">el-icon-microphone</span></span></li> | ||
247 | + <li><span><i class="el-icon-close-notification"></i><span | ||
248 | + class="icon-name">el-icon-close-notification</span></span></li> | ||
249 | + <li><span><i class="el-icon-bangzhu"></i><span class="icon-name">el-icon-bangzhu</span></span></li> | ||
250 | + <li><span><i class="el-icon-time"></i><span class="icon-name">el-icon-time</span></span></li> | ||
251 | + <li><span><i class="el-icon-odometer"></i><span class="icon-name">el-icon-odometer</span></span></li> | ||
252 | + <li><span><i class="el-icon-crop"></i><span class="icon-name">el-icon-crop</span></span></li> | ||
253 | + <li><span><i class="el-icon-aim"></i><span class="icon-name">el-icon-aim</span></span></li> | ||
254 | + <li><span><i class="el-icon-switch-button"></i><span class="icon-name">el-icon-switch-button</span></span> | ||
255 | + </li> | ||
256 | + <li><span><i class="el-icon-full-screen"></i><span class="icon-name">el-icon-full-screen</span></span></li> | ||
257 | + <li><span><i class="el-icon-copy-document"></i><span class="icon-name">el-icon-copy-document</span></span> | ||
258 | + </li> | ||
259 | + <li><span><i class="el-icon-mic"></i><span class="icon-name">el-icon-mic</span></span></li> | ||
260 | + <li><span><i class="el-icon-stopwatch"></i><span class="icon-name">el-icon-stopwatch</span></span></li> | ||
261 | + <li><span><i class="el-icon-medal-1"></i><span class="icon-name">el-icon-medal-1</span></span></li> | ||
262 | + <li><span><i class="el-icon-medal"></i><span class="icon-name">el-icon-medal</span></span></li> | ||
263 | + <li><span><i class="el-icon-trophy"></i><span class="icon-name">el-icon-trophy</span></span></li> | ||
264 | + <li><span><i class="el-icon-trophy-1"></i><span class="icon-name">el-icon-trophy-1</span></span></li> | ||
265 | + <li><span><i class="el-icon-first-aid-kit"></i><span class="icon-name">el-icon-first-aid-kit</span></span> | ||
266 | + </li> | ||
267 | + <li><span><i class="el-icon-discover"></i><span class="icon-name">el-icon-discover</span></span></li> | ||
268 | + <li><span><i class="el-icon-place"></i><span class="icon-name">el-icon-place</span></span></li> | ||
269 | + <li><span><i class="el-icon-location"></i><span class="icon-name">el-icon-location</span></span></li> | ||
270 | + <li><span><i class="el-icon-location-outline"></i><span | ||
271 | + class="icon-name">el-icon-location-outline</span></span></li> | ||
272 | + <li><span><i class="el-icon-location-information"></i><span | ||
273 | + class="icon-name">el-icon-location-information</span></span></li> | ||
274 | + <li><span><i class="el-icon-add-location"></i><span class="icon-name">el-icon-add-location</span></span> | ||
275 | + </li> | ||
276 | + <li><span><i class="el-icon-delete-location"></i><span | ||
277 | + class="icon-name">el-icon-delete-location</span></span></li> | ||
278 | + <li><span><i class="el-icon-map-location"></i><span class="icon-name">el-icon-map-location</span></span> | ||
279 | + </li> | ||
280 | + <li><span><i class="el-icon-alarm-clock"></i><span class="icon-name">el-icon-alarm-clock</span></span></li> | ||
281 | + <li><span><i class="el-icon-timer"></i><span class="icon-name">el-icon-timer</span></span></li> | ||
282 | + <li><span><i class="el-icon-watch-1"></i><span class="icon-name">el-icon-watch-1</span></span></li> | ||
283 | + <li><span><i class="el-icon-watch"></i><span class="icon-name">el-icon-watch</span></span></li> | ||
284 | + <li><span><i class="el-icon-lock"></i><span class="icon-name">el-icon-lock</span></span></li> | ||
285 | + <li><span><i class="el-icon-unlock"></i><span class="icon-name">el-icon-unlock</span></span></li> | ||
286 | + <li><span><i class="el-icon-key"></i><span class="icon-name">el-icon-key</span></span></li> | ||
287 | + <li><span><i class="el-icon-service"></i><span class="icon-name">el-icon-service</span></span></li> | ||
288 | + <li><span><i class="el-icon-mobile-phone"></i><span class="icon-name">el-icon-mobile-phone</span></span> | ||
289 | + </li> | ||
290 | + <li><span><i class="el-icon-bicycle"></i><span class="icon-name">el-icon-bicycle</span></span></li> | ||
291 | + <li><span><i class="el-icon-truck"></i><span class="icon-name">el-icon-truck</span></span></li> | ||
292 | + <li><span><i class="el-icon-ship"></i><span class="icon-name">el-icon-ship</span></span></li> | ||
293 | + <li><span><i class="el-icon-basketball"></i><span class="icon-name">el-icon-basketball</span></span></li> | ||
294 | + <li><span><i class="el-icon-football"></i><span class="icon-name">el-icon-football</span></span></li> | ||
295 | + <li><span><i class="el-icon-soccer"></i><span class="icon-name">el-icon-soccer</span></span></li> | ||
296 | + <li><span><i class="el-icon-baseball"></i><span class="icon-name">el-icon-baseball</span></span></li> | ||
297 | + <li><span><i class="el-icon-wind-power"></i><span class="icon-name">el-icon-wind-power</span></span></li> | ||
298 | + <li><span><i class="el-icon-light-rain"></i><span class="icon-name">el-icon-light-rain</span></span></li> | ||
299 | + <li><span><i class="el-icon-lightning"></i><span class="icon-name">el-icon-lightning</span></span></li> | ||
300 | + <li><span><i class="el-icon-heavy-rain"></i><span class="icon-name">el-icon-heavy-rain</span></span></li> | ||
301 | + <li><span><i class="el-icon-sunrise"></i><span class="icon-name">el-icon-sunrise</span></span></li> | ||
302 | + <li><span><i class="el-icon-sunrise-1"></i><span class="icon-name">el-icon-sunrise-1</span></span></li> | ||
303 | + <li><span><i class="el-icon-sunset"></i><span class="icon-name">el-icon-sunset</span></span></li> | ||
304 | + <li><span><i class="el-icon-sunny"></i><span class="icon-name">el-icon-sunny</span></span></li> | ||
305 | + <li><span><i class="el-icon-cloudy"></i><span class="icon-name">el-icon-cloudy</span></span></li> | ||
306 | + <li><span><i class="el-icon-partly-cloudy"></i><span class="icon-name">el-icon-partly-cloudy</span></span> | ||
307 | + </li> | ||
308 | + <li><span><i class="el-icon-cloudy-and-sunny"></i><span | ||
309 | + class="icon-name">el-icon-cloudy-and-sunny</span></span></li> | ||
310 | + <li><span><i class="el-icon-moon"></i><span class="icon-name">el-icon-moon</span></span></li> | ||
311 | + <li><span><i class="el-icon-moon-night"></i><span class="icon-name">el-icon-moon-night</span></span></li> | ||
312 | + <li><span><i class="el-icon-dish"></i><span class="icon-name">el-icon-dish</span></span></li> | ||
313 | + <li><span><i class="el-icon-dish-1"></i><span class="icon-name">el-icon-dish-1</span></span></li> | ||
314 | + <li><span><i class="el-icon-food"></i><span class="icon-name">el-icon-food</span></span></li> | ||
315 | + <li><span><i class="el-icon-chicken"></i><span class="icon-name">el-icon-chicken</span></span></li> | ||
316 | + <li><span><i class="el-icon-fork-spoon"></i><span class="icon-name">el-icon-fork-spoon</span></span></li> | ||
317 | + <li><span><i class="el-icon-knife-fork"></i><span class="icon-name">el-icon-knife-fork</span></span></li> | ||
318 | + <li><span><i class="el-icon-burger"></i><span class="icon-name">el-icon-burger</span></span></li> | ||
319 | + <li><span><i class="el-icon-tableware"></i><span class="icon-name">el-icon-tableware</span></span></li> | ||
320 | + <li><span><i class="el-icon-sugar"></i><span class="icon-name">el-icon-sugar</span></span></li> | ||
321 | + <li><span><i class="el-icon-dessert"></i><span class="icon-name">el-icon-dessert</span></span></li> | ||
322 | + <li><span><i class="el-icon-ice-cream"></i><span class="icon-name">el-icon-ice-cream</span></span></li> | ||
323 | + <li><span><i class="el-icon-hot-water"></i><span class="icon-name">el-icon-hot-water</span></span></li> | ||
324 | + <li><span><i class="el-icon-water-cup"></i><span class="icon-name">el-icon-water-cup</span></span></li> | ||
325 | + <li><span><i class="el-icon-coffee-cup"></i><span class="icon-name">el-icon-coffee-cup</span></span></li> | ||
326 | + <li><span><i class="el-icon-cold-drink"></i><span class="icon-name">el-icon-cold-drink</span></span></li> | ||
327 | + <li><span><i class="el-icon-goblet"></i><span class="icon-name">el-icon-goblet</span></span></li> | ||
328 | + <li><span><i class="el-icon-goblet-full"></i><span class="icon-name">el-icon-goblet-full</span></span></li> | ||
329 | + <li><span><i class="el-icon-goblet-square"></i><span class="icon-name">el-icon-goblet-square</span></span> | ||
330 | + </li> | ||
331 | + <li><span><i class="el-icon-goblet-square-full"></i><span | ||
332 | + class="icon-name">el-icon-goblet-square-full</span></span></li> | ||
333 | + <li><span><i class="el-icon-refrigerator"></i><span class="icon-name">el-icon-refrigerator</span></span> | ||
334 | + </li> | ||
335 | + <li><span><i class="el-icon-grape"></i><span class="icon-name">el-icon-grape</span></span></li> | ||
336 | + <li><span><i class="el-icon-watermelon"></i><span class="icon-name">el-icon-watermelon</span></span></li> | ||
337 | + <li><span><i class="el-icon-cherry"></i><span class="icon-name">el-icon-cherry</span></span></li> | ||
338 | + <li><span><i class="el-icon-apple"></i><span class="icon-name">el-icon-apple</span></span></li> | ||
339 | + <li><span><i class="el-icon-pear"></i><span class="icon-name">el-icon-pear</span></span></li> | ||
340 | + <li><span><i class="el-icon-orange"></i><span class="icon-name">el-icon-orange</span></span></li> | ||
341 | + <li><span><i class="el-icon-coffee"></i><span class="icon-name">el-icon-coffee</span></span></li> | ||
342 | + <li><span><i class="el-icon-ice-tea"></i><span class="icon-name">el-icon-ice-tea</span></span></li> | ||
343 | + <li><span><i class="el-icon-ice-drink"></i><span class="icon-name">el-icon-ice-drink</span></span></li> | ||
344 | + <li><span><i class="el-icon-milk-tea"></i><span class="icon-name">el-icon-milk-tea</span></span></li> | ||
345 | + <li><span><i class="el-icon-potato-strips"></i><span class="icon-name">el-icon-potato-strips</span></span> | ||
346 | + </li> | ||
347 | + <li><span><i class="el-icon-lollipop"></i><span class="icon-name">el-icon-lollipop</span></span></li> | ||
348 | + <li><span><i class="el-icon-ice-cream-square"></i><span | ||
349 | + class="icon-name">el-icon-ice-cream-square</span></span></li> | ||
350 | + <li><span><i class="el-icon-ice-cream-round"></i><span | ||
351 | + class="icon-name">el-icon-ice-cream-round</span></span></li> | ||
352 | + </ul> | ||
353 | + </div> | ||
354 | +</template> | ||
355 | + | ||
356 | +<script> | ||
357 | + export default { | ||
358 | + name: "ICON" | ||
359 | + } | ||
360 | +</script> | ||
361 | + | ||
362 | +<style lang="scss"> | ||
363 | + .myicons{ | ||
364 | + ul:not(.timeline) { | ||
365 | + margin: 10px 0; | ||
366 | + padding: 0 0 0 20px; | ||
367 | + font-size: 14px; | ||
368 | + color: #5e6d82; | ||
369 | + line-height: 2em; | ||
370 | + } | ||
371 | + | ||
372 | + ul.icon-list { | ||
373 | + overflow: hidden; | ||
374 | + list-style: none; | ||
375 | + padding: 0!important; | ||
376 | + border: 1px solid #eaeefb; | ||
377 | + border-radius: 4px; | ||
378 | + | ||
379 | + li { | ||
380 | + float: left; | ||
381 | + width: 16.66%; | ||
382 | + text-align: center; | ||
383 | + height: 120px; | ||
384 | + line-height: 120px; | ||
385 | + color: #666; | ||
386 | + font-size: 13px; | ||
387 | + border-right: 1px solid #eee; | ||
388 | + border-bottom: 1px solid #eee; | ||
389 | + margin-right: -1px; | ||
390 | + margin-bottom: -1px; | ||
391 | + } | ||
392 | + } | ||
393 | + } | ||
394 | +</style> |
@@ -4,7 +4,7 @@ | @@ -4,7 +4,7 @@ | ||
4 | background-color="#26384c" | 4 | background-color="#26384c" |
5 | text-color="#fff" | 5 | text-color="#fff" |
6 | active-text-color="#ffd04b" | 6 | active-text-color="#ffd04b" |
7 | - style="overflow-y:scroll" | 7 | + style="overflow-y:scroll;border-right:none;" |
8 | @open="handleopen" | 8 | @open="handleopen" |
9 | @close="handleclose" | 9 | @close="handleclose" |
10 | @select="handleselect" | 10 | @select="handleselect" |
@@ -46,9 +46,6 @@ import airlift from './views/nav4/airlift.vue' | @@ -46,9 +46,6 @@ import airlift from './views/nav4/airlift.vue' | ||
46 | import inquiry from './views/nav4/inquiry.vue' | 46 | import inquiry from './views/nav4/inquiry.vue' |
47 | import Page6 from './views/nav3/Page6.vue' | 47 | import Page6 from './views/nav3/Page6.vue' |
48 | import Page7 from './views/nav3/Page7.vue' | 48 | import Page7 from './views/nav3/Page7.vue' |
49 | -import Dispatch from './views/nav3/Dispatch.vue' | ||
50 | -import DriverInfo from './views/nav3/DriverInfo.vue' | ||
51 | -import VehicleInfo from './views/nav3/VehicleInfo.vue' | ||
52 | import importFFMMsg from './views/airRadioMsg/importFFMMsg.vue' | 49 | import importFFMMsg from './views/airRadioMsg/importFFMMsg.vue' |
53 | import importFHLMsg from './views/airRadioMsg/importFHLMsg.vue' | 50 | import importFHLMsg from './views/airRadioMsg/importFHLMsg.vue' |
54 | import importFWBMsg from './views/airRadioMsg/importFWBMsg.vue' | 51 | import importFWBMsg from './views/airRadioMsg/importFWBMsg.vue' |
@@ -120,6 +117,12 @@ import Webdialog from './views/bus/Webdialog.vue' | @@ -120,6 +117,12 @@ import Webdialog from './views/bus/Webdialog.vue' | ||
120 | //国际转运 | 117 | //国际转运 |
121 | import Transport from './views/nav4/Transport.vue' | 118 | import Transport from './views/nav4/Transport.vue' |
122 | 119 | ||
120 | +/* 车辆调度系统 */ | ||
121 | +import DriverInfo from "./views/dispatch/DriverInfo"; | ||
122 | +import VehicleInfo from "./views/dispatch/VehicleInfo"; | ||
123 | +import DispatchNode from "./views/dispatch/DispatchNode"; | ||
124 | +import Dispatch from "./views/dispatch/Dispatch"; | ||
125 | + | ||
123 | 126 | ||
124 | 127 | ||
125 | let routes = [ | 128 | let routes = [ |
@@ -480,6 +483,19 @@ let routes = [ | @@ -480,6 +483,19 @@ let routes = [ | ||
480 | {path: '/warehouse', component: Warehouse, name: '仓库管理'}, | 483 | {path: '/warehouse', component: Warehouse, name: '仓库管理'}, |
481 | ] | 484 | ] |
482 | }, | 485 | }, |
486 | + { | ||
487 | + path: '/', | ||
488 | + component: Home, | ||
489 | + name: '车辆调度管理', | ||
490 | + iconCls: 'el-icon-truck', | ||
491 | + children: [ | ||
492 | + {path: '/dispatch', component: Dispatch, name: '车辆调度'}, | ||
493 | + {path: '/dispatchNode', component: DispatchNode, name: '调度记录'}, | ||
494 | + {path: '/vehicleInfo', component: VehicleInfo, name: '车辆信息'}, | ||
495 | + {path: '/driverInfo', component: DriverInfo, name: '驾驶员信息'}, | ||
496 | + // {path: '/companyInfo', component: CompanyInfo, name: '公司信息'}, | ||
497 | + ] | ||
498 | + }, | ||
483 | 499 | ||
484 | { | 500 | { |
485 | path: '/empt', | 501 | path: '/empt', |
1 | <template> | 1 | <template> |
2 | <el-container> | 2 | <el-container> |
3 | - <el-aside style="width:250px;background-color: rgb(238, 241, 246)" id="l-menu"> | 3 | + <el-aside style="width:250px;background-color: rgb(38, 56, 76);" id="l-menu"> |
4 | <NavMenu :collapsed="collapsed"></NavMenu> | 4 | <NavMenu :collapsed="collapsed"></NavMenu> |
5 | </el-aside> | 5 | </el-aside> |
6 | 6 | ||
@@ -39,6 +39,8 @@ | @@ -39,6 +39,8 @@ | ||
39 | import TabMenu from "@/components/TabMenu" | 39 | import TabMenu from "@/components/TabMenu" |
40 | import NavMenu from "@/components/NavMenu" | 40 | import NavMenu from "@/components/NavMenu" |
41 | import loginuserInfo from "@/api/base"; | 41 | import loginuserInfo from "@/api/base"; |
42 | + import {mapActions, mapGetters} from 'vuex' | ||
43 | + import jsutil from "@/common/js/util"; | ||
42 | 44 | ||
43 | export default { | 45 | export default { |
44 | 46 | ||
@@ -74,6 +76,18 @@ | @@ -74,6 +76,18 @@ | ||
74 | } | 76 | } |
75 | }, | 77 | }, |
76 | methods: { | 78 | methods: { |
79 | + ...mapActions( // 语法糖 | ||
80 | + ['setUserInfoStore','setUserMenuStore'] // 相当于this.$store.dispatch('modifyName'),提交这个方法 | ||
81 | + ), | ||
82 | + initUserInfo:function() { | ||
83 | + if (jsutil.checkNull(this.getUserInfoStore.username)){ | ||
84 | + this.sysUserName = this.getUserInfoStore.username || ''; | ||
85 | + this.sysUserId=this.getUserInfoStore.userId||''; | ||
86 | + this.sysUserAvatar = this.getUserInfoStore.userface || '~img/faceDefault.jpg'; | ||
87 | + }else { | ||
88 | + this.setUserInfoStore(loginuserInfo); | ||
89 | + } | ||
90 | + }, | ||
77 | reload() { | 91 | reload() { |
78 | this.$nextTick(function () { | 92 | this.$nextTick(function () { |
79 | this.$router.push({ | 93 | this.$router.push({ |
@@ -102,11 +116,21 @@ | @@ -102,11 +116,21 @@ | ||
102 | this.$confirm('确认退出吗?', '提示', { | 116 | this.$confirm('确认退出吗?', '提示', { |
103 | //type: 'warning' | 117 | //type: 'warning' |
104 | }).then(() => { | 118 | }).then(() => { |
119 | + this.$axios.defaults.headers.common['Authorization'] = undefined; | ||
105 | sessionStorage.removeItem('user'); | 120 | sessionStorage.removeItem('user'); |
106 | sessionStorage.removeItem('menu'); | 121 | sessionStorage.removeItem('menu'); |
122 | + //清空菜单 | ||
123 | + this.setUserMenuStore([]); | ||
124 | + this.setUserInfoStore({ | ||
125 | + userId: 0, | ||
126 | + username: '', | ||
127 | + companyId: 0, | ||
128 | + companyName: '', | ||
129 | + realname: '', | ||
130 | + userface: '' | ||
131 | + }); | ||
107 | //退出后初始化原来的路由 | 132 | //退出后初始化原来的路由 |
108 | let sysRoutes = JSON.parse(sessionStorage.getItem('sysMenu')); | 133 | let sysRoutes = JSON.parse(sessionStorage.getItem('sysMenu')); |
109 | - console.log(sysRoutes); | ||
110 | _this.$router.options.routes = sysRoutes; | 134 | _this.$router.options.routes = sysRoutes; |
111 | 135 | ||
112 | _this.$router.push('/login'); | 136 | _this.$router.push('/login'); |
@@ -121,23 +145,19 @@ | @@ -121,23 +145,19 @@ | ||
121 | this.collapsed=!this.collapsed; | 145 | this.collapsed=!this.collapsed; |
122 | } | 146 | } |
123 | }, | 147 | }, |
148 | + computed: { | ||
149 | + ...mapGetters(['getUserInfoStore','getUserMenuStore']) // 动态计算属性,相当于this.$store.getters.resturantName | ||
150 | + }, | ||
124 | mounted() { | 151 | mounted() { |
125 | - var _this = this; | ||
126 | - var user = loginuserInfo; | ||
127 | - if (user) { | ||
128 | - this.sysUserName = user.username || ''; | ||
129 | - this.sysUserId=user.userId||''; | ||
130 | - | ||
131 | - this.sysUserAvatar = user.userface || '~img/faceDefault.jpg'; | ||
132 | - } | ||
133 | //操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由 | 152 | //操作路由,判断本地存储的用户栏目列表是否存在,如果存在则加载路由 |
134 | var userRouters = sessionStorage.getItem('menu'); | 153 | var userRouters = sessionStorage.getItem('menu'); |
135 | if (userRouters) { | 154 | if (userRouters) { |
136 | userRouters = JSON.parse(userRouters); | 155 | userRouters = JSON.parse(userRouters); |
137 | _this.$router.options.routes = userRouters; | 156 | _this.$router.options.routes = userRouters; |
138 | - console.log("home:"); | ||
139 | - console.log(_this.$router.options.routes); | ||
140 | } | 157 | } |
158 | + this.$nextTick(function(){ | ||
159 | + this.initUserInfo(); | ||
160 | + }) | ||
141 | }, | 161 | }, |
142 | watch: { | 162 | watch: { |
143 | collapsed(value) { | 163 | collapsed(value) { |
@@ -6,7 +6,7 @@ | @@ -6,7 +6,7 @@ | ||
6 | <el-input type="text" v-model="ruleForm2.account" autofocus placeholder="账号"></el-input> | 6 | <el-input type="text" v-model="ruleForm2.account" autofocus placeholder="账号"></el-input> |
7 | </el-form-item> | 7 | </el-form-item> |
8 | <el-form-item prop="checkPass"> | 8 | <el-form-item prop="checkPass"> |
9 | - <el-input type="password" v-model="ruleForm2.checkPass" placeholder="密码" @keyup.enter.native="handleSubmit2"></el-input> | 9 | + <el-input type="password" v-model="ruleForm2.checkPass" placeholder="密码" @keyup.enter.native="handleSubmit2" show-password></el-input> |
10 | </el-form-item> | 10 | </el-form-item> |
11 | <!-- <el-form-item prop="checkPass">--> | 11 | <!-- <el-form-item prop="checkPass">--> |
12 | <!-- <el-input type="password" v-model="ruleForm2.checkPass" placeholder="密码" @keyup.enter.native="handleSubmit2"></el-input>--> | 12 | <!-- <el-input type="password" v-model="ruleForm2.checkPass" placeholder="密码" @keyup.enter.native="handleSubmit2"></el-input>--> |
@@ -38,6 +38,7 @@ | @@ -38,6 +38,7 @@ | ||
38 | import axios from 'axios' | 38 | import axios from 'axios' |
39 | import http from '../api/http'; | 39 | import http from '../api/http'; |
40 | import {getRandCode} from '../api/user'; | 40 | import {getRandCode} from '../api/user'; |
41 | + import {mapActions, mapGetters} from 'vuex' | ||
41 | //import NProgress from 'nprogress' | 42 | //import NProgress from 'nprogress' |
42 | export default { | 43 | export default { |
43 | data() { | 44 | data() { |
@@ -46,9 +47,9 @@ | @@ -46,9 +47,9 @@ | ||
46 | fixStyle: '', | 47 | fixStyle: '', |
47 | logining: false, | 48 | logining: false, |
48 | ruleForm2: { | 49 | ruleForm2: { |
49 | - account: 'admin', | 50 | + account: '', |
50 | // checkPass: 'zzairport@kako2020' | 51 | // checkPass: 'zzairport@kako2020' |
51 | - checkPass: 'vmvnv1v2VV' | 52 | + checkPass: '' |
52 | }, | 53 | }, |
53 | rules2: { | 54 | rules2: { |
54 | account: [ | 55 | account: [ |
@@ -65,13 +66,16 @@ | @@ -65,13 +66,16 @@ | ||
65 | }; | 66 | }; |
66 | }, | 67 | }, |
67 | methods: { | 68 | methods: { |
69 | + ...mapActions( // 语法糖 | ||
70 | + ['setUserInfoStore'] // 相当于this.$store.dispatch('modifyName'),提交这个方法 | ||
71 | + ), | ||
68 | canplay() { | 72 | canplay() { |
69 | this.vedioCanPlay = true | 73 | this.vedioCanPlay = true |
70 | }, | 74 | }, |
71 | handleReset2() { | 75 | handleReset2() { |
72 | this.$refs.ruleForm2.resetFields(); | 76 | this.$refs.ruleForm2.resetFields(); |
73 | }, | 77 | }, |
74 | - handleMenuList : function (router,menu) { | 78 | + handleMenuList : function (router,menu) { |
75 | var _this = this; | 79 | var _this = this; |
76 | var routerName = ""; | 80 | var routerName = ""; |
77 | var routerTemp = router.concat(); | 81 | var routerTemp = router.concat(); |
@@ -132,6 +136,7 @@ | @@ -132,6 +136,7 @@ | ||
132 | } else if (token) { | 136 | } else if (token) { |
133 | sessionStorage.setItem('user', JSON.stringify(authentication)); | 137 | sessionStorage.setItem('user', JSON.stringify(authentication)); |
134 | sessionStorage.setItem('token','Bearer '+ token); | 138 | sessionStorage.setItem('token','Bearer '+ token); |
139 | + this.setUserInfoStore(authentication); | ||
135 | //设置token,设置axios 基本配置,但是刷新后 这个登录保存的就没了 | 140 | //设置token,设置axios 基本配置,但是刷新后 这个登录保存的就没了 |
136 | axios.defaults.headers.common['Authorization'] = 'Bearer '+token; | 141 | axios.defaults.headers.common['Authorization'] = 'Bearer '+token; |
137 | //处理用户menu | 142 | //处理用户menu |
@@ -152,7 +157,7 @@ | @@ -152,7 +157,7 @@ | ||
152 | } | 157 | } |
153 | }).catch(error => { | 158 | }).catch(error => { |
154 | this.$message({ | 159 | this.$message({ |
155 | - message: error.toString(), | 160 | + message: error.toString()+"-登录验证失败", |
156 | type: "error" | 161 | type: "error" |
157 | }); | 162 | }); |
158 | this.logining = false; | 163 | this.logining = false; |
@@ -285,7 +285,7 @@ | @@ -285,7 +285,7 @@ | ||
285 | </template> | 285 | </template> |
286 | 286 | ||
287 | <script> | 287 | <script> |
288 | - // import {selectDispatchNoteList, dispatch, cancel, getUser} from '../../api/dispatch_api' | 288 | + import {selectDispatchNoteList, dispatch, cancel, getUser} from '../../api/dispatch_api' |
289 | 289 | ||
290 | export default { | 290 | export default { |
291 | name: 'dispatch_api', | 291 | name: 'dispatch_api', |
src/views/dispatch/DispatchNode.vue
0 → 100644
1 | +<template> | ||
2 | + <el-container> | ||
3 | + <el-main> | ||
4 | + <!--面包屑导航区域--> | ||
5 | + <!-- <el-breadcrumb separator-class="el-icon-arrow-right">--> | ||
6 | + <!-- <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>--> | ||
7 | + <!-- <el-breadcrumb-item>车辆调度</el-breadcrumb-item>--> | ||
8 | + <!-- <el-breadcrumb-item>调度记录</el-breadcrumb-item>--> | ||
9 | + <!-- </el-breadcrumb>--> | ||
10 | + | ||
11 | + <el-card style="background-color: #F5F7FA"> | ||
12 | + <!-- 搜素区域 --> | ||
13 | + <div> | ||
14 | + <el-row :gutter="24"> | ||
15 | + <el-col :span="5"> | ||
16 | + <el-input v-model="queryInfo.userName" prefix-icon="el-icon-search" | ||
17 | + placeholder="请输入用户名称" clearable size="small" style="width:180px"></el-input> | ||
18 | + </el-col> | ||
19 | + <el-col :span="5"> | ||
20 | + <el-input v-model="queryInfo.userMobile" prefix-icon="el-icon-search" | ||
21 | + placeholder="请输入联系方式" clearable size="small" style="width:180px"></el-input> | ||
22 | + </el-col> | ||
23 | + <el-col :span="5"> | ||
24 | + <el-date-picker v-model="queryInfo.gmtCreate" type="date" value-format="yyyy-MM-dd" | ||
25 | + placeholder="调度创建时间" size="small" style="width:180px"></el-date-picker> | ||
26 | + </el-col> | ||
27 | + <el-col :span="5"> | ||
28 | + <el-date-picker v-model="queryInfo.endTime" type="date" value-format="yyyy-MM-dd" | ||
29 | + placeholder="调度完成时间" size="small" style="width:180px"></el-date-picker> | ||
30 | + </el-col> | ||
31 | + </el-row> | ||
32 | + <el-row style="margin-top: 8px;"> | ||
33 | + <el-col :span="5"> | ||
34 | + <el-select v-model="queryInfo.dispatchType" placeholder="请选择业务类型" size="small" clearable | ||
35 | + style="width:180px"> | ||
36 | + <el-option | ||
37 | + v-for="item in dispatchTypeList" | ||
38 | + :key="item.value" | ||
39 | + :label="item.label" | ||
40 | + :value="item.value"> | ||
41 | + </el-option> | ||
42 | + </el-select> | ||
43 | + </el-col> | ||
44 | + <el-col :span="5"> | ||
45 | + <el-select v-model="queryInfo.status" placeholder="记录状态" size="small" clearable | ||
46 | + style="width:180px;margin-left: 6px"> | ||
47 | + <el-option | ||
48 | + v-for="item in statusList" | ||
49 | + :key="item.value" | ||
50 | + :label="item.label" | ||
51 | + :value="item.value"> | ||
52 | + </el-option> | ||
53 | + </el-select> | ||
54 | + </el-col> | ||
55 | + <el-button type="primary" @click="getDispatchNodeList" size="small" style="margin-left:10px;"> | ||
56 | + 查询调度记录 | ||
57 | + </el-button> | ||
58 | + <el-button type="success" @click="addDispatchNodeFormVisible = true" size="small">添加车辆调度记录 | ||
59 | + </el-button> | ||
60 | + </el-row> | ||
61 | + </div> | ||
62 | + <!--调度记录列表区域--> | ||
63 | + <div style="margin-top: 20px;"> | ||
64 | + <el-table :data="DispatchNoteList" border v-loading="listLoading" | ||
65 | + :row-class-name="rowStatus" | ||
66 | + @selection-change="selsChange" | ||
67 | + element-loading-text="拼命加载中"> | ||
68 | + <el-table-column type="selection" width="55" :selectable="isSelectable" align="center"></el-table-column> | ||
69 | + <el-table-column type="index" align="center"></el-table-column> | ||
70 | + <el-table-column label="用户名称" prop="userName" align="center" width="100"></el-table-column> | ||
71 | + <el-table-column label="联系方式" prop="userMobile" align="center" width="120"></el-table-column> | ||
72 | + <el-table-column label="状态" prop="status" align="center" width="120"> | ||
73 | + <template slot-scope="scope"> | ||
74 | + <span v-if="scope.row.status ==='1'">完成状态</span> | ||
75 | + <span v-if="scope.row.status ==='2'">执行状态</span> | ||
76 | + <span v-if="scope.row.status ==='3'">取消状态</span> | ||
77 | + <span v-if="scope.row.status ==='4'">待执行状态</span> | ||
78 | + </template> | ||
79 | + </el-table-column> | ||
80 | + <el-table-column label="业务类型" align="center" prop="dispatchType" width="120"> | ||
81 | + <template slot-scope="scope"> | ||
82 | + <span v-if="scope.row.dispatchType ==='1'">进站送货</span> | ||
83 | + <span v-if="scope.row.dispatchType ==='2'">出站提货</span> | ||
84 | + <span v-if="scope.row.dispatchType ==='3'">货物调拨</span> | ||
85 | + <span v-if="scope.row.dispatchType ==='4'">货物流转</span> | ||
86 | + </template> | ||
87 | + </el-table-column> | ||
88 | + <el-table-column label="场站位置" align="center" prop="station" width="120"> | ||
89 | + <template slot-scope="scope"> | ||
90 | + <span v-if="scope.row.station ==='1'">西货站</span> | ||
91 | + <span v-if="scope.row.station ==='2'">综保区</span> | ||
92 | + <span v-if="scope.row.station ==='3'">军投</span> | ||
93 | + <span v-if="scope.row.station ==='4'">快邮</span> | ||
94 | + </template> | ||
95 | + </el-table-column> | ||
96 | + <el-table-column label="车辆类型" align="center" prop="vehicleType" width="120"> | ||
97 | + <template slot-scope="scope"> | ||
98 | + <span v-if="scope.row.vehicleType ==='1'">重型货车</span> | ||
99 | + <span v-if="scope.row.vehicleType ==='2'">中型货车</span> | ||
100 | + <span v-if="scope.row.vehicleType ==='3'">轻型货车</span> | ||
101 | + <span v-if="scope.row.vehicleType ==='4'">微型货车</span> | ||
102 | + <span v-if="scope.row.vehicleType ==='5'">拖车</span> | ||
103 | + <span v-if="scope.row.vehicleType ==='6'">叉车</span> | ||
104 | + </template> | ||
105 | + </el-table-column> | ||
106 | + <el-table-column label="车牌号" prop="licensePlateNumber" align="center" | ||
107 | + width="120"></el-table-column> | ||
108 | + <el-table-column label="创建时间" prop="gmtCreate" align="center" width="160"></el-table-column> | ||
109 | + <el-table-column label="开始时间" prop="beginTime" align="center" width="160"></el-table-column> | ||
110 | + <el-table-column label="完成时间" prop="endTime" align="center" width="160"></el-table-column> | ||
111 | + <el-table-column label="操作" width="230px" align="center" fixed="right"> | ||
112 | + <template slot-scope="scope"> | ||
113 | + <!--编辑按钮--> | ||
114 | + <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false" | ||
115 | + style="margin-left: 1px;"> | ||
116 | + <el-button type="success" icon="el-icon-check" size="mini" style="width:97px" | ||
117 | + @click="showDialogVisible(scope.$index,scope.row)">编辑 | ||
118 | + </el-button> | ||
119 | + </el-tooltip> | ||
120 | + <!--取消调度按钮--> | ||
121 | + <el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false" | ||
122 | + style="margin-left: 1px;"> | ||
123 | + <el-button type="danger" icon="el-icon-delete" size="mini" style="width:97px" | ||
124 | + :loading="delLoading" | ||
125 | + :disabled="scope.row.status==='2'" | ||
126 | + @click.native.prevent="removeDispatchNode(scope.$index,scope.row)">删除 | ||
127 | + </el-button> | ||
128 | + </el-tooltip> | ||
129 | + <!--开始任务--> | ||
130 | + <el-tooltip effect="dark" content="开始任务" placement="top-start" :enterable="false" | ||
131 | + style="margin-left: 1px;"> | ||
132 | + <el-button type="warning" icon="el-icon-star-off" size="mini" | ||
133 | + style="margin-top: 3px;" | ||
134 | + :disabled="scope.row.status!=='4' || scope.row.beginTime !==null" | ||
135 | + :loading="beginLoading" | ||
136 | + @click="startDispatch(scope.$index,scope.row)">开始任务 | ||
137 | + </el-button> | ||
138 | + </el-tooltip> | ||
139 | + <!-- 结束任务--> | ||
140 | + <el-tooltip effect="dark" content="结束任务" placement="top-start" :enterable="false" | ||
141 | + style="margin-left: 1px;"> | ||
142 | + <el-button type="info" icon="el-icon-message" size="mini" | ||
143 | + :disabled="scope.row.endTime !==null && scope.row.endTime !==''" | ||
144 | + :loading="endLoading" | ||
145 | + @click="completeDispatch(scope.$index,scope.row)">结束任务 | ||
146 | + </el-button> | ||
147 | + </el-tooltip> | ||
148 | + | ||
149 | + </template> | ||
150 | + </el-table-column> | ||
151 | + </el-table> | ||
152 | + <!-- 分页区域 --> | ||
153 | + <div style="margin-top: 10px"> | ||
154 | + <el-row :gutter="24"> | ||
155 | + <el-col :span="5"> | ||
156 | + <el-button type="danger" icon="el-icon-delete" @click="batchRemove" | ||
157 | + :disabled="this.sels.length===0">批量删除 | ||
158 | + </el-button> | ||
159 | + </el-col> | ||
160 | + <el-col :span="10" style="margin-top: 5px"> | ||
161 | + <el-pagination | ||
162 | + @size-change="handleSizeChange" | ||
163 | + @current-change="handleCurrentChange" | ||
164 | + :current-page="queryInfo.pageNum" | ||
165 | + :page-sizes="[10,15,20,50]" | ||
166 | + :page-size="queryInfo.pageSize" | ||
167 | + layout="total, sizes, prev, pager, next, jumper" | ||
168 | + :total="total"> | ||
169 | + </el-pagination> | ||
170 | + </el-col> | ||
171 | + </el-row> | ||
172 | + </div> | ||
173 | + </div> | ||
174 | + </el-card> | ||
175 | + <!-- 添加车辆调度记录 --> | ||
176 | + <div> | ||
177 | + <el-dialog title="添加车辆调度记录" | ||
178 | + :visible.sync="addDispatchNodeFormVisible" | ||
179 | + style="margin-top: -50px" | ||
180 | + width="60%" text-align="center" @close="dispatchDialogClosed"> | ||
181 | + <el-form :inline="true" :model="addDispatchNodeForm" label-width="120px" status-icon | ||
182 | + :rules="addDispatchNodeFormRules" ref="addDispatchNodeFormRef" | ||
183 | + style="background-color: #F5F7FA" align="center"> | ||
184 | + <br> | ||
185 | + <el-form-item label="用户名称:" prop="userName"> | ||
186 | + <el-input v-model="addDispatchNodeForm.userName" style="width:200px" size="small" clearable | ||
187 | + placeholder="请输入您的用户名称"></el-input> | ||
188 | + </el-form-item> | ||
189 | + <el-form-item label="联系方式:" prop="userMobile"> | ||
190 | + <el-input v-model="addDispatchNodeForm.userMobile" style="width:200px" clearable | ||
191 | + size="small" | ||
192 | + placeholder="请输入您的联系方式"></el-input> | ||
193 | + </el-form-item> | ||
194 | + <el-form-item label="车辆类型:" prop="vehicleType"> | ||
195 | + <el-select v-model="addDispatchNodeForm.vehicleType" clearable style="width:200px" | ||
196 | + size="small" | ||
197 | + placeholder="请选择车辆类型"> | ||
198 | + <el-option | ||
199 | + v-for="item in vehicleTypeList" | ||
200 | + :key="item.value" | ||
201 | + :label="item.label" | ||
202 | + :value="item.value"> | ||
203 | + </el-option> | ||
204 | + </el-select> | ||
205 | + </el-form-item> | ||
206 | + <el-form-item label="车牌号码:" prop="licensePlateNumber"> | ||
207 | + <el-input v-model="addDispatchNodeForm.licensePlateNumber" clearable | ||
208 | + style="width:200px;margin-left:0px" | ||
209 | + size="small" | ||
210 | + placeholder="请输入车牌号"></el-input> | ||
211 | + </el-form-item> | ||
212 | + <el-form-item label="场站位置:" prop="station"> | ||
213 | + <el-select v-model="addDispatchNodeForm.station" clearable style="width:200px" size="small" | ||
214 | + placeholder=""> | ||
215 | + <el-option | ||
216 | + v-for="item in stationList" | ||
217 | + :key="item.value" | ||
218 | + :label="item.label" | ||
219 | + :value="item.value"> | ||
220 | + </el-option> | ||
221 | + </el-select> | ||
222 | + </el-form-item> | ||
223 | + <el-form-item label="业务类型:" prop="dispatchType"> | ||
224 | + <el-select v-model="addDispatchNodeForm.dispatchType" clearable style="width:200px" | ||
225 | + size="small" | ||
226 | + placeholder=""> | ||
227 | + <el-option | ||
228 | + v-for="item in dispatchTypeList" | ||
229 | + :key="item.value" | ||
230 | + :label="item.label" | ||
231 | + :value="item.value"> | ||
232 | + </el-option> | ||
233 | + </el-select> | ||
234 | + </el-form-item> | ||
235 | + <el-form-item label="创建时间:" prop="gmtCreate"> | ||
236 | + <el-date-picker v-model="addDispatchNodeForm.gmtCreate" clearable type="datetime" | ||
237 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
238 | + placeholder="选择日期" size="small" style="width:200px"></el-date-picker> | ||
239 | + </el-form-item> | ||
240 | + <el-form-item label="开始时间:" prop="beginTime"> | ||
241 | + <el-date-picker v-model="addDispatchNodeForm.beginTime" clearable type="datetime" | ||
242 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
243 | + placeholder="选择日期" size="small" style="width:200px"></el-date-picker> | ||
244 | + </el-form-item> | ||
245 | + <el-form-item label="结束时间:" prop="endTime"> | ||
246 | + <el-date-picker v-model="addDispatchNodeForm.endTime" type="datetime" | ||
247 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
248 | + placeholder="选择日期" size="small" style="width:200px"></el-date-picker> | ||
249 | + </el-form-item> | ||
250 | + <el-form-item label="记录状态:" prop="status"> | ||
251 | + <el-select v-model="addDispatchNodeForm.status" clearable placeholder="记录状态" | ||
252 | + style="width:200px" | ||
253 | + size="small"> | ||
254 | + <el-option | ||
255 | + v-for="item in statusList" | ||
256 | + :key="item.value" | ||
257 | + :label="item.label" | ||
258 | + :value="item.value"> | ||
259 | + </el-option> | ||
260 | + </el-select> | ||
261 | + </el-form-item> | ||
262 | + <el-form-item label="驾驶人姓名:" prop="driverName"> | ||
263 | + <el-input v-model="addDispatchNodeForm.driverName" clearable style="width:200px" | ||
264 | + size="small" | ||
265 | + placeholder=""></el-input> | ||
266 | + </el-form-item> | ||
267 | + <el-form-item label="驾驶人电话:" prop="driverMobile"> | ||
268 | + <el-input v-model="addDispatchNodeForm.driverMobile" clearable style="width:200px" | ||
269 | + size="small" | ||
270 | + placeholder=""></el-input> | ||
271 | + </el-form-item> | ||
272 | + </el-form> | ||
273 | + <div slot="footer" class="dialog-footer" style="text-align: center"> | ||
274 | + <el-button @click="addDispatchNodeFormVisible = false" size="medium" style="width: 100px">取消 | ||
275 | + </el-button> | ||
276 | + <el-button type="primary" @click="addDispatchNote" :loading="addLoading" size="medium" | ||
277 | + style="width: 100px"> | ||
278 | + 添加 | ||
279 | + </el-button> | ||
280 | + </div> | ||
281 | + </el-dialog> | ||
282 | + </div> | ||
283 | + <!-- 编辑调度记录,对话框 --> | ||
284 | + <div> | ||
285 | + <el-dialog | ||
286 | + style="margin-top: -50px" | ||
287 | + title="编辑调度记录明细" | ||
288 | + :visible.sync="viewDialogVisible" | ||
289 | + text-align="center" | ||
290 | + width="60%" | ||
291 | + @close="editDialogClosed"> | ||
292 | + | ||
293 | + <el-form :model="editForm" label-width="120px" status-icon | ||
294 | + :inline="true" | ||
295 | + style="background-color: #F5F7FA;" | ||
296 | + :rules="editFormRules" ref="editFormRef"> | ||
297 | + <div style="margin-left: 40px"> | ||
298 | + <br> | ||
299 | + <el-form-item label="用户名称:" prop="userName"> | ||
300 | + <el-input v-model="editForm.userName" style="width:200px" clearable size="small" | ||
301 | + placeholder="请输入用户名称"></el-input> | ||
302 | + </el-form-item> | ||
303 | + <el-form-item label="联系方式:" prop="userMobile"> | ||
304 | + <el-input v-model="editForm.userMobile" style="width:200px" clearable size="small" | ||
305 | + placeholder="请输入您的联系方式"></el-input> | ||
306 | + </el-form-item> | ||
307 | + <el-form-item label="车辆类型:" prop="vehicleType"> | ||
308 | + <el-select v-model="editForm.vehicleType" style="width:200px" clearable size="small" | ||
309 | + placeholder="请选择车辆类型"> | ||
310 | + <el-option | ||
311 | + v-for="item in vehicleTypeList" | ||
312 | + :key="item.value" | ||
313 | + :label="item.label" | ||
314 | + :value="item.value"> | ||
315 | + </el-option> | ||
316 | + </el-select> | ||
317 | + </el-form-item> | ||
318 | + <el-form-item label="车牌号码:" prop="licensePlateNumber"> | ||
319 | + <el-input v-model="editForm.licensePlateNumber" | ||
320 | + style="width:200px;margin-left:0px" clearable | ||
321 | + size="small" | ||
322 | + placeholder="请输入车牌号"></el-input> | ||
323 | + </el-form-item> | ||
324 | + <el-form-item label="场站位置:" prop="station"> | ||
325 | + <el-select v-model="editForm.station" clearable style="width:200px" size="small" | ||
326 | + placeholder=""> | ||
327 | + <el-option | ||
328 | + v-for="item in stationList" | ||
329 | + :key="item.value" | ||
330 | + :label="item.label" | ||
331 | + :value="item.value"> | ||
332 | + </el-option> | ||
333 | + </el-select> | ||
334 | + </el-form-item> | ||
335 | + <el-form-item label="业务类型:" prop="dispatchType"> | ||
336 | + <el-select v-model="editForm.dispatchType" clearable style="width:200px" size="small" | ||
337 | + placeholder=""> | ||
338 | + <el-option | ||
339 | + v-for="item in dispatchTypeList" | ||
340 | + :key="item.value" | ||
341 | + :label="item.label" | ||
342 | + :value="item.value"> | ||
343 | + </el-option> | ||
344 | + </el-select> | ||
345 | + </el-form-item> | ||
346 | + <el-form-item label="创建时间:" prop="gmtCreate"> | ||
347 | + <el-date-picker v-model="editForm.gmtCreate" type="datetime" | ||
348 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
349 | + placeholder="选择日期" size="small" style="width:200px"></el-date-picker> | ||
350 | + </el-form-item> | ||
351 | + <el-form-item label="开始时间:" prop="beginTime"> | ||
352 | + <el-date-picker v-model="editForm.beginTime" type="datetime" | ||
353 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
354 | + placeholder="选择日期" size="small" style="width:200px"></el-date-picker> | ||
355 | + </el-form-item> | ||
356 | + <el-form-item label="结束时间:" prop="endTime"> | ||
357 | + <el-date-picker v-model="editForm.endTime" type="datetime" | ||
358 | + value-format="yyyy-MM-dd HH:mm:ss" | ||
359 | + placeholder="选择日期" size="small" style="width:200px"></el-date-picker> | ||
360 | + </el-form-item> | ||
361 | + <el-form-item label="记录状态:" prop="status"> | ||
362 | + <el-select v-model="editForm.status" placeholder="记录状态" clearable style="width:200px" | ||
363 | + size="small"> | ||
364 | + <el-option | ||
365 | + v-for="item in statusList" | ||
366 | + :key="item.value" | ||
367 | + :label="item.label" | ||
368 | + :value="item.value"> | ||
369 | + </el-option> | ||
370 | + </el-select> | ||
371 | + </el-form-item> | ||
372 | + <el-form-item label="驾驶人姓名:" prop="driverName"> | ||
373 | + <el-input v-model="editForm.driverName" style="width:200px" clearable size="small" | ||
374 | + placeholder=""></el-input> | ||
375 | + </el-form-item> | ||
376 | + <el-form-item label="驾驶人电话:" prop="driverMobile"> | ||
377 | + <el-input v-model="editForm.driverMobile" style="width:200px" clearable size="small" | ||
378 | + placeholder=""></el-input> | ||
379 | + </el-form-item> | ||
380 | + <br> | ||
381 | + </div> | ||
382 | + </el-form> | ||
383 | + <!--底部按钮区域--> | ||
384 | + <span slot="footer" class="dialog-footer"> | ||
385 | + <el-button style="width: 100px" @click="viewDialogVisible = false">取消</el-button> | ||
386 | + <el-button type="primary" size="medium" style="width: 100px" | ||
387 | + :loading="editLoading" | ||
388 | + @click="editDispatchNote">编辑</el-button> | ||
389 | + </span> | ||
390 | + </el-dialog> | ||
391 | + </div> | ||
392 | + </el-main> | ||
393 | + </el-container> | ||
394 | +</template> | ||
395 | + | ||
396 | +<script> | ||
397 | + import { | ||
398 | + selectDispatchNoteList, | ||
399 | + insertDispatchNote, | ||
400 | + updateDispatchNote, | ||
401 | + deleteDispatchNote, | ||
402 | + batchRemoveDispatchNode, | ||
403 | + startTask, | ||
404 | + completeTask | ||
405 | + } from "../../api/dispatch_api"; | ||
406 | + | ||
407 | + export default { | ||
408 | + name: "dispatch_api", | ||
409 | + created() { | ||
410 | + this.getDispatchNodeList(); | ||
411 | + }, | ||
412 | + data() { | ||
413 | + | ||
414 | + //验证手机号的自定义规则 | ||
415 | + var userMobileValid = (rule, value, callback) => { | ||
416 | + //验证手机号的正则表达式 | ||
417 | + const regMobile = /^(0|86|17951)?(13[0-9]|15[0123456789]|17[678]|18[0-9]|14[57])[0-9]{8}$/; | ||
418 | + if (regMobile.test(value)) { | ||
419 | + //合法的手机号 | ||
420 | + return callback(); | ||
421 | + } | ||
422 | + callback(new Error('请输入合法的手机号')); | ||
423 | + }; | ||
424 | + return { | ||
425 | + //搜索区域 | ||
426 | + queryInfo: { | ||
427 | + //用户姓名 | ||
428 | + userName: '', | ||
429 | + //用户联系方式 | ||
430 | + userMobile: '', | ||
431 | + //调度时间 | ||
432 | + gmtCreate: undefined, | ||
433 | + //完成时间 | ||
434 | + endTime: undefined, | ||
435 | + //业务类型 | ||
436 | + dispatchType: '', | ||
437 | + //状态 | ||
438 | + status: '', | ||
439 | + //当前的页数 | ||
440 | + pageNum: 1, | ||
441 | + //当前每页显示多少条数据 | ||
442 | + pageSize: 10 | ||
443 | + }, | ||
444 | + //所有的调度记录列表 | ||
445 | + DispatchNoteList: [], | ||
446 | + //添加调度记录,表单 | ||
447 | + addDispatchNodeForm: { | ||
448 | + userName: '', | ||
449 | + userMobile: '', | ||
450 | + //车辆类型 | ||
451 | + vehicleType: '2', | ||
452 | + //车牌号 | ||
453 | + licensePlateNumber: '', | ||
454 | + //场站位置 | ||
455 | + station: '1', | ||
456 | + //调度业务类型 | ||
457 | + dispatchType: '1', | ||
458 | + //记录状态 | ||
459 | + status: '2', | ||
460 | + //驾驶人姓名 | ||
461 | + driverName: '', | ||
462 | + //驾驶人联系方式 | ||
463 | + driverMobile: '', | ||
464 | + //开始时间 | ||
465 | + gmtCreate: '', | ||
466 | + //结束时间 | ||
467 | + endTime: '', | ||
468 | + }, | ||
469 | + //编辑记录的表单 | ||
470 | + editForm: {}, | ||
471 | + //添加调度记录,表单的验证规则对象 | ||
472 | + addDispatchNodeFormRules: { | ||
473 | + userName: [ | ||
474 | + {required: true, message: '请输入姓名', trigger: ['blur', 'change']}, | ||
475 | + ], | ||
476 | + userMobile: [ | ||
477 | + {required: true, message: '请输入联系方式', trigger: ['blur', 'change']}, | ||
478 | + {validator: userMobileValid, trigger: 'blur'} | ||
479 | + ], | ||
480 | + vehicleType: [ | ||
481 | + {required: true, message: '请选择车辆类型', trigger: ['blur', 'change']}, | ||
482 | + ], | ||
483 | + licensePlateNumber: [ | ||
484 | + {required: true, message: '请输入车牌号', trigger: ['blur', 'change']}, | ||
485 | + ], | ||
486 | + vehicleNumber: [ | ||
487 | + {required: true, message: '请输入车辆数量', trigger: ['blur', 'change']}, | ||
488 | + ], | ||
489 | + station: [ | ||
490 | + {required: true, message: '请选择场站位置', trigger: ['blur', 'change']}, | ||
491 | + ], | ||
492 | + dispatchType: [ | ||
493 | + {required: true, message: '请选择业务类型', trigger: ['blur', 'change']}, | ||
494 | + ], | ||
495 | + gmtCreate: [ | ||
496 | + {required: true, message: '请选择开始时间', trigger: ['blur', 'change']}, | ||
497 | + ], | ||
498 | + // endTime: [ | ||
499 | + // {required: true, message: '请选择结束时间', trigger: 'blur'}, | ||
500 | + // ], | ||
501 | + status: [ | ||
502 | + {required: true, message: '请选择记录状态', trigger: ['blur', 'change']}, | ||
503 | + ], | ||
504 | + }, | ||
505 | + //编辑调度记录,表单的验证规则对象 | ||
506 | + editFormRules: { | ||
507 | + userName: [ | ||
508 | + {required: true, message: '请输入姓名', trigger: ['blur', 'change']}, | ||
509 | + ], | ||
510 | + userMobile: [ | ||
511 | + {required: true, message: '请输入联系方式', trigger: ['blur', 'change']}, | ||
512 | + {validator: userMobileValid, trigger: 'blur'} | ||
513 | + ], | ||
514 | + vehicleType: [ | ||
515 | + {required: true, message: '请选择车辆类型', trigger: ['blur', 'change']}, | ||
516 | + ], | ||
517 | + licensePlateNumber: [ | ||
518 | + {required: true, message: '请输入车牌号', trigger: ['blur', 'change']}, | ||
519 | + ], | ||
520 | + vehicleNumber: [ | ||
521 | + {required: true, message: '请输入驾驶人电话', trigger: ['blur', 'change']}, | ||
522 | + ], | ||
523 | + station: [ | ||
524 | + {required: true, message: '请选择场站位置', trigger: ['blur', 'change']}, | ||
525 | + ], | ||
526 | + dispatchType: [ | ||
527 | + {required: true, message: '请选择业务类型', trigger: ['blur', 'change']}, | ||
528 | + ], | ||
529 | + // gmtCreate: [ | ||
530 | + // {required: true, message: '请选择开始时间', trigger: ['blur', 'change']}, | ||
531 | + // ], | ||
532 | + // endTime: [ | ||
533 | + // {required: true, message: '请选择结束时间', trigger: ['blur', 'change']}, | ||
534 | + // ], | ||
535 | + status: [ | ||
536 | + {required: true, message: '请选择记录状态', trigger: ['blur', 'change']}, | ||
537 | + ], | ||
538 | + }, | ||
539 | + //控制添加用户对话框的显示与隐藏 | ||
540 | + addDispatchNodeFormVisible: false, | ||
541 | + //控制编辑调度记录明细,对话框的显示与隐藏 | ||
542 | + viewDialogVisible: false, | ||
543 | + //记录的总条数 | ||
544 | + total: 0, | ||
545 | + /* 批量删除的选中列表 */ | ||
546 | + sels: [], | ||
547 | + /* 列表加载 */ | ||
548 | + listLoading: false, | ||
549 | + /* 添加加载 */ | ||
550 | + addLoading: false, | ||
551 | + /* 编辑加载 */ | ||
552 | + editLoading: false, | ||
553 | + /* 删除加载 */ | ||
554 | + delLoading: false, | ||
555 | + /* 开始调度加载 */ | ||
556 | + beginLoading: false, | ||
557 | + /* 结束调度加载 */ | ||
558 | + endLoading: false, | ||
559 | + //业务类型 选项列表 | ||
560 | + dispatchTypeList: [ | ||
561 | + { | ||
562 | + value: '1', | ||
563 | + label: '进站送货' | ||
564 | + }, | ||
565 | + { | ||
566 | + value: '2', | ||
567 | + label: '出站提货' | ||
568 | + }, | ||
569 | + { | ||
570 | + value: '3', | ||
571 | + label: '货物流转' | ||
572 | + }, | ||
573 | + { | ||
574 | + value: '4', | ||
575 | + label: '货物调拨' | ||
576 | + } | ||
577 | + ], | ||
578 | + //车辆类型,选项列表 | ||
579 | + vehicleTypeList: [ | ||
580 | + { | ||
581 | + value: '1', | ||
582 | + label: '重型货车' | ||
583 | + }, | ||
584 | + { | ||
585 | + value: '2', | ||
586 | + label: '中型货车' | ||
587 | + }, | ||
588 | + { | ||
589 | + value: '3', | ||
590 | + label: '经济货车' | ||
591 | + }, | ||
592 | + { | ||
593 | + value: '4', | ||
594 | + label: '微型货车' | ||
595 | + }, | ||
596 | + { | ||
597 | + value: '5', | ||
598 | + label: '拖车' | ||
599 | + }, | ||
600 | + { | ||
601 | + value: '6', | ||
602 | + label: '叉车' | ||
603 | + } | ||
604 | + ], | ||
605 | + /** | ||
606 | + * 场站位置,选项列表 | ||
607 | + */ | ||
608 | + stationList: [ | ||
609 | + { | ||
610 | + value: '1', | ||
611 | + label: '西货站' | ||
612 | + }, | ||
613 | + { | ||
614 | + value: '2', | ||
615 | + label: '综保区' | ||
616 | + }, | ||
617 | + { | ||
618 | + value: '3', | ||
619 | + label: '军投' | ||
620 | + }, | ||
621 | + { | ||
622 | + value: '4', | ||
623 | + label: '快邮' | ||
624 | + } | ||
625 | + ], | ||
626 | + //记录状态 选项列表 | ||
627 | + statusList: [ | ||
628 | + { | ||
629 | + value: '1', | ||
630 | + label: '完成状态' | ||
631 | + }, | ||
632 | + { | ||
633 | + value: '2', | ||
634 | + label: '执行状态' | ||
635 | + }, | ||
636 | + { | ||
637 | + value: '3', | ||
638 | + label: '取消状态' | ||
639 | + }, | ||
640 | + { | ||
641 | + value: '4', | ||
642 | + label: "待执行状态" | ||
643 | + } | ||
644 | + ], | ||
645 | + | ||
646 | + } | ||
647 | + }, | ||
648 | + methods: { | ||
649 | + /** | ||
650 | + * 管理员端,获取车辆调度记录列表 | ||
651 | + */ | ||
652 | + getDispatchNodeList() { | ||
653 | + //开启加载 | ||
654 | + this.listLoading = true; | ||
655 | + selectDispatchNoteList(this.queryInfo).then((response) => { | ||
656 | + let res = response.data; | ||
657 | + if (res.code !== '200') { | ||
658 | + //关闭加载 | ||
659 | + this.listLoading = false; | ||
660 | + return this.$message.error('获取车辆调度列表失败'); | ||
661 | + } | ||
662 | + // 获取车辆调度列表数据 | ||
663 | + this.DispatchNoteList = res.data.list; | ||
664 | + // 获取列表的总记录数 | ||
665 | + this.total = res.data.total; | ||
666 | + //关闭加载 | ||
667 | + this.listLoading = false; | ||
668 | + this.$message.success('获取车辆调度列表,成功'); | ||
669 | + }).catch(error => { | ||
670 | + this.listLoading = false; | ||
671 | + this.$message.error(error.toString()); | ||
672 | + }); | ||
673 | + }, | ||
674 | + /** | ||
675 | + * 管理员端,添加车辆调度记录 | ||
676 | + */ | ||
677 | + addDispatchNote() { | ||
678 | + /*进行表单的预验证*/ | ||
679 | + this.$refs.addDispatchNodeFormRef.validate(valid => { | ||
680 | + // 未通过,表单预校验 | ||
681 | + if (!valid) return; | ||
682 | + // 通过,表单预检验,发起添加车辆调度记录的网络请求 | ||
683 | + this.addLoading = true; | ||
684 | + insertDispatchNote(this.addDispatchNodeForm).then((response) => { | ||
685 | + let res = response.data; | ||
686 | + //添加调度记录信息,失败 | ||
687 | + if (res.code !== '200'){ | ||
688 | + //关闭加载 | ||
689 | + this.addLoading = false; | ||
690 | + return this.$message.error('添加调度记录信息,失败'); | ||
691 | + } | ||
692 | + //添加调度记录信息,成功 | ||
693 | + this.$message.success('添加调度记录信息,成功'); | ||
694 | + //关闭加载 | ||
695 | + this.addLoading = false; | ||
696 | + //隐藏对话框 | ||
697 | + this.addDispatchNodeFormVisible = false; | ||
698 | + //刷新车辆调度记录列表 | ||
699 | + this.getDispatchNodeList(); | ||
700 | + }).catch(error => { | ||
701 | + this.addLoading = false; | ||
702 | + this.$message.error(error.toString()); | ||
703 | + }); | ||
704 | + }) | ||
705 | + }, | ||
706 | + /** | ||
707 | + * 管理员端,删除车辆调度记录 | ||
708 | + */ | ||
709 | + removeDispatchNode(index, row) { | ||
710 | + //弹框询问是否删除车辆调度记录 | ||
711 | + this.$confirm('此操作永久删除该车辆调度记录, 是否继续?', '警告', { | ||
712 | + confirmButtonText: '确定删除', | ||
713 | + cancelButtonText: '取消', | ||
714 | + type: 'warning' | ||
715 | + } | ||
716 | + ).then(() => { | ||
717 | + //开启加载 | ||
718 | + this.delLoading = true; | ||
719 | + deleteDispatchNote(row).then((response) => { | ||
720 | + let res = response.data; | ||
721 | + if (res.code !== '200') { | ||
722 | + this.delLoading = false; | ||
723 | + return this.$message.error('删除车辆调度记录,失败'); | ||
724 | + } | ||
725 | + this.$message.success('删除车辆调度记录,成功!'); | ||
726 | + this.delLoading = false; | ||
727 | + //刷新车辆调度记录列表 | ||
728 | + this.getDispatchNodeList(); | ||
729 | + }).catch(error => { | ||
730 | + this.delLoading = false; | ||
731 | + this.$message.error(error.toString()); | ||
732 | + }); | ||
733 | + }).catch(() => { | ||
734 | + }); | ||
735 | + }, | ||
736 | + /** | ||
737 | + * 管理员端,编辑车辆调度记录 | ||
738 | + */ | ||
739 | + editDispatchNote() { | ||
740 | + /*进行表单的预验证*/ | ||
741 | + this.$refs.editFormRef.validate(valid => { | ||
742 | + // 未通过,表单预校验 | ||
743 | + if (!valid) return; | ||
744 | + // 通过,表单预检验,开启加载 | ||
745 | + this.editLoading = true; | ||
746 | + updateDispatchNote(this.editForm).then((response) => { | ||
747 | + let res = response.data; | ||
748 | + if (res.code !== '200') { | ||
749 | + //关闭加载 | ||
750 | + this.editLoading = false; | ||
751 | + return this.$message.error('修改车辆调度记录信息,失败'); | ||
752 | + } | ||
753 | + this.$message.success('修改车辆调度记录信息,成功!'); | ||
754 | + //关闭加载 | ||
755 | + this.editLoading = false; | ||
756 | + //关闭编辑车辆调度记录对话框 | ||
757 | + this.viewDialogVisible = false; | ||
758 | + //刷新车辆调度列表 | ||
759 | + this.getDispatchNodeList(); | ||
760 | + }).catch(error => { | ||
761 | + this.editLoading = false; | ||
762 | + this.$message.error(error.toString()); | ||
763 | + }); | ||
764 | + }); | ||
765 | + }, | ||
766 | + /** | ||
767 | + * 管理员端,手动,开始调度任务 | ||
768 | + */ | ||
769 | + startDispatch(index, row) { | ||
770 | + //开启加载 | ||
771 | + this.beginLoading = true; | ||
772 | + startTask(row).then((response) => { | ||
773 | + let res = response.data; | ||
774 | + if (res.code !== '200') { | ||
775 | + //关闭加载 | ||
776 | + this.beginLoading = false; | ||
777 | + return this.$message.error('手动开始调度任务,失败'); | ||
778 | + } | ||
779 | + //关闭加载 | ||
780 | + this.beginLoading = false; | ||
781 | + this.$message.success('手动开始调度任务,成功!'); | ||
782 | + //刷新车辆调度列表 | ||
783 | + this.getDispatchNodeList(); | ||
784 | + }).catch(error => { | ||
785 | + this.beginLoading = false; | ||
786 | + this.$message.error(error.toString()); | ||
787 | + }); | ||
788 | + }, | ||
789 | + /** | ||
790 | + * 管理员端,手动,完成调度任务 | ||
791 | + */ | ||
792 | + completeDispatch(index, row) { | ||
793 | + //开启加载 | ||
794 | + this.endLoading = true; | ||
795 | + completeTask(row).then((response) => { | ||
796 | + let res = response.data; | ||
797 | + if (res.code !== '200') { | ||
798 | + //关闭加载 | ||
799 | + this.endLoading = false; | ||
800 | + return this.$message.error('手动完成调度任务,失败'); | ||
801 | + } | ||
802 | + //关闭加载 | ||
803 | + this.endLoading = false; | ||
804 | + this.$message.success('手动完成调度任务,成功!'); | ||
805 | + //刷新车辆调度列表 | ||
806 | + this.getDispatchNodeList(); | ||
807 | + }).catch(error => { | ||
808 | + this.endLoading = false; | ||
809 | + this.$message.error(error.toString()); | ||
810 | + }); | ||
811 | + }, | ||
812 | + /** | ||
813 | + * 批量删除,之前的选中 | ||
814 | + */ | ||
815 | + selsChange: function (sels) { | ||
816 | + this.sels = sels; | ||
817 | + }, | ||
818 | + /** | ||
819 | + * 车辆状态为执行状态的时候,无法被选中 | ||
820 | + */ | ||
821 | + isSelectable(row, index) { | ||
822 | + if (row.status === '2') { | ||
823 | + return false; | ||
824 | + } else { | ||
825 | + return true; | ||
826 | + } | ||
827 | + }, | ||
828 | + /** | ||
829 | + * 批量删除功能 | ||
830 | + */ | ||
831 | + batchRemove() { | ||
832 | + var ids = this.sels.map(item => item.id).toString(); | ||
833 | + console.log(ids); | ||
834 | + //弹框询问是否批量删除选中的车辆调度记录 | ||
835 | + this.$confirm('此操作永久删除选中的车辆调度记录, 是否继续?', '警告', { | ||
836 | + confirmButtonText: '确定删除', | ||
837 | + cancelButtonText: '取消', | ||
838 | + type: 'warning' | ||
839 | + } | ||
840 | + ).then(() => { | ||
841 | + //开启加载 | ||
842 | + this.listLoading = true; | ||
843 | + let params = {ids: ids}; | ||
844 | + batchRemoveDispatchNode(params).then(response => { | ||
845 | + let res = response.data; | ||
846 | + if (res.code !== '200') { | ||
847 | + this.listLoading = false; | ||
848 | + return this.$message.error('删除车辆调度记录,失败'); | ||
849 | + } | ||
850 | + this.$message.success('删除车辆调度记录,成功!'); | ||
851 | + this.listLoading = false; | ||
852 | + //刷新车辆调度记录列表 | ||
853 | + this.getDispatchNodeList(); | ||
854 | + }).catch(error => { | ||
855 | + this.delLoading = false; | ||
856 | + this.$message.error(error.toString()); | ||
857 | + }); | ||
858 | + }).catch(() => { | ||
859 | + }); | ||
860 | + }, | ||
861 | + //监听,我要调度车辆,对话框的关闭事件 | ||
862 | + dispatchDialogClosed() { | ||
863 | + //重置对话框 | ||
864 | + this.$refs.addDispatchNodeFormRef.resetFields(); | ||
865 | + }, | ||
866 | + //监听,编辑调度记录,对话框的关闭事件 | ||
867 | + editDialogClosed() { | ||
868 | + //重置对话框 | ||
869 | + this.$refs.editFormRef.resetFields(); | ||
870 | + }, | ||
871 | + //监听pageSize改变的事件 | ||
872 | + handleSizeChange(newSize) { | ||
873 | + this.queryInfo.pageSize = newSize; | ||
874 | + //刷新车辆调度记录列表 | ||
875 | + this.getDispatchNodeList(); | ||
876 | + }, | ||
877 | + //监听当前页码值改变的事件 | ||
878 | + handleCurrentChange(newPage) { | ||
879 | + this.queryInfo.pageNum = newPage; | ||
880 | + //刷新车辆调度记录列表 | ||
881 | + this.getDispatchNodeList(); | ||
882 | + }, | ||
883 | + | ||
884 | + /** | ||
885 | + * 打开编辑调度记录,对话框 | ||
886 | + * @param index | ||
887 | + * @param row:该行的数据对象 | ||
888 | + */ | ||
889 | + showDialogVisible(index, row) { | ||
890 | + this.editForm = Object.assign({}, row); | ||
891 | + this.viewDialogVisible = true; | ||
892 | + }, | ||
893 | + /** | ||
894 | + * 根据状态的不同区分颜色 | ||
895 | + * | ||
896 | + * @param row | ||
897 | + * @param rowIndex | ||
898 | + */ | ||
899 | + rowStatus({row, rowIndex}) { | ||
900 | + if (row.status === '1') { | ||
901 | + return 'success-row'; | ||
902 | + } | ||
903 | + if (row.status === '2') { | ||
904 | + return 'run-row'; | ||
905 | + } | ||
906 | + if (row.status === '3') { | ||
907 | + return 'cancel-row'; | ||
908 | + } | ||
909 | + if (row.status === '4') { | ||
910 | + return 'await-row'; | ||
911 | + } | ||
912 | + } | ||
913 | + } | ||
914 | + } | ||
915 | +</script> | ||
916 | +<style> | ||
917 | + /* 完成状态 */ | ||
918 | + .el-table .success-row { | ||
919 | + background: rgba(64, 158, 255, 0.2); | ||
920 | + } | ||
921 | + | ||
922 | + /* 执行状态 */ | ||
923 | + .el-table .run-row { | ||
924 | + background: rgba(103, 194, 58, 0.2); | ||
925 | + } | ||
926 | + | ||
927 | + /* 取消状态 */ | ||
928 | + .el-table .cancel-row { | ||
929 | + background: rgba(144, 147, 153, 0.2); | ||
930 | + } | ||
931 | + | ||
932 | + /* 待执行状态 */ | ||
933 | + .el-table .await-row { | ||
934 | + background: rgba(230, 162, 60, 0.2); | ||
935 | + } | ||
936 | +</style> |
@@ -257,13 +257,13 @@ | @@ -257,13 +257,13 @@ | ||
257 | </template> | 257 | </template> |
258 | 258 | ||
259 | <script> | 259 | <script> |
260 | - // import { | ||
261 | - // selectDriverInfoList, | ||
262 | - // insertDriverInfo, | ||
263 | - // updateDriverInfo, | ||
264 | - // batchRemoveDriverInfo, | ||
265 | - // deleteDriverInfo, | ||
266 | - // } from "../../api/dispatch_api"; | 260 | + import { |
261 | + selectDriverInfoList, | ||
262 | + insertDriverInfo, | ||
263 | + updateDriverInfo, | ||
264 | + batchRemoveDriverInfo, | ||
265 | + deleteDriverInfo, | ||
266 | + } from "../../api/dispatch_api"; | ||
267 | 267 | ||
268 | export default { | 268 | export default { |
269 | name: "dispatch_api", | 269 | name: "dispatch_api", |
@@ -288,13 +288,13 @@ | @@ -288,13 +288,13 @@ | ||
288 | </template> | 288 | </template> |
289 | 289 | ||
290 | <script> | 290 | <script> |
291 | - // import { | ||
292 | - // selectVehicleInfoList, | ||
293 | - // insertVehicleInfo, | ||
294 | - // updateVehicleInfo, | ||
295 | - // batchRemoveVehicleInfo, | ||
296 | - // deleteVehicleInfo, deleteDispatchNote | ||
297 | - // } from "../../api/dispatch_api"; | 291 | + import { |
292 | + selectVehicleInfoList, | ||
293 | + insertVehicleInfo, | ||
294 | + updateVehicleInfo, | ||
295 | + batchRemoveVehicleInfo, | ||
296 | + deleteVehicleInfo, deleteDispatchNote | ||
297 | + } from "../../api/dispatch_api"; | ||
298 | 298 | ||
299 | export default { | 299 | export default { |
300 | name: "dispatch_api", | 300 | name: "dispatch_api", |
@@ -4,13 +4,16 @@ | @@ -4,13 +4,16 @@ | ||
4 | <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> | 4 | <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> |
5 | <el-form :inline="true" :model="filters"> | 5 | <el-form :inline="true" :model="filters"> |
6 | <el-form-item> | 6 | <el-form-item> |
7 | - <el-input v-model="filters.name" placeholder="权限名称"></el-input> | 7 | + <el-input v-model="filters.name" placeholder="权限名称"> |
8 | + <template slot="prepend">权限名称</template> | ||
9 | + </el-input> | ||
10 | + | ||
8 | </el-form-item> | 11 | </el-form-item> |
9 | <el-form-item> | 12 | <el-form-item> |
10 | - <el-button type="primary" v-on:click="getTableList()">查询</el-button> | 13 | + <el-button type="primary" v-on:click="getTableList()" icon="el-icon-search">查  询</el-button> |
11 | </el-form-item> | 14 | </el-form-item> |
12 | <el-form-item> | 15 | <el-form-item> |
13 | - <el-button type="primary" @click="handleAdd">新增</el-button> | 16 | + <el-button type="success" @click="handleAdd" icon="el-icon-document">新  增</el-button> |
14 | </el-form-item> | 17 | </el-form-item> |
15 | </el-form> | 18 | </el-form> |
16 | </el-col> | 19 | </el-col> |
@@ -34,18 +37,19 @@ | @@ -34,18 +37,19 @@ | ||
34 | </el-table-column> | 37 | </el-table-column> |
35 | <el-table-column prop="name" label="权限名称" min-width="150" sortable> | 38 | <el-table-column prop="name" label="权限名称" min-width="150" sortable> |
36 | </el-table-column> | 39 | </el-table-column> |
37 | - <el-table-column prop="description" label="描述" min-width="120" sortable> | ||
38 | - </el-table-column> | 40 | +<!-- <el-table-column prop="description" label="描述" min-width="120" sortable>--> |
41 | +<!-- </el-table-column>--> | ||
39 | <el-table-column prop="ismenu" label="是否目录" width="100" :formatter="formatState" sortable> | 42 | <el-table-column prop="ismenu" label="是否目录" width="100" :formatter="formatState" sortable> |
40 | </el-table-column> | 43 | </el-table-column> |
41 | <el-table-column prop="path" label="访问路径" width="300" sortable> | 44 | <el-table-column prop="path" label="访问路径" width="300" sortable> |
42 | </el-table-column> | 45 | </el-table-column> |
43 | <el-table-column prop="permissionOrder" label="排序" width="100" sortable> | 46 | <el-table-column prop="permissionOrder" label="排序" width="100" sortable> |
44 | </el-table-column> | 47 | </el-table-column> |
45 | - <el-table-column label="操作" min-width="100" fixed="right"> | 48 | + <el-table-column label="操作" min-width="150" fixed="right"> |
46 | <template slot-scope="scope"> | 49 | <template slot-scope="scope"> |
47 | - <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> | ||
48 | - <el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button> | 50 | + <el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> |
51 | + <el-button type="success" @click="handleEdit(scope.$index, scope.row)">白名单</el-button> | ||
52 | + <el-button type="danger" @click="handleDel(scope.$index, scope.row)">删除</el-button> | ||
49 | </template> | 53 | </template> |
50 | </el-table-column> | 54 | </el-table-column> |
51 | </el-table> | 55 | </el-table> |
@@ -84,17 +88,17 @@ | @@ -84,17 +88,17 @@ | ||
84 | </el-row> | 88 | </el-row> |
85 | <el-row :gutter="20"> | 89 | <el-row :gutter="20"> |
86 | <el-col> | 90 | <el-col> |
87 | - <el-form-item label="权限总路径" prop="path"> | 91 | + <el-form-item label="菜单访问路径" prop="path"> |
88 | <el-input v-model="addForm.path" auto-complete="off" placeholder="设置为前端router的path值"></el-input> | 92 | <el-input v-model="addForm.path" auto-complete="off" placeholder="设置为前端router的path值"></el-input> |
89 | - <el-cascader-panel | ||
90 | - v-model="addForm.path" | ||
91 | - :options="cascaderOptions" | ||
92 | - :props="pannelProps" | ||
93 | - ></el-cascader-panel> | 93 | +<!-- <el-cascader-panel--> |
94 | +<!-- v-model="addForm.path"--> | ||
95 | +<!-- :options="cascaderOptions"--> | ||
96 | +<!-- :props="pannelProps"--> | ||
97 | +<!-- ></el-cascader-panel>--> | ||
94 | </el-form-item> | 98 | </el-form-item> |
95 | </el-col> | 99 | </el-col> |
96 | </el-row> | 100 | </el-row> |
97 | - <el-form-item label="具体访问路径" prop="url"> | 101 | + <el-form-item label="接口访问路径" prop="url"> |
98 | <el-input v-model="addForm.url" auto-complete="off" placeholder="设置为后端微服务路径:例如:/cloud-user-center/user/update"></el-input> | 102 | <el-input v-model="addForm.url" auto-complete="off" placeholder="设置为后端微服务路径:例如:/cloud-user-center/user/update"></el-input> |
99 | <el-cascader-panel | 103 | <el-cascader-panel |
100 | v-model="addForm.url" | 104 | v-model="addForm.url" |
@@ -436,7 +440,7 @@ | @@ -436,7 +440,7 @@ | ||
436 | } | 440 | } |
437 | }, | 441 | }, |
438 | tableRowClassName({row, rowIndex}) { | 442 | tableRowClassName({row, rowIndex}) { |
439 | - if (row.parentId == 0) { | 443 | + if (row.parentId === 0 || row.ismenu) { |
440 | return 'warning-row'; | 444 | return 'warning-row'; |
441 | } else { | 445 | } else { |
442 | return 'success-row'; | 446 | return 'success-row'; |
@@ -4,16 +4,20 @@ | @@ -4,16 +4,20 @@ | ||
4 | <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> | 4 | <el-col :span="24" class="toolbar" style="padding-bottom: 0px;"> |
5 | <el-form :inline="true" :model="filters"> | 5 | <el-form :inline="true" :model="filters"> |
6 | <el-form-item> | 6 | <el-form-item> |
7 | - <el-input v-model="filters.realName" placeholder="姓名"></el-input> | 7 | + <el-input v-model="filters.realName" placeholder="真实姓名"> |
8 | + <template slot="prepend">姓名</template> | ||
9 | + </el-input> | ||
8 | </el-form-item> | 10 | </el-form-item> |
9 | <el-form-item> | 11 | <el-form-item> |
10 | - <el-input v-model="filters.userName" placeholder="账号"></el-input> | 12 | + <el-input v-model="filters.userName" placeholder="登录账号"> |
13 | + <template slot="prepend">账号</template> | ||
14 | + </el-input> | ||
11 | </el-form-item> | 15 | </el-form-item> |
12 | <el-form-item> | 16 | <el-form-item> |
13 | - <el-button type="primary" v-on:click="getUsers">查询</el-button> | 17 | + <el-button type="primary" v-on:click="getUsers" icon="el-icon-search">查询</el-button> |
14 | </el-form-item> | 18 | </el-form-item> |
15 | <el-form-item> | 19 | <el-form-item> |
16 | - <el-button type="primary" @click="handleAdd">新增</el-button> | 20 | + <el-button type="success" @click="handleAdd" icon="el-icon-document">新增</el-button> |
17 | </el-form-item> | 21 | </el-form-item> |
18 | </el-form> | 22 | </el-form> |
19 | </el-col> | 23 | </el-col> |
@@ -23,7 +27,7 @@ | @@ -23,7 +27,7 @@ | ||
23 | @selection-change="selsChange" | 27 | @selection-change="selsChange" |
24 | tooltip-effect="dark" | 28 | tooltip-effect="dark" |
25 | style="border-radius: 10px 10px 0px 0px;line-height: 25px;" | 29 | style="border-radius: 10px 10px 0px 0px;line-height: 25px;" |
26 | - :header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" size="small"> | 30 | + :header-cell-style="{background:'#6F8294',color:'#FFFFFF'}" > |
27 | <el-table-column type="selection" width="55"> | 31 | <el-table-column type="selection" width="55"> |
28 | </el-table-column> | 32 | </el-table-column> |
29 | <!--<el-table-column type="index" width="60">--> | 33 | <!--<el-table-column type="index" width="60">--> |
@@ -42,17 +46,17 @@ | @@ -42,17 +46,17 @@ | ||
42 | </el-table-column> | 46 | </el-table-column> |
43 | <el-table-column prop="updatetime" label="更新时间" width="170" sortable> | 47 | <el-table-column prop="updatetime" label="更新时间" width="170" sortable> |
44 | </el-table-column> | 48 | </el-table-column> |
45 | - <el-table-column prop="address" label="地址" min-width="180"> | ||
46 | - </el-table-column> | ||
47 | - <el-table-column prop="email" label="Email" min-width="180"> | ||
48 | - </el-table-column> | 49 | +<!-- <el-table-column prop="address" label="地址" min-width="180">--> |
50 | +<!-- </el-table-column>--> | ||
51 | +<!-- <el-table-column prop="email" label="Email" min-width="180">--> | ||
52 | +<!-- </el-table-column>--> | ||
49 | <el-table-column prop="state" label="启用" width="100" :formatter="formatState" sortable> | 53 | <el-table-column prop="state" label="启用" width="100" :formatter="formatState" sortable> |
50 | </el-table-column> | 54 | </el-table-column> |
51 | <el-table-column label="操作" width="250" fixed="right"> | 55 | <el-table-column label="操作" width="250" fixed="right"> |
52 | <template slot-scope="scope"> | 56 | <template slot-scope="scope"> |
53 | - <el-button size="small" @click="roleEdit(scope.$index, scope.row)">角色配置</el-button> | ||
54 | - <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> | ||
55 | - <el-button type="danger" size="small" @click="handleDel(scope.$index, scope.row)">删除</el-button> | 57 | + <el-button @click="handleEdit(scope.$index, scope.row)">编辑</el-button> |
58 | + <el-button type="info" @click="roleEdit(scope.$index, scope.row)">角色配置</el-button> | ||
59 | + <el-button type="danger" @click="handleDel(scope.$index, scope.row)">删除</el-button> | ||
56 | </template> | 60 | </template> |
57 | </el-table-column> | 61 | </el-table-column> |
58 | </el-table> | 62 | </el-table> |
@@ -64,124 +68,126 @@ | @@ -64,124 +68,126 @@ | ||
64 | </el-pagination> | 68 | </el-pagination> |
65 | </el-col> | 69 | </el-col> |
66 | 70 | ||
67 | - <!--编辑界面--> | ||
68 | - <el-dialog title="编辑" :visible.sync="editFormVisible" :close-on-click-modal="false"> | ||
69 | - <el-form :model="editForm" label-width="80px" :rules="editFormRules" ref="editForm"> | ||
70 | - | ||
71 | - <el-form-item label="所属公司" prop="companyId"> | ||
72 | - <el-select v-model="editForm.companyId" filterable placeholder="请选择"> | ||
73 | - <el-option | ||
74 | - v-for="item in options" | ||
75 | - :key="item.roleId" | ||
76 | - :label="item.roleName" | ||
77 | - :value="item.roleId"> | ||
78 | - </el-option> | ||
79 | - </el-select> | ||
80 | - </el-form-item> | 71 | + <!--新增界面--> |
72 | + <el-dialog :title="dialogMap[dialogStatus]" :visible.sync="addFormVisible" :close-on-click-modal="false"> | ||
73 | + <el-form :model="addForm" label-width="80px" ref="addForm" class="user-form"> | ||
74 | +<!-- <el-form-item label="所属公司" prop="companyId">--> | ||
75 | +<!-- <el-select v-model="addForm.companyId" filterable placeholder="请选择">--> | ||
76 | +<!-- <el-option--> | ||
77 | +<!-- v-for="item in options"--> | ||
78 | +<!-- :key="item.roleId"--> | ||
79 | +<!-- :label="item.roleName"--> | ||
80 | +<!-- :value="item.roleId">--> | ||
81 | +<!-- </el-option>--> | ||
82 | +<!-- </el-select>--> | ||
83 | +<!-- </el-form-item>--> | ||
81 | <el-form-item label="ID"> | 84 | <el-form-item label="ID"> |
82 | - <span>{{editForm.userId}}</span> | ||
83 | - </el-form-item> | ||
84 | - <el-form-item label="账号"> | ||
85 | - <span>{{editForm.username}}</span> | ||
86 | - </el-form-item> | ||
87 | - <el-form-item label="密码" prop="password"> | ||
88 | - <el-input v-model="editForm.password" auto-complete="off" type="password" show-password></el-input> | ||
89 | - </el-form-item> | ||
90 | - <el-form-item label="姓名" prop="realname"> | ||
91 | - <el-input v-model="editForm.realname" auto-complete="off"></el-input> | ||
92 | - </el-form-item> | ||
93 | - <el-form-item label="电话" prop="mobilephone"> | ||
94 | - <el-input v-model="editForm.mobilephone" auto-complete="off"></el-input> | ||
95 | - </el-form-item> | ||
96 | - <el-form-item label="Email" prop="email"> | ||
97 | - <el-input v-model="editForm.email" auto-complete="off"></el-input> | ||
98 | - </el-form-item> | ||
99 | - <el-form-item label="性别"> | ||
100 | - <el-radio-group v-model="editForm.sex"> | ||
101 | - <el-radio class="radio" label="1" >男</el-radio> | ||
102 | - <el-radio class="radio" label="0" >女</el-radio> | ||
103 | - </el-radio-group> | ||
104 | - </el-form-item> | ||
105 | - <el-form-item label="年龄"> | ||
106 | - <el-input-number v-model="editForm.age" :min="0" :max="200"></el-input-number> | ||
107 | - </el-form-item> | ||
108 | - <!--<el-form-item label="创建日期">--> | ||
109 | - <!--<el-date-picker type="date" placeholder="创建日期" v-model="editForm.creattime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss"></el-date-picker>--> | ||
110 | - <!--</el-form-item>--> | ||
111 | - <el-form-item label="地址"> | ||
112 | - <el-input type="textarea" v-model="editForm.address"></el-input> | 85 | + <span>{{addForm.userId}}</span> |
113 | </el-form-item> | 86 | </el-form-item> |
114 | - <el-form-item label="启用"> | ||
115 | - <el-radio-group v-model="editForm.state"> | ||
116 | - <el-radio class="radio" label="true" >是</el-radio> | ||
117 | - <el-radio class="radio" label="false" >否</el-radio> | ||
118 | - </el-radio-group> | ||
119 | - </el-form-item> | ||
120 | - <el-form-item lable="头像"> | ||
121 | - <el-upload | ||
122 | - class="avatar-uploader" | ||
123 | - action="http://127.0.0.1:7003/upload" | ||
124 | - :show-file-list="true" | ||
125 | - accept="image/jpeg,image/jpg,image/png" | ||
126 | - :on-success="handleAvatarSuccess" | ||
127 | - :before-upload="beforeAvatarUpload" | 87 | + <el-row> |
88 | + <el-col :span="12"> | ||
89 | + <el-form-item label=" " prop="username" :rules="addFormRules.username"> | ||
90 | + <el-input v-model="addForm.username" aria-placeholder="用户名长度在5-11位,支持英文和数字"> | ||
91 | + <template slot="prepend">账 号</template> | ||
92 | + </el-input> | ||
93 | + </el-form-item> | ||
94 | + </el-col> | ||
95 | + <el-col :span="12"> | ||
96 | + <el-form-item label=" " prop="realname"> | ||
97 | + <el-input v-model="addForm.realname"> | ||
98 | + <template slot="prepend">姓 名</template> | ||
99 | + </el-input> | ||
100 | + </el-form-item> | ||
101 | + </el-col> | ||
102 | + </el-row> | ||
103 | + <el-row> | ||
104 | + <el-col :span="12"> | ||
105 | + <el-form-item label=" " prop="password" :rules="dialogStatus==='update'?[{ required: false}]:addFormRules.password"> | ||
106 | + <el-input v-model="addForm.password" type="password" show-password :disabled="dialogStatus==='update'"> | ||
107 | + <template slot="prepend">密 码</template> | ||
108 | + </el-input> | ||
109 | + </el-form-item> | ||
110 | + </el-col> | ||
111 | + <el-col :span="12"> | ||
112 | + <el-form-item label=" " prop="checkPass" :rules="dialogStatus==='update'?[{ required: false}]:addFormRules.checkPass"> | ||
113 | + <el-input v-model="addForm.checkPass" type="password" show-password :disabled="dialogStatus==='update'"> | ||
114 | + <template slot="prepend">确认密码</template> | ||
115 | + </el-input> | ||
116 | + </el-form-item> | ||
117 | + </el-col> | ||
118 | + </el-row> | ||
119 | + <el-row> | ||
120 | + <el-col :span="12"> | ||
121 | + <el-form-item label=" " prop="email"> | ||
122 | + <el-input v-model="addForm.email"> | ||
123 | + <template slot="prepend">Email </template> | ||
124 | + </el-input> | ||
125 | + </el-form-item> | ||
126 | + </el-col> | ||
127 | + <el-col :span="12"> | ||
128 | + <el-form-item label=" " prop="address"> | ||
129 | + <el-input v-model="addForm.address"> | ||
130 | + <template slot="prepend">地 址</template> | ||
131 | + </el-input> | ||
132 | + </el-form-item> | ||
133 | + </el-col> | ||
134 | + </el-row> | ||
135 | + <el-row> | ||
136 | + <el-col :span="12"> | ||
137 | + <el-form-item label=" " prop="mobilephone"> | ||
138 | + <el-input v-model="addForm.mobilephone"> | ||
139 | + <template slot="prepend">电 话</template> | ||
140 | + </el-input> | ||
141 | + </el-form-item> | ||
142 | + </el-col> | ||
143 | + </el-row> | ||
144 | + <el-divider></el-divider> | ||
145 | + <el-row> | ||
146 | + <el-col :span="12"> | ||
147 | + <el-form-item label="性别" prop="sex"> | ||
148 | + <el-radio-group v-model="addForm.sex"> | ||
149 | + <el-radio class="radio" :label="1">男</el-radio> | ||
150 | + <el-radio class="radio" :label="0">女</el-radio> | ||
151 | + </el-radio-group> | ||
152 | + </el-form-item> | ||
153 | + </el-col> | ||
154 | + <el-col :span="12"> | ||
155 | + <el-form-item label="启用" prop="state"> | ||
156 | + <el-radio-group v-model="addForm.state"> | ||
157 | + <el-radio class="radio" :label="true" >是</el-radio> | ||
158 | + <el-radio class="radio" :label="false" >否</el-radio> | ||
159 | + </el-radio-group> | ||
160 | + </el-form-item> | ||
161 | + </el-col> | ||
162 | + </el-row> | ||
163 | + <el-row> | ||
164 | + <el-col :span="24"> | ||
165 | + <el-form-item label="年龄" prop="age"> | ||
166 | + <el-input-number v-model="addForm.age" :min="0" :max="200"></el-input-number> | ||
167 | + </el-form-item> | ||
168 | + </el-col> | ||
169 | + </el-row> | ||
170 | + <el-row> | ||
171 | + <el-col :span="24"> | ||
172 | + <el-form-item lable="头像" prop="userface"> | ||
173 | + <el-upload | ||
174 | + class="avatar-uploader" | ||
175 | + action="http://127.0.0.1:7003/upload" | ||
176 | + :show-file-list="true" | ||
177 | + accept="image/jpeg,image/jpg,image/png" | ||
178 | + :on-success="handleAvatarSuccess" | ||
179 | + :before-upload="beforeAvatarUpload" | ||
128 | > | 180 | > |
129 | - <img v-if="faceImageUrl" :src="faceImageUrl" class="avatar"> | ||
130 | - <i v-else class="el-icon-plus avatar-uploader-icon"></i> | ||
131 | - </el-upload> | ||
132 | - </el-form-item> | ||
133 | - </el-form> | ||
134 | - <div slot="footer" class="dialog-footer"> | ||
135 | - <el-button @click.native="editFormVisible = false">取消</el-button> | ||
136 | - <el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button> | ||
137 | - </div> | ||
138 | - </el-dialog> | ||
139 | - | ||
140 | - <!--新增界面--> | ||
141 | - <el-dialog title="新增" :visible.sync="addFormVisible" :close-on-click-modal="false"> | ||
142 | - <el-form :model="addForm" label-width="80px" :rules="addFormRules" ref="addForm"> | ||
143 | - | ||
144 | - <el-form-item label="所属公司" prop="companyId"> | ||
145 | - <el-select v-model="addForm.companyId" filterable placeholder="请选择"> | ||
146 | - <el-option | ||
147 | - v-for="item in options" | ||
148 | - :key="item.roleId" | ||
149 | - :label="item.roleName" | ||
150 | - :value="item.roleId"> | ||
151 | - </el-option> | ||
152 | - </el-select> | ||
153 | - </el-form-item> | ||
154 | - <el-form-item label="账号" prop="username"> | ||
155 | - <el-input v-model="addForm.username" aria-placeholder="用户名长度在5-11位,支持英文和数字"></el-input> | ||
156 | - </el-form-item> | ||
157 | - <el-form-item label="密码" prop="password"> | ||
158 | - <el-input v-model="addForm.password" type="password"></el-input> | ||
159 | - </el-form-item> | ||
160 | - <el-form-item label="姓名" prop="realname"> | ||
161 | - <el-input v-model="addForm.realname"></el-input> | ||
162 | - </el-form-item> | ||
163 | - <el-form-item label="电话" prop="mobilephone"> | ||
164 | - <el-input v-model="addForm.mobilephone"></el-input> | ||
165 | - </el-form-item> | ||
166 | - <el-form-item label="Email" prop="email"> | ||
167 | - <el-input v-model="addForm.email"></el-input> | ||
168 | - </el-form-item> | ||
169 | - <el-form-item label="性别"> | ||
170 | - <el-radio-group v-model="addForm.sex"> | ||
171 | - <el-radio class="radio" label="1">男</el-radio> | ||
172 | - <el-radio class="radio" label="0">女</el-radio> | ||
173 | - </el-radio-group> | ||
174 | - </el-form-item> | ||
175 | - <el-form-item label="年龄" prop="age"> | ||
176 | - <el-input-number v-model="addForm.age" :min="0" :max="200"></el-input-number> | ||
177 | - </el-form-item> | ||
178 | - <el-form-item label="地址"> | ||
179 | - <el-input type="textarea" v-model="addForm.address"></el-input> | ||
180 | - </el-form-item> | 181 | + <img v-if="faceImageUrl" :src="faceImageUrl" class="avatar"> |
182 | + <i v-else class="el-icon-plus avatar-uploader-icon"></i> | ||
183 | + </el-upload> | ||
184 | + </el-form-item> | ||
185 | + </el-col> | ||
186 | + </el-row> | ||
181 | </el-form> | 187 | </el-form> |
182 | <div slot="footer" class="dialog-footer"> | 188 | <div slot="footer" class="dialog-footer"> |
183 | <el-button @click.native="addFormVisible = false">取消</el-button> | 189 | <el-button @click.native="addFormVisible = false">取消</el-button> |
184 | - <el-button type="primary" @click.native="addSubmit" :loading="addLoading">提交</el-button> | 190 | + <el-button type="primary" @click.native="dialogStatus==='create'?addSubmit():editSubmit()" :loading="addLoading">提交</el-button> |
185 | </div> | 191 | </div> |
186 | </el-dialog> | 192 | </el-dialog> |
187 | 193 | ||
@@ -215,6 +221,16 @@ | @@ -215,6 +221,16 @@ | ||
215 | import moment from 'moment' | 221 | import moment from 'moment' |
216 | export default { | 222 | export default { |
217 | data() { | 223 | data() { |
224 | + var validatePass = (rule, value, callback) => { | ||
225 | + if (value === '') { | ||
226 | + callback(new Error('请输入密码')); | ||
227 | + } else { | ||
228 | + if (this.checkPass !== '') { | ||
229 | + this.$refs.addForm.validateField('checkPass'); | ||
230 | + } | ||
231 | + callback(); | ||
232 | + } | ||
233 | + }; | ||
218 | return { | 234 | return { |
219 | filters: { | 235 | filters: { |
220 | userName: '', | 236 | userName: '', |
@@ -224,6 +240,11 @@ | @@ -224,6 +240,11 @@ | ||
224 | children: 'children', | 240 | children: 'children', |
225 | label: 'roleName', | 241 | label: 'roleName', |
226 | }, | 242 | }, |
243 | + dialogMap: { | ||
244 | + update: '编辑', | ||
245 | + create: '新增', | ||
246 | + }, | ||
247 | + dialogStatus: 'create', | ||
227 | users: [], | 248 | users: [], |
228 | total: 0, | 249 | total: 0, |
229 | pageNum: 1, | 250 | pageNum: 1, |
@@ -232,28 +253,6 @@ | @@ -232,28 +253,6 @@ | ||
232 | listLoading: false, | 253 | listLoading: false, |
233 | sels: [],//列表选中列 | 254 | sels: [],//列表选中列 |
234 | //编辑界面是否显示 | 255 | //编辑界面是否显示 |
235 | - editFormVisible: false, | ||
236 | - editLoading: false, | ||
237 | - editFormRules: { | ||
238 | - name: [ | ||
239 | - { required: true, message: '请输入姓名', trigger: 'blur' } | ||
240 | - ] | ||
241 | - }, | ||
242 | - //编辑界面数据 | ||
243 | - editForm: { | ||
244 | - userId: 1, | ||
245 | - username: '', | ||
246 | - password: '', | ||
247 | - sex: 1, | ||
248 | - creattime: '', | ||
249 | - address: '', | ||
250 | - realname: '', | ||
251 | - email: '', | ||
252 | - mobilephone: '', | ||
253 | - state: 'true', | ||
254 | - companyId:'' | ||
255 | - }, | ||
256 | - | ||
257 | addFormVisible: false,//新增界面是否显示 | 256 | addFormVisible: false,//新增界面是否显示 |
258 | addLoading: false, | 257 | addLoading: false, |
259 | addFormRules: { | 258 | addFormRules: { |
@@ -263,14 +262,17 @@ | @@ -263,14 +262,17 @@ | ||
263 | password: [ | 262 | password: [ |
264 | { required: true, message: '请输入密码,用户名长度在6-18位,支持英文和数字和非空字符', trigger: 'blur'} | 263 | { required: true, message: '请输入密码,用户名长度在6-18位,支持英文和数字和非空字符', trigger: 'blur'} |
265 | ], | 264 | ], |
266 | - companyId: [ | ||
267 | - { required: true, message: '请选择所属您的所属公司', trigger: 'blur' }, | 265 | + checkPass: [ |
266 | + { required: true, message: '请输入密码,用户名长度在6-18位,支持英文和数字和非空字符', trigger: 'blur'} | ||
268 | ] | 267 | ] |
269 | }, | 268 | }, |
270 | //用户角色配置 | 269 | //用户角色配置 |
271 | roleFormVisible: false, | 270 | roleFormVisible: false, |
272 | //新增界面数据 | 271 | //新增界面数据 |
272 | + | ||
273 | addForm: { | 273 | addForm: { |
274 | + checkPass:'', | ||
275 | + userId: 0, | ||
274 | username: '', | 276 | username: '', |
275 | password: '', | 277 | password: '', |
276 | sex: 1, | 278 | sex: 1, |
@@ -279,7 +281,7 @@ | @@ -279,7 +281,7 @@ | ||
279 | email: '', | 281 | email: '', |
280 | mobilephone: '', | 282 | mobilephone: '', |
281 | age: 1, | 283 | age: 1, |
282 | - companyId:'' | 284 | + state: true |
283 | }, | 285 | }, |
284 | roleEditForm: { | 286 | roleEditForm: { |
285 | userId: 1, | 287 | userId: 1, |
@@ -288,8 +290,7 @@ | @@ -288,8 +290,7 @@ | ||
288 | }, | 290 | }, |
289 | roles: [], | 291 | roles: [], |
290 | roleIds: [], | 292 | roleIds: [], |
291 | - options: [] | ||
292 | - | 293 | + options: [], |
293 | } | 294 | } |
294 | }, | 295 | }, |
295 | methods: { | 296 | methods: { |
@@ -367,8 +368,9 @@ | @@ -367,8 +368,9 @@ | ||
367 | * @param row 为这行的数据对象 | 368 | * @param row 为这行的数据对象 |
368 | */ | 369 | */ |
369 | handleEdit: function (index, row) { | 370 | handleEdit: function (index, row) { |
370 | - this.editFormVisible = true; | ||
371 | - this.editForm = Object.assign({}, row); | 371 | + this.addFormVisible = true; |
372 | + this.dialogStatus= 'update', | ||
373 | + this.addForm = Object.assign({}, row); | ||
372 | }, | 374 | }, |
373 | roleEdit: function (index, row) { | 375 | roleEdit: function (index, row) { |
374 | this.roleFormVisible = true; | 376 | this.roleFormVisible = true; |
@@ -414,30 +416,33 @@ | @@ -414,30 +416,33 @@ | ||
414 | //显示新增界面,每次点开初始化数据 | 416 | //显示新增界面,每次点开初始化数据 |
415 | handleAdd: function () { | 417 | handleAdd: function () { |
416 | this.addFormVisible = true; | 418 | this.addFormVisible = true; |
419 | + this.dialogStatus= 'create', | ||
417 | this.addForm = { | 420 | this.addForm = { |
418 | username: '', | 421 | username: '', |
419 | password: '', | 422 | password: '', |
423 | + checkPass: '', | ||
420 | sex: 1, | 424 | sex: 1, |
421 | address: '', | 425 | address: '', |
422 | realname: '', | 426 | realname: '', |
423 | email: '', | 427 | email: '', |
424 | mobilephone: '', | 428 | mobilephone: '', |
425 | age: 1, | 429 | age: 1, |
426 | - companyId:'' | 430 | + state: true |
427 | }; | 431 | }; |
428 | }, | 432 | }, |
429 | //编辑 | 433 | //编辑 |
430 | editSubmit: function () { | 434 | editSubmit: function () { |
431 | - this.$refs.editForm.validate((valid) => { | 435 | + this.$refs.addForm.validate((valid) => { |
432 | if (valid) { | 436 | if (valid) { |
433 | this.$confirm('确认提交吗?', '提示', {}).then(() => { | 437 | this.$confirm('确认提交吗?', '提示', {}).then(() => { |
434 | this.editLoading = true; | 438 | this.editLoading = true; |
435 | //NProgress.start(); | 439 | //NProgress.start(); |
436 | - let para = Object.assign({}, this.editForm); | 440 | + let para = Object.assign({}, this.addForm); |
437 | //不需要提交的 去掉,后端不好接收 | 441 | //不需要提交的 去掉,后端不好接收 |
438 | para.authorities = null; | 442 | para.authorities = null; |
439 | para.permissions = null; | 443 | para.permissions = null; |
440 | para.roles = null; | 444 | para.roles = null; |
445 | + this.$delete(para,'checkPass') | ||
441 | // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd'); | 446 | // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd'); |
442 | /* | 447 | /* |
443 | 查询之后格式this.filters.column.create_start_date中日期发生变化; | 448 | 查询之后格式this.filters.column.create_start_date中日期发生变化; |
@@ -455,8 +460,8 @@ | @@ -455,8 +460,8 @@ | ||
455 | message: '提交成功', | 460 | message: '提交成功', |
456 | type: 'success' | 461 | type: 'success' |
457 | }); | 462 | }); |
458 | - this.$refs['editForm'].resetFields(); | ||
459 | - this.editFormVisible = false; | 463 | + this.$refs['addForm'].resetFields(); |
464 | + this.addFormVisible = false; | ||
460 | this.getUsers(); | 465 | this.getUsers(); |
461 | }).catch(error => alert(error)); | 466 | }).catch(error => alert(error)); |
462 | }); | 467 | }); |
@@ -470,6 +475,7 @@ | @@ -470,6 +475,7 @@ | ||
470 | this.$confirm('确认提交吗?', '提示', {}).then(() => { | 475 | this.$confirm('确认提交吗?', '提示', {}).then(() => { |
471 | this.addLoading = true; | 476 | this.addLoading = true; |
472 | let para = Object.assign({}, this.addForm); | 477 | let para = Object.assign({}, this.addForm); |
478 | + this.$delete(para,'checkPass') | ||
473 | // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd'); | 479 | // para.birth = (!para.birth || para.birth == '') ? '' : util.formatDate.format(new Date(para.birth), 'yyyy-MM-dd'); |
474 | addUser(para).then((res) => { | 480 | addUser(para).then((res) => { |
475 | this.addLoading = false; | 481 | this.addLoading = false; |
@@ -557,7 +563,7 @@ | @@ -557,7 +563,7 @@ | ||
557 | }, | 563 | }, |
558 | mounted() { | 564 | mounted() { |
559 | this.getUsers(); | 565 | this.getUsers(); |
560 | - this.getCompanyNmae(); | 566 | + // this.getCompanyNmae(); |
561 | }, | 567 | }, |
562 | computed: { | 568 | computed: { |
563 | hideShow() {//当图片多于一张的时候,就隐藏上传框 | 569 | hideShow() {//当图片多于一张的时候,就隐藏上传框 |
@@ -568,6 +574,17 @@ | @@ -568,6 +574,17 @@ | ||
568 | 574 | ||
569 | </script> | 575 | </script> |
570 | 576 | ||
571 | -<style scoped> | 577 | +<style lang="scss"> |
578 | + .user-form{ | ||
579 | + .el-form-item__label{ | ||
580 | + font-size: 12px; | ||
581 | + } | ||
582 | + .el-form-item__content{ | ||
583 | + width: 260px; | ||
584 | + .el-textarea{ | ||
585 | + width:100%; | ||
586 | + } | ||
587 | + } | ||
588 | + } | ||
572 | 589 | ||
573 | </style> | 590 | </style> |
@@ -134,7 +134,7 @@ | @@ -134,7 +134,7 @@ | ||
134 | this.tableData=response.list; | 134 | this.tableData=response.list; |
135 | this.tableloading=false; | 135 | this.tableloading=false; |
136 | this.total=response.total; | 136 | this.total=response.total; |
137 | - this.listLoading = false; | 137 | + this.listLoading = false; |
138 | }); | 138 | }); |
139 | }, | 139 | }, |
140 | /*原始舱单跳转*/ | 140 | /*原始舱单跳转*/ |
@@ -597,7 +597,12 @@ | @@ -597,7 +597,12 @@ | ||
597 | </el-col> | 597 | </el-col> |
598 | <el-col :span="2.5" class="pub"> | 598 | <el-col :span="2.5" class="pub"> |
599 | <div class="grid-content"> | 599 | <div class="grid-content"> |
600 | - <el-button type="primary" size="mini">批量发送删除报</el-button> | 600 | + <el-button type="primary" size="mini" :disabled="batich" @click="batchdel()">批量发送删除报</el-button> |
601 | + </div> | ||
602 | + </el-col> | ||
603 | + <el-col :span="2.5" class="pub"> | ||
604 | + <div class="grid-content"> | ||
605 | + <el-button type="primary" size="mini" :disabled="batich" @click="batchaplly()">批量申请</el-button> | ||
601 | </div> | 606 | </div> |
602 | </el-col> | 607 | </el-col> |
603 | <el-col :span="2" class="pub"> | 608 | <el-col :span="2" class="pub"> |
@@ -726,7 +731,7 @@ | @@ -726,7 +731,7 @@ | ||
726 | </style> | 731 | </style> |
727 | 732 | ||
728 | <script> | 733 | <script> |
729 | - import { getMt1201List,addMt1201,ediMt1201,getFenList,getCountryCode,selectCustomcode,sendCreateMt1201,sendEditeMt1201,sendRemoveMt1201 } from '../../api/mt1201' | 734 | + import { getMt1201List,addMt1201,ediMt1201,getFenList,getCountryCode,selectCustomcode,sendCreateMt1201,sendEditeMt1201,sendRemoveMt1201,sendBatchDelMt1201,sendBatchApllyMt1201 } from '../../api/mt1201' |
730 | import{addResponse,selectResponseList} from "../../api/InResponse"; | 735 | import{addResponse,selectResponseList} from "../../api/InResponse"; |
731 | import FileSaver from "file-saver"; | 736 | import FileSaver from "file-saver"; |
732 | import XLSX from "xlsx"; | 737 | import XLSX from "xlsx"; |
@@ -899,7 +904,10 @@ | @@ -899,7 +904,10 @@ | ||
899 | dialogTableVisible:false, | 904 | dialogTableVisible:false, |
900 | gridData:[], | 905 | gridData:[], |
901 | tableloading:true, | 906 | tableloading:true, |
902 | - htmlTitle:'' | 907 | + htmlTitle:'', |
908 | + batich:true, | ||
909 | + batichboolean:false, | ||
910 | + uuids:[], | ||
903 | } | 911 | } |
904 | }, | 912 | }, |
905 | methods: { | 913 | methods: { |
@@ -991,10 +999,44 @@ | @@ -991,10 +999,44 @@ | ||
991 | return false; | 999 | return false; |
992 | } | 1000 | } |
993 | }, | 1001 | }, |
994 | - /*多选框功能*/ | 1002 | + /*多选框功能批量选择*/ |
995 | handleSelectionChange(val) { | 1003 | handleSelectionChange(val) { |
996 | this.multipleSelection = val; | 1004 | this.multipleSelection = val; |
997 | - console.log(val) | 1005 | + if(this.multipleSelection!=null && this.multipleSelection!=""){ |
1006 | + this.batich=false; | ||
1007 | + }else{ | ||
1008 | + this.batich=true; | ||
1009 | + } | ||
1010 | + | ||
1011 | + }, | ||
1012 | + //批量删除 | ||
1013 | + batchdel(){ | ||
1014 | + let ids=[]; | ||
1015 | + this.multipleSelection.forEach(function (item) { | ||
1016 | + ids.push(item.uuid); | ||
1017 | + }) | ||
1018 | + this.uuids=ids; | ||
1019 | + this.udStatus='delete'; | ||
1020 | + this.dialogFormVisible=true; | ||
1021 | + this.batichboolean=true; | ||
1022 | + }, | ||
1023 | + //批量申请 | ||
1024 | + batchaplly(){ | ||
1025 | + let ids=[]; | ||
1026 | + this.multipleSelection.forEach(function (item) { | ||
1027 | + ids.push(item.uuid); | ||
1028 | + }) | ||
1029 | + sendBatchApllyMt1201(ids).then(res=>{ | ||
1030 | + let response=res.data; | ||
1031 | + this.code=response.code; | ||
1032 | + if(this.code=='200'){ | ||
1033 | + this.centerDialogVisible=true; | ||
1034 | + this.msg=response.msg; | ||
1035 | + }else{ | ||
1036 | + this.centerDialogVisible=true; | ||
1037 | + this.msg=response.msg; | ||
1038 | + } | ||
1039 | + }); | ||
998 | }, | 1040 | }, |
999 | /*编辑主单信息*/ | 1041 | /*编辑主单信息*/ |
1000 | handleEdit(index, row){ | 1042 | handleEdit(index, row){ |
@@ -1064,40 +1106,56 @@ | @@ -1064,40 +1106,56 @@ | ||
1064 | row.flightno=row.flightno.substring(2); | 1106 | row.flightno=row.flightno.substring(2); |
1065 | } | 1107 | } |
1066 | this.temprows= row; | 1108 | this.temprows= row; |
1109 | + this.batichboolean=false; | ||
1067 | }, | 1110 | }, |
1068 | //提交发送舱单删除报表单 | 1111 | //提交发送舱单删除报表单 |
1069 | deleteUdForm(formName){ | 1112 | deleteUdForm(formName){ |
1070 | this.$refs[formName].validate((valid) => { | 1113 | this.$refs[formName].validate((valid) => { |
1071 | if (valid) { | 1114 | if (valid) { |
1072 | - const map = {'flightNo':this.temprows.flightno, | ||
1073 | - 'flightDate':this.temprows.flightdate, | ||
1074 | - 'awba':this.temprows.awba, | ||
1075 | - 'content':'', | ||
1076 | - 'customCode':this.temprows.customcode, | ||
1077 | - 'awbh':this.temprows.awbh, | ||
1078 | - 'reason' :this.Udform.operreason, | ||
1079 | - 'contactName':this.Udform.operperson, | ||
1080 | - 'contactTel':this.Udform.opertel, | ||
1081 | - 'carrier':this.Udform.carrier, | ||
1082 | - 'username':loginUserInfo.username} | ||
1083 | - sendRemoveMt1201(map).then(res=>{ | ||
1084 | - let response=res.data; | ||
1085 | - //console.log(res); | ||
1086 | - this.code=response.code; | ||
1087 | - if(this.code=='200'){ | ||
1088 | - this.temprows.status='24'; | ||
1089 | - this.temprows.customText='舱单删除报发送成功'; | ||
1090 | - this.dialogFormVisible=false; | ||
1091 | - this.outerVisible = false; | ||
1092 | - this.centerDialogVisible=true; | ||
1093 | - this.msg=response.msg; | ||
1094 | - }else{ | ||
1095 | - this.dialogFormVisible=false; | ||
1096 | - this.outerVisible = false; | ||
1097 | - this.centerDialogVisible=true; | ||
1098 | - this.msg=response.msg; | ||
1099 | - } | ||
1100 | - }); | 1115 | + if(this.batichboolean){ |
1116 | + let arr={ids:this.uuids,reason:this.Udform.operreason,contactName:loginUserInfo.username,contactTel:this.Udform.opertel,content:''} | ||
1117 | + sendBatchDelMt1201(arr).then(res=>{ | ||
1118 | + let response=res.data; | ||
1119 | + this.code=response.code; | ||
1120 | + if(this.code=='200'){ | ||
1121 | + this.centerDialogVisible=true; | ||
1122 | + this.msg=response.msg; | ||
1123 | + }else{ | ||
1124 | + this.centerDialogVisible=true; | ||
1125 | + this.msg=response.msg; | ||
1126 | + } | ||
1127 | + }); | ||
1128 | + }else{ | ||
1129 | + const map = {'flightNo':this.temprows.flightno, | ||
1130 | + 'flightDate':this.temprows.flightdate, | ||
1131 | + 'awba':this.temprows.awba, | ||
1132 | + 'content':'', | ||
1133 | + 'customCode':this.temprows.customcode, | ||
1134 | + 'awbh':this.temprows.awbh, | ||
1135 | + 'reason' :this.Udform.operreason, | ||
1136 | + 'contactName':this.Udform.operperson, | ||
1137 | + 'contactTel':this.Udform.opertel, | ||
1138 | + 'carrier':this.Udform.carrier, | ||
1139 | + 'username':loginUserInfo.username} | ||
1140 | + sendRemoveMt1201(map).then(res=>{ | ||
1141 | + let response=res.data; | ||
1142 | + //console.log(res); | ||
1143 | + this.code=response.code; | ||
1144 | + if(this.code=='200'){ | ||
1145 | + this.temprows.status='24'; | ||
1146 | + this.temprows.customText='舱单删除报发送成功'; | ||
1147 | + this.dialogFormVisible=false; | ||
1148 | + this.outerVisible = false; | ||
1149 | + this.centerDialogVisible=true; | ||
1150 | + this.msg=response.msg; | ||
1151 | + }else{ | ||
1152 | + this.dialogFormVisible=false; | ||
1153 | + this.outerVisible = false; | ||
1154 | + this.centerDialogVisible=true; | ||
1155 | + this.msg=response.msg; | ||
1156 | + } | ||
1157 | + }); | ||
1158 | + } | ||
1101 | } else { | 1159 | } else { |
1102 | console.log('error submit!!'); | 1160 | console.log('error submit!!'); |
1103 | return false; | 1161 | return false; |
@@ -1329,6 +1387,7 @@ | @@ -1329,6 +1387,7 @@ | ||
1329 | this.$router.push({name:'分拨运抵',params:{carrier:row.carrier,flightno:row.flightno,awba:row.awba,flightdate:row.flightdate, | 1387 | this.$router.push({name:'分拨运抵',params:{carrier:row.carrier,flightno:row.flightno,awba:row.awba,flightdate:row.flightdate, |
1330 | turnpiece:row.awbinfo.pcs,turnweight:row.awbinfo.weight,customcode:row.customcode,goodsname:row.goodsname}}); | 1388 | turnpiece:row.awbinfo.pcs,turnweight:row.awbinfo.weight,customcode:row.customcode,goodsname:row.goodsname}}); |
1331 | }, | 1389 | }, |
1390 | + | ||
1332 | //返回上一层 | 1391 | //返回上一层 |
1333 | back(){ | 1392 | back(){ |
1334 | this.$router.go(-1); | 1393 | this.$router.go(-1); |
@@ -352,7 +352,8 @@ | @@ -352,7 +352,8 @@ | ||
352 | <!--底部按钮及理货信息--> | 352 | <!--底部按钮及理货信息--> |
353 | <el-row style="margin-top: 20px"> | 353 | <el-row style="margin-top: 20px"> |
354 | <el-col :span="2.5"><div class="grid-content"><el-button type="primary" v-on:click="addTally" size="mini">新增进港理货</el-button></div></el-col> | 354 | <el-col :span="2.5"><div class="grid-content"><el-button type="primary" v-on:click="addTally" size="mini">新增进港理货</el-button></div></el-col> |
355 | - <el-col :span="2.5"><div class="grid-content"><el-button type="primary" size="mini">批量发送删除报</el-button></div></el-col> | 355 | + <el-col :span="2.5"><div class="grid-content"><el-button type="primary" size="mini" :disabled="batich" @click="batchdel()">批量发送删除报</el-button></div></el-col> |
356 | + <el-col :span="2.5"><div class="grid-content"><el-button type="primary" size="mini" :disabled="batich" @click="batchaplly()">批量申请</el-button></div></el-col> | ||
356 | <el-col :span="2"><div class="grid-content"><el-button type="primary" @click="back" size="mini">返回</el-button></div></el-col> | 357 | <el-col :span="2"><div class="grid-content"><el-button type="primary" @click="back" size="mini">返回</el-button></div></el-col> |
357 | <el-col :span="2.5"><div class="grid-content"><span>主单数:{{sumNmmsCount}}</span></div></el-col> | 358 | <el-col :span="2.5"><div class="grid-content"><span>主单数:{{sumNmmsCount}}</span></div></el-col> |
358 | <el-col :span="3.5"><div class="grid-content"><span>理货总件数:{{sumNmmsPrice}}</span></div></el-col> | 359 | <el-col :span="3.5"><div class="grid-content"><span>理货总件数:{{sumNmmsPrice}}</span></div></el-col> |
@@ -443,8 +444,9 @@ | @@ -443,8 +444,9 @@ | ||
443 | 444 | ||
444 | <script> | 445 | <script> |
445 | import{addResponse,selectResponseList} from "../../api/InResponse"; | 446 | import{addResponse,selectResponseList} from "../../api/InResponse"; |
446 | - import { getMt5201List,addMt5201,ediMt5201,delMt5201,sendCreateMt520x,sendRemoveMt520x,selectCustomcode} from '../../api/mt5201' | 447 | + import { getMt5201List,addMt5201,ediMt5201,delMt5201,sendCreateMt520x,sendRemoveMt520x,selectCustomcode,sendbatchRemoveMt5201,sendbatchCreateMt5201} from '../../api/mt5201' |
447 | import loginUserInfo from '@/api/base' | 448 | import loginUserInfo from '@/api/base' |
449 | + import {sendBatchApllyMt1201, sendBatchDelMt1201} from "../../api/mt1201"; | ||
448 | export default { | 450 | export default { |
449 | data() { | 451 | data() { |
450 | return { | 452 | return { |
@@ -539,7 +541,10 @@ | @@ -539,7 +541,10 @@ | ||
539 | loading:false, | 541 | loading:false, |
540 | dialogTableVisible:false, | 542 | dialogTableVisible:false, |
541 | gridData:[], | 543 | gridData:[], |
542 | - tableLoading:false | 544 | + tableLoading:false, |
545 | + batich:true, | ||
546 | + batichboolean:false, | ||
547 | + uuids:[], | ||
543 | } | 548 | } |
544 | }, | 549 | }, |
545 | methods: { | 550 | methods: { |
@@ -660,41 +665,58 @@ | @@ -660,41 +665,58 @@ | ||
660 | row.awbh=""; | 665 | row.awbh=""; |
661 | } | 666 | } |
662 | this.rows=row; | 667 | this.rows=row; |
668 | + this.batichboolean=false; | ||
663 | }, | 669 | }, |
664 | //发送理化删除报提交表单 | 670 | //发送理化删除报提交表单 |
665 | deleteUdForm(formName){ | 671 | deleteUdForm(formName){ |
666 | this.$refs[formName].validate((valid) => { | 672 | this.$refs[formName].validate((valid) => { |
667 | if (valid) { | 673 | if (valid) { |
668 | - const map = {'flightNo':this.rows.flightno, | ||
669 | - 'flightDate':this.rows.flightdate, | ||
670 | - 'awba':this.rows.awba, | ||
671 | - 'content':'', | ||
672 | - 'customCode':this.rows.customcode, | ||
673 | - 'awbh':this.rows.awbh, | ||
674 | - 'reason' :this.Udform.operreason, | ||
675 | - 'contactName':this.Udform.operperson, | ||
676 | - 'contactTel':this.Udform.opertel, | ||
677 | - 'rcfdep':this.rows.rcfdep, | ||
678 | - 'carrier':this.rows.carrier, | ||
679 | - 'username':loginUserInfo.username} | ||
680 | - sendRemoveMt520x(map).then(res=>{ | ||
681 | - let response=res.data; | ||
682 | - //console.log(res); | ||
683 | - this.code=response.code; | ||
684 | - if(this.code=='200'){ | ||
685 | - this.rows.status='24'; | ||
686 | - this.rows.ext5='理货删除报发送成功'; | ||
687 | - this.dialogFormVisible=false; | ||
688 | - this.outerVisible = false; | ||
689 | - this.centerDialogVisible=true; | ||
690 | - this.msg=response.msg; | ||
691 | - }else{ | ||
692 | - this.dialogFormVisible=false; | ||
693 | - this.outerVisible = false; | ||
694 | - this.centerDialogVisible=true; | ||
695 | - this.msg=response.msg; | ||
696 | - } | ||
697 | - }); | 674 | + if(this.batichboolean){ |
675 | + let arr={ids:this.uuids,reason:this.Udform.operreason,contactName:loginUserInfo.username,contactTel:this.Udform.opertel,content:''} | ||
676 | + sendbatchRemoveMt5201(arr).then(res=>{ | ||
677 | + let response=res.data; | ||
678 | + this.code=response.code; | ||
679 | + if(this.code=='200'){ | ||
680 | + this.centerDialogVisible=true; | ||
681 | + this.msg=response.msg; | ||
682 | + }else{ | ||
683 | + this.centerDialogVisible=true; | ||
684 | + this.msg=response.msg; | ||
685 | + } | ||
686 | + }); | ||
687 | + }else{ | ||
688 | + const map = {'flightNo':this.rows.flightno, | ||
689 | + 'flightDate':this.rows.flightdate, | ||
690 | + 'awba':this.rows.awba, | ||
691 | + 'content':'', | ||
692 | + 'customCode':this.rows.customcode, | ||
693 | + 'awbh':this.rows.awbh, | ||
694 | + 'reason' :this.Udform.operreason, | ||
695 | + 'contactName':this.Udform.operperson, | ||
696 | + 'contactTel':this.Udform.opertel, | ||
697 | + 'rcfdep':this.rows.rcfdep, | ||
698 | + 'carrier':this.rows.carrier, | ||
699 | + 'username':loginUserInfo.username} | ||
700 | + sendRemoveMt520x(map).then(res=>{ | ||
701 | + let response=res.data; | ||
702 | + //console.log(res); | ||
703 | + this.code=response.code; | ||
704 | + if(this.code=='200'){ | ||
705 | + this.rows.status='24'; | ||
706 | + this.rows.ext5='理货删除报发送成功'; | ||
707 | + this.dialogFormVisible=false; | ||
708 | + this.outerVisible = false; | ||
709 | + this.centerDialogVisible=true; | ||
710 | + this.msg=response.msg; | ||
711 | + }else{ | ||
712 | + this.dialogFormVisible=false; | ||
713 | + this.outerVisible = false; | ||
714 | + this.centerDialogVisible=true; | ||
715 | + this.msg=response.msg; | ||
716 | + } | ||
717 | + }); | ||
718 | + } | ||
719 | + | ||
698 | } else { | 720 | } else { |
699 | console.log('error submit!!'); | 721 | console.log('error submit!!'); |
700 | return false; | 722 | return false; |
@@ -705,6 +727,40 @@ | @@ -705,6 +727,40 @@ | ||
705 | //批量选中事件 | 727 | //批量选中事件 |
706 | handleSelectionChange(val) { | 728 | handleSelectionChange(val) { |
707 | this.multipleSelection = val; | 729 | this.multipleSelection = val; |
730 | + if(this.multipleSelection!=null && this.multipleSelection!=""){ | ||
731 | + this.batich=false; | ||
732 | + }else{ | ||
733 | + this.batich=true; | ||
734 | + } | ||
735 | + }, | ||
736 | + //批量申请 | ||
737 | + batchaplly(){ | ||
738 | + let ids=[]; | ||
739 | + this.multipleSelection.forEach(function (item) { | ||
740 | + ids.push(item.uuid); | ||
741 | + }) | ||
742 | + sendbatchCreateMt5201(ids).then(res=>{ | ||
743 | + let response=res.data; | ||
744 | + this.code=response.code; | ||
745 | + if(this.code=='200'){ | ||
746 | + this.centerDialogVisible=true; | ||
747 | + this.msg=response.msg; | ||
748 | + }else{ | ||
749 | + this.centerDialogVisible=true; | ||
750 | + this.msg=response.msg; | ||
751 | + } | ||
752 | + }); | ||
753 | + }, | ||
754 | + //批量删除 | ||
755 | + batchdel(){ | ||
756 | + let ids=[]; | ||
757 | + this.multipleSelection.forEach(function (item) { | ||
758 | + ids.push(item.uuid); | ||
759 | + }) | ||
760 | + this.uuids=ids; | ||
761 | + this.udStatus='delete'; | ||
762 | + this.dialogFormVisible=true; | ||
763 | + this.batichboolean=true; | ||
708 | }, | 764 | }, |
709 | //编辑主单 | 765 | //编辑主单 |
710 | handleMain(index,row){ | 766 | handleMain(index,row){ |
@@ -110,9 +110,9 @@ | @@ -110,9 +110,9 @@ | ||
110 | <el-form-item> | 110 | <el-form-item> |
111 | <div style="display: inline-block;background-color: #6F8294;color: white; | 111 | <div style="display: inline-block;background-color: #6F8294;color: white; |
112 | border-top-left-radius: 4px;margin-right: -4px;padding-right: 14px;font-size: 12px; | 112 | border-top-left-radius: 4px;margin-right: -4px;padding-right: 14px;font-size: 12px; |
113 | - border-bottom-left-radius:4px;padding-left: 14px">新增时间段</div> | 113 | + border-bottom-left-radius:4px;padding-left: 14px">申报时间段</div> |
114 | <el-date-picker | 114 | <el-date-picker |
115 | - v-model="formTrn.creattime" | 115 | + v-model="searchTime" |
116 | type="daterange" | 116 | type="daterange" |
117 | unlink-panels | 117 | unlink-panels |
118 | range-separator="-" | 118 | range-separator="-" |
@@ -593,6 +593,8 @@ | @@ -593,6 +593,8 @@ | ||
593 | trnmode:'', | 593 | trnmode:'', |
594 | unloadcode:'', | 594 | unloadcode:'', |
595 | creattime:'', | 595 | creattime:'', |
596 | + startDate:'', | ||
597 | + endDate:'', | ||
596 | pageNum: 1, | 598 | pageNum: 1, |
597 | pageSize: 10 | 599 | pageSize: 10 |
598 | }, | 600 | }, |
@@ -617,6 +619,7 @@ | @@ -617,6 +619,7 @@ | ||
617 | form: { | 619 | form: { |
618 | autoid:'', | 620 | autoid:'', |
619 | seqno:'', | 621 | seqno:'', |
622 | + ieflag:'E', | ||
620 | customscode:'', | 623 | customscode:'', |
621 | inputopid: '', | 624 | inputopid: '', |
622 | inputopname:'', | 625 | inputopname:'', |
@@ -710,6 +713,24 @@ | @@ -710,6 +713,24 @@ | ||
710 | this.form.arriveno = this.customscode + loadcode + new Date().format('yyMMddHHmmss'); | 713 | this.form.arriveno = this.customscode + loadcode + new Date().format('yyMMddHHmmss'); |
711 | } | 714 | } |
712 | }, | 715 | }, |
716 | + username: function () { | ||
717 | + var user = loginuserInfo; | ||
718 | + if (user) { | ||
719 | + return user.username || ''; | ||
720 | + } | ||
721 | + }, | ||
722 | + searchTime: { | ||
723 | + get:function () { | ||
724 | + return this.formTrn.creattime | ||
725 | + }, | ||
726 | + set:function (val) { | ||
727 | + this.formTrn.creattime = val | ||
728 | + if (val && val.length===2){ | ||
729 | + this.formTrn.startDate = val[0] | ||
730 | + this.formTrn.endDate = val[1] | ||
731 | + } | ||
732 | + } | ||
733 | + } | ||
713 | 734 | ||
714 | }, | 735 | }, |
715 | methods:{ | 736 | methods:{ |
@@ -769,7 +790,9 @@ | @@ -769,7 +790,9 @@ | ||
769 | // 获取消息标签列表 | 790 | // 获取消息标签列表 |
770 | trnList() { | 791 | trnList() { |
771 | const _this = this | 792 | const _this = this |
772 | - selectTrans(this.formTrn).then((response) => { | 793 | + let para = Object.assign({}, this.formTrn) |
794 | + para.creattime = '' | ||
795 | + selectTrans(para).then((response) => { | ||
773 | const res = response.data | 796 | const res = response.data |
774 | if (res.code !== '200') { | 797 | if (res.code !== '200') { |
775 | return _this.$message.error('获取消息收发记录,失败!') | 798 | return _this.$message.error('获取消息收发记录,失败!') |
@@ -791,9 +814,12 @@ | @@ -791,9 +814,12 @@ | ||
791 | }, | 814 | }, |
792 | // 打开新增 | 815 | // 打开新增 |
793 | addTrn() { | 816 | addTrn() { |
817 | + Object.keys(this.form).forEach(key => (this.form[key] = '')); | ||
794 | this.dialogStatus = 'create' | 818 | this.dialogStatus = 'create' |
795 | this.trn_dialog.addDialog = true | 819 | this.trn_dialog.addDialog = true |
796 | this.form.arrivetime = new Date().format('yyyyMMddHHmmss') | 820 | this.form.arrivetime = new Date().format('yyyyMMddHHmmss') |
821 | + this.form.username = this.username | ||
822 | + this.form.ieflag = 'E' | ||
797 | }, | 823 | }, |
798 | 824 | ||
799 | // 新增功能 | 825 | // 新增功能 |
@@ -855,7 +881,14 @@ | @@ -855,7 +881,14 @@ | ||
855 | send(row).then((response) => { | 881 | send(row).then((response) => { |
856 | const res = response.data | 882 | const res = response.data |
857 | if (res.code !== '200') { | 883 | if (res.code !== '200') { |
858 | - return this.$message.error(res.msg); | 884 | + this.$message({ |
885 | + dangerouslyUseHTMLString: true, | ||
886 | + showClose: true, | ||
887 | + type:'error', | ||
888 | + duration:0, | ||
889 | + message: '<strong>'+ res.msg +'</strong><br/>' + '<span>'+ res.error+'</span>' | ||
890 | + }); | ||
891 | + return | ||
859 | } | 892 | } |
860 | this.$message.success('申报成功!'); | 893 | this.$message.success('申报成功!'); |
861 | this.trnList(); | 894 | this.trnList(); |
@@ -9,3 +9,7 @@ export const decrement = ({commit}) => { | @@ -9,3 +9,7 @@ export const decrement = ({commit}) => { | ||
9 | export const setUserMenuStore = ({commit},menuList) => { | 9 | export const setUserMenuStore = ({commit},menuList) => { |
10 | commit('set_user_menu',menuList) | 10 | commit('set_user_menu',menuList) |
11 | } | 11 | } |
12 | + | ||
13 | +export const setUserInfoStore = ({commit},info) => { | ||
14 | + commit('set_user_info',info) | ||
15 | +} |
@@ -7,3 +7,7 @@ export const getCount = state => { | @@ -7,3 +7,7 @@ export const getCount = state => { | ||
7 | export const getUserMenuStore = state => { | 7 | export const getUserMenuStore = state => { |
8 | return state.userMenu | 8 | return state.userMenu |
9 | } | 9 | } |
10 | + | ||
11 | +export const getUserInfoStore = state => { | ||
12 | + return state.userInfo | ||
13 | +} |
@@ -8,9 +8,21 @@ Vue.use(Vuex) | @@ -8,9 +8,21 @@ Vue.use(Vuex) | ||
8 | // 应用初始状态 | 8 | // 应用初始状态 |
9 | const state = { | 9 | const state = { |
10 | count: 10, | 10 | count: 10, |
11 | - openTab:[],//所有打开的路由 | ||
12 | - activeIndex: '/main',//激活状态, | ||
13 | - userMenu:[] //用户菜单 | 11 | + //所有打开的路由 |
12 | + openTab:[], | ||
13 | + //激活状态, | ||
14 | + activeIndex: '/main', | ||
15 | + //用户菜单 | ||
16 | + userMenu:[], | ||
17 | + userInfo:{ | ||
18 | + userId: 0, | ||
19 | + username: '', | ||
20 | + companyId: 0, | ||
21 | + companyName: '', | ||
22 | + realname: '', | ||
23 | + userface: '' | ||
24 | + } | ||
25 | + | ||
14 | } | 26 | } |
15 | 27 | ||
16 | // 定义所需的 mutations | 28 | // 定义所需的 mutations |
@@ -54,6 +66,10 @@ const mutations = { | @@ -54,6 +66,10 @@ const mutations = { | ||
54 | set_user_menu(state, menu){ | 66 | set_user_menu(state, menu){ |
55 | this.state.userMenu = menu; | 67 | this.state.userMenu = menu; |
56 | }, | 68 | }, |
69 | + //设置用户信息 | ||
70 | + set_user_info(state,info){ | ||
71 | + state.userInfo = info; | ||
72 | + }, | ||
57 | INCREMENT(state) { | 73 | INCREMENT(state) { |
58 | state.count++ | 74 | state.count++ |
59 | }, | 75 | }, |
-
请 注册 或 登录 后发表评论