Showing
31 changed files
with
1377 additions
and
175 deletions
| 1 | import request from '@/utils/request' | 1 | import request from '@/utils/request' |
| 2 | 2 | ||
| 3 | -//目的航班规则接口 | 3 | +//查询航班航线 |
| 4 | +//查询航线 | ||
| 5 | +/** | ||
| 6 | + * @param fltNo 航班号 | ||
| 7 | + */ | ||
| 8 | +export function queryRouteByFltNo(data) { | ||
| 9 | + return request({ | ||
| 10 | + url: '/dictionary/queryRouteByFltNo', | ||
| 11 | + method: 'post', | ||
| 12 | + data: data | ||
| 13 | + }) | ||
| 14 | +} | ||
| 4 | 15 | ||
| 5 | // 查询航班列表 | 16 | // 查询航班列表 |
| 6 | -export function findFlightNo(query) { | 17 | +/** |
| 18 | + * @param purposeOfFlightNo 航班号 | ||
| 19 | + * @param flightDate 航班日期 | ||
| 20 | + * @param status 状态 | ||
| 21 | + * @param start 开始位置 * | ||
| 22 | + * @param limit 每页长度 * | ||
| 23 | + */ | ||
| 24 | +export function findFlightDimRuleByFlightNo(query) { | ||
| 7 | return request({ | 25 | return request({ |
| 8 | - url: '/destinationFlight/findFlightNo', | 26 | + url: '/destinationFlight/findFlightDimRuleByFlightNo', |
| 9 | method: 'post', | 27 | method: 'post', |
| 10 | data: query | 28 | data: query |
| 11 | }) | 29 | }) |
| 12 | } | 30 | } |
| 13 | 31 | ||
| 14 | -// id查询目的航班 | 32 | +// 获取航班下航线维度(维度修改) |
| 15 | -export function findByFlightId(id) { | 33 | +/** |
| 16 | - const data = { | 34 | + * @param purposeOfFlightNo 航班号 |
| 17 | - id | 35 | + * @param flightDate 航班日期 |
| 18 | - } | 36 | + * @param flightRoute 航线 |
| 37 | + */ | ||
| 38 | +export function findDestinationFltRuleByFlightNo(query) { | ||
| 19 | return request({ | 39 | return request({ |
| 20 | - url: '/destinationFlight/findByFlightId', | 40 | + url: '/destinationFlight/findDestinationFltRuleByFlightNo', |
| 21 | method: 'post', | 41 | method: 'post', |
| 22 | - data: data | 42 | + data: query |
| 23 | }) | 43 | }) |
| 24 | } | 44 | } |
| 25 | 45 | ||
| 26 | -//航班号查航班 | 46 | +//航班优先级修改 |
| 27 | -export function findDestinationFltRuleByActualFlight(actualFlight){ | 47 | +export function batchUpdateOrAddFlight(data) { |
| 28 | - const data = { | ||
| 29 | - actualFlight | ||
| 30 | - } | ||
| 31 | return request({ | 48 | return request({ |
| 32 | - url:'/sourceFlight/findDestinationFltRuleByActualFlight', | 49 | + url: '/destinationFlight/batchUpdateOrAddFlight', |
| 33 | - method:'post', | 50 | + method: 'post', |
| 34 | - data:data | 51 | + data: data |
| 35 | }) | 52 | }) |
| 36 | } | 53 | } |
| 37 | 54 | ||
| 38 | - | 55 | +//新增修改规则设置 |
| 39 | -export function updateOrAddFlight(form){ | 56 | +export function updateOrAddFlight(form) { |
| 40 | - //处理数据 | ||
| 41 | - form.typeOfGoods = form.typeOfGoods.join(';'); | ||
| 42 | - form.declarationCategory = form.declarationCategory.join(';'); | ||
| 43 | - form.serviceCode = form.serviceCode.join(';'); | ||
| 44 | - form.subCategory = form.subCategory.join(';'); | ||
| 45 | - form.handlingCode = form.handlingCode.join(';'); | ||
| 46 | - | ||
| 47 | - | ||
| 48 | return request({ | 57 | return request({ |
| 49 | - url:'/destinationFlight/updateOrAddFlight', | 58 | + url: '/destinationFlight/updateOrAddFlight', |
| 50 | method: 'post', | 59 | method: 'post', |
| 51 | - data:form | 60 | + data: form |
| 52 | }) | 61 | }) |
| 53 | } | 62 | } |
| 54 | 63 | ||
| 55 | //删除规则 | 64 | //删除规则 |
| 56 | -export function delFlightId(id){ | 65 | +export function delFlightId(id) { |
| 57 | const data = { | 66 | const data = { |
| 58 | id | 67 | id |
| 59 | } | 68 | } |
| ... | @@ -65,7 +74,7 @@ export function delFlightId(id){ | ... | @@ -65,7 +74,7 @@ export function delFlightId(id){ |
| 65 | } | 74 | } |
| 66 | 75 | ||
| 67 | //启用/停止规则 | 76 | //启用/停止规则 |
| 68 | -export function enableOrDisable(id, status){ | 77 | +export function enableOrDisable(id, status) { |
| 69 | //statsu 1-有效 3-停用 | 78 | //statsu 1-有效 3-停用 |
| 70 | const data = { | 79 | const data = { |
| 71 | id, | 80 | id, |
| ... | @@ -78,43 +87,59 @@ export function enableOrDisable(id, status){ | ... | @@ -78,43 +87,59 @@ export function enableOrDisable(id, status){ |
| 78 | }) | 87 | }) |
| 79 | } | 88 | } |
| 80 | 89 | ||
| 81 | - | 90 | +//获取全部字典 |
| 82 | -//申报类别 | 91 | +export function allDictData() { |
| 83 | -export function cargoTypeData(){ | ||
| 84 | return request({ | 92 | return request({ |
| 85 | - url: '/destinationFlight/cargoTypeData', | 93 | + url: '/destinationFlight/allDictData', |
| 86 | method: 'post' | 94 | method: 'post' |
| 87 | }) | 95 | }) |
| 88 | } | 96 | } |
| 89 | 97 | ||
| 90 | -//货物类型 | 98 | +//维度航线优先级查询 |
| 91 | -export function cargoStatusData(){ | 99 | +/** |
| 100 | + * @param fltNo 航班号 | ||
| 101 | + * @param routeDate 航班日期 | ||
| 102 | + */ | ||
| 103 | +export function allRouteQuery(data) { | ||
| 92 | return request({ | 104 | return request({ |
| 93 | - url: '/destinationFlight/cargoStatusData', | 105 | + url: '/specifyDateRoute/query', |
| 94 | - method: 'post' | 106 | + method: 'post', |
| 107 | + data: data | ||
| 95 | }) | 108 | }) |
| 96 | } | 109 | } |
| 97 | 110 | ||
| 98 | -//ServiceCode | 111 | +//维度航线优先级修改 |
| 99 | -export function serviceCodeData(){ | 112 | +/** |
| 113 | + * @param list 航线排序集合 | ||
| 114 | + */ | ||
| 115 | +export function saveOrUpdateSpecifyDateRoute(data) { | ||
| 100 | return request({ | 116 | return request({ |
| 101 | - url: '/destinationFlight/serviceCodeData', | 117 | + url: '/specifyDateRoute/saveOrUpdateSpecifyDateRoute', |
| 102 | - method: 'post' | 118 | + method: 'post', |
| 119 | + data: data | ||
| 103 | }) | 120 | }) |
| 104 | } | 121 | } |
| 105 | 122 | ||
| 106 | -//SubCategory | 123 | +// id查询目的航班 |
| 107 | -export function subCategoryData(){ | 124 | +export function findByFlightId(id) { |
| 125 | + const data = { | ||
| 126 | + id | ||
| 127 | + } | ||
| 108 | return request({ | 128 | return request({ |
| 109 | - url: '/destinationFlight/subCategoryData', | 129 | + url: '/destinationFlight/findByFlightId', |
| 110 | - method: 'post' | 130 | + method: 'post', |
| 131 | + data: data | ||
| 111 | }) | 132 | }) |
| 112 | } | 133 | } |
| 113 | 134 | ||
| 114 | -//获取全部字典 | 135 | +//航班号查航班 |
| 115 | -export function allDictData(){ | 136 | +export function findDestinationFltRuleByActualFlight(actualFlight) { |
| 116 | - return request({ | 137 | + // const data = { |
| 117 | - url: '/destinationFlight/allDictData', | 138 | + // actualFlight |
| 118 | - method: 'post' | 139 | + // } |
| 119 | - }) | 140 | + // return request({ |
| 141 | + // url: '/sourceFlight/findDestinationFltRuleByActualFlight', | ||
| 142 | + // method: 'post', | ||
| 143 | + // data: data | ||
| 144 | + // }) | ||
| 120 | } | 145 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/api/goodsStation.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +//批量导入 | ||
| 4 | +export function importGoods(file, type) { | ||
| 5 | + let formData = new FormData(); | ||
| 6 | + formData.append("file", file); | ||
| 7 | + formData.append("type", type); | ||
| 8 | + return request({ | ||
| 9 | + url: '/goods/importGoods', | ||
| 10 | + method: 'post', | ||
| 11 | + data: formData | ||
| 12 | + }) | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +//批量添加品名货站 | ||
| 16 | +/** | ||
| 17 | + * @param goodsStation * 货站名 | ||
| 18 | + * @param goodsList * 货品名list | ||
| 19 | + */ | ||
| 20 | +export function batchAddGoods(data) { | ||
| 21 | + return request({ | ||
| 22 | + url: '/goods/batchAddGoods', | ||
| 23 | + method: 'post', | ||
| 24 | + data: data | ||
| 25 | + }) | ||
| 26 | +} | ||
| 27 | + | ||
| 28 | +//批量删除品名货站 | ||
| 29 | +/** | ||
| 30 | + * @param idList * id集合 | ||
| 31 | + */ | ||
| 32 | +export function batchDeleteGoods(data) { | ||
| 33 | + return request({ | ||
| 34 | + url: '/goods/batchDeleteGoods', | ||
| 35 | + method: 'post', | ||
| 36 | + data: data | ||
| 37 | + }) | ||
| 38 | +} | ||
| 39 | + | ||
| 40 | +//查询品名 | ||
| 41 | +/** | ||
| 42 | + * @param page * 页数 | ||
| 43 | + * @param size * 页长 | ||
| 44 | + * @param goodsStation 货站名 | ||
| 45 | + */ | ||
| 46 | +export function searchGoods(data) { | ||
| 47 | + return request({ | ||
| 48 | + url: '/goods/searchGoods', | ||
| 49 | + method: 'post', | ||
| 50 | + data: data | ||
| 51 | + }) | ||
| 52 | +} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/api/goodsStationFlight.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +//查询货站航班 | ||
| 4 | +/** | ||
| 5 | + * @param page * 页数 | ||
| 6 | + * @param size * 页长 | ||
| 7 | + * @param goodsStation 货站名称 | ||
| 8 | + */ | ||
| 9 | +export function searchStationFlight(data) { | ||
| 10 | + return request({ | ||
| 11 | + url: '/stationFlight/searchStationFlight', | ||
| 12 | + method: 'post', | ||
| 13 | + data: data | ||
| 14 | + }) | ||
| 15 | +} | ||
| 16 | + | ||
| 17 | +//批量添加货站航班 | ||
| 18 | +/** | ||
| 19 | + * @param goodsStation * 货站名称 | ||
| 20 | + * @param flightList * 航班号集合 | ||
| 21 | + */ | ||
| 22 | +export function batchAddStationFlight(data) { | ||
| 23 | + return request({ | ||
| 24 | + url: '/stationFlight/batchAddStationFlight', | ||
| 25 | + method: 'post', | ||
| 26 | + data: data | ||
| 27 | + }) | ||
| 28 | +} | ||
| 29 | + | ||
| 30 | +//批量删除货站航班 | ||
| 31 | +/** | ||
| 32 | + * @param id * id集合 | ||
| 33 | + */ | ||
| 34 | +export function batchDeleteGoods(data) { | ||
| 35 | + return request({ | ||
| 36 | + url: '/stationFlight/batchDeleteGoods', | ||
| 37 | + method: 'post', | ||
| 38 | + data: data | ||
| 39 | + }) | ||
| 40 | +} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -86,7 +86,7 @@ let ductLabels = { | ... | @@ -86,7 +86,7 @@ let ductLabels = { |
| 86 | "2_2": "已处理(数据丢弃)", | 86 | "2_2": "已处理(数据丢弃)", |
| 87 | "2_3": "已处理(数据丢弃)", | 87 | "2_3": "已处理(数据丢弃)", |
| 88 | "2_4": "已处理(数据丢弃)", | 88 | "2_4": "已处理(数据丢弃)", |
| 89 | - "3_1": "已处理(异常处理)", | 89 | + // "3_1": "已处理(异常处理)", |
| 90 | "3_2": "处理失败(系统异常)", | 90 | "3_2": "处理失败(系统异常)", |
| 91 | "3_3": "处理失败(系统异常)", | 91 | "3_3": "处理失败(系统异常)", |
| 92 | "3_4": "处理失败(系统异常)", | 92 | "3_4": "处理失败(系统异常)", | ... | ... |
| ... | @@ -32,7 +32,7 @@ let tableHeaders = { | ... | @@ -32,7 +32,7 @@ let tableHeaders = { |
| 32 | }, | 32 | }, |
| 33 | { | 33 | { |
| 34 | columnChineseName: "已配体积(m³)", | 34 | columnChineseName: "已配体积(m³)", |
| 35 | - columnName: "allocationVolumn", | 35 | + columnName: "allocatedVolume", |
| 36 | columnWidth: "", | 36 | columnWidth: "", |
| 37 | status: 1 | 37 | status: 1 |
| 38 | }, | 38 | }, |
| ... | @@ -234,6 +234,13 @@ let tableHeaders = { | ... | @@ -234,6 +234,13 @@ let tableHeaders = { |
| 234 | status: 1 | 234 | status: 1 |
| 235 | }, | 235 | }, |
| 236 | { | 236 | { |
| 237 | + columnChineseName: "终配航线", | ||
| 238 | + columnName: "finalFlightRoute", | ||
| 239 | + columnWidth: "140", | ||
| 240 | + ext1: "sorTable", | ||
| 241 | + status: 1, | ||
| 242 | + }, | ||
| 243 | + { | ||
| 237 | columnChineseName: "二配航班号", | 244 | columnChineseName: "二配航班号", |
| 238 | columnName: "twoMatchFlightNo", | 245 | columnName: "twoMatchFlightNo", |
| 239 | columnWidth: "120", | 246 | columnWidth: "120", |
| ... | @@ -248,6 +255,13 @@ let tableHeaders = { | ... | @@ -248,6 +255,13 @@ let tableHeaders = { |
| 248 | status: 1 | 255 | status: 1 |
| 249 | }, | 256 | }, |
| 250 | { | 257 | { |
| 258 | + columnChineseName: "二配航线", | ||
| 259 | + columnName: "twoFlightRoute", | ||
| 260 | + columnWidth: "140", | ||
| 261 | + ext1: "sorTable", | ||
| 262 | + status: 1, | ||
| 263 | + }, | ||
| 264 | + { | ||
| 251 | columnChineseName: "预配航班号", | 265 | columnChineseName: "预配航班号", |
| 252 | columnName: "preplanFlightNo", | 266 | columnName: "preplanFlightNo", |
| 253 | columnWidth: "120", | 267 | columnWidth: "120", |
| ... | @@ -414,7 +428,7 @@ let tableHeaders = { | ... | @@ -414,7 +428,7 @@ let tableHeaders = { |
| 414 | }, | 428 | }, |
| 415 | { | 429 | { |
| 416 | columnChineseName: "航线", | 430 | columnChineseName: "航线", |
| 417 | - columnName: "router", | 431 | + columnName: "flightRoute", |
| 418 | columnWidth: "140", | 432 | columnWidth: "140", |
| 419 | status: 1 | 433 | status: 1 |
| 420 | }, | 434 | }, |
| ... | @@ -976,6 +990,7 @@ let tableHeaders = { | ... | @@ -976,6 +990,7 @@ let tableHeaders = { |
| 976 | columnChineseName: "航班日期", | 990 | columnChineseName: "航班日期", |
| 977 | columnName: "ruleDate", | 991 | columnName: "ruleDate", |
| 978 | columnWidth: "150", | 992 | columnWidth: "150", |
| 993 | + ext1: 'slot', | ||
| 979 | status: 1 | 994 | status: 1 |
| 980 | }, | 995 | }, |
| 981 | { | 996 | { |
| ... | @@ -1135,7 +1150,7 @@ let tableHeaders = { | ... | @@ -1135,7 +1150,7 @@ let tableHeaders = { |
| 1135 | }, | 1150 | }, |
| 1136 | { | 1151 | { |
| 1137 | columnChineseName: "当前配载航线", | 1152 | columnChineseName: "当前配载航线", |
| 1138 | - columnName: "flightRoute", | 1153 | + columnName: "currentFlightRoute", |
| 1139 | columnWidth: "130", | 1154 | columnWidth: "130", |
| 1140 | status: 1 | 1155 | status: 1 |
| 1141 | }, | 1156 | }, |
| ... | @@ -1268,7 +1283,7 @@ let tableHeaders = { | ... | @@ -1268,7 +1283,7 @@ let tableHeaders = { |
| 1268 | { | 1283 | { |
| 1269 | columnChineseName: "申报类别", | 1284 | columnChineseName: "申报类别", |
| 1270 | columnName: "declarationCategory", | 1285 | columnName: "declarationCategory", |
| 1271 | - columnWidth: "100", | 1286 | + columnWidth: "80", |
| 1272 | status: 1 | 1287 | status: 1 |
| 1273 | }, | 1288 | }, |
| 1274 | { | 1289 | { |
| ... | @@ -1280,13 +1295,13 @@ let tableHeaders = { | ... | @@ -1280,13 +1295,13 @@ let tableHeaders = { |
| 1280 | { | 1295 | { |
| 1281 | columnChineseName: "增加重量", | 1296 | columnChineseName: "增加重量", |
| 1282 | columnName: "increaseWeight", | 1297 | columnName: "increaseWeight", |
| 1283 | - columnWidth: "100", | 1298 | + columnWidth: "90", |
| 1284 | status: 1 | 1299 | status: 1 |
| 1285 | }, | 1300 | }, |
| 1286 | { | 1301 | { |
| 1287 | columnChineseName: "减轻重量", | 1302 | columnChineseName: "减轻重量", |
| 1288 | columnName: "reduceWeight", | 1303 | columnName: "reduceWeight", |
| 1289 | - columnWidth: "100", | 1304 | + columnWidth: "90", |
| 1290 | status: 1 | 1305 | status: 1 |
| 1291 | }, | 1306 | }, |
| 1292 | { | 1307 | { |
| ... | @@ -1385,6 +1400,185 @@ let tableHeaders = { | ... | @@ -1385,6 +1400,185 @@ let tableHeaders = { |
| 1385 | status: 1 | 1400 | status: 1 |
| 1386 | }, | 1401 | }, |
| 1387 | ], | 1402 | ], |
| 1403 | + //货站-品名 | ||
| 1404 | + "goodsStation": [ | ||
| 1405 | + { | ||
| 1406 | + columnChineseName: "口岸", | ||
| 1407 | + columnName: "portName", | ||
| 1408 | + columnWidth: "", | ||
| 1409 | + ext1: "", | ||
| 1410 | + status: 1 | ||
| 1411 | + }, | ||
| 1412 | + { | ||
| 1413 | + columnChineseName: "货站名称", | ||
| 1414 | + columnName: "goodsStation", | ||
| 1415 | + columnWidth: "", | ||
| 1416 | + ext1: "", | ||
| 1417 | + status: 1 | ||
| 1418 | + }, | ||
| 1419 | + { | ||
| 1420 | + columnChineseName: "品名", | ||
| 1421 | + columnName: "goodsName", | ||
| 1422 | + columnWidth: "", | ||
| 1423 | + ext1: "", | ||
| 1424 | + status: 1 | ||
| 1425 | + }, | ||
| 1426 | + { | ||
| 1427 | + columnChineseName: "操作人", | ||
| 1428 | + columnName: "updateUserName", | ||
| 1429 | + columnWidth: "", | ||
| 1430 | + ext1: "", | ||
| 1431 | + status: 1 | ||
| 1432 | + }, | ||
| 1433 | + { | ||
| 1434 | + columnChineseName: "操作时间", | ||
| 1435 | + columnName: "updateTime", | ||
| 1436 | + columnWidth: "", | ||
| 1437 | + ext1: "", | ||
| 1438 | + status: 1 | ||
| 1439 | + }, | ||
| 1440 | + { | ||
| 1441 | + columnChineseName: "创建日期", | ||
| 1442 | + columnName: "createTime", | ||
| 1443 | + columnWidth: "", | ||
| 1444 | + ext1: "", | ||
| 1445 | + status: 1 | ||
| 1446 | + }, | ||
| 1447 | + ], | ||
| 1448 | + //货站-航班 | ||
| 1449 | + "goodsStationFlight": [ | ||
| 1450 | + { | ||
| 1451 | + columnChineseName: "口岸", | ||
| 1452 | + columnName: "portName", | ||
| 1453 | + columnWidth: "", | ||
| 1454 | + ext1: "", | ||
| 1455 | + status: 1 | ||
| 1456 | + }, | ||
| 1457 | + { | ||
| 1458 | + columnChineseName: "货站名称", | ||
| 1459 | + columnName: "goodsStation", | ||
| 1460 | + columnWidth: "", | ||
| 1461 | + ext1: "", | ||
| 1462 | + status: 1 | ||
| 1463 | + }, | ||
| 1464 | + { | ||
| 1465 | + columnChineseName: "航班号", | ||
| 1466 | + columnName: "fltNo", | ||
| 1467 | + columnWidth: "", | ||
| 1468 | + ext1: "", | ||
| 1469 | + status: 1 | ||
| 1470 | + }, | ||
| 1471 | + { | ||
| 1472 | + columnChineseName: "操作人", | ||
| 1473 | + columnName: "updateUserName", | ||
| 1474 | + columnWidth: "", | ||
| 1475 | + ext1: "", | ||
| 1476 | + status: 1 | ||
| 1477 | + }, | ||
| 1478 | + { | ||
| 1479 | + columnChineseName: "操作时间", | ||
| 1480 | + columnName: "updateTime", | ||
| 1481 | + columnWidth: "", | ||
| 1482 | + ext1: "", | ||
| 1483 | + status: 1 | ||
| 1484 | + }, | ||
| 1485 | + { | ||
| 1486 | + columnChineseName: "创建日期", | ||
| 1487 | + columnName: "createTime", | ||
| 1488 | + columnWidth: "", | ||
| 1489 | + ext1: "", | ||
| 1490 | + status: 1 | ||
| 1491 | + }, | ||
| 1492 | + ], | ||
| 1493 | + //特殊配舱规则 | ||
| 1494 | + "superAllocation": [ | ||
| 1495 | + { | ||
| 1496 | + columnChineseName: "ShipperAccount", | ||
| 1497 | + columnName: "shipperAccount", | ||
| 1498 | + columnWidth: "", | ||
| 1499 | + ext1: "", | ||
| 1500 | + status: 1 | ||
| 1501 | + }, | ||
| 1502 | + { | ||
| 1503 | + columnChineseName: "原航班", | ||
| 1504 | + columnName: "accsFlightNo", | ||
| 1505 | + columnWidth: "150", | ||
| 1506 | + ext1: "", | ||
| 1507 | + status: 1 | ||
| 1508 | + }, | ||
| 1509 | + { | ||
| 1510 | + columnChineseName: "操作人", | ||
| 1511 | + columnName: "updateUserName", | ||
| 1512 | + columnWidth: "100", | ||
| 1513 | + ext1: "", | ||
| 1514 | + status: 1 | ||
| 1515 | + }, | ||
| 1516 | + { | ||
| 1517 | + columnChineseName: "操作时间", | ||
| 1518 | + columnName: "updateTime", | ||
| 1519 | + columnWidth: "200", | ||
| 1520 | + ext1: "", | ||
| 1521 | + status: 1 | ||
| 1522 | + }, | ||
| 1523 | + ], | ||
| 1524 | + "newSuperAllocation": [ | ||
| 1525 | + { | ||
| 1526 | + columnChineseName: "航班日期", | ||
| 1527 | + columnName: "", | ||
| 1528 | + columnWidth: "", | ||
| 1529 | + ext1: "", | ||
| 1530 | + status: 1 | ||
| 1531 | + }, | ||
| 1532 | + { | ||
| 1533 | + columnChineseName: "航班号", | ||
| 1534 | + columnName: "", | ||
| 1535 | + columnWidth: "", | ||
| 1536 | + ext1: "", | ||
| 1537 | + status: 1 | ||
| 1538 | + }, | ||
| 1539 | + { | ||
| 1540 | + columnChineseName: "航线", | ||
| 1541 | + columnName: "", | ||
| 1542 | + columnWidth: "", | ||
| 1543 | + ext1: "", | ||
| 1544 | + status: 1 | ||
| 1545 | + }, | ||
| 1546 | + { | ||
| 1547 | + columnChineseName: "URSA", | ||
| 1548 | + columnName: "", | ||
| 1549 | + columnWidth: "", | ||
| 1550 | + ext1: "", | ||
| 1551 | + status: 1 | ||
| 1552 | + }, | ||
| 1553 | + { | ||
| 1554 | + columnChineseName: "申报类型", | ||
| 1555 | + columnName: "", | ||
| 1556 | + columnWidth: "", | ||
| 1557 | + ext1: "", | ||
| 1558 | + status: 1 | ||
| 1559 | + }, | ||
| 1560 | + { | ||
| 1561 | + columnChineseName: "服务类型", | ||
| 1562 | + columnName: "", | ||
| 1563 | + columnWidth: "", | ||
| 1564 | + ext1: "", | ||
| 1565 | + status: 1 | ||
| 1566 | + }, | ||
| 1567 | + { | ||
| 1568 | + columnChineseName: "预留仓位", | ||
| 1569 | + columnName: "", | ||
| 1570 | + columnWidth: "", | ||
| 1571 | + ext1: "", | ||
| 1572 | + status: 1 | ||
| 1573 | + }, | ||
| 1574 | + { | ||
| 1575 | + columnChineseName: "已配仓位", | ||
| 1576 | + columnName: "", | ||
| 1577 | + columnWidth: "", | ||
| 1578 | + ext1: "", | ||
| 1579 | + status: 1 | ||
| 1580 | + }, | ||
| 1581 | + ] | ||
| 1388 | } | 1582 | } |
| 1389 | 1583 | ||
| 1390 | export default tableHeaders; | 1584 | export default tableHeaders; |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -294,6 +294,17 @@ body { | ... | @@ -294,6 +294,17 @@ body { |
| 294 | max-width: 300px; | 294 | max-width: 300px; |
| 295 | } | 295 | } |
| 296 | 296 | ||
| 297 | +.backgroundCollapse { | ||
| 298 | + .el-collapse-item__header { | ||
| 299 | + background-color: #d9ecff !important; | ||
| 300 | + border-bottom: 1px solid #ccc; | ||
| 301 | + } | ||
| 302 | +} | ||
| 303 | + | ||
| 304 | +.numberInput { | ||
| 305 | + width: 100% !important; | ||
| 306 | +} | ||
| 307 | + | ||
| 297 | .el-select-dropdown__wrap { | 308 | .el-select-dropdown__wrap { |
| 298 | max-height: 350px !important; | 309 | max-height: 350px !important; |
| 299 | } | 310 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <el-breadcrumb class="app-breadcrumb" separator="/"> | 2 | <el-breadcrumb class="app-breadcrumb" separator="/"> |
| 3 | <transition-group name="breadcrumb"> | 3 | <transition-group name="breadcrumb"> |
| 4 | - <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path"> | 4 | + <el-breadcrumb-item v-for="(item, index) in levelList" :key="item.path"> |
| 5 | - <span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span> | 5 | + <span v-if="item.redirect === 'noRedirect' || index == levelList.length - 1" class="no-redirect">{{ item.meta.title |
| 6 | + }}</span> | ||
| 6 | <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> | 7 | <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a> |
| 7 | </el-breadcrumb-item> | 8 | </el-breadcrumb-item> |
| 8 | </transition-group> | 9 | </transition-group> |
| ... | @@ -35,7 +36,7 @@ export default { | ... | @@ -35,7 +36,7 @@ export default { |
| 35 | const first = matched[0] | 36 | const first = matched[0] |
| 36 | 37 | ||
| 37 | if (!this.isDashboard(first)) { | 38 | if (!this.isDashboard(first)) { |
| 38 | - matched = [{ path: '/index', meta: { title: '首页' }}].concat(matched) | 39 | + matched = [{ path: '/index', meta: { title: '首页' } }].concat(matched) |
| 39 | } | 40 | } |
| 40 | 41 | ||
| 41 | 42 | ||
| ... | @@ -46,7 +47,7 @@ export default { | ... | @@ -46,7 +47,7 @@ export default { |
| 46 | if (!name) { | 47 | if (!name) { |
| 47 | return false | 48 | return false |
| 48 | } | 49 | } |
| 49 | - return name.trim() === '首页' | 50 | + return name.trim() === 'Index' |
| 50 | }, | 51 | }, |
| 51 | handleLink(item) { | 52 | handleLink(item) { |
| 52 | const { redirect, path } = item | 53 | const { redirect, path } = item | ... | ... |
| ... | @@ -19,7 +19,7 @@ | ... | @@ -19,7 +19,7 @@ |
| 19 | export default { | 19 | export default { |
| 20 | name: 'Toolbar', | 20 | name: 'Toolbar', |
| 21 | props: { | 21 | props: { |
| 22 | - data: { | 22 | + routes: { |
| 23 | type: Array, | 23 | type: Array, |
| 24 | default: null | 24 | default: null |
| 25 | }, | 25 | }, |
| ... | @@ -35,12 +35,12 @@ export default { | ... | @@ -35,12 +35,12 @@ export default { |
| 35 | } | 35 | } |
| 36 | }, | 36 | }, |
| 37 | created() { | 37 | created() { |
| 38 | - this.list = this.data | 38 | + this.list = this.routes |
| 39 | }, | 39 | }, |
| 40 | watch: { | 40 | watch: { |
| 41 | - data(val) { | 41 | + routes(val) { |
| 42 | if (val) { | 42 | if (val) { |
| 43 | - this.list = this.data | 43 | + this.list = val |
| 44 | } | 44 | } |
| 45 | } | 45 | } |
| 46 | }, | 46 | }, |
| ... | @@ -81,7 +81,7 @@ export default { | ... | @@ -81,7 +81,7 @@ export default { |
| 81 | .container { | 81 | .container { |
| 82 | max-width: 350px; | 82 | max-width: 350px; |
| 83 | min-height: 32px; | 83 | min-height: 32px; |
| 84 | - max-height: 150px; | 84 | + // max-height: 150px; |
| 85 | overflow-y: scroll; | 85 | overflow-y: scroll; |
| 86 | display: flex; | 86 | display: flex; |
| 87 | flex-direction: column; | 87 | flex-direction: column; | ... | ... |
| ... | @@ -5,7 +5,7 @@ | ... | @@ -5,7 +5,7 @@ |
| 5 | <i slot="suffix" class="el-icon-search el-input__icon" /> | 5 | <i slot="suffix" class="el-icon-search el-input__icon" /> |
| 6 | </el-input> | 6 | </el-input> |
| 7 | <div class="icon-list"> | 7 | <div class="icon-list"> |
| 8 | - <div v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)"> | 8 | + <div :class="name == item?'selectIcon':''" v-for="(item, index) in iconList" :key="index" @click="selectedIcon(item)"> |
| 9 | <svg-icon :icon-class="item" style="height: 30px;width: 16px;" /> | 9 | <svg-icon :icon-class="item" style="height: 30px;width: 16px;" /> |
| 10 | <span>{{ item }}</span> | 10 | <span>{{ item }}</span> |
| 11 | </div> | 11 | </div> |
| ... | @@ -31,6 +31,7 @@ export default { | ... | @@ -31,6 +31,7 @@ export default { |
| 31 | } | 31 | } |
| 32 | }, | 32 | }, |
| 33 | selectedIcon(name) { | 33 | selectedIcon(name) { |
| 34 | + this.name = name | ||
| 34 | this.$emit('selected', name) | 35 | this.$emit('selected', name) |
| 35 | document.body.click() | 36 | document.body.click() |
| 36 | }, | 37 | }, |
| ... | @@ -65,4 +66,7 @@ export default { | ... | @@ -65,4 +66,7 @@ export default { |
| 65 | } | 66 | } |
| 66 | } | 67 | } |
| 67 | } | 68 | } |
| 69 | + .selectIcon{ | ||
| 70 | + border:1px solid #ccc; | ||
| 71 | + } | ||
| 68 | </style> | 72 | </style> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="top-right-btn"> | 2 | <div class="top-right-btn"> |
| 3 | <el-row> | 3 | <el-row> |
| 4 | - <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top"> | 4 | + <el-tooltip |
| 5 | - <el-button size="mini" circle icon="el-icon-search" @click="toggleSearch()" /> | 5 | + class="item" |
| 6 | + effect="dark" | ||
| 7 | + :content="showSearch ? '隐藏搜索' : '显示搜索'" | ||
| 8 | + placement="top" | ||
| 9 | + > | ||
| 10 | + <el-button | ||
| 11 | + :size="size" | ||
| 12 | + circle | ||
| 13 | + icon="el-icon-search" | ||
| 14 | + @click="toggleSearch()" | ||
| 15 | + /> | ||
| 6 | </el-tooltip> | 16 | </el-tooltip> |
| 7 | <el-tooltip class="item" effect="dark" content="刷新" placement="top"> | 17 | <el-tooltip class="item" effect="dark" content="刷新" placement="top"> |
| 8 | - <el-button size="mini" circle icon="el-icon-refresh" @click="refresh()" /> | 18 | + <el-button |
| 19 | + :size="size" | ||
| 20 | + circle | ||
| 21 | + icon="el-icon-refresh" | ||
| 22 | + @click="refresh()" | ||
| 23 | + /> | ||
| 9 | </el-tooltip> | 24 | </el-tooltip> |
| 10 | - <el-tooltip class="item" effect="dark" content="显隐列" placement="top" v-if="columns"> | 25 | + <el-tooltip |
| 11 | - <el-button size="mini" circle icon="el-icon-menu" @click="showColumn()" /> | 26 | + class="item" |
| 27 | + effect="dark" | ||
| 28 | + content="显隐列" | ||
| 29 | + placement="top" | ||
| 30 | + v-if="columns" | ||
| 31 | + > | ||
| 32 | + <el-button | ||
| 33 | + :size="size" | ||
| 34 | + circle | ||
| 35 | + icon="el-icon-menu" | ||
| 36 | + @click="showColumn()" | ||
| 37 | + /> | ||
| 12 | </el-tooltip> | 38 | </el-tooltip> |
| 13 | </el-row> | 39 | </el-row> |
| 14 | <el-dialog :title="title" :visible.sync="open" append-to-body> | 40 | <el-dialog :title="title" :visible.sync="open" append-to-body> |
| ... | @@ -42,6 +68,10 @@ export default { | ... | @@ -42,6 +68,10 @@ export default { |
| 42 | columns: { | 68 | columns: { |
| 43 | type: Array, | 69 | type: Array, |
| 44 | }, | 70 | }, |
| 71 | + size: { | ||
| 72 | + type: String, | ||
| 73 | + default: "mini", | ||
| 74 | + }, | ||
| 45 | }, | 75 | }, |
| 46 | created() { | 76 | created() { |
| 47 | // 显隐列初始默认隐藏列 | 77 | // 显隐列初始默认隐藏列 | ... | ... |
| ... | @@ -6,9 +6,7 @@ | ... | @@ -6,9 +6,7 @@ |
| 6 | :style="activeStyle(tag)" @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''" | 6 | :style="activeStyle(tag)" @click.middle.native="!isAffix(tag) ? closeSelectedTag(tag) : ''" |
| 7 | @contextmenu.prevent.native="openMenu(tag, $event)"> | 7 | @contextmenu.prevent.native="openMenu(tag, $event)"> |
| 8 | {{ tag.title }} | 8 | {{ tag.title }} |
| 9 | - <span | 9 | + <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> |
| 10 | - v-if="tag.name != 'FlightAllocConfigAdd' && tag.name != 'FlightAllocConfigInfo' && tag.name != 'weatherTable' && !isAffix(tag)" | ||
| 11 | - class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" /> | ||
| 12 | </router-link> | 10 | </router-link> |
| 13 | </scroll-pane> | 11 | </scroll-pane> |
| 14 | <ul v-show="visible" :style="{ left: left + 'px', top: top + 'px' }" class="contextmenu"> | 12 | <ul v-show="visible" :style="{ left: left + 'px', top: top + 'px' }" class="contextmenu"> | ... | ... |
| ... | @@ -73,19 +73,13 @@ export const constantRoutes = [ | ... | @@ -73,19 +73,13 @@ export const constantRoutes = [ |
| 73 | hidden: true, | 73 | hidden: true, |
| 74 | children: [ | 74 | children: [ |
| 75 | { | 75 | { |
| 76 | - path: '/info/:handle/:id', | 76 | + path: '/info/:handle/:fltNo-:fltDate', |
| 77 | component: (resolve) => require(['@/views/allocationConfig/flightAllocConfig/info'], resolve), | 77 | component: (resolve) => require(['@/views/allocationConfig/flightAllocConfig/info'], resolve), |
| 78 | name: 'FlightAllocConfigInfo', | 78 | name: 'FlightAllocConfigInfo', |
| 79 | meta: { title: '航班配舱', icon: 'user' } | 79 | meta: { title: '航班配舱', icon: 'user' } |
| 80 | }, | 80 | }, |
| 81 | { | 81 | { |
| 82 | - path: '/info/:handle', | 82 | + path: '/weatherTable/:awbNbr', |
| 83 | - component: (resolve) => require(['@/views/allocationConfig/flightAllocConfig/info'], resolve), | ||
| 84 | - name: 'FlightAllocConfigAdd', | ||
| 85 | - meta: { title: '新增配舱', icon: 'user' } | ||
| 86 | - }, | ||
| 87 | - { | ||
| 88 | - path: '/weatherTable', | ||
| 89 | component: (resolve) => require(['@/views/systemLog/dmLog/weatherTable'], resolve), | 83 | component: (resolve) => require(['@/views/systemLog/dmLog/weatherTable'], resolve), |
| 90 | name: 'weatherTable', | 84 | name: 'weatherTable', |
| 91 | meta: { title: '流水表', icon: 'user' } | 85 | meta: { title: '流水表', icon: 'user' } | ... | ... |
| ... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
| 15 | style="width: 400px; margin: 30px auto" :model="formData" :rules="rules"> | 15 | style="width: 400px; margin: 30px auto" :model="formData" :rules="rules"> |
| 16 | <el-form-item label="航班号" prop="fltNo"> | 16 | <el-form-item label="航班号" prop="fltNo"> |
| 17 | <el-input class="formItem" v-model="fltNo" size="medium" placeholder="请输入航班号" maxlength="10" | 17 | <el-input class="formItem" v-model="fltNo" size="medium" placeholder="请输入航班号" maxlength="10" |
| 18 | - style="width: 350px"></el-input> | 18 | + style="width: 350px" @change="dateChange"></el-input> |
| 19 | </el-form-item> | 19 | </el-form-item> |
| 20 | <el-form-item label="航班日期:" prop="fltDate"> | 20 | <el-form-item label="航班日期:" prop="fltDate"> |
| 21 | <el-date-picker class="formItem" v-model="formData.fltDate" type="date" placeholder="选择日期" | 21 | <el-date-picker class="formItem" v-model="formData.fltDate" type="date" placeholder="选择日期" |
| ... | @@ -200,9 +200,12 @@ export default { | ... | @@ -200,9 +200,12 @@ export default { |
| 200 | }, | 200 | }, |
| 201 | //日期选择变化 | 201 | //日期选择变化 |
| 202 | dateChange(val) { | 202 | dateChange(val) { |
| 203 | + this.routeList = [] | ||
| 204 | + if (this.formData.fltNo && this.formData.fltNo != null && this.formData.fltNo != '') { | ||
| 205 | + if (this.formData.fltDate && this.formData.fltDate != null && this.formData.fltDate != '') { | ||
| 203 | let obj = { | 206 | let obj = { |
| 204 | fltNo: this.formData.fltNo, | 207 | fltNo: this.formData.fltNo, |
| 205 | - fltDate: val | 208 | + fltDate: this.formData.fltDate, |
| 206 | } | 209 | } |
| 207 | findFlightRoute(obj).then(res => { | 210 | findFlightRoute(obj).then(res => { |
| 208 | if (res.code === 200) { | 211 | if (res.code === 200) { |
| ... | @@ -217,6 +220,12 @@ export default { | ... | @@ -217,6 +220,12 @@ export default { |
| 217 | }).catch(err => { | 220 | }).catch(err => { |
| 218 | console.log(err) | 221 | console.log(err) |
| 219 | }) | 222 | }) |
| 223 | + } else { | ||
| 224 | + this.msgWarning('航班日期不能为空') | ||
| 225 | + } | ||
| 226 | + } else { | ||
| 227 | + this.msgWarning('航班号不能为空') | ||
| 228 | + } | ||
| 220 | } | 229 | } |
| 221 | }, | 230 | }, |
| 222 | computed: { | 231 | computed: { |
| ... | @@ -233,4 +242,5 @@ export default { | ... | @@ -233,4 +242,5 @@ export default { |
| 233 | </script> | 242 | </script> |
| 234 | 243 | ||
| 235 | <style> | 244 | <style> |
| 245 | + | ||
| 236 | </style> | 246 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-dialog title="航线优先级排序" :visible.sync="open" width="25%" :close-on-click-modal="false" :show-close="false" | ||
| 4 | + append-to-body center> | ||
| 5 | + <el-form ref="routeOrder" label-width="auto" label-position="left" size="small" @submit.native.prevent> | ||
| 6 | + <el-form-item label="航班号:" prop="fltNo"> | ||
| 7 | + <span>{{ fltNo }}</span> | ||
| 8 | + </el-form-item> | ||
| 9 | + <el-form-item label="航班日期:" prop="fltDate"> | ||
| 10 | + <span>{{ fltDate }}</span> | ||
| 11 | + </el-form-item> | ||
| 12 | + <el-form-item label="航线优先级" prop="route"> | ||
| 13 | + <Drag :routes="routeList" @drag="drag"></Drag> | ||
| 14 | + </el-form-item> | ||
| 15 | + </el-form> | ||
| 16 | + <div slot="footer" class="dialog-footer"> | ||
| 17 | + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button> | ||
| 18 | + <el-button @click="close">取 消</el-button> | ||
| 19 | + </div> | ||
| 20 | + </el-dialog> | ||
| 21 | + </div> | ||
| 22 | +</template> | ||
| 23 | + | ||
| 24 | +<script> | ||
| 25 | +import { allRouteQuery, saveOrUpdateSpecifyDateRoute } from "@/api/destinationFlight"; | ||
| 26 | + | ||
| 27 | +export default { | ||
| 28 | + name: "", | ||
| 29 | + props: { | ||
| 30 | + open: { | ||
| 31 | + type: Boolean, | ||
| 32 | + default: false | ||
| 33 | + }, | ||
| 34 | + fltData: { | ||
| 35 | + type: Object, | ||
| 36 | + default: null | ||
| 37 | + } | ||
| 38 | + }, | ||
| 39 | + data() { | ||
| 40 | + return { | ||
| 41 | + fltNo: '', | ||
| 42 | + fltDate: '', | ||
| 43 | + routeList: [], | ||
| 44 | + submitData: [], | ||
| 45 | + loading: false | ||
| 46 | + } | ||
| 47 | + }, | ||
| 48 | + watch: { | ||
| 49 | + open(val) { | ||
| 50 | + if (val) { | ||
| 51 | + this.fltNo = this.fltData.fltNo | ||
| 52 | + this.fltDate = this.fltData.fltDate | ||
| 53 | + allRouteQuery({ | ||
| 54 | + fltNo: this.fltNo, | ||
| 55 | + routeDate: this.fltDate | ||
| 56 | + }).then(res => { | ||
| 57 | + if (res.code === 200) { | ||
| 58 | + this.routeList = res.data.list | ||
| 59 | + this.submitData = res.data.list | ||
| 60 | + } else { | ||
| 61 | + this.msgWarning(res.msg) | ||
| 62 | + } | ||
| 63 | + }).catch(err => { | ||
| 64 | + console.log(err) | ||
| 65 | + }) | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + }, | ||
| 69 | + methods: { | ||
| 70 | + submit() { | ||
| 71 | + saveOrUpdateSpecifyDateRoute(this.submitData).then(res => { | ||
| 72 | + if (res.code === 200) { | ||
| 73 | + this.msgSuccess('保存成功') | ||
| 74 | + this.close() | ||
| 75 | + } else { | ||
| 76 | + this.msgWarning(res.msg) | ||
| 77 | + } | ||
| 78 | + }).catch(err => { | ||
| 79 | + console.log(err) | ||
| 80 | + }) | ||
| 81 | + }, | ||
| 82 | + close() { | ||
| 83 | + this.$emit('close') | ||
| 84 | + }, | ||
| 85 | + drag(val) { | ||
| 86 | + val.forEach((item, index) => { | ||
| 87 | + item.ordinal = index + 1 | ||
| 88 | + }) | ||
| 89 | + this.submitData = val | ||
| 90 | + } | ||
| 91 | + } | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +</script> | ||
| 95 | + | ||
| 96 | +<style lang="scss" scoped> | ||
| 97 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div> |
| 3 | <el-form ref="flightAllocForm" :inline="true" :model="queryParams" class="form-header" size="medium" | 3 | <el-form ref="flightAllocForm" :inline="true" :model="queryParams" class="form-header" size="medium" |
| 4 | - label-position="right" label-width="auto"> | 4 | + label-position="right" label-width="auto" @submit.native.prevent> |
| 5 | <el-form-item label="航班号"> | 5 | <el-form-item label="航班号"> |
| 6 | <el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList"></el-input> | 6 | <el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList"></el-input> |
| 7 | </el-form-item> | 7 | </el-form-item> |
| 8 | + <el-form-item label="航班日期"> | ||
| 9 | + <el-date-picker class="formItem" v-model="queryParams.flightDate" type="date" placeholder="选择日期" | ||
| 10 | + value-format="yyyy-MM-dd" clearable> | ||
| 11 | + </el-date-picker> | ||
| 12 | + </el-form-item> | ||
| 8 | <el-form-item label="状态"> | 13 | <el-form-item label="状态"> |
| 9 | <el-select v-model="queryParams.status" placeholder="状态"> | 14 | <el-select v-model="queryParams.status" placeholder="状态"> |
| 10 | <el-option label="有效" value="1"></el-option> | 15 | <el-option label="有效" value="1"></el-option> |
| ... | @@ -18,8 +23,8 @@ | ... | @@ -18,8 +23,8 @@ |
| 18 | <el-button class="mb20" type="primary" icon="el-icon-plus" size="mini" v-hasPermi="['allocation:alloc:add']" | 23 | <el-button class="mb20" type="primary" icon="el-icon-plus" size="mini" v-hasPermi="['allocation:alloc:add']" |
| 19 | @click=" | 24 | @click=" |
| 20 | $router.push({ | 25 | $router.push({ |
| 21 | - name: 'FlightAllocConfigAdd', | 26 | + name: 'FlightAllocConfigInfo', |
| 22 | - params: { handle: 'add' }, | 27 | + params: { handle: 'add', fltNo: 'new', fltDate: ' ',status:null }, |
| 23 | }) | 28 | }) |
| 24 | ">添加</el-button> | 29 | ">添加</el-button> |
| 25 | </div> | 30 | </div> |
| ... | @@ -28,47 +33,61 @@ | ... | @@ -28,47 +33,61 @@ |
| 28 | :order="true" :totalCount="total" :loading="loading" :limitSize="queryParams.limit" | 33 | :order="true" :totalCount="total" :loading="loading" :limitSize="queryParams.limit" |
| 29 | :limitStart="queryParams.start" :page="curPage" :pageSizes="[20]" :height="tableHeight" | 34 | :limitStart="queryParams.start" :page="curPage" :pageSizes="[20]" :height="tableHeight" |
| 30 | @currentChange="currentChange"> | 35 | @currentChange="currentChange"> |
| 36 | + <template v-slot:ruleDate="scope"> | ||
| 37 | + <el-link v-if="scope.row.ruleDate" type="primary" @click="toRouteOrder(scope.row)"> | ||
| 38 | + {{ | ||
| 39 | + scope.row.ruleDate | ||
| 40 | + }}<i class="el-icon-link"></i> </el-link> | ||
| 41 | + </template> | ||
| 31 | <template slot="optionColumn"> | 42 | <template slot="optionColumn"> |
| 32 | - <el-table-column label="操作" prop="id" align="center"> | 43 | + <el-table-column label="操作" align="center" width="150"> |
| 33 | <template slot-scope="scope"> | 44 | <template slot-scope="scope"> |
| 34 | - <el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看 | 45 | + <el-button type="text" size="mini" icon="el-icon-view" |
| 46 | + @click="handleClick(scope.row.purposeOfFlightNo, 'detail', scope.row.ruleDate, scope.row.status)">查看 | ||
| 35 | </el-button> | 47 | </el-button> |
| 36 | <el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']" | 48 | <el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']" |
| 37 | - @click="handleClick(scope.row.id, 'update')">修改</el-button> | 49 | + @click="handleClick(scope.row.purposeOfFlightNo, 'update', scope.row.ruleDate, scope.row.status)">修改 |
| 38 | - <el-button type="text" size="mini" icon="el-icon-delete" style="color:#ff4949" | 50 | + </el-button> |
| 51 | + <!-- <el-button type="text" size="mini" icon="el-icon-delete" style="color:#ff4949" | ||
| 39 | v-hasPermi="['allocation:alloc:delete']" @click="del(scope.row.id, scope.row.status)">删除</el-button> | 52 | v-hasPermi="['allocation:alloc:delete']" @click="del(scope.row.id, scope.row.status)">删除</el-button> |
| 40 | <el-button type="text" size="mini" icon="el-icon-video-pause" v-hasPermi="['allocation:alloc:openClose']" | 53 | <el-button type="text" size="mini" icon="el-icon-video-pause" v-hasPermi="['allocation:alloc:openClose']" |
| 41 | @click="changeStatus(scope.row.id, 3)" v-if="scope.row.status == '1'">停用</el-button> | 54 | @click="changeStatus(scope.row.id, 3)" v-if="scope.row.status == '1'">停用</el-button> |
| 42 | <el-button type="text" size="mini" icon="el-icon-video-play" v-hasPermi="['allocation:alloc:openClose']" | 55 | <el-button type="text" size="mini" icon="el-icon-video-play" v-hasPermi="['allocation:alloc:openClose']" |
| 43 | - @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button> | 56 | + @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button> --> |
| 44 | </template> | 57 | </template> |
| 45 | </el-table-column> | 58 | </el-table-column> |
| 46 | </template> | 59 | </template> |
| 47 | </Tables> | 60 | </Tables> |
| 61 | + <Dialog :fltData="colData" :open="open" @close="close"></Dialog> | ||
| 48 | </div> | 62 | </div> |
| 49 | </template> | 63 | </template> |
| 50 | 64 | ||
| 51 | <script> | 65 | <script> |
| 52 | import { | 66 | import { |
| 53 | - findFlightNo, | 67 | + findFlightDimRuleByFlightNo |
| 54 | - delFlightId, | ||
| 55 | - enableOrDisable, | ||
| 56 | } from "@/api/destinationFlight"; | 68 | } from "@/api/destinationFlight"; |
| 69 | +import Dialog from './dialog.vue' | ||
| 57 | 70 | ||
| 58 | export default { | 71 | export default { |
| 59 | name: "FlightAllocConfig", | 72 | name: "FlightAllocConfig", |
| 73 | + components: { | ||
| 74 | + Dialog | ||
| 75 | + }, | ||
| 60 | data() { | 76 | data() { |
| 61 | return { | 77 | return { |
| 62 | queryParams: { | 78 | queryParams: { |
| 63 | - purposeOfFlightNo: "", | 79 | + purposeOfFlightNo: null, |
| 80 | + flightDate: undefined, | ||
| 64 | status: "1", | 81 | status: "1", |
| 65 | start: 0, | 82 | start: 0, |
| 66 | limit: 20, | 83 | limit: 20, |
| 67 | }, | 84 | }, |
| 68 | flyList: [], | 85 | flyList: [], |
| 86 | + colData: {}, | ||
| 69 | curPage: 1, | 87 | curPage: 1, |
| 70 | total: 0, | 88 | total: 0, |
| 71 | tableHeight: null, | 89 | tableHeight: null, |
| 90 | + open: false, | ||
| 72 | loading: false, | 91 | loading: false, |
| 73 | }; | 92 | }; |
| 74 | }, | 93 | }, |
| ... | @@ -94,66 +113,36 @@ export default { | ... | @@ -94,66 +113,36 @@ export default { |
| 94 | this.queryParams.start = 0; | 113 | this.queryParams.start = 0; |
| 95 | } | 114 | } |
| 96 | this.loading = true; | 115 | this.loading = true; |
| 97 | - findFlightNo(this.queryParams).then((response) => { | 116 | + findFlightDimRuleByFlightNo(this.queryParams).then(res => { |
| 98 | - if (response.code != 200) { | 117 | + this.loading = false |
| 99 | - this.msgWarning(response.msg) | 118 | + if (res.code === 200) { |
| 100 | - return; | 119 | + this.flyList = res.data.list |
| 120 | + this.total = res.data.totalCount | ||
| 121 | + } else { | ||
| 122 | + this.msgWarning(res.msg) | ||
| 101 | } | 123 | } |
| 102 | - this.flyList = response.data.list; | 124 | + }).catch(err => { |
| 103 | - this.total = response.data.totalCount; | 125 | + this.loading = false |
| 104 | - this.loading = false; | 126 | + console.log(err) |
| 105 | - }); | 127 | + }) |
| 106 | }, | 128 | }, |
| 107 | //跳转到查看,修改页面 | 129 | //跳转到查看,修改页面 |
| 108 | - handleClick(flightiId, handle) { | 130 | + handleClick(fltNo, handle, fltDate, status) { |
| 109 | this.$router.push({ | 131 | this.$router.push({ |
| 110 | name: "FlightAllocConfigInfo", | 132 | name: "FlightAllocConfigInfo", |
| 111 | - params: { handle: handle, id: flightiId }, | 133 | + params: { handle: handle, fltNo: fltNo, fltDate: fltDate ? fltDate : null, status: status }, |
| 112 | }); | 134 | }); |
| 113 | }, | 135 | }, |
| 114 | - //删除规则 | 136 | + //航班优先级修改 |
| 115 | - del(id, status) { | 137 | + toRouteOrder(val) { |
| 116 | - if (status == "1") { | 138 | + this.colData = { |
| 117 | - this.$confirm("航班规则生效中,无法删除,请停用后再操作", "警告", { | 139 | + fltNo: val.purposeOfFlightNo, |
| 118 | - confirmButtonText: "确定", | 140 | + fltDate: val.ruleDate |
| 119 | - showCancelButton: false, | ||
| 120 | - type: "warning", | ||
| 121 | - }); | ||
| 122 | - } else { | ||
| 123 | - this.$confirm("是否确认删除此航班规则?", "警告", { | ||
| 124 | - confirmButtonText: "确定", | ||
| 125 | - cancelButtonText: "取消", | ||
| 126 | - showCancelButton: true, | ||
| 127 | - type: "warning", | ||
| 128 | - }).then(() => { | ||
| 129 | - delFlightId(id) | ||
| 130 | - .then((res) => { | ||
| 131 | - res.code === 200 ? this.msgSuccess(res.msg) : this.msgWarning(res.msg) | ||
| 132 | - this.getList() | ||
| 133 | - }) | ||
| 134 | - .catch(() => { }); | ||
| 135 | - }); | ||
| 136 | } | 141 | } |
| 142 | + this.open = true | ||
| 137 | }, | 143 | }, |
| 138 | - //启用,停用 | 144 | + close() { |
| 139 | - changeStatus(id, status) { | 145 | + this.open = false |
| 140 | - let tip = status === 1 ? "启用" : "停用"; | ||
| 141 | - this.$confirm("是否确认" + tip + "此航班规则?", "警告", { | ||
| 142 | - confirmButtonText: "确定", | ||
| 143 | - cancelButtonText: "取消", | ||
| 144 | - type: "warning", | ||
| 145 | - }).then(() => { | ||
| 146 | - enableOrDisable(id, status) | ||
| 147 | - .then((res) => { | ||
| 148 | - if (res.code != 200) { | ||
| 149 | - this.msgError(res.msg); | ||
| 150 | - } else { | ||
| 151 | - this.getList(); | ||
| 152 | - this.msgSuccess(tip + "成功"); | ||
| 153 | - } | ||
| 154 | - }) | ||
| 155 | - .catch(() => { }); | ||
| 156 | - }); | ||
| 157 | }, | 146 | }, |
| 158 | //翻页 | 147 | //翻页 |
| 159 | currentChange(val) { | 148 | currentChange(val) { | ... | ... |
This diff is collapsed. Click to expand it.
| ... | @@ -768,8 +768,10 @@ export default { | ... | @@ -768,8 +768,10 @@ export default { |
| 768 | let obj = { | 768 | let obj = { |
| 769 | handle: 'update', | 769 | handle: 'update', |
| 770 | fltNo: val.fltNo, | 770 | fltNo: val.fltNo, |
| 771 | - fltDate: val.fltDate, | 771 | + fltDate: val.fltDate ? val.fltDate : null, |
| 772 | - status: 'flightInformationMaintenance' | 772 | + route: val.flightKindName != 'Purple Tail' ? val.route : '', |
| 773 | + routeStatus: 'flightInformationMaintenance' + val.flightKindName, | ||
| 774 | + status: '1' | ||
| 773 | } | 775 | } |
| 774 | this.$router.push({ | 776 | this.$router.push({ |
| 775 | name: 'FlightAllocConfigInfo', | 777 | name: 'FlightAllocConfigInfo', | ... | ... |
| ... | @@ -16,10 +16,10 @@ | ... | @@ -16,10 +16,10 @@ |
| 16 | </el-col> | 16 | </el-col> |
| 17 | </el-row> | 17 | </el-row> |
| 18 | </el-form> | 18 | </el-form> |
| 19 | - <Tables ref="cargoLog" ductName="cargoLog" :order="false" :data="data.tableData" :headerData="tableHeader" | 19 | + <Tables ref="cargoLog" ductName="cargoLog" :order="false" :border='false' :data="data.tableData" |
| 20 | - tableAlign="center" :showOverflowTooltip="false" :height="tableHeight" :page="selectData.page" | 20 | + :headerData="tableHeader" tableAlign="center" :showOverflowTooltip="false" :height="tableHeight" |
| 21 | - :limitSize="selectData.size" :pageSizes="[100]" :pagination="false" :loading="loading" | 21 | + :page="selectData.page" :limitSize="selectData.size" :pageSizes="[100]" :pagination="false" |
| 22 | - @currentChange="currentChange"> | 22 | + :loading="loading" @currentChange="currentChange"> |
| 23 | </Tables> | 23 | </Tables> |
| 24 | <div slot="footer" class="dialog-footer"> | 24 | <div slot="footer" class="dialog-footer"> |
| 25 | <el-button @click="close">关 闭</el-button> | 25 | <el-button @click="close">关 闭</el-button> |
| ... | @@ -93,4 +93,5 @@ export default { | ... | @@ -93,4 +93,5 @@ export default { |
| 93 | </script> | 93 | </script> |
| 94 | 94 | ||
| 95 | <style scoped> | 95 | <style scoped> |
| 96 | + | ||
| 96 | </style> | 97 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -49,7 +49,7 @@ | ... | @@ -49,7 +49,7 @@ |
| 49 | <el-col :span="6"> | 49 | <el-col :span="6"> |
| 50 | <el-form-item label="配载航班号"> | 50 | <el-form-item label="配载航班号"> |
| 51 | <el-input type="textarea" v-model="cargoPlaneNo" class="formItem" placeholder="AC001;AC002" :rows="4" | 51 | <el-input type="textarea" v-model="cargoPlaneNo" class="formItem" placeholder="AC001;AC002" :rows="4" |
| 52 | - clearable></el-input> | 52 | + clearable @change="planeNoChange"></el-input> |
| 53 | </el-form-item> | 53 | </el-form-item> |
| 54 | </el-col> | 54 | </el-col> |
| 55 | <el-col :span="6"> | 55 | <el-col :span="6"> |
| ... | @@ -129,6 +129,24 @@ | ... | @@ -129,6 +129,24 @@ |
| 129 | </el-select> | 129 | </el-select> |
| 130 | </el-form-item> | 130 | </el-form-item> |
| 131 | </el-col> | 131 | </el-col> |
| 132 | + <el-col :span="6"> | ||
| 133 | + <el-form-item> | ||
| 134 | + <template slot="label"> | ||
| 135 | + <div style="display:inline-block">配载航线 | ||
| 136 | + <el-tooltip class="item" effect="dark" content="选择航线需要先输入配载航班号,才能选择对应得航线" placement="top-start"> | ||
| 137 | + <span class="el-icon-warning" style="color:#1890ff;font-size:16px"></span> | ||
| 138 | + </el-tooltip> | ||
| 139 | + </div> | ||
| 140 | + </template> | ||
| 141 | + <el-select class="formItem" v-model="formData.cargoPlaneRoute" placeholder="不限" | ||
| 142 | + :disabled="routeList.length == 0" clearable @change="routeSelectChange" | ||
| 143 | + :key="formData.cargoPlaneRoute"> | ||
| 144 | + <el-option v-for="(item, index) in routeList" :label="item" :value="item" :key="item"> | ||
| 145 | + <Tooltips :content="item" :refName="item"></Tooltips> | ||
| 146 | + </el-option> | ||
| 147 | + </el-select> | ||
| 148 | + </el-form-item> | ||
| 149 | + </el-col> | ||
| 132 | </el-row> | 150 | </el-row> |
| 133 | </el-col> | 151 | </el-col> |
| 134 | </el-row> | 152 | </el-row> |
| ... | @@ -192,7 +210,7 @@ | ... | @@ -192,7 +210,7 @@ |
| 192 | </template> | 210 | </template> |
| 193 | 211 | ||
| 194 | <script> | 212 | <script> |
| 195 | -import { findConditionData, findCargoData, releaseCargo } from "@/api/cargoSelect"; | 213 | +import { findConditionData, findCargoData, releaseCargo, getFlightsRoutes } from "@/api/cargoSelect"; |
| 196 | import { downLoadXlsx } from "@/utils/zipdownload"; | 214 | import { downLoadXlsx } from "@/utils/zipdownload"; |
| 197 | import Dialog from "./dialog.vue"; | 215 | import Dialog from "./dialog.vue"; |
| 198 | 216 | ||
| ... | @@ -229,6 +247,7 @@ export default { | ... | @@ -229,6 +247,7 @@ export default { |
| 229 | cargoPlaneNo: null, | 247 | cargoPlaneNo: null, |
| 230 | cargoPlaneStart: null, | 248 | cargoPlaneStart: null, |
| 231 | cargoPlaneEnd: null, | 249 | cargoPlaneEnd: null, |
| 250 | + cargoPlaneRoute: null, | ||
| 232 | limitStart: 1, | 251 | limitStart: 1, |
| 233 | limitSize: 100, | 252 | limitSize: 100, |
| 234 | }, //表单数据 | 253 | }, //表单数据 |
| ... | @@ -286,8 +305,9 @@ export default { | ... | @@ -286,8 +305,9 @@ export default { |
| 286 | findConditionData: {}, //货物查询条件 | 305 | findConditionData: {}, //货物查询条件 |
| 287 | tableData: [], //表格数据 | 306 | tableData: [], //表格数据 |
| 288 | cargoLog: {}, | 307 | cargoLog: {}, |
| 289 | - allWeight: 0, | 308 | + routeList: [], |
| 290 | - allQty: 0, | 309 | + allWeight: 0,//总重量 |
| 310 | + allQty: 0,//总件数 | ||
| 291 | shiftKey: false, | 311 | shiftKey: false, |
| 292 | valueFormat: "yyyy-MM-dd", | 312 | valueFormat: "yyyy-MM-dd", |
| 293 | tableLoading: false, | 313 | tableLoading: false, |
| ... | @@ -358,6 +378,8 @@ export default { | ... | @@ -358,6 +378,8 @@ export default { |
| 358 | this.formData.cargoPlaneStart = this.$route.params.fltDate | 378 | this.formData.cargoPlaneStart = this.$route.params.fltDate |
| 359 | this.formData.cargoPlaneEnd = this.$route.params.fltDate | 379 | this.formData.cargoPlaneEnd = this.$route.params.fltDate |
| 360 | this.formData.cargoPlaneNo = this.$route.params.fltNo | 380 | this.formData.cargoPlaneNo = this.$route.params.fltNo |
| 381 | + this.formData.cargoPlaneRoute = this.$route.params.route | ||
| 382 | + this.planeNoChange(this.formData.cargoPlaneNo) | ||
| 361 | this.select(0) | 383 | this.select(0) |
| 362 | } else { | 384 | } else { |
| 363 | //否则请求原页面缓存状态 | 385 | //否则请求原页面缓存状态 |
| ... | @@ -426,6 +448,8 @@ export default { | ... | @@ -426,6 +448,8 @@ export default { |
| 426 | this.formData.cargoPlaneStart = from.params.fltDate | 448 | this.formData.cargoPlaneStart = from.params.fltDate |
| 427 | this.formData.cargoPlaneEnd = from.params.fltDate | 449 | this.formData.cargoPlaneEnd = from.params.fltDate |
| 428 | this.formData.cargoPlaneNo = from.params.fltNo | 450 | this.formData.cargoPlaneNo = from.params.fltNo |
| 451 | + this.formData.cargoPlaneRoute = from.params.route | ||
| 452 | + this.planeNoChange(this.formData.cargoPlaneNo) | ||
| 429 | this.select(0) | 453 | this.select(0) |
| 430 | } | 454 | } |
| 431 | } | 455 | } |
| ... | @@ -462,6 +486,7 @@ export default { | ... | @@ -462,6 +486,7 @@ export default { |
| 462 | } | 486 | } |
| 463 | findCargoData(this.formData) | 487 | findCargoData(this.formData) |
| 464 | .then((res) => { | 488 | .then((res) => { |
| 489 | + setTimeout(() => { | ||
| 465 | if (res.code == 200) { | 490 | if (res.code == 200) { |
| 466 | this.tableData = res.data.list; | 491 | this.tableData = res.data.list; |
| 467 | this.totalCount = res.data.totalCount; | 492 | this.totalCount = res.data.totalCount; |
| ... | @@ -477,6 +502,7 @@ export default { | ... | @@ -477,6 +502,7 @@ export default { |
| 477 | } | 502 | } |
| 478 | this.tableLoading = false; | 503 | this.tableLoading = false; |
| 479 | }) | 504 | }) |
| 505 | + }) | ||
| 480 | .catch(() => { | 506 | .catch(() => { |
| 481 | this.tableLoading = false; | 507 | this.tableLoading = false; |
| 482 | }); | 508 | }); |
| ... | @@ -604,6 +630,22 @@ export default { | ... | @@ -604,6 +630,22 @@ export default { |
| 604 | this.page = val.page; | 630 | this.page = val.page; |
| 605 | this.select(); | 631 | this.select(); |
| 606 | }, | 632 | }, |
| 633 | + //配载航班号获取航线 | ||
| 634 | + planeNoChange(val) { | ||
| 635 | + getFlightsRoutes(val.split(';')).then(res => { | ||
| 636 | + if (res.code === 200) { | ||
| 637 | + this.routeList = res.data | ||
| 638 | + } else { | ||
| 639 | + this.msgWarning(res.msg) | ||
| 640 | + } | ||
| 641 | + }).catch(err => { | ||
| 642 | + console.log(err) | ||
| 643 | + }) | ||
| 644 | + }, | ||
| 645 | + routeSelectChange(val) { | ||
| 646 | + this.$forceUpdate() | ||
| 647 | + // this.formData.cargoPlaneRoute = val | ||
| 648 | + }, | ||
| 607 | //排序 | 649 | //排序 |
| 608 | sortChange(val) { | 650 | sortChange(val) { |
| 609 | let data = []; | 651 | let data = []; | ... | ... |
| ... | @@ -42,8 +42,8 @@ | ... | @@ -42,8 +42,8 @@ |
| 42 | </el-form-item> | 42 | </el-form-item> |
| 43 | </el-form> | 43 | </el-form> |
| 44 | <el-row class="card2"> | 44 | <el-row class="card2"> |
| 45 | - <el-col :span="1" v-for="item in tableData"> | 45 | + <el-col :span="1" v-for="item in fltBox"> |
| 46 | - <div class="fltBox" @click="rowClick(item)" | 46 | + <div class="fltBox" @click="rowClick({ fltNo: item.fltNo, fltDate: item.fltDate, route: '' })" |
| 47 | :style="{ backgroundColor: (item.percentage * 100).toFixed(2) >= 100 ? '#13ce66' : (item.percentage * 100).toFixed(2) >= 75 ? '#ffba00' : '#ff4949' }"> | 47 | :style="{ backgroundColor: (item.percentage * 100).toFixed(2) >= 100 ? '#13ce66' : (item.percentage * 100).toFixed(2) >= 75 ? '#ffba00' : '#ff4949' }"> |
| 48 | <div class="fltName">{{ item.fltNo }}</div> | 48 | <div class="fltName">{{ item.fltNo }}</div> |
| 49 | <div class="fltWeight">{{ (item.percentage == 0 ? 0 : ((item.percentage) * 100).toFixed(2)) + '%' }} | 49 | <div class="fltWeight">{{ (item.percentage == 0 ? 0 : ((item.percentage) * 100).toFixed(2)) + '%' }} |
| ... | @@ -88,6 +88,7 @@ export default { | ... | @@ -88,6 +88,7 @@ export default { |
| 88 | page: 1, | 88 | page: 1, |
| 89 | size: 1 | 89 | size: 1 |
| 90 | },//查询条件 | 90 | },//查询条件 |
| 91 | + fltBox: [], | ||
| 91 | tableData: [],//table数据 | 92 | tableData: [],//table数据 |
| 92 | tableHeader: this.tableHeaders['index'],//表头 | 93 | tableHeader: this.tableHeaders['index'],//表头 |
| 93 | fltKindIdList: [],//航班类型 | 94 | fltKindIdList: [],//航班类型 |
| ... | @@ -126,10 +127,12 @@ export default { | ... | @@ -126,10 +127,12 @@ export default { |
| 126 | }, | 127 | }, |
| 127 | //获取首页信息(日期查询) | 128 | //获取首页信息(日期查询) |
| 128 | async getFlight() { | 129 | async getFlight() { |
| 130 | + this.fltBox = [] | ||
| 129 | this.loading = true | 131 | this.loading = true |
| 130 | getOneDayFlight(this.selectData).then(res => { | 132 | getOneDayFlight(this.selectData).then(res => { |
| 131 | this.loading = false | 133 | this.loading = false |
| 132 | if (res.code === 200) { | 134 | if (res.code === 200) { |
| 135 | + this.getfltBox(JSON.parse(JSON.stringify(res.data.list))) | ||
| 133 | this.tableData = res.data.list | 136 | this.tableData = res.data.list |
| 134 | this.percentage = res.data.percentage | 137 | this.percentage = res.data.percentage |
| 135 | this.totalWeight = res.data.totalWeight | 138 | this.totalWeight = res.data.totalWeight |
| ... | @@ -142,11 +145,30 @@ export default { | ... | @@ -142,11 +145,30 @@ export default { |
| 142 | console.log(err) | 145 | console.log(err) |
| 143 | }) | 146 | }) |
| 144 | }, | 147 | }, |
| 148 | + getfltBox(val) { | ||
| 149 | + val.forEach(flt => { | ||
| 150 | + let status = 1 | ||
| 151 | + this.fltBox.forEach(item => { | ||
| 152 | + if (item.fltNo == flt.fltNo) { | ||
| 153 | + item.percentage = flt.percentage + item.percentage | ||
| 154 | + status = 2 | ||
| 155 | + } | ||
| 156 | + }) | ||
| 157 | + if (status == 1) { | ||
| 158 | + this.fltBox.push(flt) | ||
| 159 | + } | ||
| 160 | + }) | ||
| 161 | + }, | ||
| 145 | //某行被点击 | 162 | //某行被点击 |
| 146 | rowClick(val) { | 163 | rowClick(val) { |
| 147 | let obj = {} | 164 | let obj = {} |
| 148 | obj.fltNo = val.fltNo | 165 | obj.fltNo = val.fltNo |
| 149 | obj.fltDate = val.fltDate | 166 | obj.fltDate = val.fltDate |
| 167 | + if (val.flightKindName == 'Purple Tail') { | ||
| 168 | + obj.route = '' | ||
| 169 | + } else { | ||
| 170 | + obj.route = val.route | ||
| 171 | + } | ||
| 150 | this.$router.push({ name: 'QueryCargo', params: obj }) | 172 | this.$router.push({ name: 'QueryCargo', params: obj }) |
| 151 | }, | 173 | }, |
| 152 | //翻页 | 174 | //翻页 | ... | ... |
| ... | @@ -39,7 +39,7 @@ | ... | @@ -39,7 +39,7 @@ |
| 39 | <el-input type="text" v-model="newDictionary.fltNo" disabled></el-input> | 39 | <el-input type="text" v-model="newDictionary.fltNo" disabled></el-input> |
| 40 | </el-form-item> | 40 | </el-form-item> |
| 41 | <el-form-item label="航线"> | 41 | <el-form-item label="航线"> |
| 42 | - <Drag :data="routeList" @drag="drag"></Drag> | 42 | + <Drag :routes="routeList" @drag="drag"></Drag> |
| 43 | </el-form-item> | 43 | </el-form-item> |
| 44 | </div> | 44 | </div> |
| 45 | </div> | 45 | </div> | ... | ... |
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-dialog title="新 增" :visible.sync="open" width="25%" :close-on-click-modal="false" :show-close="false" | ||
| 4 | + append-to-body center> | ||
| 5 | + <el-form class="form-header" :model="formData" size="small" ref="addForm" label-width="auto" | ||
| 6 | + label-position="left" style="margin-bottom:10px" :rules="rules" @submit.native.prevent> | ||
| 7 | + <el-form-item label="货站名称" prop="goodsStation"> | ||
| 8 | + <el-input type="text" v-model="formData.goodsStation" placeholder="请输入货站名称"></el-input> | ||
| 9 | + </el-form-item> | ||
| 10 | + <el-form-item label="品名" prop="goodsList"> | ||
| 11 | + <el-input type="textarea" v-model="formData.goodsList" rows="4" placeholder="请输入品名,多个用“;”隔开"> | ||
| 12 | + </el-input> | ||
| 13 | + </el-form-item> | ||
| 14 | + </el-form> | ||
| 15 | + <div slot="footer" class="dialog-footer"> | ||
| 16 | + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button> | ||
| 17 | + <el-button @click="close">取 消</el-button> | ||
| 18 | + </div> | ||
| 19 | + </el-dialog> | ||
| 20 | + </div> | ||
| 21 | +</template> | ||
| 22 | + | ||
| 23 | +<script> | ||
| 24 | +import { batchAddGoods } from "@/api/goodsStation" | ||
| 25 | + | ||
| 26 | +export default { | ||
| 27 | + name: '', | ||
| 28 | + props: { | ||
| 29 | + open: { | ||
| 30 | + type: Boolean, | ||
| 31 | + default: false | ||
| 32 | + }, | ||
| 33 | + }, | ||
| 34 | + data() { | ||
| 35 | + return { | ||
| 36 | + formData: { | ||
| 37 | + goodsStation: null, | ||
| 38 | + goodsList: null | ||
| 39 | + }, | ||
| 40 | + rules: { | ||
| 41 | + goodsStation: [ | ||
| 42 | + { | ||
| 43 | + required: true, | ||
| 44 | + message: "货站名称不能为空", | ||
| 45 | + trigger: "blur", | ||
| 46 | + }, | ||
| 47 | + ], | ||
| 48 | + goodsList: [ | ||
| 49 | + { | ||
| 50 | + required: true, | ||
| 51 | + message: "品名不能为空", | ||
| 52 | + trigger: "blur", | ||
| 53 | + }, | ||
| 54 | + ], | ||
| 55 | + }, | ||
| 56 | + loading: false, | ||
| 57 | + } | ||
| 58 | + }, | ||
| 59 | + watch: { | ||
| 60 | + }, | ||
| 61 | + methods: { | ||
| 62 | + //提交 | ||
| 63 | + submit() { | ||
| 64 | + let obj = {} | ||
| 65 | + obj.goodsStation = this.formData.goodsStation | ||
| 66 | + if (this.formData.goodsList != null && this.formData.goodsList != '') { | ||
| 67 | + obj.goodsList = this.formData.goodsList.split(';') | ||
| 68 | + } | ||
| 69 | + this.$refs['addForm'].validate(val => { | ||
| 70 | + if (val) { | ||
| 71 | + this.loading = true | ||
| 72 | + batchAddGoods(obj).then(res => { | ||
| 73 | + this.loading = false | ||
| 74 | + if (res.code === 200) { | ||
| 75 | + this.msgSuccess('添加成功') | ||
| 76 | + this.close() | ||
| 77 | + } else { | ||
| 78 | + this.msgWarning(res.msg) | ||
| 79 | + } | ||
| 80 | + }).catch(err => { | ||
| 81 | + this.loading = false | ||
| 82 | + console.log(err) | ||
| 83 | + }) | ||
| 84 | + } | ||
| 85 | + }) | ||
| 86 | + }, | ||
| 87 | + //取消 | ||
| 88 | + close() { | ||
| 89 | + this.formData = { | ||
| 90 | + goodsStation: null, | ||
| 91 | + goodsList: null | ||
| 92 | + } | ||
| 93 | + this.$refs["addForm"].clearValidate(); | ||
| 94 | + this.$emit('close') | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + } | ||
| 98 | +} | ||
| 99 | + | ||
| 100 | +</script> | ||
| 101 | + | ||
| 102 | +<style lang="scss" scoped> | ||
| 103 | + | ||
| 104 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-form class="form-header" ref="selectForm" label-width="auto" label-position="left" | ||
| 4 | + style="margin-bottom:10px" @submit.native.prevent size="small"> | ||
| 5 | + <el-row> | ||
| 6 | + <el-col :span="6"> | ||
| 7 | + <el-form-item label="货站名称"> | ||
| 8 | + <el-input v-model="selectionData.goodsStation" placeholder="请输入货站名称" maxlength="50" clearable /> | ||
| 9 | + </el-form-item> | ||
| 10 | + </el-col> | ||
| 11 | + </el-row> | ||
| 12 | + </el-form> | ||
| 13 | + <div style="display:flex;padding:10px 20px"> | ||
| 14 | + <el-button icon="el-icon-search" type="primary" :loading="loading" size="small" @click="selection(1)">查 询 | ||
| 15 | + </el-button> | ||
| 16 | + <el-button icon="el-icon-plus" type="primary" size="small" v-hasPermi="['system:goodsStation:add']" | ||
| 17 | + @click="add">新 增 | ||
| 18 | + </el-button> | ||
| 19 | + <el-button icon="el-icon-delete" type="danger" size="small" v-hasPermi="['system:goodsStation:delete']" | ||
| 20 | + style="margin-left:10px" :disabled="checkData.length==0" @click="batchDel"> | ||
| 21 | + 删 除 | ||
| 22 | + </el-button> | ||
| 23 | + <el-button type="primary" icon="el-icon-download" size="small" style="margin-right:10px" | ||
| 24 | + @click="downloadTempleate">下载模板 | ||
| 25 | + </el-button> | ||
| 26 | + <el-upload action="/caPreReviewImport/importFlight" name="file" :http-request="uploadExcel" | ||
| 27 | + :on-remove="handleRemove" :limit="1" :on-exceed="handleExceed" :file-list="fileList" accept=".xlsx" | ||
| 28 | + class="upload-demo"> | ||
| 29 | + <el-button type="primary" icon="el-icon-upload2" size="small">导入Excel</el-button> | ||
| 30 | + </el-upload> | ||
| 31 | + </div> | ||
| 32 | + <Tables ref="goodsStation" ductName="goodsStation" :data="tableData" :headerData="tableHeader" :selection="true" | ||
| 33 | + :order="true" :selectFixed="false" :totalCount="totalCount" :loading="loading" | ||
| 34 | + :limitSize="selectionData.size" :page="selectionData.page" layout="total,prev, pager, next, jumper, ->" | ||
| 35 | + :pageSizes="[100]" :height="tableHeight" @tableSelect="tableSelect" @tableSelectAll="tableSelectAll" | ||
| 36 | + @currentChange="currentChange"> | ||
| 37 | + <template slot="optionColumn"> | ||
| 38 | + <el-table-column label="操作" align="center"> | ||
| 39 | + <template slot-scope="scope"> | ||
| 40 | + <el-button size="mini" type="text" icon="el-icon-delete" style="color:#ff4949" | ||
| 41 | + v-hasPermi="['system:goodsStation:delete']" @click="del(scope.row)">删除</el-button> | ||
| 42 | + </template> | ||
| 43 | + </el-table-column> | ||
| 44 | + </template> | ||
| 45 | + </Tables> | ||
| 46 | + <Dialog :open="open" @close="close" /> | ||
| 47 | + <UpDateResult :dialogVisible="resultOpen" :resultData="errorData" @close="resultClose" /> | ||
| 48 | + </div> | ||
| 49 | +</template> | ||
| 50 | + | ||
| 51 | +<script> | ||
| 52 | +import { downLoadTemplate } from "@/api/flightInfoImport"; | ||
| 53 | +import { importGoods, batchDeleteGoods, searchGoods } from "@/api/goodsStation" | ||
| 54 | +import Dialog from './dialog.vue' | ||
| 55 | +import UpDateResult from './upDateResult.vue' | ||
| 56 | + | ||
| 57 | +export default { | ||
| 58 | + name: 'GoodsStation', | ||
| 59 | + components: { | ||
| 60 | + Dialog, | ||
| 61 | + UpDateResult | ||
| 62 | + }, | ||
| 63 | + data() { | ||
| 64 | + return { | ||
| 65 | + selectionData: { | ||
| 66 | + goodsStation: '', | ||
| 67 | + size: 20, | ||
| 68 | + page: 1 | ||
| 69 | + }, | ||
| 70 | + tableData: [], | ||
| 71 | + tableHeader: this.tableHeaders['goodsStation'], | ||
| 72 | + checkData: [], | ||
| 73 | + fileList: [], | ||
| 74 | + errorData: [], | ||
| 75 | + tableHeight: null, | ||
| 76 | + totalCount: 0, | ||
| 77 | + loading: false, | ||
| 78 | + open: false, | ||
| 79 | + resultOpen: false, | ||
| 80 | + } | ||
| 81 | + }, | ||
| 82 | + created() { | ||
| 83 | + | ||
| 84 | + }, | ||
| 85 | + mounted() { | ||
| 86 | + this.tableHeight = window.innerHeight - this.$refs.goodsStation.$el.offsetHeight - 200 | ||
| 87 | + this.selection(1) | ||
| 88 | + }, | ||
| 89 | + watch: { | ||
| 90 | + $route(to, from) { | ||
| 91 | + if (to.name == 'GoodsStation') { | ||
| 92 | + this.selection() | ||
| 93 | + } | ||
| 94 | + } | ||
| 95 | + }, | ||
| 96 | + methods: { | ||
| 97 | + //查询 | ||
| 98 | + selection(val) { | ||
| 99 | + this.tableData = [] | ||
| 100 | + this.checkData = [] | ||
| 101 | + this.loading = true | ||
| 102 | + if (val === 1) { | ||
| 103 | + this.selectionData.page = 1 | ||
| 104 | + } | ||
| 105 | + searchGoods(this.selectionData).then(res => { | ||
| 106 | + this.loading = false | ||
| 107 | + if (res.code === 200) { | ||
| 108 | + this.tableData = res.data.list | ||
| 109 | + this.totalCount = res.data.total | ||
| 110 | + } else { | ||
| 111 | + this.msgWarning(res.msg) | ||
| 112 | + } | ||
| 113 | + }).catch(err => { | ||
| 114 | + this.loading = false | ||
| 115 | + console.log(err) | ||
| 116 | + }) | ||
| 117 | + }, | ||
| 118 | + //新增 | ||
| 119 | + add() { | ||
| 120 | + this.open = true | ||
| 121 | + }, | ||
| 122 | + //删除 | ||
| 123 | + del(val) { | ||
| 124 | + this.$confirm("是否要删除这条记录!", "注意!", { | ||
| 125 | + confirmButtonText: "确定", | ||
| 126 | + cancelButtonText: '取消', | ||
| 127 | + type: "warning", | ||
| 128 | + }).then(() => { | ||
| 129 | + this.deleteGoods([val.id]) | ||
| 130 | + }).catch(() => { | ||
| 131 | + | ||
| 132 | + }) | ||
| 133 | + }, | ||
| 134 | + //批量删除 | ||
| 135 | + batchDel() { | ||
| 136 | + let arr = [] | ||
| 137 | + this.checkData.forEach(item => { | ||
| 138 | + arr.push(item.id) | ||
| 139 | + }) | ||
| 140 | + this.$confirm("是否要删除这些记录!", "注意!", { | ||
| 141 | + confirmButtonText: "确定", | ||
| 142 | + cancelButtonText: '取消', | ||
| 143 | + type: "warning", | ||
| 144 | + }).then(() => { | ||
| 145 | + this.deleteGoods(arr) | ||
| 146 | + }).catch(() => { | ||
| 147 | + | ||
| 148 | + }) | ||
| 149 | + }, | ||
| 150 | + //删除请求 | ||
| 151 | + deleteGoods(val) { | ||
| 152 | + batchDeleteGoods(val).then(res => { | ||
| 153 | + if (res.code === 200) { | ||
| 154 | + this.msgSuccess('删除成功!') | ||
| 155 | + this.selection(1) | ||
| 156 | + } else { | ||
| 157 | + this.msgWarning(res.msg) | ||
| 158 | + } | ||
| 159 | + }).catch(err => { | ||
| 160 | + console.log(err) | ||
| 161 | + }) | ||
| 162 | + }, | ||
| 163 | + //复选 | ||
| 164 | + tableSelect(val) { | ||
| 165 | + this.checkData = val.selection | ||
| 166 | + }, | ||
| 167 | + //全选 | ||
| 168 | + tableSelectAll(val) { | ||
| 169 | + this.checkData = val | ||
| 170 | + }, | ||
| 171 | + //分页 | ||
| 172 | + currentChange(val) { | ||
| 173 | + this.selectionData.page = val.page | ||
| 174 | + this.selection() | ||
| 175 | + }, | ||
| 176 | + //上传excel | ||
| 177 | + uploadExcel(option) { | ||
| 178 | + const file = option.file; | ||
| 179 | + this.loading = true; | ||
| 180 | + importGoods(file, '').then((res) => { | ||
| 181 | + this.loading = false; | ||
| 182 | + if (res.code != 200) { | ||
| 183 | + if (res.code == 603) { | ||
| 184 | + this.$alert(res.msg, "提示", { | ||
| 185 | + confirmButtonText: "确定", | ||
| 186 | + type: "warning", | ||
| 187 | + }); | ||
| 188 | + } else { | ||
| 189 | + this.$message.warning(res.msg); | ||
| 190 | + this.errorData = res.data; | ||
| 191 | + if (this.errorData.length > 0) { | ||
| 192 | + this.resultOpen = true | ||
| 193 | + } | ||
| 194 | + } | ||
| 195 | + } else { | ||
| 196 | + this.$message.success(res.msg); | ||
| 197 | + this.errorData = res.data; | ||
| 198 | + this.selection(1) | ||
| 199 | + } | ||
| 200 | + }); | ||
| 201 | + }, | ||
| 202 | + //下载模板 | ||
| 203 | + downloadTempleate() { | ||
| 204 | + downLoadTemplate('goodsStation').then((res) => { | ||
| 205 | + if (res) { | ||
| 206 | + const blob = new Blob([res]); | ||
| 207 | + const link = document.createElement("a"); //创建a标签 | ||
| 208 | + link.download = '货物品名模板.xlsx'; //a标签添加属性 | ||
| 209 | + link.style.display = "none"; | ||
| 210 | + link.href = URL.createObjectURL(blob); | ||
| 211 | + document.body.appendChild(link); | ||
| 212 | + link.click(); //执行下载 | ||
| 213 | + URL.revokeObjectURL(link.href); //释放url | ||
| 214 | + document.body.removeChild(link); //释放标签 | ||
| 215 | + } else { | ||
| 216 | + this.$message.error("下载失败"); | ||
| 217 | + } | ||
| 218 | + }) | ||
| 219 | + }, | ||
| 220 | + handleRemove(file, fileList) { | ||
| 221 | + //清掉上传的文件 | ||
| 222 | + this.errorData = []; | ||
| 223 | + this.fileList = []; | ||
| 224 | + }, | ||
| 225 | + handleExceed(files) { | ||
| 226 | + //重复上传文件 | ||
| 227 | + let file = {}; | ||
| 228 | + file.file = files[0]; | ||
| 229 | + file.name = files[0].name; | ||
| 230 | + this.fileList = []; | ||
| 231 | + this.fileList.push(file); | ||
| 232 | + this.uploadExcel(file); | ||
| 233 | + }, | ||
| 234 | + close() { | ||
| 235 | + this.open = false | ||
| 236 | + this.selection(1) | ||
| 237 | + }, | ||
| 238 | + resultClose() { | ||
| 239 | + this.resultOpen = false | ||
| 240 | + this.selection(1) | ||
| 241 | + } | ||
| 242 | + } | ||
| 243 | +} | ||
| 244 | + | ||
| 245 | +</script> | ||
| 246 | + | ||
| 247 | +<style lang="scss" scoped> | ||
| 248 | +.upload-demo { | ||
| 249 | + display: flex; | ||
| 250 | + | ||
| 251 | + .el-upload-list__item:first-child { | ||
| 252 | + margin-top: 5px !important; | ||
| 253 | + } | ||
| 254 | + | ||
| 255 | + .el-upload-list { | ||
| 256 | + display: inline-block; | ||
| 257 | + margin-left: 10px; | ||
| 258 | + } | ||
| 259 | +} | ||
| 260 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-dialog title="新 增" :visible.sync="dialogVisible" width="50%" top="1vh" :close-on-click-modal="false" | ||
| 4 | + :show-close="false" append-to-body center> | ||
| 5 | + <el-table ref="filterTable" class="mt20" :data="resultData" size="small" border> | ||
| 6 | + <el-table-column label="行号" prop="line" width="50" align="center"> | ||
| 7 | + </el-table-column> | ||
| 8 | + <el-table-column label="错误信息" prop="errorMessage" width="200"> | ||
| 9 | + <template slot-scope="scope"> | ||
| 10 | + <div v-for="(m, key) in scope.row.errorMessage" :key="key"> | ||
| 11 | + {{ m }} | ||
| 12 | + </div> | ||
| 13 | + </template> | ||
| 14 | + </el-table-column> | ||
| 15 | + <el-table-column v-if="resultData.length == 0"></el-table-column> | ||
| 16 | + <el-table-column v-for="(value, key) in this.resultData[0]" :key="key" | ||
| 17 | + v-if="key != 'errorMessage' && key != 'line'" header-align="center" align="center" :label="key" | ||
| 18 | + :prop="key"></el-table-column> | ||
| 19 | + </el-table> | ||
| 20 | + <div slot="footer" class="dialog-footer"> | ||
| 21 | + <el-button @click="close">取 消</el-button> | ||
| 22 | + </div> | ||
| 23 | + </el-dialog> | ||
| 24 | + </div> | ||
| 25 | +</template> | ||
| 26 | + | ||
| 27 | +<script> | ||
| 28 | + | ||
| 29 | +export default { | ||
| 30 | + name: 'UpDateResult', | ||
| 31 | + props: { | ||
| 32 | + dialogVisible: { | ||
| 33 | + type: Boolean, | ||
| 34 | + default: false | ||
| 35 | + }, | ||
| 36 | + resultData: { | ||
| 37 | + type: Array, | ||
| 38 | + default: null | ||
| 39 | + } | ||
| 40 | + }, | ||
| 41 | + data() { | ||
| 42 | + return { | ||
| 43 | + } | ||
| 44 | + }, | ||
| 45 | + wactch: { | ||
| 46 | + dialogVisible(val) { | ||
| 47 | + if (val) { | ||
| 48 | + } | ||
| 49 | + } | ||
| 50 | + }, | ||
| 51 | + methods: { | ||
| 52 | + close() { | ||
| 53 | + this.$emit('close') | ||
| 54 | + } | ||
| 55 | + } | ||
| 56 | +} | ||
| 57 | +</script> | ||
| 58 | + | ||
| 59 | +<style lang="scss" scoped> | ||
| 60 | + | ||
| 61 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-dialog title="新 增" :visible.sync="open" width="25%" :close-on-click-modal="false" :show-close="false" | ||
| 4 | + append-to-body center> | ||
| 5 | + <el-form class="form-header" :model="formData" size="small" ref="addForm" label-width="auto" | ||
| 6 | + label-position="left" style="margin-bottom:10px" :rules="rules" @submit.native.prevent> | ||
| 7 | + <el-form-item label="货站名称" prop="goodsStation"> | ||
| 8 | + <el-input type="text" v-model="formData.goodsStation" placeholder="请输入货站名称"></el-input> | ||
| 9 | + </el-form-item> | ||
| 10 | + <el-form-item label="航班" prop="flightList"> | ||
| 11 | + <el-input type="textarea" v-model="formData.flightList" rows="4" placeholder="请输入航班,多个用“;”隔开"> | ||
| 12 | + </el-input> | ||
| 13 | + </el-form-item> | ||
| 14 | + </el-form> | ||
| 15 | + <div slot="footer" class="dialog-footer"> | ||
| 16 | + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button> | ||
| 17 | + <el-button @click="close">取 消</el-button> | ||
| 18 | + </div> | ||
| 19 | + </el-dialog> | ||
| 20 | + </div> | ||
| 21 | +</template> | ||
| 22 | + | ||
| 23 | +<script> | ||
| 24 | +import { batchAddStationFlight } from '@/api/goodsStationFlight' | ||
| 25 | + | ||
| 26 | +export default { | ||
| 27 | + name: '', | ||
| 28 | + props: { | ||
| 29 | + open: { | ||
| 30 | + type: Boolean, | ||
| 31 | + default: false | ||
| 32 | + }, | ||
| 33 | + }, | ||
| 34 | + data() { | ||
| 35 | + return { | ||
| 36 | + formData: { | ||
| 37 | + goodsStation: null, | ||
| 38 | + flightList: null | ||
| 39 | + }, | ||
| 40 | + rules: { | ||
| 41 | + goodsStation: [ | ||
| 42 | + { | ||
| 43 | + required: true, | ||
| 44 | + message: "货站名称不能为空", | ||
| 45 | + trigger: "blur", | ||
| 46 | + }, | ||
| 47 | + ], | ||
| 48 | + flightList: [ | ||
| 49 | + { | ||
| 50 | + required: true, | ||
| 51 | + message: "航班号不能为空", | ||
| 52 | + trigger: "blur", | ||
| 53 | + }, | ||
| 54 | + ], | ||
| 55 | + }, | ||
| 56 | + loading: false, | ||
| 57 | + } | ||
| 58 | + }, | ||
| 59 | + watch: { | ||
| 60 | + }, | ||
| 61 | + methods: { | ||
| 62 | + //提交 | ||
| 63 | + submit() { | ||
| 64 | + let obj = {} | ||
| 65 | + obj.goodsStation = this.formData.goodsStation | ||
| 66 | + if (this.formData.flightList != null && this.formData.flightList != '') { | ||
| 67 | + obj.flightList = this.formData.flightList.split(';') | ||
| 68 | + } | ||
| 69 | + this.$refs['addForm'].validate(val => { | ||
| 70 | + if (val) { | ||
| 71 | + this.loading = true | ||
| 72 | + batchAddStationFlight(obj).then(res => { | ||
| 73 | + this.loading = false | ||
| 74 | + if (res.code === 200) { | ||
| 75 | + this.msgSuccess('添加成功!') | ||
| 76 | + this.close() | ||
| 77 | + } else { | ||
| 78 | + this.msgWarning(res.msg) | ||
| 79 | + } | ||
| 80 | + }).catch(err => { | ||
| 81 | + this.loading = false | ||
| 82 | + console.log(err) | ||
| 83 | + }) | ||
| 84 | + } | ||
| 85 | + }) | ||
| 86 | + }, | ||
| 87 | + //取消 | ||
| 88 | + close() { | ||
| 89 | + this.$refs["addForm"].clearValidate(); | ||
| 90 | + this.$emit('close') | ||
| 91 | + } | ||
| 92 | + } | ||
| 93 | +} | ||
| 94 | + | ||
| 95 | +</script> | ||
| 96 | + | ||
| 97 | +<style lang="scss" scoped> | ||
| 98 | + | ||
| 99 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-form class="form-header" ref="dictForm" label-width="auto" label-position="left" style="margin-bottom:10px" | ||
| 4 | + @submit.native.prevent size="small"> | ||
| 5 | + <el-row> | ||
| 6 | + <el-col :span="6"> | ||
| 7 | + <el-form-item label="货站名称"> | ||
| 8 | + <el-input v-model="selectionData.goodsStation" placeholder="请输入货站名称" maxlength="50" clearable /> | ||
| 9 | + </el-form-item> | ||
| 10 | + </el-col> | ||
| 11 | + </el-row> | ||
| 12 | + </el-form> | ||
| 13 | + <div style="display:flex;padding:10px 20px"> | ||
| 14 | + <el-button icon="el-icon-search" :loading="loading" type="primary" size="small" @click="selection(1)">查 询 | ||
| 15 | + </el-button> | ||
| 16 | + <el-button icon="el-icon-plus" type="primary" size="small" v-hasPermi="['system:goodsStationFlight:add']" | ||
| 17 | + @click="add">新 增 | ||
| 18 | + </el-button> | ||
| 19 | + <el-button icon="el-icon-delete" type="danger" size="small" style="margin:0 10px" | ||
| 20 | + :disabled="checkData.length == 0" v-hasPermi="['system:goodsStationFlight:delete']" @click="batchDel"> | ||
| 21 | + 删 除 | ||
| 22 | + </el-button> | ||
| 23 | + </div> | ||
| 24 | + <Tables ref="goodsStationFlight" ductName="goodsStationFlight" :data="tableData" :headerData="tableHeader" | ||
| 25 | + :selection="true" :order="true" :selectFixed="false" :totalCount="totalCount" :loading="loading" | ||
| 26 | + :limitSize="selectionData.size" :page="selectionData.page" layout="total,prev, pager, next, jumper, ->" | ||
| 27 | + :pageSizes="[100]" :height="tableHeight" @tableSelect="tableSelect" @tableSelectAll="tableSelectAll" | ||
| 28 | + @currentChange="currentChange"> | ||
| 29 | + <template slot="optionColumn"> | ||
| 30 | + <el-table-column label="操作" align="center"> | ||
| 31 | + <template slot-scope="scope"> | ||
| 32 | + <el-button size="mini" type="text" icon="el-icon-delete" style="color:#ff4949" | ||
| 33 | + v-hasPermi="['system:goodsStationFlight:delete']" @click="del(scope.row)">删除</el-button> | ||
| 34 | + </template> | ||
| 35 | + </el-table-column> | ||
| 36 | + </template> | ||
| 37 | + </Tables> | ||
| 38 | + <Dialog :open="open" @close="close" /> | ||
| 39 | + </div> | ||
| 40 | +</template> | ||
| 41 | + | ||
| 42 | +<script> | ||
| 43 | +import { searchStationFlight, batchDeleteGoods } from '@/api/goodsStationFlight' | ||
| 44 | +import Dialog from './dialog.vue' | ||
| 45 | + | ||
| 46 | +export default { | ||
| 47 | + name: 'GoodsStationFlight', | ||
| 48 | + components: { | ||
| 49 | + Dialog | ||
| 50 | + }, | ||
| 51 | + data() { | ||
| 52 | + return { | ||
| 53 | + selectionData: { | ||
| 54 | + size: 20, | ||
| 55 | + page: 1 | ||
| 56 | + }, | ||
| 57 | + tableData: [], | ||
| 58 | + tableHeader: this.tableHeaders['goodsStationFlight'], | ||
| 59 | + checkData: [], | ||
| 60 | + tableHeight: null, | ||
| 61 | + totalCount: 0, | ||
| 62 | + loading: false, | ||
| 63 | + open: false, | ||
| 64 | + } | ||
| 65 | + }, | ||
| 66 | + created() { | ||
| 67 | + }, | ||
| 68 | + mounted() { | ||
| 69 | + this.tableHeight = window.innerHeight - this.$refs.goodsStationFlight.$el.offsetHeight - 200 | ||
| 70 | + this.selection(1) | ||
| 71 | + }, | ||
| 72 | + watch: { | ||
| 73 | + $route(to, from) { | ||
| 74 | + if (to.name == 'GoodsStationFlight') { | ||
| 75 | + this.selection() | ||
| 76 | + } | ||
| 77 | + } | ||
| 78 | + }, | ||
| 79 | + methods: { | ||
| 80 | + //查询 | ||
| 81 | + selection(val) { | ||
| 82 | + this.tableData = [] | ||
| 83 | + this.checkData = [] | ||
| 84 | + this.loading = true | ||
| 85 | + if (val == 1) { | ||
| 86 | + this.selectionData.page = 1 | ||
| 87 | + } | ||
| 88 | + searchStationFlight(this.selectionData).then(res => { | ||
| 89 | + this.loading = false | ||
| 90 | + if (res.code === 200) { | ||
| 91 | + this.tableData = res.data.list | ||
| 92 | + this.totalCount = res.data.total | ||
| 93 | + } else { | ||
| 94 | + this.msgWarning(res.msg) | ||
| 95 | + } | ||
| 96 | + }).catch(err => { | ||
| 97 | + his.loading = false | ||
| 98 | + console.log(err) | ||
| 99 | + }) | ||
| 100 | + }, | ||
| 101 | + add() { | ||
| 102 | + this.open = true | ||
| 103 | + }, | ||
| 104 | + //删除 | ||
| 105 | + del(val) { | ||
| 106 | + this.$confirm("是否要删除这条记录!", "注意!", { | ||
| 107 | + confirmButtonText: "确定", | ||
| 108 | + cancelButtonText: '取消', | ||
| 109 | + type: "warning", | ||
| 110 | + }).then(() => { | ||
| 111 | + this.deleteGoods([val.id]) | ||
| 112 | + }).catch(() => { }) | ||
| 113 | + }, | ||
| 114 | + //批量删除 | ||
| 115 | + batchDel() { | ||
| 116 | + let arr = [] | ||
| 117 | + this.checkData.forEach(item => { | ||
| 118 | + arr.push(item.id) | ||
| 119 | + }) | ||
| 120 | + this.$confirm("是否要删除这些记录!", "注意!", { | ||
| 121 | + confirmButtonText: "确定", | ||
| 122 | + cancelButtonText: '取消', | ||
| 123 | + type: "warning", | ||
| 124 | + }).then(() => { | ||
| 125 | + this.deleteGoods(arr) | ||
| 126 | + }).catch(() => { | ||
| 127 | + | ||
| 128 | + }) | ||
| 129 | + }, | ||
| 130 | + //删除请求 | ||
| 131 | + deleteGoods(val) { | ||
| 132 | + batchDeleteGoods(val).then(res => { | ||
| 133 | + if (res.code === 200) { | ||
| 134 | + this.msgSuccess('操作成功!') | ||
| 135 | + this.selection(1) | ||
| 136 | + } else { | ||
| 137 | + this.msgWarning(res.msg) | ||
| 138 | + } | ||
| 139 | + }).catch(err => { | ||
| 140 | + console.log(err) | ||
| 141 | + }) | ||
| 142 | + }, | ||
| 143 | + //复选 | ||
| 144 | + tableSelect(val) { | ||
| 145 | + this.checkData = val.selection | ||
| 146 | + }, | ||
| 147 | + //全选 | ||
| 148 | + tableSelectAll(val) { | ||
| 149 | + this.checkData = val | ||
| 150 | + }, | ||
| 151 | + //分页 | ||
| 152 | + currentChange(val) { | ||
| 153 | + this.selectionData.page = val.page | ||
| 154 | + this.selection() | ||
| 155 | + }, | ||
| 156 | + close() { | ||
| 157 | + this.open = false | ||
| 158 | + this.selection(1) | ||
| 159 | + } | ||
| 160 | + } | ||
| 161 | +} | ||
| 162 | + | ||
| 163 | +</script> | ||
| 164 | + | ||
| 165 | +<style lang="scss" scoped> | ||
| 166 | + | ||
| 167 | +</style> |
| ... | @@ -69,7 +69,7 @@ | ... | @@ -69,7 +69,7 @@ |
| 69 | </template> | 69 | </template> |
| 70 | <template v-slot:flightFltNo="scope"> | 70 | <template v-slot:flightFltNo="scope"> |
| 71 | <el-link v-if="scope.row.allocDimId" type="primary" | 71 | <el-link v-if="scope.row.allocDimId" type="primary" |
| 72 | - @click="$router.push({ name: 'FlightAllocConfigInfo', params: { handle: 'DMdetail', id: scope.row.allocDimId } })"> | 72 | + @click="$router.push({ name: 'FlightAllocConfigInfo', params: { id: scope.row.allocDimId, handle: 'detail', fltNo: scope.row.flightFltNo, fltDate: scope.row.flightFltDate ? scope.row.flightFltDate : ' ', routeStatus: 'dmLog', route: scope.row.currentFlightRoute } })"> |
| 73 | {{ | 73 | {{ |
| 74 | scope.row.flightFltNo | 74 | scope.row.flightFltNo |
| 75 | }}<i class="el-icon-link"></i> </el-link> | 75 | }}<i class="el-icon-link"></i> </el-link> |
| ... | @@ -153,7 +153,7 @@ export default { | ... | @@ -153,7 +153,7 @@ export default { |
| 153 | getDmFlowInformation('accsId=' + val.dmAccsId).then(res => { | 153 | getDmFlowInformation('accsId=' + val.dmAccsId).then(res => { |
| 154 | if (res.code === 200) { | 154 | if (res.code === 200) { |
| 155 | if (res.data.list.length > 0) { | 155 | if (res.data.list.length > 0) { |
| 156 | - this.$router.push({ name: 'weatherTable', params: { data: res.data.list } }) | 156 | + this.$router.push({ name: 'weatherTable', params: { data: res.data.list, awbNbr: val.awbNbr } }) |
| 157 | } else { | 157 | } else { |
| 158 | this.msgWarning('未查询到该条数据的流水') | 158 | this.msgWarning('未查询到该条数据的流水') |
| 159 | } | 159 | } | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div style="padding:10px"> | 2 | <div style="padding:10px"> |
| 3 | + <el-button class="ml20 mb20" size="small" icon="el-icon-back" @click="close">返 回</el-button> | ||
| 3 | <el-card header="流水信息"> | 4 | <el-card header="流水信息"> |
| 4 | - <Tables ref="weatherTable" ductName="weatherTable" :order="true" :data="data" :headerData="tableHeader" | 5 | + <Tables ref="weatherTable" ductName="weatherTable" :order="true" :border="false" :data="data" |
| 5 | - :showOverflowTooltip="false" :height="tableHeight" :page="selectData.page" :limitSize="selectData.size" | 6 | + :headerData="tableHeader" :showOverflowTooltip="false" :height="tableHeight" :page="selectData.page" |
| 6 | - :pageSizes="[100]" :pagination="false" :loading="loading" @currentChange="currentChange"> | 7 | + :limitSize="selectData.size" :pageSizes="[100]" :pagination="false" :loading="loading" |
| 8 | + @currentChange="currentChange"> | ||
| 7 | </Tables> | 9 | </Tables> |
| 8 | - <div class="ml20 mt20"> | ||
| 9 | - <el-button size="small" @click="close">返 回</el-button> | ||
| 10 | - </div> | ||
| 11 | </el-card> | 10 | </el-card> |
| 12 | </div> | 11 | </div> |
| 13 | </template> | 12 | </template> |
| ... | @@ -70,7 +69,6 @@ export default { | ... | @@ -70,7 +69,6 @@ export default { |
| 70 | (item) => item.path === this.$route.path | 69 | (item) => item.path === this.$route.path |
| 71 | ), | 70 | ), |
| 72 | ); | 71 | ); |
| 73 | - sessionStorage.removeItem('accsid') | ||
| 74 | this.$router.push({ name: 'DmLog' }) | 72 | this.$router.push({ name: 'DmLog' }) |
| 75 | }, | 73 | }, |
| 76 | //翻页 | 74 | //翻页 |
| ... | @@ -80,4 +78,5 @@ export default { | ... | @@ -80,4 +78,5 @@ export default { |
| 80 | </script> | 78 | </script> |
| 81 | 79 | ||
| 82 | <style> | 80 | <style> |
| 81 | + | ||
| 83 | </style> | 82 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
-
Please register or login to post a comment