作者 王勇

陆运运输,基础环境

  1 +import http from './http.js'
  2 +
  3 +let baseUrl = 'vehicle-manage'
  4 +
  5 +// 车辆信息,分页查询
  6 +export const selectVehicleList = params =>{return http.get(`${baseUrl}/vehicle/page`, params);};
  7 +// 车辆信息,新增
  8 +export const insertVehicle = params =>{return http.post(`${baseUrl}/vehicle/insert`, params);};
  9 +// 车辆信息,编辑
  10 +export const updateVehicle = params =>{return http.put(`${baseUrl}/vehicle/update`, params);};
  11 +// 车辆信息,删除
  12 +export const deleteVehicle = params =>{return http.del(`${baseUrl}/vehicle/delete`, params);};
  13 +// 车辆信息,批量删除
  14 +export const batchRemoveVehicle = params =>{return http.del(`${baseUrl}/vehicle/batchRemove`, params);};
  15 +
  16 +// 挂车信息,分页查询
  17 +export const selectTrailerList = params =>{return http.get(`${baseUrl}/trailer/page`, params);};
  18 +// 挂车信息,新增
  19 +export const insertTrailer = params =>{return http.post(`${baseUrl}/trailer/insert`, params);};
  20 +// 挂车信息,编辑
  21 +export const updateTrailer = params =>{return http.put(`${baseUrl}/trailer/update`, params);};
  22 +// 挂车信息,删除
  23 +export const deleteTrailer = params =>{return http.del(`${baseUrl}/trailer/delete`, params);};
  24 +// 挂车信息,批量删除
  25 +export const batchRemoveTrailer = params =>{return http.del(`${baseUrl}/trailer/batchRemove`, params);};
  26 +
  27 +// 企业信息,分页查询
  28 +export const selectCorporationList = params =>{return http.get(`${baseUrl}/corporation/page`, params);};
  29 +// 企业信息,新增
  30 +export const insertCorporation = params =>{return http.post(`${baseUrl}/corporation/insert`, params);};
  31 +// 企业信息,编辑
  32 +export const updateCorporation = params =>{return http.put(`${baseUrl}/corporation/update`, params);};
  33 +// 企业信息,删除
  34 +export const deleteCorporation = params =>{return http.del(`${baseUrl}/corporation/delete`, params);};
  35 +// 企业信息,批量删除
  36 +export const batchRemoveCorporation = params =>{return http.del(`${baseUrl}/corporation/batchRemove`, params);};
  37 +
  38 +// 驾驶员信息,分页查询
  39 +export const selectDriverList = params =>{return http.get(`${baseUrl}/driver/page`, params);};
  40 +// 驾驶员信息,新增
  41 +export const insertDriver = params =>{return http.post(`${baseUrl}/driver/insert`, params);};
  42 +// 驾驶员信息,编辑
  43 +export const updateDriver = params =>{return http.put(`${baseUrl}/driver/update`, params);};
  44 +// 驾驶员信息,删除
  45 +export const deleteDriver = params =>{return http.del(`${baseUrl}/driver/delete`, params);};
  46 +// 驾驶员信息,批量删除
  47 +export const batchRemoveDriver = params =>{return http.del(`${baseUrl}/driver/batchRemove`, params);};
@@ -10,83 +10,14 @@ import PreManifest from './views/agent/PreManifest.vue' @@ -10,83 +10,14 @@ import PreManifest from './views/agent/PreManifest.vue'
10 import Company from './views/nav1/company.vue' 10 import Company from './views/nav1/company.vue'
11 import Department from './views/nav1/department.vue' 11 import Department from './views/nav1/department.vue'
12 import Group from './views/nav1/groupcompany.vue' 12 import Group from './views/nav1/groupcompany.vue'
13 -import Process from './views/hqpt/Process.vue'  
14 -import Job from './views/hqpt/Job.vue'  
15 -// import Form from './views/nav1/Form.vue'  
16 13
17 -  
18 -import OrgManifest from './views/nmms/orgManifest.vue'  
19 -import ExitFlight from './views/nmms/ExitFlight.vue'  
20 -import ExitPre from './views/nmms/ExitPre.vue'  
21 -import ExitTidy from './views/nmms/ExitTidy.vue'  
22 -import ExitArrive from './views/nmms/ExitArrive.vue'  
23 -import ExitManifest from './views/nmms/ExitManifest.vue'  
24 -import ExitLoading from './views/nmms/ExitLoading.vue'  
25 -import ExitFlightDesc from './views/nmms/ExitFlightDesc.vue'  
26 -import LostLoad from './views/lostLoadChange/lostLoading.vue'  
27 -import LostLoadChange from './views/lostLoadChange/lostLoadChange.vue'  
28 -import OrigFlightList from './views/nmms_import/OrigFlightList.vue'  
29 -import EnterFlightInfo from './views/nmms_import/EnterFlightInfo.vue'  
30 -import OrigMaster from './views/nmms_import/OrigMaster.vue'  
31 -import EnterTally from './views/nmms_import/EnterFlightTally.vue'  
32 -import TallyMster from './views/nmms_import/TallyMster.vue'  
33 -import Waybill from './views/nmms_import/Waybill.vue'  
34 -import AllocateSearch from './views/nmms_import/AllocateSearch.vue'  
35 -import Importallocation from './views/nmms_import/Importallocation.vue'  
36 -import Allocatearrive from './views/nmms_import/Allocatearrive.vue'  
37 import User from './views/nav1/user.vue' 14 import User from './views/nav1/user.vue'
38 -import preConfiguration from './views/nav2/preConfiguration.vue'  
39 -import allocate from './views/nav2/allocate.vue'  
40 -import charge from './views/nav2/charge.vue'  
41 -import documents from './views/nav2/documents.vue'  
42 -import booking from './views/nav4/booking.vue'  
43 -import order from './views/nav4/order.vue'  
44 -import airlift from './views/nav4/airlift.vue'  
45 -import inquiry from './views/nav4/inquiry.vue'  
46 -  
47 -  
48 -  
49 -  
50 -import echarts from './views/charts/echarts.vue'  
51 -import SecrityInspection from './views/staff/security_inspection.vue'  
52 -import Key from './views/staff/key.vue'  
53 -import Maintain from './views/staff/maintain.vue'  
54 -import ComeCar from './views/staff/come_car.vue'  
55 -import OnDuty from './views/staff/on_duty.vue'  
56 -import WaterStationsPatrol from './views/water/water_stations_patrol.vue'  
57 -import Location from './views/empt/Location.vue'  
58 -  
59 -//运输工具 通用业务申报  
60 -import Route from './views/airtransport/route.vue'  
61 -import Bill from './views/airtransport/bill.vue'  
62 -import Flight from './views/airtransport/flight.vue'  
63 -import Flightplan from './views/airtransport/flightplan.vue'  
64 -import Aircraft from './views/airtransport/aircraft.vue'  
65 -import Routeaircraft from './views/airtransport/routeaircraft'  
66 -  
67 -//通用业务查询  
68 -import queryRoute from './views/airtransport/queryRoute.vue'  
69 -import queryBill from './views/airtransport/queryBill.vue'  
70 -import queryFlight from './views/airtransport/queryFlight.vue'  
71 -import queryFlightplan from './views/airtransport/queryFlightplan.vue'  
72 -import queryAircraft from './views/airtransport/queryAircraft.vue'  
73 -import queryRouteaircraft from './views/airtransport/queryRouteaircraft.vue'  
74 -import arrival from './views/airtransport/arrival.vue'  
75 -import confirmatory from './views/airtransport/confirmatory.vue'  
76 -import queryArrival from './views/airtransport/queryArrival.vue'  
77 -import queryConfirmatory from './views/airtransport/queryConfirmatory.vue'  
78 -import configure from './views/airtransport/configure.vue'  
79 -import queryConfigure from './views/airtransport/queryConfigure.vue'  
80 -import departure from './views/airtransport/departure.vue'  
81 -import declare from './views/airtransport/declare.vue'  
82 -import queryDeparture from './views/airtransport/queryDeparture.vue'  
83 -import queryDeclare from './views/airtransport/queryDeclare.vue'  
84 -import outConfigure from './views/airtransport/outConfigure.vue'  
85 -import queryFlightConfigure from './views/airtransport/queryFlightConfigure.vue'  
86 -import Consigner from './views/consigner/consigner.vue'  
87 -import Consignee from './views/consigner/consignee.vue'  
88 -  
89 15
  16 +// 陆运运输
  17 +import Vehicle from './views/vehicle_manage/Vehicle.vue'
  18 +import Trailer from './views/vehicle_manage/Trailer.vue'
  19 +import Corporation from './views/vehicle_manage/Corporation.vue'
  20 +import Driver from './views/vehicle_manage/Driver.vue'
90 21
91 let routes = [ 22 let routes = [
92 { 23 {
@@ -111,229 +42,32 @@ let routes = [ @@ -111,229 +42,32 @@ let routes = [
111 {path: '/main', component: Main, name: '首页'}, 42 {path: '/main', component: Main, name: '首页'},
112 ] 43 ]
113 }, 44 },
114 - // { path: '/test', component: Main },  
115 45
116 - // 货运系统--航班预配  
117 - {  
118 - path: '/domdep',  
119 - component: Home,  
120 - name: '订舱系统',  
121 - iconCls: 'el-icon-delete-location',  
122 - children: [  
123 - { path: '/booking', component: booking, name: '在线订舱' },  
124 - { path: '/order', component: order, name: '订舱信息' },  
125 - { path: '/airlift', component: airlift, name: '空运专线' },  
126 - ]  
127 - },  
128 -  
129 - // 货运系统--航班预配  
130 - {  
131 - path: '/domdep',  
132 - component: Home,  
133 - name: '国内出港',  
134 - iconCls: 'el-icon-position',  
135 - children: [  
136 - { path: '/preConfiguration', component: preConfiguration, name: '航班预配' },  
137 - { path: '/allocate', component: allocate, name: '航班配载' },  
138 - { path: '/documents', component: documents, name: '航班文件' },  
139 - { path: '/charge', component: charge, name: '付费处理' },  
140 -  
141 - // { path: '/perm', component: Perm, name: '权限管理' },  
142 - // { path: '/log', component: LOG, name: '系统日志' },  
143 - // { path: '/department', component: Department, name: '部门管理' },  
144 - // { path: '/company', component: Company, name: '公司管理'},  
145 - // { path: '/group', component: Group, name: '集团管理'}  
146 - ]  
147 - },  
148 { 46 {
149 path: '/admin', 47 path: '/admin',
150 component: Home, 48 component: Home,
151 name: '系统设置', 49 name: '系统设置',
152 iconCls: 'el-icon-setting',//图标样式class 50 iconCls: 'el-icon-setting',//图标样式class
153 children: [ 51 children: [
154 - { path: '/user', component: User, name: '用户管理' },  
155 - { path: '/role', component: Role, name: '组织机构' },  
156 - { path: '/perm', component: Perm, name: '权限管理' },  
157 - { path: '/log', component: LOG, name: '系统日志' },  
158 - { path: '/department', component: Department, name: '部门管理' },  
159 - { path: '/company', component: Company, name: '公司管理'},  
160 - { path: '/group', component: Group, name: '集团管理'}  
161 - ]  
162 - },  
163 - {  
164 - path: '/guestService',  
165 - component: Home,  
166 - name: '客服系统',  
167 - iconCls: 'fa fa-id-card-o',  
168 - children: [  
169 - { path: '/process', component: Process, name: '工单管理' },  
170 - { path: '/job', component: Job, name: '任务管理' },  
171 - {path: '/pre1', component: PreManifest, name: '预配'},  
172 - ]  
173 - },  
174 - {  
175 - path: '/output',  
176 - component: Home,  
177 - name: '出港业务申报',  
178 - iconCls: 'el-icon-collection',  
179 - children: [  
180 - {path: '/flight', component: ExitFlight, name: '出港航班申报'},  
181 - {path: '/manifest', component: ExitManifest, name: '出港运单申报'},  
182 - {path: '/pre', component: ExitPre, name: '出港预配舱单'},  
183 - {path: '/arrive', component: ExitArrive, name: '出港运抵'},  
184 - {path: '/loadingView', component: ExitFlightDesc, name: '出港航班信息'},  
185 - {path: '/loading', component: ExitLoading, name: '出港装载'},  
186 - {path: '/tidy', component: ExitTidy, name: '出港理货'}  
187 - ]  
188 - },  
189 - {  
190 - path: '/nmms2',  
191 - component: Home,  
192 - name: '进港业务申报',  
193 - iconCls: 'fa fa-id-card-o',  
194 - children: [  
195 - { path: '/orig', component: OrigFlightList, name: '进港航班申报' },  
196 - {path:'/waybill',component:Waybill,name:'进港运单申报'},  
197 - {path:'/allocateSearch',component:AllocateSearch,name:'运单分拨申报'},  
198 - { path: '/enter', component: EnterFlightInfo, name: '原始舱单'},  
199 - { path:'/origmaster',component:OrigMaster,name:'进港原始舱单'},  
200 - {path:'/entertall',component:EnterTally,name:'进港理货'},  
201 - {path:'/tallymaster',component:TallyMster,name:'进港理货舱单'},  
202 - {path:'/importallocation',component:Importallocation,name:'进港分拨'},  
203 - {path:'/allocatearrive',component:Allocatearrive,name:'分拨运抵'},  
204 - ]  
205 - },  
206 - // 货运系统--航班预配  
207 - {  
208 - path: '/flight_scheduling',  
209 - component: Home,  
210 - name: '航班计划',  
211 - iconCls: 'el-icon-delete-location',  
212 - children: [  
213 - { path: '/inquiry', component: inquiry, name: '航班计划查询' },  
214 - ]  
215 - },  
216 - {  
217 - path: '/lost',  
218 - component: Home,  
219 - name: '落装改配申报',  
220 - iconCls:'el-icon-goods',  
221 - children:[  
222 - {path:'/lostLoad',component:LostLoad,name:'落装业务申报'},  
223 - {path:'/lostLoadChange',component:LostLoadChange,name:'改配业务申报'}  
224 -  
225 - ]  
226 - },  
227 - {  
228 - path: '/airtransport',  
229 - component: Home,  
230 - name: '通用业务申报',  
231 - iconCls:'el-icon-goods',  
232 - children:[  
233 - {path:'/route',component:Route,name:'航线申报'},  
234 - {path:'/bill',component:Bill,name:'单据申报'},  
235 - {path:'/flights',component:Flight,name:'航班申报'},  
236 - {path:'/flightplan',component:Flightplan,name:'当日飞行计划'},  
237 - {path:'/aircraft',component:Aircraft,name:'通用航空器申报'},  
238 - {path:'/routeaircraft',component:Routeaircraft,name:'航线航空器申报'},  
239 - ]  
240 - },  
241 - {  
242 - path: '/querytransport',  
243 - component: Home,  
244 - name: '通用业务查询',  
245 - iconCls:'el-icon-goods',  
246 - children:[  
247 - {path:'/queryRoute',component:queryRoute,name:'航线查询'},  
248 - {path:'/queryBill',component:queryBill,name:'单据查询'},  
249 - {path:'/queryFlights',component:queryFlight,name:'航班查询'},  
250 - {path:'/queryFlightplan',component:queryFlightplan,name:'当日飞行计划查询'},  
251 - {path:'/queryAircraft',component:queryAircraft,name:'通用航空器查询'},  
252 - {path:'/queryRouteaircraft',component:queryRouteaircraft,name:'航线航空器查询'},  
253 - ]  
254 - },  
255 - {  
256 - path: '/input',  
257 - component: Home,  
258 - name: '进港航班申报',  
259 - iconCls:'el-icon-goods',  
260 - children:[  
261 - {path:'/arrival',component:arrival,name:'进港预报申报'},  
262 - {path:'/confirmatory',component:confirmatory,name:'进港确报申报'},  
263 - {path:'/queryArrival',component:queryArrival,name:'进港预报查询'},  
264 - {path:'/queryConfirmatory',component:queryConfirmatory,name:'进港确报查询'},  
265 - {path:'/configure',component:configure,name:'进港航班配置'},  
266 - {path:'/queryConfigure',component:queryConfigure,name:'航班配置查询'},  
267 - ]  
268 - },  
269 - {  
270 - path: '/con',  
271 - component: Home,  
272 - name: '收发货人管理',  
273 - iconCls:'el-icon-goods',  
274 - children:[  
275 - {path:'/consigner',component:Consigner,name:'发货人管理'},  
276 - {path:'/consignee',component:Consignee,name:'收货人管理'},  
277 - ]  
278 - },  
279 - {  
280 - path: '/out',  
281 - component: Home,  
282 - name: '出港申报',  
283 - iconCls:'el-icon-goods',  
284 - children:[  
285 - {path:'/departure',component:departure,name:'出港预报申报'},  
286 - {path:'/declare',component:declare,name:'出港确报申报'},  
287 - {path:'/queryDeparture',component:queryDeparture,name:'出港预报查询'},  
288 - {path:'/queryDeclare',component:queryDeclare,name:'出港确报查询'},  
289 - {path:'/outConfigure',component:outConfigure,name:'出港航班配置'},  
290 - {path:'/queryFlightConfigure',component:queryFlightConfigure,name:'航班配置查询'},  
291 - ]  
292 - },  
293 -  
294 - {  
295 - path: '/empt',  
296 - component: Home,  
297 - name: '能源管理',  
298 - iconCls: 'fa fa-id-card-o',  
299 - children: [  
300 - { path: '/location', component: Location, name: '能源缴费' },  
301 - ]  
302 - },  
303 - {  
304 - path: '/satff',  
305 - component: Home,  
306 - name: '生活保障部门',  
307 - iconCls: 'fa fa-id-card-o',  
308 - children: [  
309 - { path: '/security_inspection', component: SecrityInspection, name: '职工公寓安全巡视管理' },  
310 - { path: '/key', component: Key, name: '职工公寓备用钥匙使用登记管理' },  
311 - { path: '/maintain', component: Maintain, name: '职工公寓设施设备维修记录管理' },  
312 - { path: '/come_car', component: ComeCar, name: '职工公寓外来人员车辆登记管理' },  
313 - { path: '/on_duty', component: OnDuty, name: '职工公寓值班巡视记录管理' },  
314 - ]  
315 - },  
316 - {  
317 - path: '/water_heating_chamber',  
318 - component: Home,  
319 - name: '水暖室',  
320 - iconCls: 'fa fa-address-card',  
321 - // leaf: true,//只有一个节点  
322 - children: [  
323 - { path: '/water_stations_patrol', component: WaterStationsPatrol, name: '二水厂-水站巡视记录单管理' },  
324 - // { path: '/page6', component: Page6, name: '水质量检测' },  
325 - // { path: '/page6', component: Page6, name: '污水站' },  
326 - // { path: '/page6', component: Page6, name: '一水厂' },  
327 - // { path: '/page6', component: Page6, name: '综合楼空调站' }, 52 + {path: '/user', component: User, name: '用户管理'},
  53 + {path: '/role', component: Role, name: '组织机构'},
  54 + {path: '/perm', component: Perm, name: '权限管理'},
  55 + {path: '/log', component: LOG, name: '系统日志'},
  56 + {path: '/department', component: Department, name: '部门管理'},
  57 + {path: '/company', component: Company, name: '公司管理'},
  58 + {path: '/group', component: Group, name: '集团管理'}
328 ] 59 ]
329 }, 60 },
330 { 61 {
331 path: '/', 62 path: '/',
332 component: Home, 63 component: Home,
333 - name: 'Charts',  
334 - iconCls: 'fa fa-bar-chart', 64 + name: '陆运运输',
  65 + iconCls: 'el-icon-setting',//图标样式class
335 children: [ 66 children: [
336 - {path: '/echarts', component: echarts, name: 'echarts'} 67 + {path: '/vehicle', component: Vehicle, name: '车辆管理'},
  68 + {path: '/trailer', component: Trailer, name: '挂车管理'},
  69 + {path: '/corporation', component: Corporation, name: '企业管理'},
  70 + {path: '/driver', component: Driver, name: '驾驶员管理'},
337 ] 71 ]
338 }, 72 },
339 { 73 {
@@ -44,7 +44,7 @@ @@ -44,7 +44,7 @@
44 </el-table-column> 44 </el-table-column>
45 <el-table-column prop="state" label="启用" width="100" :formatter="formatState" sortable> 45 <el-table-column prop="state" label="启用" width="100" :formatter="formatState" sortable>
46 </el-table-column> 46 </el-table-column>
47 - <el-table-column label="操作" width="250"> 47 + <el-table-column label="操作" width="250" fixed="right">
48 <template slot-scope="scope"> 48 <template slot-scope="scope">
49 <el-button size="small" @click="roleEdit(scope.$index, scope.row)">角色配置</el-button> 49 <el-button size="small" @click="roleEdit(scope.$index, scope.row)">角色配置</el-button>
50 <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button> 50 <el-button size="small" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
  1 +<template>
  2 +
  3 +</template>
  4 +
  5 +<script>
  6 + export default {
  7 + name: "Corporation"
  8 + }
  9 +</script>
  10 +
  11 +<style scoped>
  12 +
  13 +</style>
  1 +<template>
  2 +
  3 +</template>
  4 +
  5 +<script>
  6 + export default {
  7 + name: "Driver"
  8 + }
  9 +</script>
  10 +
  11 +<style scoped>
  12 +
  13 +</style>
  1 +<template>
  2 + <el-container>
  3 + <el-main>
  4 + <el-card style="background-color: #F5F7FA">
  5 + <!-- 搜素区域 -->
  6 + <div>
  7 + <el-row :gutter="10">
  8 + <el-col :span="4">
  9 + <el-input v-model="trailer_queryInfo.trailerLicenseNo" prefix-icon="el-icon-search" size="small"
  10 + placeholder="挂车牌号" clearable></el-input>
  11 + </el-col>
  12 + <el-col :span="8">
  13 + <el-button type="success" style="width:120px" size="small" @click="trailer_getList">
  14 + 查询
  15 + </el-button>
  16 + <el-button type="primary" style="width:120px" size="small" @click="trailer_toAddDialog">
  17 + 备案添加
  18 + </el-button>
  19 + </el-col>
  20 + </el-row>
  21 + </div>
  22 + <!-- 列表区域 -->
  23 + <div style="margin-top: 20px;">
  24 + <el-table :data="trailer_page.trailerList" border size="mini" @selection-change="trailer_selectChange"
  25 + v-loading="trailer_loading.listLoading" element-loading-text="获取挂车列表,拼命加载中">
  26 + <el-table-column type="selection" width="55" align="center"></el-table-column>
  27 + <el-table-column type="index" align="center"></el-table-column>
  28 + <el-table-column label="主管海关代码" prop="mainPort" align="center" width="100"></el-table-column>
  29 + <el-table-column label="挂车车牌号" prop="trailerLicenseNo" align="center" width="110"></el-table-column>
  30 + <el-table-column label="挂车车架号" prop="frameNo" align="center" width="150"></el-table-column>
  31 + <el-table-column label="挂车注册地" prop="trailerRegPlace" align="center" width="120"></el-table-column>
  32 + <el-table-column label="挂车重量" prop="trailerWt" align="center" width="80"></el-table-column>
  33 + <el-table-column label="挂车类型" prop="trailerClassFlag" align="center" width="100"></el-table-column>
  34 + <el-table-column label="挂车颜色" prop="trailerColor" align="center" width="100"></el-table-column>
  35 + <el-table-column label="更新时间" prop="updateDate" align="center" width="140"></el-table-column>
  36 + <el-table-column label="操作" width="180px" align="center" fixed="right">
  37 + <template slot-scope="scope">
  38 + <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
  39 + <el-button type="text" icon="el-icon-edit" size="mini"
  40 + @click="trailer_toEditDialog(scope.$index,scope.row)">编辑
  41 + </el-button>
  42 + </el-tooltip>
  43 + <el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false">
  44 + <el-button type="text" icon="el-icon-delete" size="mini"
  45 + :loading="trailer_loading.delLoading"
  46 + @click="trailer_delete(scope.$index,scope.row)">删除
  47 + </el-button>
  48 + </el-tooltip>
  49 + </template>
  50 + </el-table-column>
  51 + </el-table>
  52 + </div>
  53 + <!-- 分页区域 -->
  54 + <div style="margin-top: 10px">
  55 + <el-row :gutter="24">
  56 + <el-col :span="5">
  57 + <el-button type="danger" icon="el-icon-delete"
  58 + :loading="trailer_loading.listLoading"
  59 + :disabled="this.trailer_page.selectList.length===0"
  60 + size="small"
  61 + @click="trailer_batchRemove">批量删除
  62 + </el-button>
  63 + </el-col>
  64 + <el-col :span="10" style="margin-top: 5px">
  65 + <el-pagination
  66 + @size-change="trailer_handleSizeChange"
  67 + @current-change="trailer_handleCurrentChange"
  68 + :current-page="trailer_queryInfo.pageNum"
  69 + :page-sizes="[10,30,50,100]"
  70 + :page-size="trailer_queryInfo.pageSize"
  71 + layout="total, sizes, prev, pager, next, jumper"
  72 + :total="trailer_page.total">
  73 + </el-pagination>
  74 + </el-col>
  75 + </el-row>
  76 + </div>
  77 + </el-card>
  78 + </el-main>
  79 + <!-- 备案添加 -->
  80 + <div>
  81 + <el-dialog title="挂车信息:备案添加"
  82 + :visible.sync="trailer_dialog.addDialog"
  83 + style="margin-top: -80px" text-align="center" width="65%"
  84 + @close="trailer_addDialogClosed">
  85 + <el-form :inline="true" label-width="150px" status-icon style="margin-top: -10px;margin-left: 60px"
  86 + :model="trailer_addForm" :rules="trailer_addFormRules" ref="trailer_addFormRef">
  87 + <el-form-item label="海关代码:" prop="mainPort">
  88 + <el-input v-model="trailer_addForm.mainPort" style="width:240px" size="mini" clearable
  89 + placeholder="请输入海关代码">
  90 + </el-input>
  91 + </el-form-item>
  92 + <el-form-item label="挂车牌号:" prop="trailerLicenseNo">
  93 + <el-input v-model="trailer_addForm.trailerLicenseNo" style="width:240px" size="mini" clearable
  94 + placeholder="请输入挂车牌号">
  95 + </el-input>
  96 + </el-form-item>
  97 + <el-form-item label="挂车注册地:" prop="trailerRegPlace">
  98 + <el-input v-model="trailer_addForm.trailerRegPlace" style="width:240px" size="mini" clearable
  99 + placeholder="请输入挂车注册地">
  100 + </el-input>
  101 + </el-form-item>
  102 + <el-form-item label="车架号码:" prop="frameNo">
  103 + <el-input v-model="trailer_addForm.frameNo" style="width:240px" size="mini" clearable
  104 + placeholder="请输入车架号码">
  105 + </el-input>
  106 + </el-form-item>
  107 + <el-form-item label="挂车重量:" prop="trailerWt">
  108 + <el-input v-model="trailer_addForm.trailerWt" style="width:240px" size="mini" clearable
  109 + placeholder="请输入挂车重量">
  110 + </el-input>
  111 + </el-form-item>
  112 + <el-form-item label="挂车颜色:" prop="trailerColor">
  113 + <el-input v-model="trailer_addForm.trailerColor" style="width:240px" size="mini" clearable
  114 + placeholder="请输入挂车颜色">
  115 + </el-input>
  116 + </el-form-item>
  117 + <el-form-item label="申请人:" prop="proposer">
  118 + <el-input v-model="trailer_addForm.proposer" style="width:240px" size="mini" clearable
  119 + placeholder="请输入申请人">
  120 + </el-input>
  121 + </el-form-item>
  122 + <el-form-item label="申请时间:" prop="proposeTime">
  123 + <el-date-picker v-model="trailer_addForm.proposeTime" clearable type="datetime"
  124 + value-format="yyyy-MM-dd HH:mm:ss" placeholder="申请时间" size="mini" style="width:240px"></el-date-picker>
  125 + </el-form-item>
  126 +
  127 + <el-form-item label="挂车备案类别:" prop="trailerClassFlag">
  128 + <el-input v-model="trailer_addForm.trailerClassFlag" style="width:240px" size="mini" clearable
  129 + placeholder="请输入挂车备案类别">
  130 + </el-input>
  131 + </el-form-item>
  132 + <el-form-item label="数据操作类型:" prop="operationType">
  133 + <el-input v-model="trailer_addForm.operationType" style="width:240px" size="mini" clearable
  134 + placeholder="请输入数据操作类型">
  135 + </el-input>
  136 + </el-form-item>
  137 +
  138 + <el-form-item label="挂车牌号图片:" prop="trailerLicenseNoPic">
  139 +
  140 + </el-form-item>
  141 +
  142 + </el-form>
  143 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  144 + <el-button type="info" @click="trailer_dialog.addDialog = false" size="medium"
  145 + style="width: 100px">取消
  146 + </el-button>
  147 + <el-button type="primary" @click="trailer_add" :loading="trailer_loading.addLoading"
  148 + size="medium" style="width: 100px">保存
  149 + </el-button>
  150 + </div>
  151 + </el-dialog>
  152 + </div>
  153 + <!-- 修改,对话框 -->
  154 + <div>
  155 + <el-dialog title="挂车信息:备案修改"
  156 + :visible.sync="trailer_dialog.editDialog"
  157 + style="margin-top: -80px" text-align="center" width="65%"
  158 + @close="trailer_editDialogClosed">
  159 + <el-form :inline="true" label-width="150px" status-icon style="margin-top: -10px;margin-left: 60px"
  160 + :model="trailer_editForm" :rules="trailer_editFormRules" ref="trailer_editFormRef">
  161 + <el-form-item label="海关代码:" prop="mainPort">
  162 + <el-input v-model="trailer_editForm.mainPort" style="width:240px" size="mini" clearable
  163 + placeholder="请输入海关代码">
  164 + </el-input>
  165 + </el-form-item>
  166 +
  167 + </el-form>
  168 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  169 + <el-button type="info" @click="trailer_dialog.editDialog = false" size="medium"
  170 + style="width: 100px">取消
  171 + </el-button>
  172 + <el-button type="primary" @click="trailer_edit" :loading="trailer_loading.editLoading"
  173 + size="medium" style="width: 100px">保存
  174 + </el-button>
  175 + </div>
  176 + </el-dialog>
  177 + </div>
  178 + </el-container>
  179 +</template>
  180 +
  181 +<script>
  182 + import {
  183 + selectTrailerList,
  184 + insertTrailer,
  185 + updateTrailer,
  186 + deleteTrailer,
  187 + batchRemoveTrailer,
  188 + } from "../../api/vehicle_dispatch";
  189 +
  190 + export default {
  191 + name: "Trailer",
  192 + data() {
  193 + return {
  194 + /**
  195 + * 搜索参数
  196 + */
  197 + trailer_queryInfo: {
  198 + // 挂车车牌号
  199 + trailerLicenseNo: '',
  200 + // 当前页数
  201 + pageNum: 1,
  202 + // 每页大小
  203 + pageSize: 10,
  204 + },
  205 +
  206 + /**
  207 + * trailer,分页
  208 + */
  209 + trailer_page: {
  210 + trailerList: [],
  211 + total: 0,
  212 + selectList: [],
  213 + },
  214 +
  215 + /**
  216 + * 加载
  217 + */
  218 + trailer_loading: {
  219 + listLoading: false,
  220 + addLoading: false,
  221 + editLoading: false,
  222 + delLoading: false,
  223 + batchDelLoading: false,
  224 + },
  225 +
  226 + /**
  227 + * 对话框
  228 + */
  229 + trailer_dialog: {
  230 + addDialog: false,
  231 + editDialog: false,
  232 + },
  233 +
  234 + /**
  235 + * 备案添加,表单
  236 + */
  237 + trailer_addForm: {
  238 + // 海关代码
  239 + mainPort: '',
  240 + // 挂车牌号
  241 + trailerLicenseNo: '',
  242 + // 挂车注册地
  243 + trailerRegPlace: '',
  244 + // 车架号码
  245 + frameNo: '',
  246 + // 挂车重量
  247 + trailerWt: '',
  248 + // 挂车颜色
  249 + trailerColor: '',
  250 + // 申请人
  251 + proposer: '',
  252 + // 申请时间
  253 + proposeTime: undefined,
  254 + // 挂车备案类别
  255 + trailerClassFlag: '',
  256 + // 数据操作类型
  257 + operationType: '',
  258 + // 挂车牌号图片
  259 + trailerLicenseNoPic: '',
  260 + },
  261 +
  262 + /**
  263 + * 备案添加,表单验证规则
  264 + */
  265 + trailer_addFormRules: {},
  266 +
  267 + /**
  268 + * 车辆属性,(使用的是 车辆分类 字段)一错全错
  269 + */
  270 + veClassFlagList: [
  271 + {
  272 + value: '1',
  273 + label: '普通车辆'
  274 + },
  275 + {
  276 + value: '2',
  277 + label: '调拨车辆'
  278 + },
  279 + ],
  280 +
  281 + /**
  282 + * 备案修改,表单
  283 + */
  284 + trailer_editForm: {},
  285 +
  286 + /**
  287 + * 备案修改,表单验证规则
  288 + */
  289 + trailer_editFormRules: {},
  290 + }
  291 + },
  292 + methods: {
  293 + /**
  294 + * 分页查询,监听 pageSize 改变的事件
  295 + * 刷新列表
  296 + */
  297 + trailer_handleSizeChange(newSize) {
  298 + this.trailer_queryInfo.pageSize = newSize;
  299 + this.trailer_getList();
  300 + },
  301 + /**
  302 + * 分页查询,监听 pageNum 改变的事件
  303 + * 刷新列表
  304 + */
  305 + trailer_handleCurrentChange(newPage) {
  306 + this.trailer_queryInfo.pageNum = newPage;
  307 + this.trailer_getList();
  308 + },
  309 + /**
  310 + * 列表查询
  311 + */
  312 + trailer_getList() {
  313 + this.trailer_loading.listLoading = true;
  314 + selectTrailerList(this.trailer_queryInfo).then((response) => {
  315 + let res = response.data;
  316 + if (res.code !== '200') {
  317 + this.trailer_loading.listLoading = false;
  318 + return this.$message.error(res.msg);
  319 + }
  320 + this.trailer_page.trailerList = res.data.list;
  321 + this.trailer_page.total = res.data.total;
  322 + this.trailer_loading.listLoading = false;
  323 + }).catch(error => {
  324 + this.trailer_loading.listLoading = false;
  325 + this.$message.error(error.toString());
  326 + });
  327 + },
  328 +
  329 + /**
  330 + * 对话框,备案添加,打开事件
  331 + */
  332 + trailer_toAddDialog() {
  333 + this.trailer_dialog.addDialog = true;
  334 + },
  335 +
  336 + /**
  337 + * 对话框,备案添加,关闭事件
  338 + */
  339 + trailer_addDialogClosed() {
  340 + this.$refs.trailer_addFormRef.resetFields();
  341 + },
  342 +
  343 + /**
  344 + * 备案添加
  345 + */
  346 + trailer_add() {
  347 + this.$refs.trailer_addFormRef.validate(valid => {
  348 + if (!valid) return;
  349 +
  350 + this.trailer_loading.addLoading = true;
  351 + insertTrailer(this.trailer_addForm).then((response) => {
  352 + let res = response.data;
  353 + if (res.code !== '200') {
  354 + this.trailer_loading.addLoading = false;
  355 + return this.$message.error(res.msg);
  356 + }
  357 + this.$message.success(res.msg);
  358 + this.trailer_loading.addLoading = false;
  359 + this.trailer_dialog.addDialog = false;
  360 + this.trailer_getList();
  361 + }).catch(error => {
  362 + this.trailer_loading.addLoading = false;
  363 + this.$message.error(error.toString());
  364 + });
  365 + })
  366 + },
  367 +
  368 + /**
  369 + * 备案修改,对话框,打开事件
  370 + */
  371 + trailer_toEditDialog(index, row) {
  372 + this.trailer_editForm = Object.assign({}, row);
  373 + this.trailer_dialog.editDialog = true;
  374 + },
  375 +
  376 + /**
  377 + * 备案修改,对话框,关闭事件
  378 + */
  379 + trailer_editDialogClosed() {
  380 + this.$refs.trailer_editFormRef.resetFields();
  381 + },
  382 +
  383 + /**
  384 + * 备案修改
  385 + */
  386 + trailer_edit() {
  387 + this.$refs.trailer_editFormRef.validate(valid => {
  388 + if (!valid) return;
  389 +
  390 + this.trailer_loading.editLoading = true;
  391 + updateTrailer(this.trailer_editForm).then((response) => {
  392 + let res = response.data;
  393 + if (res.code !== '200') {
  394 + this.trailer_loading.editLoading = false;
  395 + return this.$message.error(res.msg);
  396 + }
  397 + this.$message.success(res.msg);
  398 + this.trailer_loading.editLoading = false;
  399 + this.trailer_dialog.editDialog = false;
  400 + this.trailer_getList();
  401 + }).catch(error => {
  402 + this.trailer_loading.editLoading = false;
  403 + this.$message.error(error.toString());
  404 + });
  405 + })
  406 + },
  407 +
  408 + /**
  409 + * trailer,批量删除---选中
  410 + */
  411 + trailer_selectChange: function (selectList) {
  412 + this.trailer_page.selectList = selectList;
  413 + },
  414 + /**
  415 + * trailer,批量删除功能
  416 + */
  417 + trailer_batchRemove() {
  418 + const ids = this.trailer_page.selectList.map(item => item.id).toString();
  419 + this.$confirm('此操作将永久删除选中的挂车信息, 是否继续?', '警告', {
  420 + confirmButtonText: '确定删除',
  421 + cancelButtonText: '取消',
  422 + type: 'warning'
  423 + }
  424 + ).then(() => {
  425 + this.trailer_loading.listLoading = true;
  426 + let params = {id: ids};
  427 + batchRemoveTrailer(params).then(response => {
  428 + let res = response.data;
  429 + if (res.code !== '200') {
  430 + this.trailer_loading.listLoading = false;
  431 + return this.$message.error(res.msg);
  432 + }
  433 + this.$message.success(res.msg);
  434 + this.trailer_loading.listLoading = false;
  435 + this.trailer_getList();
  436 + }).catch(error => {
  437 + this.trailer_loading.listLoading = false;
  438 + this.$message.error(error.toString());
  439 + });
  440 + }).catch(() => {
  441 + });
  442 + },
  443 + /**
  444 + * trailer,删除功能
  445 + */
  446 + trailer_delete(index, row) {
  447 + this.$confirm('此操作永久删除该挂车信息, 是否继续?', '警告', {
  448 + confirmButtonText: '确定删除',
  449 + cancelButtonText: '取消',
  450 + type: 'warning'
  451 + }
  452 + ).then(() => {
  453 + this.trailer_loading.delLoading = true;
  454 + deleteTrailer(row).then((response) => {
  455 + let res = response.data;
  456 + if (res.code !== '200') {
  457 + this.trailer_loading.delLoading = false;
  458 + return this.$message.error(res.msg);
  459 + }
  460 + this.trailer_loading.delLoading = false;
  461 + this.$message.success(res.msg);
  462 + this.trailer_getList();
  463 + }).catch(error => {
  464 + this.trailer_loading.delLoading = false;
  465 + this.$message.error(error.toString());
  466 + });
  467 + }).catch(() => {
  468 + });
  469 + },
  470 +
  471 + },
  472 + created() {
  473 +
  474 + },
  475 + mounted() {
  476 +
  477 + },
  478 + }
  479 +</script>
  480 +
  481 +<style scoped>
  482 +
  483 +</style>
  1 +<template>
  2 + <el-container>
  3 + <el-card style="background-color: #F5F7FA">
  4 + <!-- 搜素区域 -->
  5 + <div>
  6 + <el-row :gutter="10">
  7 + <el-col :span="4">
  8 + <el-input v-model="vehicle_queryInfo.domesticLisenceNo" prefix-icon="el-icon-search" size="small"
  9 + placeholder="国内车牌号" clearable></el-input>
  10 + </el-col>
  11 + <el-col :span="8">
  12 + <el-button type="success" style="width:120px" size="small" @click="vehicle_getList">
  13 + 查询
  14 + </el-button>
  15 + <el-button type="primary" style="width:120px" size="small" @click="vehicle_toAddDialog">
  16 + 备案添加
  17 + </el-button>
  18 + </el-col>
  19 + </el-row>
  20 + </div>
  21 + <!-- 列表区域 -->
  22 + <div style="margin-top: 20px;">
  23 + <el-table :data="vehicle_page.vehicleList" border size="mini" @selection-change="vehicle_selectChange"
  24 + v-loading="vehicle_loading.listLoading" element-loading-text="获取车辆列表,拼命加载中">
  25 + <el-table-column type="selection" width="55" align="center"></el-table-column>
  26 + <el-table-column type="index" align="center"></el-table-column>
  27 + <el-table-column label="运输公司名称" prop="coCode" align="center" width="100"></el-table-column>
  28 + <el-table-column label="挂靠单位" prop="proposer" align="center" width="100"></el-table-column>
  29 + <el-table-column label="备案单位" prop="" align="center" width="100"></el-table-column>
  30 + <el-table-column label="国内车牌" prop="domesticLisenceNo" align="center" width="80"></el-table-column>
  31 + <el-table-column label="车主姓名" prop="veOwnerName" align="center" width="80"></el-table-column>
  32 + <el-table-column label="车主联系方式" prop="ownerInsideTel" align="center" width="100"></el-table-column>
  33 + <el-table-column label="本地关代码" prop="mainPort" align="center" width="90"></el-table-column>
  34 + <el-table-column label="自重" prop="selfWt" align="center" width="90"></el-table-column>
  35 + <el-table-column label="载重" prop="veTon" align="center" width="90"></el-table-column>
  36 + <el-table-column label="备案结果" prop="returnmessage" align="center" width="90"></el-table-column>
  37 + <el-table-column label="备案编号" prop="" align="center" width="90"></el-table-column>
  38 + <el-table-column label="申报状态" prop="" align="center" width="90"></el-table-column>
  39 + <el-table-column label="更新时间" prop="updateDate" align="center" width="150"></el-table-column>
  40 + <el-table-column label="操作" width="180px" align="center" fixed="right">
  41 + <template slot-scope="scope">
  42 + <el-tooltip effect="dark" content="编辑" placement="top-start" :enterable="false">
  43 + <el-button type="text" icon="el-icon-edit" size="mini"
  44 + @click="vehicle_toEditDialog(scope.$index,scope.row)">编辑
  45 + </el-button>
  46 + </el-tooltip>
  47 + <el-tooltip effect="dark" content="删除" placement="top-start" :enterable="false">
  48 + <el-button type="text" icon="el-icon-delete" size="mini"
  49 + :loading="vehicle_loading.delLoading"
  50 + @click="vehicle_delete(scope.$index,scope.row)">删除
  51 + </el-button>
  52 + </el-tooltip>
  53 + <el-tooltip effect="dark" content="审批" placement="top-start" :enterable="false">
  54 + <el-button type="text" icon="el-icon-star-off" size="mini"
  55 + @click="vehicle_audit">审批
  56 + </el-button>
  57 + </el-tooltip>
  58 + </template>
  59 + </el-table-column>
  60 + </el-table>
  61 + </div>
  62 + <!-- 分页区域 -->
  63 + <div style="margin-top: 10px">
  64 + <el-row :gutter="24">
  65 + <el-col :span="5">
  66 + <el-button type="danger" icon="el-icon-delete"
  67 + :loading="vehicle_loading.listLoading"
  68 + :disabled="this.vehicle_page.selectList.length===0"
  69 + size="small"
  70 + @click="vehicle_batchRemove">批量删除
  71 + </el-button>
  72 + </el-col>
  73 + <el-col :span="10" style="margin-top: 5px">
  74 + <el-pagination
  75 + @size-change="vehicle_handleSizeChange"
  76 + @current-change="vehicle_handleCurrentChange"
  77 + :current-page="vehicle_queryInfo.pageNum"
  78 + :page-sizes="[10,30,50,100]"
  79 + :page-size="vehicle_queryInfo.pageSize"
  80 + layout="total, sizes, prev, pager, next, jumper"
  81 + :total="vehicle_page.total">
  82 + </el-pagination>
  83 + </el-col>
  84 + </el-row>
  85 + </div>
  86 + </el-card>
  87 + <!-- 备案添加 -->
  88 + <div>
  89 + <el-dialog title="车辆信息:备案添加"
  90 + :visible.sync="vehicle_dialog.addDialog"
  91 + style="margin-top: -80px" text-align="center" width="65%"
  92 + @close="vehicle_addDialogClosed">
  93 + <el-form :inline="true" label-width="150px" status-icon style="margin-top: -10px;margin-left: 60px"
  94 + :model="vehicle_addForm" :rules="vehicle_addFormRules" ref="vehicle_addFormRef">
  95 + <el-form-item label="海关代码:" prop="mainPort">
  96 + <el-input v-model="vehicle_addForm.mainPort" style="width:240px" size="mini" clearable
  97 + placeholder="请输入海关代码">
  98 + </el-input>
  99 + </el-form-item>
  100 + <br>
  101 + <el-form-item label="挂靠单位:" prop="proposer">
  102 + <el-input v-model="vehicle_addForm.proposer" style="width:240px" size="mini" clearable
  103 + placeholder="请输入挂靠单位">
  104 + </el-input>
  105 + </el-form-item>
  106 + <el-form-item label="运输公司名称:" prop="coCode">
  107 + <el-input v-model="vehicle_addForm.coCode" style="width:240px" size="mini" clearable
  108 + placeholder="请输入运输公司名称">
  109 + </el-input>
  110 + </el-form-item>
  111 +
  112 + <el-form-item label="国内车牌:" prop="domesticLisenceNo">
  113 + <el-input v-model="vehicle_addForm.domesticLisenceNo" style="width:240px" size="mini" clearable
  114 + placeholder="请输入国内车牌">
  115 + </el-input>
  116 + </el-form-item>
  117 + <el-form-item label="车主姓名:" prop="veOwnerName">
  118 + <el-input v-model="vehicle_addForm.veOwnerName" style="width:240px" size="mini" clearable
  119 + placeholder="请输入车主姓名">
  120 + </el-input>
  121 + </el-form-item>
  122 +
  123 + <el-form-item label="车主联系方式:" prop="ownerInsideTel">
  124 + <el-input v-model="vehicle_addForm.ownerInsideTel" style="width:240px" size="mini" clearable
  125 + placeholder="请输入车主联系方式">
  126 + </el-input>
  127 + </el-form-item>
  128 + <el-form-item label="行驶证有效期:" prop="veFactoryDate">
  129 + <el-date-picker v-model="vehicle_addForm.veFactoryDate" placeholder="行驶证有效期"
  130 + type="date" value-format="yyyy-MM-dd"
  131 + size="mini" style="width:240px"></el-date-picker>
  132 + </el-form-item>
  133 +
  134 + <el-form-item label="自重(空车重量):" prop="selfWt">
  135 + <el-input v-model="vehicle_addForm.selfWt" style="width:240px" size="mini" clearable
  136 + placeholder="单位:KG">
  137 + </el-input>
  138 + </el-form-item>
  139 + <el-form-item label="核定载货重量:" prop="veTon">
  140 + <el-input v-model="vehicle_addForm.veTon" style="width:240px" size="mini" clearable
  141 + placeholder="货车核载单位为:KG">
  142 + </el-input>
  143 + </el-form-item>
  144 +
  145 + <el-form-item label="挂车牌号:" prop="trailerLicenseNo">
  146 + <el-input v-model="vehicle_addForm.trailerLicenseNo" style="width:240px" size="mini" clearable
  147 + placeholder="请输入挂车牌号">
  148 + </el-input>
  149 + </el-form-item>
  150 + <el-form-item label="挂车车架号:" prop="trailerFrameNo">
  151 + <el-input v-model="vehicle_addForm.trailerFrameNo" style="width:240px" size="mini" clearable
  152 + placeholder="请输入挂车车架号">
  153 + </el-input>
  154 + </el-form-item>
  155 +
  156 + <el-form-item label="车辆备案编号:" prop="veCardNo">
  157 + <el-input v-model="vehicle_addForm.veCardNo" style="width:240px" size="mini" clearable
  158 + placeholder="请输入车辆备案编号">
  159 + </el-input>
  160 + </el-form-item>
  161 + <el-form-item label="车辆属性:" prop="veClassFlag">
  162 + <el-select v-model="vehicle_addForm.veClassFlag" style="width: 240px" clearable size="small"
  163 + placeholder="请选择车辆属性">
  164 + <el-option
  165 + v-for="item in veClassFlagList"
  166 + :key="item.value"
  167 + :label="item.label"
  168 + :value="item.value">
  169 + </el-option>
  170 + </el-select>
  171 + </el-form-item>
  172 +
  173 + <el-form-item label="备注:" prop="memo">
  174 + <el-input v-model="vehicle_addForm.memo" style="width:645px" clearable size="mini"
  175 + type="textarea" :rows="3">
  176 + </el-input>
  177 + </el-form-item>
  178 + </el-form>
  179 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  180 + <el-button type="info" @click="vehicle_dialog.addDialog = false" size="medium"
  181 + style="width: 100px">取消
  182 + </el-button>
  183 + <el-button type="primary" @click="vehicle_add" :loading="vehicle_loading.addLoading"
  184 + size="medium" style="width: 100px">保存
  185 + </el-button>
  186 + </div>
  187 + </el-dialog>
  188 + </div>
  189 + <!-- 修改,对话框 -->
  190 + <div>
  191 + <el-dialog title="车辆信息:备案修改"
  192 + :visible.sync="vehicle_dialog.editDialog"
  193 + style="margin-top: -80px" text-align="center" width="65%"
  194 + @close="vehicle_editDialogClosed">
  195 + <el-form :inline="true" label-width="150px" status-icon style="margin-top: -10px;margin-left: 60px"
  196 + :model="vehicle_editForm" :rules="vehicle_editFormRules" ref="vehicle_editFormRef">
  197 + <el-form-item label="海关代码:" prop="mainPort">
  198 + <el-input v-model="vehicle_editForm.mainPort" style="width:240px" size="mini" clearable
  199 + placeholder="请输入海关代码">
  200 + </el-input>
  201 + </el-form-item>
  202 + <br>
  203 + <el-form-item label="挂靠单位:" prop="proposer">
  204 + <el-input v-model="vehicle_editForm.proposer" style="width:240px" size="mini" clearable
  205 + placeholder="请输入挂靠单位">
  206 + </el-input>
  207 + </el-form-item>
  208 + <el-form-item label="运输公司名称:" prop="coCode">
  209 + <el-input v-model="vehicle_editForm.coCode" style="width:240px" size="mini" clearable
  210 + placeholder="请输入运输公司名称">
  211 + </el-input>
  212 + </el-form-item>
  213 +
  214 + <el-form-item label="国内车牌:" prop="domesticLisenceNo">
  215 + <el-input v-model="vehicle_editForm.domesticLisenceNo" style="width:240px" size="mini" clearable
  216 + placeholder="请输入国内车牌">
  217 + </el-input>
  218 + </el-form-item>
  219 + <el-form-item label="车主姓名:" prop="veOwnerName">
  220 + <el-input v-model="vehicle_editForm.veOwnerName" style="width:240px" size="mini" clearable
  221 + placeholder="请输入车主姓名">
  222 + </el-input>
  223 + </el-form-item>
  224 +
  225 + <el-form-item label="车主联系方式:" prop="ownerInsideTel">
  226 + <el-input v-model="vehicle_editForm.ownerInsideTel" style="width:240px" size="mini" clearable
  227 + placeholder="请输入车主联系方式">
  228 + </el-input>
  229 + </el-form-item>
  230 + <el-form-item label="行驶证有效期:" prop="veFactoryDate">
  231 + <el-date-picker v-model="vehicle_editForm.veFactoryDate" placeholder="行驶证有效期"
  232 + type="date" value-format="yyyy-MM-dd"
  233 + size="mini" style="width:240px"></el-date-picker>
  234 + </el-form-item>
  235 +
  236 + <el-form-item label="自重(空车重量):" prop="selfWt">
  237 + <el-input v-model="vehicle_editForm.selfWt" style="width:240px" size="mini" clearable
  238 + placeholder="单位:KG">
  239 + </el-input>
  240 + </el-form-item>
  241 + <el-form-item label="核定载货重量:" prop="veTon">
  242 + <el-input v-model="vehicle_editForm.veTon" style="width:240px" size="mini" clearable
  243 + placeholder="货车核载单位为:KG">
  244 + </el-input>
  245 + </el-form-item>
  246 +
  247 + <el-form-item label="挂车牌号:" prop="trailerLicenseNo">
  248 + <el-input v-model="vehicle_editForm.trailerLicenseNo" style="width:240px" size="mini" clearable
  249 + placeholder="请输入挂车牌号">
  250 + </el-input>
  251 + </el-form-item>
  252 + <el-form-item label="挂车车架号:" prop="trailerFrameNo">
  253 + <el-input v-model="vehicle_editForm.trailerFrameNo" style="width:240px" size="mini" clearable
  254 + placeholder="请输入挂车车架号">
  255 + </el-input>
  256 + </el-form-item>
  257 +
  258 + <el-form-item label="车辆备案编号:" prop="veCardNo">
  259 + <el-input v-model="vehicle_editForm.veCardNo" style="width:240px" size="mini" clearable
  260 + placeholder="请输入车辆备案编号">
  261 + </el-input>
  262 + </el-form-item>
  263 + <el-form-item label="车辆属性:" prop="veClassFlag">
  264 + <el-select v-model="vehicle_editForm.veClassFlag" style="width: 240px" clearable size="small"
  265 + placeholder="请选择车辆属性">
  266 + <el-option
  267 + v-for="item in veClassFlagList"
  268 + :key="item.value"
  269 + :label="item.label"
  270 + :value="item.value">
  271 + </el-option>
  272 + </el-select>
  273 + </el-form-item>
  274 +
  275 + <el-form-item label="备注:" prop="memo">
  276 + <el-input v-model="vehicle_editForm.memo" style="width:645px" clearable size="mini"
  277 + type="textarea" :rows="3">
  278 + </el-input>
  279 + </el-form-item>
  280 + </el-form>
  281 + <div slot="footer" class="dialog-footer" style="text-align: center;margin-top: -30px">
  282 + <el-button type="info" @click="vehicle_dialog.editDialog = false" size="medium"
  283 + style="width: 100px">取消
  284 + </el-button>
  285 + <el-button type="primary" @click="vehicle_edit" :loading="vehicle_loading.editLoading"
  286 + size="medium" style="width: 100px">保存
  287 + </el-button>
  288 + </div>
  289 + </el-dialog>
  290 + </div>
  291 + </el-container>
  292 +</template>
  293 +
  294 +<script>
  295 + import {selectVehicleList, insertVehicle, updateVehicle, batchRemoveVehicle, deleteVehicle} from "../../api/vehicle_dispatch";
  296 +
  297 + export default {
  298 + name: "Vehicle",
  299 + data() {
  300 + return {
  301 +
  302 + /**
  303 + * 搜索参数
  304 + */
  305 + vehicle_queryInfo: {
  306 + // 国内车牌号
  307 + domesticLisenceNo: '',
  308 + // 车辆类型
  309 + veType: '',
  310 + // 车辆状态
  311 + veState: '',
  312 + // 当前页数
  313 + pageNum: 1,
  314 + // 每页大小
  315 + pageSize: 10,
  316 + },
  317 +
  318 + /**
  319 + * vehicle,分页
  320 + */
  321 + vehicle_page: {
  322 + vehicleList: [],
  323 + total: 0,
  324 + selectList: [],
  325 + },
  326 +
  327 + /**
  328 + * 加载
  329 + */
  330 + vehicle_loading: {
  331 + listLoading: false,
  332 + addLoading: false,
  333 + editLoading: false,
  334 + delLoading: false,
  335 + batchDelLoading: false,
  336 + },
  337 +
  338 + /**
  339 + * 对话框
  340 + */
  341 + vehicle_dialog: {
  342 + addDialog: false,
  343 + editDialog: false,
  344 + },
  345 +
  346 + /**
  347 + * 备案添加,表单
  348 + */
  349 + vehicle_addForm: {
  350 + // 海关代码
  351 + mainPort: '4604',
  352 + // 挂靠单位
  353 + proposer: '',
  354 + // 运输公司名称
  355 + coCode: '',
  356 + // 国内车牌
  357 + domesticLisenceNo: '',
  358 + // 车主姓名
  359 + veOwnerName: '',
  360 + // 车主联系方式
  361 + ownerInsideTel: '',
  362 + // 行驶证有效期
  363 + veFactoryDate: undefined,
  364 + // 自重,单位KG
  365 + selfWt: '',
  366 + // 核定载货重量,单位KG
  367 + veTon: '',
  368 + // 挂车牌号
  369 + trailerLicenseNo: '',
  370 + // 挂车车架号
  371 + trailerFrameNo: '',
  372 + // 车辆备案编号,不知道哪个字段,选择 车辆行驶证编号 字段,一错全错
  373 + veCardNo: '',
  374 + // 车辆属性,不知道哪个字段,使用的字段是 车辆分类
  375 + veClassFlag: '1',
  376 + // 备注
  377 + memo: '',
  378 + },
  379 +
  380 + /**
  381 + * 备案添加,表单验证规则
  382 + */
  383 + vehicle_addFormRules: {
  384 + // 海关代码
  385 + mainPort: [
  386 + {required: true, message: '请输入海关代码', trigger: ['blur', 'change']},
  387 + ],
  388 + // 挂靠单位
  389 + proposer: [
  390 + {required: true, message: '请输入挂靠单位', trigger: ['blur', 'change']},
  391 + ],
  392 + // 运输公司名称
  393 + coCode: [
  394 + {required: true, message: '请输入运输公司名称', trigger: ['blur', 'change']},
  395 + ],
  396 + // 国内车牌
  397 + domesticLisenceNo: [
  398 + {required: true, message: '请输入国内车牌', trigger: ['blur', 'change']},
  399 + ],
  400 + // 车主姓名
  401 + veOwnerName: [
  402 + {required: true, message: '请输入车主姓名', trigger: ['blur', 'change']},
  403 + ],
  404 + // 车主联系方式
  405 + ownerInsideTel: [
  406 + {required: true, message: '请输入车主联系方式', trigger: ['blur', 'change']},
  407 + ],
  408 + // 行驶证有效期
  409 + veFactoryDate: [
  410 + {required: true, message: '请选择行驶证有效期', trigger: ['blur', 'change']},
  411 + ],
  412 + // 自重,单位KG
  413 + selfWt: [
  414 + {required: true, message: '请输入自重', trigger: ['blur', 'change']},
  415 + ],
  416 + },
  417 +
  418 + /**
  419 + * 车辆属性,(使用的是 车辆分类 字段)一错全错
  420 + */
  421 + veClassFlagList: [
  422 + {
  423 + value: '1',
  424 + label: '普通车辆'
  425 + },
  426 + {
  427 + value: '2',
  428 + label: '调拨车辆'
  429 + },
  430 + ],
  431 +
  432 + /**
  433 + * 备案修改,表单
  434 + */
  435 + vehicle_editForm: {},
  436 +
  437 + /**
  438 + * 备案修改,表单验证规则
  439 + */
  440 + vehicle_editFormRules: {
  441 + // 海关代码
  442 + mainPort: [
  443 + {required: true, message: '请输入海关代码', trigger: ['blur', 'change']},
  444 + ],
  445 + // 挂靠单位
  446 + proposer: [
  447 + {required: true, message: '请输入挂靠单位', trigger: ['blur', 'change']},
  448 + ],
  449 + // 运输公司名称
  450 + coCode: [
  451 + {required: true, message: '请输入运输公司名称', trigger: ['blur', 'change']},
  452 + ],
  453 + // 国内车牌
  454 + domesticLisenceNo: [
  455 + {required: true, message: '请输入国内车牌', trigger: ['blur', 'change']},
  456 + ],
  457 + // 车主姓名
  458 + veOwnerName: [
  459 + {required: true, message: '请输入车主姓名', trigger: ['blur', 'change']},
  460 + ],
  461 + // 车主联系方式
  462 + ownerInsideTel: [
  463 + {required: true, message: '请输入车主联系方式', trigger: ['blur', 'change']},
  464 + ],
  465 + // 行驶证有效期
  466 + veFactoryDate: [
  467 + {required: true, message: '请选择行驶证有效期', trigger: ['blur', 'change']},
  468 + ],
  469 + // 自重,单位KG
  470 + selfWt: [
  471 + {required: true, message: '请输入自重', trigger: ['blur', 'change']},
  472 + ],
  473 + },
  474 + }
  475 +
  476 + },
  477 + methods: {
  478 + /**
  479 + * 分页查询,监听 pageSize 改变的事件
  480 + * 刷新列表
  481 + */
  482 + vehicle_handleSizeChange(newSize) {
  483 + this.vehicle_queryInfo.pageSize = newSize;
  484 + this.vehicle_getList();
  485 + },
  486 + /**
  487 + * 分页查询,监听 pageNum 改变的事件
  488 + * 刷新列表
  489 + */
  490 + vehicle_handleCurrentChange(newPage) {
  491 + this.vehicle_queryInfo.pageNum = newPage;
  492 + this.vehicle_getList();
  493 + },
  494 + /**
  495 + * 列表查询
  496 + */
  497 + vehicle_getList() {
  498 + this.vehicle_loading.listLoading = true;
  499 + selectVehicleList(this.vehicle_queryInfo).then((response) => {
  500 + let res = response.data;
  501 + if (res.code !== '200') {
  502 + this.vehicle_loading.listLoading = false;
  503 + return this.$message.error(res.msg);
  504 + }
  505 + this.vehicle_page.vehicleList = res.data.list;
  506 + this.vehicle_page.total = res.data.total;
  507 + this.vehicle_loading.listLoading = false;
  508 + }).catch(error => {
  509 + this.vehicle_loading.listLoading = false;
  510 + this.$message.error(error.toString());
  511 + });
  512 + },
  513 +
  514 + /**
  515 + * 对话框,备案添加,打开事件
  516 + */
  517 + vehicle_toAddDialog() {
  518 + this.vehicle_dialog.addDialog = true;
  519 + },
  520 +
  521 + /**
  522 + * 对话框,备案添加,关闭事件
  523 + */
  524 + vehicle_addDialogClosed() {
  525 + this.$refs.vehicle_addFormRef.resetFields();
  526 + },
  527 +
  528 + /**
  529 + * 备案添加
  530 + */
  531 + vehicle_add() {
  532 + this.$refs.vehicle_addFormRef.validate(valid => {
  533 + // 未通过,表单预校验
  534 + if (!valid) return;
  535 + // 通过,表单预检验
  536 + this.vehicle_loading.addLoading = true;
  537 + insertVehicle(this.vehicle_addForm).then((response) => {
  538 + let res = response.data;
  539 + if (res.code !== '200') {
  540 + this.vehicle_loading.addLoading = false;
  541 + return this.$message.error(res.msg);
  542 + }
  543 + this.$message.success(res.msg);
  544 + this.vehicle_loading.addLoading = false;
  545 + this.vehicle_dialog.addDialog = false;
  546 + this.vehicle_getList();
  547 + }).catch(error => {
  548 + this.vehicle_loading.addLoading = false;
  549 + this.$message.error(error.toString());
  550 + });
  551 + })
  552 + },
  553 +
  554 + /**
  555 + * 备案修改,对话框,打开事件
  556 + */
  557 + vehicle_toEditDialog(index, row) {
  558 + this.vehicle_editForm = Object.assign({}, row);
  559 + this.vehicle_dialog.editDialog = true;
  560 + },
  561 +
  562 + /**
  563 + * 备案修改,对话框,关闭事件
  564 + */
  565 + vehicle_editDialogClosed() {
  566 + this.$refs.vehicle_editFormRef.resetFields();
  567 + },
  568 + /**
  569 + * 备案修改
  570 + */
  571 + vehicle_edit() {
  572 + this.$refs.vehicle_editFormRef.validate(valid => {
  573 + // 未通过,表单预校验
  574 + if (!valid) return;
  575 + // 通过,表单预检验
  576 + this.vehicle_loading.editLoading = true;
  577 + updateVehicle(this.vehicle_editForm).then((response) => {
  578 + let res = response.data;
  579 + if (res.code !== '200') {
  580 + this.vehicle_loading.editLoading = false;
  581 + return this.$message.error(res.msg);
  582 + }
  583 + this.$message.success(res.msg);
  584 + this.vehicle_loading.editLoading = false;
  585 + this.vehicle_dialog.editDialog = false;
  586 + this.vehicle_getList();
  587 + }).catch(error => {
  588 + this.vehicle_loading.editLoading = false;
  589 + this.$message.error(error.toString());
  590 + });
  591 + })
  592 + },
  593 +
  594 + /**
  595 + * vehicle,批量删除---选中
  596 + */
  597 + vehicle_selectChange: function (selectList) {
  598 + this.vehicle_page.selectList = selectList;
  599 + },
  600 + /**
  601 + * vehicle,批量删除功能
  602 + */
  603 + vehicle_batchRemove() {
  604 + const ids = this.vehicle_page.selectList.map(item => item.id).toString();
  605 + this.$confirm('此操作将永久删除选中的车辆信息, 是否继续?', '警告', {
  606 + confirmButtonText: '确定删除',
  607 + cancelButtonText: '取消',
  608 + type: 'warning'
  609 + }
  610 + ).then(() => {
  611 + this.vehicle_loading.listLoading = true;
  612 + let params = {id: ids};
  613 + batchRemoveVehicle(params).then(response => {
  614 + let res = response.data;
  615 + if (res.code !== '200') {
  616 + this.vehicle_loading.listLoading = false;
  617 + return this.$message.error(res.msg);
  618 + }
  619 + this.$message.success(res.msg);
  620 + this.vehicle_loading.listLoading = false;
  621 + this.vehicle_getList();
  622 + }).catch(error => {
  623 + this.vehicle_loading.listLoading = false;
  624 + this.$message.error(error.toString());
  625 + });
  626 + }).catch(() => {
  627 + });
  628 + },
  629 + /**
  630 + * vehicle,删除功能
  631 + */
  632 + vehicle_delete(index, row) {
  633 + this.$confirm('此操作永久删除该车辆信息, 是否继续?', '警告', {
  634 + confirmButtonText: '确定删除',
  635 + cancelButtonText: '取消',
  636 + type: 'warning'
  637 + }
  638 + ).then(() => {
  639 + this.vehicle_loading.delLoading = true;
  640 + deleteVehicle(row).then((response) => {
  641 + let res = response.data;
  642 + if (res.code !== '200') {
  643 + this.vehicle_loading.delLoading = false;
  644 + return this.$message.error(res.msg);
  645 + }
  646 + this.vehicle_loading.delLoading = false;
  647 + this.$message.success(res.msg);
  648 + this.vehicle_getList();
  649 + }).catch(error => {
  650 + this.vehicle_loading.delLoading = false;
  651 + this.$message.error(error.toString());
  652 + });
  653 + }).catch(() => {
  654 + });
  655 + },
  656 + /**
  657 + * 审计
  658 + */
  659 + vehicle_audit() {
  660 + this.$confirm('确认要审批吗?', '系统提示', {
  661 + confirmButtonText: '确定',
  662 + cancelButtonText: '取消',
  663 + type: 'warning'
  664 + }
  665 + )
  666 + },
  667 + },
  668 + created() {
  669 +
  670 + },
  671 + mounted() {
  672 +
  673 + },
  674 + }
  675 +
  676 +</script>
  677 +
  678 +<style scoped>
  679 +
  680 +</style>