jinhui.wang

ver:1.7,新维度页面增加,增加货站 品名 航班页面,货物查询手动配舱增加航线,首页增加航线。。

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
......
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
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,9 +36,9 @@ export default { ...@@ -35,9 +36,9 @@ 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
42 this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false) 43 this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
43 }, 44 },
...@@ -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' }
......
...@@ -58,5 +58,5 @@ module.exports = { ...@@ -58,5 +58,5 @@ module.exports = {
58 /** 58 /**
59 * 版本号 59 * 版本号
60 */ 60 */
61 - version: 'version:1.6.0' 61 + version: 'version:1.7.0'
62 } 62 }
......
...@@ -178,12 +178,12 @@ ...@@ -178,12 +178,12 @@
178 <el-button :type="downLoadingTip.downloading ? 'warning' : 'primary'" size="mini" 178 <el-button :type="downLoadingTip.downloading ? 'warning' : 'primary'" size="mini"
179 v-hasPermi="['allocation:cargo:export']" @click="xlsx(0)" :loading="downLoadingTip.downloading" 179 v-hasPermi="['allocation:cargo:export']" @click="xlsx(0)" :loading="downLoadingTip.downloading"
180 :disabled="tableData.length <= 0">{{ 180 :disabled="tableData.length <= 0">{{
181 - downLoadingTip.downloading ? downLoadingTip.tip : "导出本页查询结果" 181 + downLoadingTip.downloading ? downLoadingTip.tip : "导出本页查询结果"
182 }}</el-button> 182 }}</el-button>
183 <el-button :type="downLoadingTip.downloading ? 'warning' : 'primary'" size="mini" 183 <el-button :type="downLoadingTip.downloading ? 'warning' : 'primary'" size="mini"
184 v-hasPermi="['allocation:cargo:export']" @click="xlsx(1)" :loading="downLoadingTip.downloading" 184 v-hasPermi="['allocation:cargo:export']" @click="xlsx(1)" :loading="downLoadingTip.downloading"
185 :disabled="tableData.length <= 0">{{ 185 :disabled="tableData.length <= 0">{{
186 - downLoadingTip.downloading ? downLoadingTip.tip : "导出全部查询结果" 186 + downLoadingTip.downloading ? downLoadingTip.tip : "导出全部查询结果"
187 }}</el-button> 187 }}</el-button>
188 <el-button type="primary" size="mini" v-hasPermi="['allocation:cargo:allocation']" @click="addFit" 188 <el-button type="primary" size="mini" v-hasPermi="['allocation:cargo:allocation']" @click="addFit"
189 :disabled="tableSelection.length <= 0">添加到航班</el-button> 189 :disabled="tableSelection.length <= 0">添加到航班</el-button>
......
...@@ -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,23 +200,32 @@ export default { ...@@ -200,23 +200,32 @@ export default {
200 }, 200 },
201 //日期选择变化 201 //日期选择变化
202 dateChange(val) { 202 dateChange(val) {
203 - let obj = { 203 + this.routeList = []
204 - fltNo: this.formData.fltNo, 204 + if (this.formData.fltNo && this.formData.fltNo != null && this.formData.fltNo != '') {
205 - fltDate: val 205 + if (this.formData.fltDate && this.formData.fltDate != null && this.formData.fltDate != '') {
206 - } 206 + let obj = {
207 - findFlightRoute(obj).then(res => { 207 + fltNo: this.formData.fltNo,
208 - if (res.code === 200) { 208 + fltDate: this.formData.fltDate,
209 - res.data[0].route.indexOf(';') <= 0 ? 209 + }
210 - this.routeList = res.data : 210 + findFlightRoute(obj).then(res => {
211 - res.data[0].route.split(';').forEach(item => { 211 + if (res.code === 200) {
212 - this.routeList.push({ id: res.data[0].id, route: item }) 212 + res.data[0].route.indexOf(';') <= 0 ?
213 - }) 213 + this.routeList = res.data :
214 + res.data[0].route.split(';').forEach(item => {
215 + this.routeList.push({ id: res.data[0].id, route: item })
216 + })
217 + } else {
218 + this.msgWarning(res.msg)
219 + }
220 + }).catch(err => {
221 + console.log(err)
222 + })
214 } else { 223 } else {
215 - this.msgWarning(res.msg) 224 + this.msgWarning('航班日期不能为空')
216 } 225 }
217 - }).catch(err => { 226 + } else {
218 - console.log(err) 227 + this.msgWarning('航班号不能为空')
219 - }) 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) {
......
...@@ -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>
...@@ -137,11 +155,11 @@ ...@@ -137,11 +155,11 @@
137 </el-button> 155 </el-button>
138 <el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'" 156 <el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'"
139 size="small" @click="xlse(0)" :disabled="tableData.length == 0" :loading="downLoadingTip.downloading">{{ 157 size="small" @click="xlse(0)" :disabled="tableData.length == 0" :loading="downLoadingTip.downloading">{{
140 - downLoadingTip.downloading ? downLoadingTip.tip : "导出本页查询结果" 158 + downLoadingTip.downloading ? downLoadingTip.tip : "导出本页查询结果"
141 }}</el-button> 159 }}</el-button>
142 <el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'" 160 <el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'"
143 size="small" @click="xlse(1)" :disabled="tableData.length == 0" :loading="downLoadingTip.downloading">{{ 161 size="small" @click="xlse(1)" :disabled="tableData.length == 0" :loading="downLoadingTip.downloading">{{
144 - downLoadingTip.downloading ? downLoadingTip.tip : "导出全部查询结果" 162 + downLoadingTip.downloading ? downLoadingTip.tip : "导出全部查询结果"
145 }}</el-button> 163 }}</el-button>
146 <el-button type="primary" size="small" :disabled="selectTable.length == 0" v-hasPermi="['base:cargo:release']" 164 <el-button type="primary" size="small" :disabled="selectTable.length == 0" v-hasPermi="['base:cargo:release']"
147 @click="release">释放舱位</el-button> 165 @click="release">释放舱位</el-button>
...@@ -170,7 +188,7 @@ ...@@ -170,7 +188,7 @@
170 <template v-slot:waybillNo="scope"> 188 <template v-slot:waybillNo="scope">
171 <el-link type="primary" @click="logView(scope.row)"> 189 <el-link type="primary" @click="logView(scope.row)">
172 {{ 190 {{
173 - scope.row.waybillNo 191 + scope.row.waybillNo
174 }}<i class="el-icon-link"></i> </el-link> 192 }}<i class="el-icon-link"></i> </el-link>
175 </template> 193 </template>
176 </Tables> 194 </Tables>
...@@ -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,20 +486,22 @@ export default { ...@@ -462,20 +486,22 @@ export default {
462 } 486 }
463 findCargoData(this.formData) 487 findCargoData(this.formData)
464 .then((res) => { 488 .then((res) => {
465 - if (res.code == 200) { 489 + setTimeout(() => {
466 - this.tableData = res.data.list; 490 + if (res.code == 200) {
467 - this.totalCount = res.data.totalCount; 491 + this.tableData = res.data.list;
468 - if (res.data.list.length > 0) { 492 + this.totalCount = res.data.totalCount;
469 - for (let i = 0; i < this.tableData.length; i++) { 493 + if (res.data.list.length > 0) {
470 - this.tableData[i].index = i; 494 + for (let i = 0; i < this.tableData.length; i++) {
495 + this.tableData[i].index = i;
496 + }
497 + } else {
498 + this.msgWarning('未查询到数据')
471 } 499 }
472 } else { 500 } else {
473 - this.msgWarning('未查询到数据') 501 + this.msgWarning(res.msg)
474 } 502 }
475 - } else { 503 + this.tableLoading = false;
476 - this.msgWarning(res.msg) 504 + })
477 - }
478 - this.tableLoading = false;
479 }) 505 })
480 .catch(() => { 506 .catch(() => {
481 this.tableLoading = false; 507 this.tableLoading = false;
...@@ -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>
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
4 <!-- cardHeader --> 4 <!-- cardHeader -->
5 <div slot="header" class="clearfix"> 5 <div slot="header" class="clearfix">
6 <span style="font-size:16px;font-weight:700">{{ (tableName == '航线' ? '航线' : tableName == 'Site' ? '站点' : 6 <span style="font-size:16px;font-weight:700">{{ (tableName == '航线' ? '航线' : tableName == 'Site' ? '站点' :
7 - tableName == 7 + tableName ==
8 - '虚拟航班' ? '虚拟航班' : tableName.replace(/( |^)[a-z]/g, L => L.toUpperCase())) + "表" 8 + '虚拟航班' ? '虚拟航班' : tableName.replace(/( |^)[a-z]/g, L => L.toUpperCase())) + "表"
9 }}</span> 9 }}</span>
10 <div style="float: right; padding: 3px 0"> 10 <div style="float: right; padding: 3px 0">
11 <span class="selectLabel mr10">切换字典表</span> 11 <span class="selectLabel mr10">切换字典表</span>
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
96 <template v-slot:fltNo="scope"> 96 <template v-slot:fltNo="scope">
97 <el-link type="primary" @click="addDic({ data: scope.row, status: 'sort' })"> 97 <el-link type="primary" @click="addDic({ data: scope.row, status: 'sort' })">
98 {{ 98 {{
99 - scope.row.fltNo 99 + scope.row.fltNo
100 }}<i class="el-icon-link"></i> </el-link> 100 }}<i class="el-icon-link"></i> </el-link>
101 </template> 101 </template>
102 <template slot="optionColumn"> 102 <template slot="optionColumn">
......
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>
...@@ -64,14 +64,14 @@ ...@@ -64,14 +64,14 @@
64 <template v-slot:awbNbr="scope"> 64 <template v-slot:awbNbr="scope">
65 <el-link type="primary" @click="gotoWeatherTable(scope.row)"> 65 <el-link type="primary" @click="gotoWeatherTable(scope.row)">
66 {{ 66 {{
67 - scope.row.awbNbr 67 + scope.row.awbNbr
68 }}<i class="el-icon-link"></i> </el-link> 68 }}<i class="el-icon-link"></i> </el-link>
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>
76 <span v-else>{{ scope.row.flightFltNo }}</span> 76 <span v-else>{{ scope.row.flightFltNo }}</span>
77 </template> 77 </template>
...@@ -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
......