jinhui.wang

ver:1.5.0,新增航班预审、数据字典虚拟航班页面,增加自定义表头,文本修正,样式修正

Showing 44 changed files with 3482 additions and 1836 deletions
1 -{
2 - "name": "IMAC",
3 - "version": "3.5.0",
4 - "description": "IMAC管理系统",
5 - "author": "IMAC",
6 - "license": "MIT",
7 - "scripts": {
8 - "dev": "vue-cli-service serve",
9 - "build:prod": "vue-cli-service build",
10 - "build:stage": "vue-cli-service build --mode staging",
11 - "preview": "node build/index.js --preview",
12 - "lint": "eslint --ext .js,.vue src"
13 - },
14 - "husky": {
15 - "hooks": {
16 - "pre-commit": "lint-staged"
17 - }
18 - },
19 - "lint-staged": {
20 - "src/**/*.{js,vue}": [
21 - "eslint --fix",
22 - "git add"
23 - ]
24 - },
25 - "keywords": [
26 - "vue",
27 - "admin",
28 - "dashboard",
29 - "element-ui",
30 - "boilerplate",
31 - "admin-template",
32 - "management-system"
33 - ],
34 - "repository": {
35 - "type": "git",
36 - "url": "https://gitee.com/y_project/RuoYi-Vue.git"
37 - },
38 - "dependencies": {
39 - "@riophae/vue-treeselect": "0.4.0",
40 - "axios": "0.21.1",
41 - "clipboard": "2.0.8",
42 - "core-js": "3.8.3",
43 - "echarts": "4.9.0",
44 - "element-ui": "2.15.3",
45 - "file-saver": "2.0.5",
46 - "fuse.js": "6.4.6",
47 - "highlight.js": "9.18.5",
48 - "js-beautify": "1.13.13",
49 - "js-cookie": "2.2.1",
50 - "jsencrypt": "3.0.3",
51 - "nprogress": "0.2.0",
52 - "quill": "1.3.7",
53 - "screenfull": "5.0.2",
54 - "sortablejs": "1.10.2",
55 - "vue": "2.6.14",
56 - "vue-count-to": "1.0.13",
57 - "vue-cropper": "0.5.6",
58 - "vue-router": "3.5.2",
59 - "vuedraggable": "2.24.3",
60 - "vuex": "3.6.2"
61 - },
62 - "devDependencies": {
63 - "@vue/cli-plugin-babel": "4.5.13",
64 - "@vue/cli-plugin-eslint": "4.5.13",
65 - "@vue/cli-service": "4.5.13",
66 - "babel-eslint": "10.1.0",
67 - "chalk": "4.1.1",
68 - "connect": "3.6.6",
69 - "eslint": "7.30.0",
70 - "eslint-plugin-vue": "7.12.1",
71 - "lint-staged": "10.5.4",
72 - "runjs": "4.4.2",
73 - "sass": "1.35.1",
74 - "sass-loader": "10.2.0",
75 - "script-ext-html-webpack-plugin": "2.1.5",
76 - "svg-sprite-loader": "5.2.1",
77 - "vue-template-compiler": "2.6.14"
78 - },
79 - "engines": {
80 - "node": ">=8.9",
81 - "npm": ">= 3.0.0"
82 - },
83 - "browserslist": [
84 - "> 1%",
85 - "last 2 versions"
86 - ]
87 -}
...@@ -7,3 +7,11 @@ export const getRouters = () => { ...@@ -7,3 +7,11 @@ export const getRouters = () => {
7 method: 'post' 7 method: 'post'
8 }) 8 })
9 } 9 }
10 +
11 +// 获取tableHeader
12 +export const getTableHeader = () => {
13 + return request({
14 + url: '/table/getTableHeader',
15 + method: 'get'
16 + })
17 +}
...\ No newline at end of file ...\ No newline at end of file
......
1 +import request from '@/utils/request'
2 +//数据字典名称
3 +/**
4 + * @param
5 + */
6 +export function getDictNameList() {
7 + return request({
8 + url: '/dictionary/queryMain',
9 + method: 'get',
10 + })
11 +}
12 +
13 +//字典表查询
14 +/**
15 + * @param dictCode 字典名 *
16 + * @param chineseName 数据名称
17 + * @param page 页数 null
18 + * @param size 每页长度 null
19 + */
20 +export function getDictionaryList(data) {
21 + return request({
22 + url: '/dictionary/query',
23 + method: 'post',
24 + data: data
25 + })
26 +}
27 +
28 +//serviceCode字典表查询
29 +/**
30 + * @param
31 + */
32 +export function getServiceCodeList() {
33 + return request({
34 + url: '/dictionary/queryServiceCode',
35 + method: 'get',
36 + })
37 +}
38 +
39 +//新增字典(单条)
40 +/**
41 + * @param chineseName 字典名称 *
42 + * @param description 描述
43 + * @param dictCode 字典表名称 *
44 + */
45 +export function addDict(data) {
46 + return request({
47 + url: '/dictionary/addDict',
48 + method: 'POST',
49 + data: data
50 + })
51 +}
52 +
53 +//新增字典(批量)
54 +/**
55 + * @param nameList 字典名称 * list
56 + * @param dictCode 字典表名称 *
57 + */
58 +export function addDictBatch(data) {
59 + return request({
60 + url: '/dictionary/addDictBatch',
61 + method: 'POST',
62 + data: data
63 + })
64 +}
65 +
66 +//serviceCode子字典添加
67 +/**
68 + * @param array [{}]
69 + * @param serviceCodeKey serviceCode父级key *
70 + * @param serviceCodeValue 字典名称 *
71 + */
72 +export function addServiceCodeBatch(data) {
73 + return request({
74 + url: '/dictionary/addServiceCodeBatch',
75 + method: 'POST',
76 + data: data
77 + })
78 +}
79 +
80 +//serviceCode子字典删除
81 +/**
82 + * @param array []
83 + * @param serviceCodeValue 字典名称 *
84 + */
85 +export function delServiceCodeCihild(data) {
86 + return request({
87 + url: '/dictionary/delServiceCodeCihild',
88 + method: 'POST',
89 + data: data
90 + })
91 +}
92 +
93 +//字典删除
94 +/**
95 + * @param array []
96 + * @param id 字典ID *
97 + */
98 +export function delDict(data) {
99 + return request({
100 + url: '/dictionary/delDict',
101 + method: 'POST',
102 + data: data
103 + })
104 +}
105 +
106 +//虚拟航班查询
107 +/**
108 + * @param flightNo 航班名称
109 + * @param page 页数 null *
110 + * @param size 每页长度 null *
111 + */
112 +export function flightType(data) {
113 + return request({
114 + url: '/dictionary/flightType',
115 + method: 'post',
116 + data: data
117 + })
118 +}
119 +
120 +//虚拟航班新增
121 +/**
122 + * @param flightNo 航班名称 list *
123 + */
124 +export function addFlight(data) {
125 + return request({
126 + url: '/dictionary/addFlight',
127 + method: 'post',
128 + data: data
129 + })
130 +}
131 +
132 +//虚拟航班新增
133 +/**
134 + * @param flightNo 航班名称 list *
135 + */
136 +export function delFlight(data) {
137 + return request({
138 + url: '/dictionary/delFlight',
139 + method: 'post',
140 + data: data
141 + })
142 +}
...\ No newline at end of file ...\ No newline at end of file
...@@ -17,3 +17,14 @@ export function getDmDataList(data) { ...@@ -17,3 +17,14 @@ export function getDmDataList(data) {
17 data: data 17 data: data
18 }) 18 })
19 } 19 }
20 +
21 +// 流水查询
22 +/**
23 + * @param accsId accsid *
24 + */
25 +export function getDmFlowInformation(data) {
26 + return request({
27 + url: '/dmDataLog/getDmFlowInformation?' + data,
28 + method: 'post',
29 + })
30 +}
......
1 +import request from '@/utils/request'
2 +
3 +//预审航班查询
4 +/**
5 + * @param fltNo 航班号
6 + * @param suatus 状态
7 + * @param page 页数
8 + * @param size 每页条数
9 + */
10 +export function getpreAudit(data) {
11 + return request({
12 + url: '/preAudit/query',
13 + method: 'post',
14 + data: data
15 + })
16 +}
17 +
18 +//添加预审航班
19 +/**
20 + * @param 航班号 *
21 + */
22 +export function addPreFlight(data) {
23 + return request({
24 + url: '/preAudit/addFlight',
25 + method: 'post',
26 + data: data
27 + })
28 +}
29 +
30 +//添加预审航班
31 +/**
32 + * @param id 航班id *
33 + * @param status 状态 * 0关闭 1开启 2删除
34 + */
35 +export function updatePreStatus(data) {
36 + return request({
37 + url: '/preAudit/updateStatus',
38 + method: 'post',
39 + data: data
40 + })
41 +}
42 +
1 import request from '@/utils/request' 1 import request from '@/utils/request'
2 import { praseStrEmpty } from "@/utils/FedEx"; 2 import { praseStrEmpty } from "@/utils/FedEx";
3 3
4 -// // 修改用户
5 -// export function updateUser(data) {
6 -// return request({
7 -// url: '/system/user',
8 -// method: 'put',
9 -// data: data
10 -// })
11 -// }
12 -
13 -// // 导出用户
14 -// export function exportUser(query) {
15 -// return request({
16 -// url: '/system/user/export',
17 -// method: 'get',
18 -// params: query
19 -// })
20 -// }
21 -
22 -// // 用户密码重置
23 -// export function resetUserPwd(userId, password) {
24 -// const data = {
25 -// userId,
26 -// password
27 -// }
28 -// return request({
29 -// url: '/system/user/resetPwd',
30 -// method: 'put',
31 -// data: data
32 -// })
33 -// }
34 -
35 -// // 用户状态修改
36 -// export function changeUserStatus(userId, status) {
37 -// const data = {
38 -// userId,
39 -// status
40 -// }
41 -// return request({
42 -// url: '/system/user/changeStatus',
43 -// method: 'put',
44 -// data: data
45 -// })
46 -// }
47 -
48 -// // 查询用户个人信息
49 -// export function getUserProfile() {
50 -// return request({
51 -// url: '/system/user/profile',
52 -// method: 'get'
53 -// })
54 -// }
55 -
56 -// // 修改用户个人信息
57 -// export function updateUserProfile(data) {
58 -// return request({
59 -// url: '/system/user/profile',
60 -// method: 'put',
61 -// data: data
62 -// })
63 -// }
64 -
65 -// // 用户密码重置
66 -// export function updateUserPwd(oldPassword, newPassword) {
67 -// const data = {
68 -// oldPassword,
69 -// newPassword
70 -// }
71 -// return request({
72 -// url: '/system/user/profile/updatePwd',
73 -// method: 'put',
74 -// params: data
75 -// })
76 -// }
77 -
78 -// // 用户头像上传
79 -// export function uploadAvatar(data) {
80 -// return request({
81 -// url: '/system/user/profile/avatar',
82 -// method: 'post',
83 -// data: data
84 -// })
85 -// }
86 -
87 -// // 下载用户导入模板
88 -// export function importTemplate() {
89 -// return request({
90 -// url: '/system/user/importTemplate',
91 -// method: 'get'
92 -// })
93 -// }
94 -
95 // 查询用户列表 4 // 查询用户列表
96 /** 5 /**
97 * @param page 页码 * 6 * @param page 页码 *
...@@ -259,3 +168,27 @@ export function changeCurrentPort(data) { ...@@ -259,3 +168,27 @@ export function changeCurrentPort(data) {
259 data: data 168 data: data
260 }) 169 })
261 } 170 }
171 +
172 +//获取用户设置表头
173 +/**
174 + * @param tableName 表名 *
175 + */
176 +export function getHeaderOrder(data) {
177 + return request({
178 + url: '/table/getHeaderOrder?' + data,
179 + method: 'get',
180 + })
181 +}
182 +
183 +//保存用户设置表头
184 +/**
185 + * @param tableName 表名 *
186 + * @param idList 显示表头集合 *
187 + */
188 +export function saveTableHeader(data) {
189 + return request({
190 + url: '/table/saveTableHeader',
191 + method: 'post',
192 + data: data
193 + })
194 +}
...\ No newline at end of file ...\ No newline at end of file
......
1 +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1650528704724" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2035" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
2 +</style></defs><path d="M396.00128 892.68224c-130.6624-16.62976-247.6032-63.52896-247.6032-122.38336V692.8384c51.48672 38.62528 131.8912 66.23232 225.64864 79.33952 0.4096-20.84864 2.8672-41.21088 7.24992-60.87168-124.60032-18.14528-232.89856-63.7696-232.89856-120.34048v-77.45536c61.80864 46.36672 165.0688 77.08672 283.4432 85.44256a310.12864 310.12864 0 0 1 54.84544-58.61376c-161.792-2.176-338.28864-56.44288-338.28864-128.77824V354.05824C221.30688 408.69888 351.55968 442.04032 496.64 442.04032c145.03936 0 275.328-33.30048 348.24192-87.98208v57.50784c0 28.22144-27.02848 53.69856-69.4272 74.42432a307.38944 307.38944 0 0 1 65.29024 30.22848c1.26976-0.94208 2.8672-1.76128 4.1728-2.70336v5.24288a307.26144 307.26144 0 0 1 60.87168 50.5856V252.1088c0-108.25728-175.88224-189.89056-409.10848-189.89056s-409.1904 81.63328-409.1904 189.89056v518.18496c0 98.01728 144.26112 173.95712 344.55552 187.51488a306.62144 306.62144 0 0 1-36.0448-65.1264zM496.64 123.12576c164.40832 0 348.24192 55.17312 348.24192 128.98304S661.04832 381.09184 496.64 381.09184c-164.37248 0-348.20096-55.17312-348.20096-128.98304S332.26752 123.12576 496.64 123.12576z" p-id="2036"></path><path d="M731.4176 907.264l-95.0272-72.25344h-11.1872c-5.57056 0-5.57056 5.61152-5.57056 11.10016v38.87104c-39.15264-22.20032-67.09248-61.07136-72.65792-105.50784 0-11.10016-16.7936-22.24128-27.97568-22.24128-11.18208 0-22.36416 16.74752-22.36416 27.84768 5.61152 44.4416 27.97568 83.30752 55.9104 111.08352 22.36416 16.62976 44.72832 33.30048 67.09248 44.4416v44.44672c0 5.5296 0 5.5296 5.57056 5.5296 5.61664 5.61152 5.61664 5.61152 11.1872 5.61152l95.0272-72.25344s5.61664-5.5296 5.61664-11.10016c-0.00512-0.04608-0.00512-5.57568-5.62176-5.57568z m162.16064-183.25504l39.12192-22.24128c5.61152 0 5.61152-5.57056 5.61152-11.10016s0-5.5296-5.61152-11.10016l-111.8208-44.40064h-11.14112c-5.57056 0-5.57056 5.52448-5.57056 5.52448l-5.61664 122.22464c0 5.5296 0 5.5296 5.61664 5.5296h11.14112l33.54624-22.20032c0 44.4416-16.7936 88.84224-55.9104 116.65408-11.1872 11.10016-11.1872 22.20032-5.61664 33.30048 11.1872 11.10016 22.36928 11.10016 33.5104 0 55.95136-33.37728 83.97312-105.5488 72.73984-172.19072z m-234.7776-72.25344c0-5.5296 0-5.5296-5.61152-11.10016l-33.55136-16.62976c39.15776-22.20032 83.8912-27.77088 128.61952-11.10016 11.14112 5.61664 27.9296 0 33.50016-16.62976 5.61664-11.10016 0-27.77088-16.74752-33.30048-61.48096-22.20032-139.8016-5.57056-190.09536 33.30048l-44.72832-22.24128h-11.18208c0 5.61152-5.57056 5.61152 0 11.10016l11.18208 116.65408s0 5.57056 5.61664 5.57056h11.18208l111.8208-50.01216v-5.61152h-0.00512z" p-id="2037"></path></svg>
...\ No newline at end of file ...\ No newline at end of file
...@@ -7,16 +7,6 @@ let ductLabels = { ...@@ -7,16 +7,6 @@ let ductLabels = {
7 "releasing": { 7 "releasing": {
8 "1": "正在释放" 8 "1": "正在释放"
9 }, 9 },
10 - "cargoAllocationDataStatus": {
11 - "已推送": "已推送",
12 - "不推送": "不推送",
13 - "已配": " ",
14 - "待推送": "待推送",
15 - "手动配舱": ' ',
16 - "已释放": ' ',
17 - "原航班配舱": ' ',
18 - "顺位配舱": ' ',
19 - },
20 }, 10 },
21 "menu": {//菜单设置 11 "menu": {//菜单设置
22 "menuType": { 12 "menuType": {
...@@ -59,16 +49,78 @@ let ductLabels = { ...@@ -59,16 +49,78 @@ let ductLabels = {
59 "2": "否", 49 "2": "否",
60 }, 50 },
61 }, 51 },
52 + "flightRand": {//航班顺位设置
53 + "status": {
54 + "0": "执行中",
55 + "1": "有效",
56 + "3": "停用"
57 + }
58 + },
59 + "FlightAlloc": {//航班配舱设置
60 + "status": {
61 + "0": "无效",
62 + "1": "有效",
63 + "2": "配置中",
64 + "3": "停用"
65 + }
66 + },
62 "logDmData": {//DM数据 67 "logDmData": {//DM数据
68 + "statusDetailCode": {
69 + "0": "未处理",
70 + "1": "处理成功",
71 + "2_1": "已处理(数据丢弃)",
72 + "2_2": "已处理(数据丢弃)",
73 + "2_3": "已处理(数据丢弃)",
74 + "2_4": "已处理(数据丢弃)",
75 + "3_1": "已处理(异常处理)",
76 + "3_2": "处理失败(系统异常)",
77 + "3_3": "处理失败(系统异常)",
78 + "3_4": "处理失败(系统异常)",
79 + "4_1": "处理失败(数据异常)",
80 + "4_2": "处理失败(数据异常)",
81 + "4_3": "处理失败(其他系统异常)",
82 + // "5": "处理失败(系统异常)",
83 + "9": "处理中",
84 + },
85 + "weatherGenerateWater": {
86 + "1": "是",
87 + "0": "否"
88 + },
89 + "sendLogSendResult": {
90 + "0": "未推",
91 + "1": "推送成功",
92 + "2": "推送失败"
93 + },
63 "status": { 94 "status": {
64 "0": "未处理", 95 "0": "未处理",
65 "1": "已处理", 96 "1": "已处理",
66 "2": "无需处理", 97 "2": "无需处理",
67 "3": "处理失败", 98 "3": "处理失败",
68 "4": "校验不通过", 99 "4": "校验不通过",
69 - "5": "数据不能被多次处理", 100 + "9": "处理中"
70 - "9": "处理中", 101 + }
102 + },
103 + "weatherTable": {
104 + "highLowPriceFlg": {
105 + "1": "开启",
106 + "0": "关闭"
71 }, 107 },
108 + "operationSource": {
109 + "1": "pre-MD cutoff",
110 + "2": "航班迁转手动释放",
111 + "3": "预审不通过定时任务",
112 + "4": "自动配舱"
113 + },
114 + "weightMark": {
115 + "1": "增加",
116 + "-1": "减少"
117 + }
118 + },
119 + "preFlight": {//航班预审
120 + "status": {
121 + "0": "关闭",
122 + "1": "开启"
123 + }
72 } 124 }
73 } 125 }
74 126
......
...@@ -2,1129 +2,1218 @@ let tableHeaders = { ...@@ -2,1129 +2,1218 @@ let tableHeaders = {
2 //货物查询 2 //货物查询
3 "cargo": [ 3 "cargo": [
4 { 4 {
5 - name: "口岸代码", 5 + columnChineseName: "口岸代码",
6 - value: "portName", 6 + columnName: "portName",
7 - width: "100", 7 + columnWidth: "100",
8 - align: "center", 8 + ext1: "sorTable",
9 - sorTable: true,
10 status: 1 9 status: 1
11 }, 10 },
12 { 11 {
13 - name: "取件日期", 12 + columnChineseName: "取件日期",
14 - value: "pickUpDate", 13 + columnName: "pickUpDate",
15 - width: "120", 14 + columnWidth: "120",
16 - align: "center", 15 + ext1: "sorTable",
17 - sorTable: true,
18 status: 1 16 status: 1
19 }, 17 },
20 { 18 {
21 - name: "取件扫描号", 19 + columnChineseName: "取件扫描号",
22 - value: "pickUpScanNo", 20 + columnName: "pickUpScanNo",
23 - width: "120", 21 + columnWidth: "120",
24 - align: "center", 22 + ext1: "sorTable",
25 - sorTable: true,
26 status: 1 23 status: 1
27 }, 24 },
28 { 25 {
29 - name: "站点", 26 + columnChineseName: "站点",
30 - value: "siteName", 27 + columnName: "siteName",
31 - width: "80", 28 + columnWidth: "80",
32 - align: "center", 29 + ext1: "sorTable",
33 - sorTable: true,
34 status: 1 30 status: 1
35 }, 31 },
36 { 32 {
37 - name: "运单号", 33 + columnChineseName: "运单号",
38 - value: "waybillNo", 34 + columnName: "waybillNo",
39 - width: "120", 35 + columnWidth: "150",
40 - align: "center", 36 + ext1: "sorTable;slot",
41 - sorTable: true,
42 status: 1 37 status: 1
43 }, 38 },
44 { 39 {
45 - name: "总单号", 40 + columnChineseName: "总单号",
46 - value: "totalWaybillNo", 41 + columnName: "totalWaybillNo",
47 - width: "120", 42 + columnWidth: "120",
48 - align: "center", 43 + ext1: "sorTable",
49 - sorTable: true,
50 status: 1 44 status: 1
51 }, 45 },
52 { 46 {
53 - name: "服务类型", 47 + columnChineseName: "服务类型",
54 - value: "serviceTypeName", 48 + columnName: "serviceTypeName",
55 - width: "100", 49 + columnWidth: "100",
56 - align: "center", 50 + ext1: "sorTable",
57 - sorTable: true,
58 status: 1 51 status: 1
59 }, 52 },
60 { 53 {
61 - name: "服务代码", 54 + columnChineseName: "服务代码",
62 - value: "serviceCode", 55 + columnName: "serviceCode",
63 - width: "100", 56 + columnWidth: "100",
64 - align: "center",
65 - sorTable: false,
66 status: 1 57 status: 1
67 }, 58 },
68 { 59 {
69 - name: "URSA", 60 + columnChineseName: "URSA",
70 - value: "ursa", 61 + columnName: "ursa",
71 - width: "100", 62 + columnWidth: "100",
72 - align: "center", 63 + ext1: "sorTable",
73 - sorTable: true,
74 status: 1 64 status: 1
75 }, 65 },
76 { 66 {
77 - name: "推送状态", 67 + columnChineseName: "推送状态",
78 - value: "cargoAllocationDataStatus", 68 + columnName: "cargoPushStatus",
79 - width: "100", 69 + columnWidth: "100",
80 - align: "center", 70 + ext1: "sorTable",
81 - sorTable: true,
82 status: 1 71 status: 1
83 }, 72 },
84 { 73 {
85 - name: "配舱状态", 74 + columnChineseName: "配舱状态",
86 - value: "flightIdImac", 75 + columnName: "flightIdImac",
87 - width: "100", 76 + columnWidth: "100",
88 - align: "center", 77 + ext1: "sorTable",
89 - sorTable: true,
90 status: 1 78 status: 1
91 }, 79 },
92 { 80 {
93 - name: "释放状态", 81 + columnChineseName: "释放状态",
94 - value: "releasing", 82 + columnName: "releasing",
95 - width: "100", 83 + columnWidth: "100",
96 - align: "center", 84 + ext1: "sorTable",
97 - sorTable: true,
98 status: 1 85 status: 1
99 }, 86 },
100 { 87 {
101 - name: "申报类型", 88 + columnChineseName: "申报类型",
102 - value: "typeName", 89 + columnName: "typeName",
103 - width: "100", 90 + columnWidth: "100",
104 - align: "center", 91 + ext1: "sorTable",
105 - sorTable: true,
106 status: 1 92 status: 1
107 }, 93 },
108 { 94 {
109 - name: "ACCSpool", 95 + columnChineseName: "ACCSpool",
110 - value: "accsPool", 96 + columnName: "accsPool",
111 - width: "120", 97 + columnWidth: "120",
112 - align: "center", 98 + ext1: "sorTable",
113 - sorTable: true,
114 status: 1 99 status: 1
115 }, 100 },
116 { 101 {
117 - name: "HandlingCode", 102 + columnChineseName: "HandlingCode",
118 - value: "handingCode", 103 + columnName: "handingCode",
119 - width: "150", 104 + columnWidth: "150",
120 - align: "center", 105 + ext1: "sorTable",
121 - sorTable: true,
122 status: 1 106 status: 1
123 }, 107 },
124 { 108 {
125 - name: "subcategory", 109 + columnChineseName: "subcategory",
126 - value: "subCategory", 110 + columnName: "subCategory",
127 - width: "140", 111 + columnWidth: "140",
128 - align: "center", 112 + ext1: "sorTable",
129 - sorTable: true,
130 status: 1 113 status: 1
131 }, 114 },
132 { 115 {
133 - name: "件数", 116 + columnChineseName: "件数",
134 - value: "qty", 117 + columnName: "qty",
135 - width: "80", 118 + columnWidth: "80",
136 - align: "center", 119 + ext1: "sorTable",
137 - sorTable: true,
138 status: 1 120 status: 1
139 }, 121 },
140 { 122 {
141 - name: "实际重量", 123 + columnChineseName: "实际重量",
142 - value: "actualWeight", 124 + columnName: "actualWeight",
143 - width: "100", 125 + columnWidth: "100",
144 - align: "center", 126 + ext1: "sorTable",
145 - sorTable: true,
146 status: 1 127 status: 1
147 }, 128 },
148 { 129 {
149 - name: "收件人国家代码", 130 + columnChineseName: "收件人国家代码",
150 - value: "consigneeCountry", 131 + columnName: "consigneeCountry",
151 - width: "150", 132 + columnWidth: "150",
152 - align: "center", 133 + ext1: "sorTable",
153 - sorTable: true,
154 status: 1 134 status: 1
155 }, 135 },
156 { 136 {
157 - name: "品名描述", 137 + columnChineseName: "品名描述",
158 - value: "nameDescription", 138 + columnName: "nameDescription",
159 - width: "100", 139 + columnWidth: "100",
160 - align: "center",
161 - sorTable: false,
162 status: 1 140 status: 1
163 }, 141 },
164 { 142 {
165 - name: "海关回执状态", 143 + columnChineseName: "海关回执状态",
166 - value: "customsReceiptStatusName", 144 + columnName: "customsReceiptStatusName",
167 - width: "140", 145 + columnWidth: "140",
168 - align: "center", 146 + ext1: "sorTable",
169 - sorTable: true,
170 status: 1 147 status: 1
171 }, 148 },
172 { 149 {
173 - name: "预审状态", 150 + columnChineseName: "预审状态",
174 - value: "preQualificationStatus", 151 + columnName: "preQualificationStatus",
175 - width: "100", 152 + columnWidth: "100",
176 - align: "center", 153 + ext1: "sorTable",
177 - sorTable: true,
178 status: 1 154 status: 1
179 }, 155 },
180 { 156 {
181 - name: "航班预审意见", 157 + columnChineseName: "航班预审意见",
182 - value: "caPretrialOpinion", 158 + columnName: "caPretrialOpinion",
183 - width: "120", 159 + columnWidth: "120",
184 - align: "center",
185 - sorTable: false,
186 status: 1 160 status: 1
187 }, 161 },
188 { 162 {
189 - name: "货物状态", 163 + columnChineseName: "货物状态",
190 - value: "statusName", 164 + columnName: "statusName",
191 - width: "100", 165 + columnWidth: "100",
192 - align: "center", 166 + ext1: "sorTable",
193 - sorTable: true,
194 status: 1 167 status: 1
195 }, 168 },
196 { 169 {
197 - name: "终配航班号", 170 + columnChineseName: "终配航班号",
198 - value: "finalFlightNo", 171 + columnName: "finalFlightNo",
199 - width: "120", 172 + columnWidth: "120",
200 - align: "center", 173 + ext1: "sorTable",
201 - sorTable: true,
202 status: 1 174 status: 1
203 }, 175 },
204 { 176 {
205 - name: "终配航班日期", 177 + columnChineseName: "终配航班日期",
206 - value: "finalFlightTime", 178 + columnName: "finalFlightTime",
207 - width: "140", 179 + columnWidth: "140",
208 - align: "center", 180 + ext1: "sorTable",
209 - sorTable: true,
210 status: 1 181 status: 1
211 }, 182 },
212 { 183 {
213 - name: "二配航班号", 184 + columnChineseName: "二配航班号",
214 - value: "twoMatchFlightNo", 185 + columnName: "twoMatchFlightNo",
215 - width: "120", 186 + columnWidth: "120",
216 - align: "center", 187 + ext1: "sorTable",
217 - sorTable: true,
218 status: 1 188 status: 1
219 }, 189 },
220 { 190 {
221 - name: "二配航班日期", 191 + columnChineseName: "二配航班日期",
222 - value: "twoMatchFlightTime", 192 + columnName: "twoMatchFlightTime",
223 - width: "150", 193 + columnWidth: "150",
224 - align: "center", 194 + ext1: "sorTable",
225 - sorTable: true,
226 status: 1 195 status: 1
227 }, 196 },
228 { 197 {
229 - name: "预配航班号", 198 + columnChineseName: "预配航班号",
230 - value: "preplanFlightNo", 199 + columnName: "preplanFlightNo",
231 - width: "120", 200 + columnWidth: "120",
232 - align: "center", 201 + ext1: "sorTable",
233 - sorTable: true,
234 status: 1 202 status: 1
235 }, 203 },
236 { 204 {
237 - name: "预配航班日期", 205 + columnChineseName: "预配航班日期",
238 - value: "preplanFlightTime", 206 + columnName: "preplanFlightTime",
239 - width: "150", 207 + columnWidth: "150",
240 - align: "center", 208 + ext1: "sorTable",
241 - sorTable: true,
242 status: 1 209 status: 1
243 }, 210 },
244 { 211 {
245 - name: "ACCS原航班号", 212 + columnChineseName: "ACCS原航班号",
246 - value: "fltNoAccs", 213 + columnName: "fltNoAccs",
247 - width: "150", 214 + columnWidth: "150",
248 - align: "center", 215 + ext1: "sorTable",
249 - sorTable: true,
250 status: 1 216 status: 1
251 }, 217 },
252 { 218 {
253 - name: "ACCS原航班日期", 219 + columnChineseName: "ACCS原航班日期",
254 - value: "fltDateAccs", 220 + columnName: "fltDateAccs",
255 - width: "150", 221 + columnWidth: "150",
256 - align: "center", 222 + ext1: "sorTable",
257 - sorTable: true,
258 status: 1 223 status: 1
259 }, 224 },
260 { 225 {
261 - name: "ACCS原航线", 226 + columnChineseName: "ACCS原航线",
262 - value: "accsFlightRoute", 227 + columnName: "accsFlightRoute",
263 - width: "140", 228 + columnWidth: "140",
264 - align: "center", 229 + ext1: "sorTable",
265 - sorTable: true,
266 status: 1 230 status: 1
267 }, 231 },
268 { 232 {
269 - name: "是否RDE手工录入", 233 + columnChineseName: "是否RDE手工录入",
270 - value: "manualRde", 234 + columnName: "manualRde",
271 - width: "170", 235 + columnWidth: "170",
272 - align: "center", 236 + ext1: "sorTable",
273 - sorTable: true,
274 status: 1 237 status: 1
275 }, 238 },
276 { 239 {
277 - name: "是否自动", 240 + columnChineseName: "是否自动",
278 - value: "cargoRulesStatus", 241 + columnName: "cargoRulesStatus",
279 - width: "100", 242 + columnWidth: "100",
280 - align: "center", 243 + ext1: "sorTable",
281 - sorTable: true,
282 status: 1 244 status: 1
283 }, 245 },
284 { 246 {
285 - name: "发件人账号", 247 + columnChineseName: "发件人账号",
286 - value: "shipperAccount", 248 + columnName: "shipperAccount",
287 - width: "120", 249 + columnWidth: "120",
288 - align: "center",
289 status: 1 250 status: 1
290 }, 251 },
291 { 252 {
292 - name: "发件公司中文名称", 253 + columnChineseName: "发件公司中文名称",
293 - value: "shipperCompany", 254 + columnName: "shipperCompany",
294 - width: "150", 255 + columnWidth: "150",
295 - align: "center",
296 status: 1 256 status: 1
297 }, 257 },
298 { 258 {
299 - name: "始发地城市名称", 259 + columnChineseName: "始发地城市名称",
300 - value: "originCity", 260 + columnName: "originCity",
301 - width: "130", 261 + columnWidth: "130",
302 - align: "center",
303 - sorTable: false,
304 status: 1 262 status: 1
305 }, 263 },
306 { 264 {
307 - name: "收件地", 265 + columnChineseName: "收件地",
308 - value: "destinationSiteName", 266 + columnName: "destinationSiteName",
309 - width: "90", 267 + columnWidth: "90",
310 - align: "center",
311 status: 1 268 status: 1
312 }, 269 },
313 { 270 {
314 - name: "尺寸", 271 + columnChineseName: "尺寸",
315 - value: "sizeStr", 272 + columnName: "sizeStr",
316 - width: "80", 273 + columnWidth: "80",
317 - align: "center", 274 + ext1: "sorTable",
318 - sorTable: true,
319 status: 1 275 status: 1
320 }, 276 },
321 { 277 {
322 - name: "大货预审意见(是否可以配置航班)", 278 + columnChineseName: "大货预审意见(是否可以配置航班)",
323 - value: "bigPretrialOpinion", 279 + columnName: "bigPretrialOpinion",
324 - width: "200", 280 + columnWidth: "200",
325 - align: "center",
326 status: 1 281 status: 1
327 }, 282 },
328 { 283 {
329 - name: "大货预审时间", 284 + columnChineseName: "大货预审时间",
330 - value: "bigPretrialTime", 285 + columnName: "bigPretrialTime",
331 - width: "120", 286 + columnWidth: "120",
332 - align: "center",
333 status: 1 287 status: 1
334 }, 288 },
335 { 289 {
336 - name: "海关回执时间", 290 + columnChineseName: "海关回执时间",
337 - value: "customsReceiptTime", 291 + columnName: "customsReceiptTime",
338 - width: "150", 292 + columnWidth: "150",
339 - align: "center", 293 + ext1: "sorTable",
340 - sorTable: true,
341 status: 1 294 status: 1
342 }, 295 },
343 { 296 {
344 - name: "航班预审时间", 297 + columnChineseName: "航班预审时间",
345 - value: "caPretrialTime", 298 + columnName: "caPretrialTime",
346 - width: "150", 299 + columnWidth: "150",
347 - align: "center", 300 + ext1: "sorTable",
348 - sorTable: true,
349 status: 1 301 status: 1
350 }, 302 },
351 { 303 {
352 - name: "创建人", 304 + columnChineseName: "创建人",
353 - value: "createUserName", 305 + columnName: "createUserName",
354 - width: "90", 306 + columnWidth: "90",
355 - align: "center", 307 + ext1: "sorTable",
356 - sorTable: true,
357 status: 1 308 status: 1
358 }, 309 },
359 { 310 {
360 - name: "创建时间", 311 + columnChineseName: "创建时间",
361 - value: "createTime", 312 + columnName: "createTime",
362 - width: "100", 313 + columnWidth: "100",
363 - align: "center", 314 + ext1: "sorTable",
364 - sorTable: true,
365 status: 1 315 status: 1
366 }, 316 },
367 ], 317 ],
368 //航班信息维护 318 //航班信息维护
369 "FlightInformation": [ 319 "FlightInformation": [
370 { 320 {
371 - name: "航班日期", 321 + columnChineseName: "航班日期",
372 - value: "fltDate", 322 + columnName: "fltDate",
373 - width: "100", 323 + columnWidth: "100",
374 - align: "center",
375 status: 1 324 status: 1
376 }, 325 },
377 { 326 {
378 - name: "航班起飞时间", 327 + columnChineseName: "航班起飞时间",
379 - value: "takeOffTime", 328 + columnName: "takeOffTime",
380 - width: "120", 329 + columnWidth: "120",
381 - align: "center",
382 status: 1 330 status: 1
383 }, 331 },
384 { 332 {
385 - name: "Pre-MDE CutOff时间", 333 + columnChineseName: "Pre-MDE CutOff时间",
386 - value: "cutOffTime", 334 + columnName: "cutOffTime",
387 - width: "150", 335 + columnWidth: "150",
388 - align: "center",
389 status: 1 336 status: 1
390 }, 337 },
391 { 338 {
392 - name: "航班号", 339 + columnChineseName: "航班号",
393 - value: "fltNo", 340 + columnName: "fltNo",
394 - width: "100", 341 + columnWidth: "100",
395 - align: "center",
396 status: 1 342 status: 1
397 }, 343 },
398 { 344 {
399 - name: "航班路线", 345 + columnChineseName: "航班路线",
400 - value: "route", 346 + columnName: "route",
401 - width: "140", 347 + columnWidth: "140",
402 - align: "center",
403 status: 1 348 status: 1
404 }, 349 },
405 { 350 {
406 - name: "航班类型", 351 + columnChineseName: "航班类型",
407 - value: "typeName", 352 + columnName: "typeName",
408 - width: "100", 353 + columnWidth: "100",
409 - align: "center",
410 status: 1 354 status: 1
411 }, 355 },
412 { 356 {
413 - name: "航班种类", 357 + columnChineseName: "航班种类",
414 - value: "flightKindName", 358 + columnName: "flightKindName",
415 - width: "100", 359 + columnWidth: "100",
416 - align: "center",
417 status: 1 360 status: 1
418 }, 361 },
419 { 362 {
420 - name: "航班状态", 363 + columnChineseName: "航班状态",
421 - value: "statusName", 364 + columnName: "statusName",
422 - width: "100", 365 + columnWidth: "100",
423 - align: "center",
424 status: 1 366 status: 1
425 }, 367 },
426 { 368 {
427 - name: "是否自动推送", 369 + columnChineseName: "是否自动推送",
428 - value: "pushDateSwitch", 370 + columnName: "pushDateSwitch",
429 - width: "120", 371 + columnWidth: "120",
430 - align: "center",
431 status: 1 372 status: 1
432 }, 373 },
433 { 374 {
434 - name: "总重量", 375 + columnChineseName: "总重量",
435 - value: "totalWeight", 376 + columnName: "totalWeight",
436 - width: "90", 377 + columnWidth: "90",
437 - align: "center",
438 status: 1 378 status: 1
439 }, 379 },
440 { 380 {
441 - name: "原始重量(KG)", 381 + columnChineseName: "原始重量(KG)",
442 - value: "originalWeight", 382 + columnName: "originalWeight",
443 - width: "120", 383 + columnWidth: "120",
444 - align: "center",
445 status: 1 384 status: 1
446 }, 385 },
447 { 386 {
448 - name: "已配重量", 387 + columnChineseName: "已配重量",
449 - value: "alloctedWeight", 388 + columnName: "alloctedWeight",
450 - width: "90", 389 + columnWidth: "90",
451 - align: "center",
452 status: 1 390 status: 1
453 }, 391 },
454 { 392 {
455 - name: "总体积(cm³)", 393 + columnChineseName: "总体积(cm³)",
456 - value: "totalVolume", 394 + columnName: "totalVolume",
457 - width: "100", 395 + columnWidth: "100",
458 - align: "center",
459 status: 1 396 status: 1
460 }, 397 },
461 { 398 {
462 - name: "已配体积(cm³)", 399 + columnChineseName: "已配体积(cm³)",
463 - value: "alloctedVolume", 400 + columnName: "alloctedVolume",
464 - width: "120", 401 + columnWidth: "120",
465 - align: "center",
466 status: 1 402 status: 1
467 }, 403 },
468 { 404 {
469 - name: "是否需要预审", 405 + columnChineseName: "预审状态",
470 - value: "needRequired", 406 + columnName: "needRequired",
471 - width: "130", 407 + columnWidth: "130",
472 - align: "center",
473 status: 1 408 status: 1
474 }, 409 },
475 { 410 {
476 - name: "是否开启高低价", 411 + columnChineseName: "是否开启高低价",
477 - value: "highLowPriceFlg", 412 + columnName: "highLowPriceFlg",
478 - width: "140", 413 + columnWidth: "140",
479 - align: "center",
480 status: 1 414 status: 1
481 }, 415 },
482 { 416 {
483 - name: "是否限制一票一件", 417 + columnChineseName: "是否限制一票一件",
484 - value: "ticketToPiece", 418 + columnName: "ticketToPiece",
485 - width: "140", 419 + columnWidth: "140",
486 - align: "center",
487 status: 1 420 status: 1
488 }, 421 },
489 { 422 {
490 - name: "额外增重百分比", 423 + columnChineseName: "额外增重百分比",
491 - value: "extraWeightPercent", 424 + columnName: "extraWeightPercent",
492 - width: "140", 425 + columnWidth: "140",
493 - align: "center",
494 status: 1 426 status: 1
495 }, 427 },
496 { 428 {
497 - name: "高价百分比", 429 + columnChineseName: "高价百分比",
498 - value: "highPriceWeightPercent", 430 + columnName: "highPriceWeightPercent",
499 - width: "120", 431 + columnWidth: "120",
500 - align: "center",
501 status: 1 432 status: 1
502 }, 433 },
503 { 434 {
504 - name: "低价百分比", 435 + columnChineseName: "低价百分比",
505 - value: "lowPriceWeightPercent", 436 + columnName: "lowPriceWeightPercent",
506 - width: "120", 437 + columnWidth: "120",
507 - align: "center",
508 status: 1 438 status: 1
509 }, 439 },
510 { 440 {
511 - name: "航班优先级", 441 + columnChineseName: "航班优先级",
512 - value: "priorityName", 442 + columnName: "priorityName",
513 - width: "100", 443 + columnWidth: "100",
514 - align: "center",
515 status: 1 444 status: 1
516 }, 445 },
517 { 446 {
518 - name: "配舱优先级", 447 + columnChineseName: "配舱优先级",
519 - value: "priorityRuleName", 448 + columnName: "priorityRuleName",
520 - width: "100", 449 + columnWidth: "100",
521 - align: "center",
522 status: 1 450 status: 1
523 }, 451 },
524 { 452 {
525 - name: "创建人", 453 + columnChineseName: "创建人",
526 - value: "createUserName", 454 + columnName: "createUserName",
527 - width: "90", 455 + columnWidth: "90",
528 - align: "center",
529 status: 1 456 status: 1
530 }, 457 },
531 { 458 {
532 - name: "创建时间", 459 + columnChineseName: "创建时间",
533 - value: "createTime", 460 + columnName: "createTime",
534 - width: "100", 461 + columnWidth: "100",
535 - align: "center",
536 status: 1 462 status: 1
537 }, 463 },
538 { 464 {
539 - name: "最后修改人", 465 + columnChineseName: "最后修改人",
540 - value: "lastModifyUserName", 466 + columnName: "lastModifyUserName",
541 - width: "120", 467 + columnWidth: "120",
542 - align: "center",
543 status: 1 468 status: 1
544 }, 469 },
545 { 470 {
546 - name: "最后修改时间", 471 + columnChineseName: "最后修改时间",
547 - value: "lastModifyTime", 472 + columnName: "lastModifyTime",
548 - width: "120", 473 + columnWidth: "120",
549 - align: "center",
550 status: 1 474 status: 1
551 }, 475 },
552 ], 476 ],
553 //手动配舱 477 //手动配舱
554 - "cargoAllocation": [ 478 + "allocationCargo": [
555 { 479 {
556 - name: "口岸代码", 480 + columnChineseName: "口岸代码",
557 - value: "portName", 481 + columnName: "portName",
558 - width: "100", 482 + columnWidth: "100",
559 - align: "center", 483 + ext1: "sorTable",
560 - sorTable: true,
561 status: 1 484 status: 1
562 }, 485 },
563 { 486 {
564 - name: "取件日期", 487 + columnChineseName: "取件日期",
565 - value: "pickUpDate", 488 + columnName: "pickUpDate",
566 - width: "120", 489 + columnWidth: "120",
567 - align: "center", 490 + ext1: "sorTable",
568 - sorTable: true,
569 status: 1 491 status: 1
570 }, 492 },
571 { 493 {
572 - name: "取件扫描号", 494 + columnChineseName: "取件扫描号",
573 - value: "pickUpScanNo", 495 + columnName: "pickUpScanNo",
574 - width: "120", 496 + columnWidth: "120",
575 - align: "center", 497 + ext1: "sorTable",
576 - sorTable: true,
577 status: 1 498 status: 1
578 }, 499 },
579 { 500 {
580 - name: "站点", 501 + columnChineseName: "站点",
581 - value: "siteName", 502 + columnName: "siteName",
582 - width: "80", 503 + columnWidth: "80",
583 - align: "center", 504 + ext1: "sorTable",
584 - sorTable: true,
585 status: 1 505 status: 1
586 }, 506 },
587 { 507 {
588 - name: "运单号", 508 + columnChineseName: "运单号",
589 - value: "waybillNo", 509 + columnName: "waybillNo",
590 - width: "120", 510 + columnWidth: "120",
591 - align: "center", 511 + ext1: "sorTable",
592 - sorTable: true,
593 status: 1 512 status: 1
594 }, 513 },
595 { 514 {
596 - name: "总单号", 515 + columnChineseName: "总单号",
597 - value: "totalWaybillNo", 516 + columnName: "totalWaybillNo",
598 - width: "120", 517 + columnWidth: "120",
599 - align: "center", 518 + ext1: "sorTable",
600 - sorTable: true,
601 status: 1 519 status: 1
602 }, 520 },
603 { 521 {
604 - name: "服务类型", 522 + columnChineseName: "服务类型",
605 - value: "serviceTypeName", 523 + columnName: "serviceTypeName",
606 - width: "100", 524 + columnWidth: "100",
607 - align: "center", 525 + ext1: "sorTable",
608 - sorTable: true,
609 status: 1 526 status: 1
610 }, 527 },
611 { 528 {
612 - name: "服务代码", 529 + columnChineseName: "服务代码",
613 - value: "serviceCode", 530 + columnName: "serviceCode",
614 - width: "100", 531 + columnWidth: "100",
615 - align: "center", 532 + ext1: false,
616 - sorTable: false,
617 status: 1 533 status: 1
618 }, 534 },
619 { 535 {
620 - name: "URSA", 536 + columnChineseName: "URSA",
621 - value: "ursa", 537 + columnName: "ursa",
622 - width: "100", 538 + columnWidth: "100",
623 - align: "center", 539 + ext1: "sorTable",
624 - sorTable: true,
625 status: 1 540 status: 1
626 }, 541 },
627 { 542 {
628 - name: "申报类型", 543 + columnChineseName: "推送状态",
629 - value: "typeName", 544 + columnName: "cargoPushStatus",
630 - width: "100", 545 + columnWidth: 100,
631 - align: "center", 546 + ext1: "sorTable",
632 - sorTable: true,
633 status: 1 547 status: 1
634 }, 548 },
635 { 549 {
636 - name: "HandlingCode", 550 + columnChineseName: "配舱状态",
637 - value: "handingCode", 551 + columnName: "flightIdImac",
638 - width: "150", 552 + columnWidth: 100,
639 - align: "center", 553 + ext1: "sorTable",
640 - sorTable: true,
641 status: 1 554 status: 1
642 }, 555 },
643 { 556 {
644 - name: "subcategory", 557 + columnChineseName: "释放状态",
645 - value: "subCategory", 558 + columnName: "releasing",
646 - width: "140", 559 + columnWidth: 100,
647 - align: "center", 560 + ext1: "sorTable",
648 - sorTable: true,
649 status: 1 561 status: 1
650 }, 562 },
651 { 563 {
652 - name: "件数", 564 + columnChineseName: "申报类型",
653 - value: "qty", 565 + columnName: "typeName",
654 - width: "80", 566 + columnWidth: "100",
655 - align: "center", 567 + ext1: "sorTable",
656 - sorTable: true,
657 status: 1 568 status: 1
658 }, 569 },
659 { 570 {
660 - name: "实际重量", 571 + columnChineseName: "HandlingCode",
661 - value: "actualWeight", 572 + columnName: "handingCode",
662 - width: "100", 573 + columnWidth: "150",
663 - align: "center", 574 + ext1: "sorTable",
664 - sorTable: true,
665 status: 1 575 status: 1
666 }, 576 },
667 { 577 {
668 - name: "收件人国家代码", 578 + columnChineseName: "subcategory",
669 - value: "consigneeCountry", 579 + columnName: "subCategory",
670 - width: "150", 580 + columnWidth: "140",
671 - align: "center", 581 + ext1: "sorTable",
672 - sorTable: true,
673 status: 1 582 status: 1
674 }, 583 },
675 { 584 {
676 - name: "品名描述", 585 + columnChineseName: "件数",
677 - value: "nameDescription", 586 + columnName: "qty",
678 - width: "100", 587 + columnWidth: "80",
679 - align: "center", 588 + ext1: "sorTable",
680 - sorTable: false,
681 status: 1 589 status: 1
682 }, 590 },
683 { 591 {
684 - name: "海关回执状态", 592 + columnChineseName: "实际重量",
685 - value: "customsReceiptStatusName", 593 + columnName: "actualWeight",
686 - width: "140", 594 + columnWidth: "100",
687 - align: "center", 595 + ext1: "sorTable",
688 - sorTable: true,
689 status: 1 596 status: 1
690 }, 597 },
691 { 598 {
692 - name: "预审状态", 599 + columnChineseName: "收件人国家代码",
693 - value: "preQualificationStatus", 600 + columnName: "consigneeCountry",
694 - width: "100", 601 + columnWidth: "150",
695 - align: "center", 602 + ext1: "sorTable",
696 - sorTable: true,
697 status: 1 603 status: 1
698 }, 604 },
699 { 605 {
700 - name: "航班预审意见", 606 + columnChineseName: "品名描述",
701 - value: "caPretrialOpinion", 607 + columnName: "nameDescription",
702 - width: "120", 608 + columnWidth: "100",
703 - align: "center",
704 status: 1 609 status: 1
705 }, 610 },
706 { 611 {
707 - name: "货物状态", 612 + columnChineseName: "海关回执状态",
708 - value: "statusName", 613 + columnName: "customsReceiptStatusName",
709 - width: "100", 614 + columnWidth: "140",
710 - align: "center", 615 + ext1: "sorTable",
711 - sorTable: true,
712 status: 1 616 status: 1
713 }, 617 },
714 { 618 {
715 - name: "终配航班号", 619 + columnChineseName: "预审状态",
716 - value: "finalFlightNo", 620 + columnName: "preQualificationStatus",
717 - width: "120", 621 + columnWidth: "100",
718 - align: "center", 622 + ext1: "sorTable",
719 - sorTable: true,
720 status: 1 623 status: 1
721 }, 624 },
722 { 625 {
723 - name: "终配航班日期", 626 + columnChineseName: "航班预审意见",
724 - value: "finalFlightTime", 627 + columnName: "caPretrialOpinion",
725 - width: "140", 628 + columnWidth: "120",
726 - align: "center",
727 - sorTable: true,
728 status: 1 629 status: 1
729 }, 630 },
730 { 631 {
731 - name: "二配航班号", 632 + columnChineseName: "货物状态",
732 - value: "twoMatchFlightNo", 633 + columnName: "statusName",
733 - width: "120", 634 + columnWidth: "100",
734 - align: "center", 635 + ext1: "sorTable",
735 - sorTable: true,
736 status: 1 636 status: 1
737 }, 637 },
738 { 638 {
739 - name: "二配航班日期", 639 + columnChineseName: "终配航班号",
740 - value: "twoMatchFlightTime", 640 + columnName: "finalFlightNo",
741 - width: "150", 641 + columnWidth: "120",
742 - align: "center", 642 + ext1: "sorTable",
743 - sorTable: true,
744 status: 1 643 status: 1
745 }, 644 },
746 { 645 {
747 - name: "预配航班号", 646 + columnChineseName: "终配航班日期",
748 - value: "preplanFlightNo", 647 + columnName: "finalFlightTime",
749 - width: "120", 648 + columnWidth: "140",
750 - align: "center", 649 + ext1: "sorTable",
751 - sorTable: true,
752 status: 1 650 status: 1
753 }, 651 },
754 { 652 {
755 - name: "预配航班日期", 653 + columnChineseName: "二配航班号",
756 - value: "preplanFlightTime", 654 + columnName: "twoMatchFlightNo",
757 - width: "150", 655 + columnWidth: "120",
758 - align: "center", 656 + ext1: "sorTable",
759 - sorTable: true,
760 status: 1 657 status: 1
761 }, 658 },
762 { 659 {
763 - name: "ACCS原航班号", 660 + columnChineseName: "二配航班日期",
764 - value: "fltNoAccs", 661 + columnName: "twoMatchFlightTime",
765 - width: "150", 662 + columnWidth: "150",
766 - align: "center", 663 + ext1: "sorTable",
767 - sorTable: true,
768 status: 1 664 status: 1
769 }, 665 },
770 { 666 {
771 - name: "ACCS原航班日期", 667 + columnChineseName: "预配航班号",
772 - value: "fltDateAccs", 668 + columnName: "preplanFlightNo",
773 - width: "150", 669 + columnWidth: "120",
774 - align: "center", 670 + ext1: "sorTable",
775 - sorTable: true,
776 status: 1 671 status: 1
777 }, 672 },
778 { 673 {
779 - name: "ACCS原航线", 674 + columnChineseName: "预配航班日期",
780 - value: "accsFlightRoute", 675 + columnName: "preplanFlightTime",
781 - width: "140", 676 + columnWidth: "150",
782 - align: "center", 677 + ext1: "sorTable",
783 - sorTable: true,
784 status: 1 678 status: 1
785 }, 679 },
786 { 680 {
787 - name: "是否RDE手工录入", 681 + columnChineseName: "ACCS原航班号",
788 - value: "manualRde", 682 + columnName: "fltNoAccs",
789 - width: "170", 683 + columnWidth: "150",
790 - align: "center", 684 + ext1: "sorTable",
791 - sorTable: true,
792 status: 1 685 status: 1
793 }, 686 },
794 { 687 {
795 - name: "是否自动", 688 + columnChineseName: "ACCS原航班日期",
796 - value: "cargoRulesStatus", 689 + columnName: "fltDateAccs",
797 - width: "100", 690 + columnWidth: "150",
798 - align: "center", 691 + ext1: "sorTable",
799 - sorTable: true,
800 status: 1 692 status: 1
801 }, 693 },
802 { 694 {
803 - name: "发件人账号", 695 + columnChineseName: "ACCS原航线",
804 - value: "shipperAccount", 696 + columnName: "accsFlightRoute",
805 - width: "120", 697 + columnWidth: "140",
806 - align: "center", 698 + ext1: "sorTable",
807 status: 1 699 status: 1
808 }, 700 },
809 { 701 {
810 - name: "发件公司中文名称", 702 + columnChineseName: "是否RDE手工录入",
811 - value: "shipperCompany", 703 + columnName: "manualRde",
812 - width: "150", 704 + columnWidth: "170",
813 - align: "center", 705 + ext1: "sorTable",
814 status: 1 706 status: 1
815 }, 707 },
816 { 708 {
817 - name: "始发地城市名称", 709 + columnChineseName: "是否自动",
818 - value: "originCity", 710 + columnName: "cargoRulesStatus",
819 - width: "130", 711 + columnWidth: "100",
820 - align: "center", 712 + ext1: "sorTable",
821 status: 1 713 status: 1
822 }, 714 },
823 { 715 {
824 - name: "收件地", 716 + columnChineseName: "发件人账号",
825 - value: "destinationSiteName", 717 + columnName: "shipperAccount",
826 - width: "90", 718 + columnWidth: "120",
827 - align: "center",
828 status: 1 719 status: 1
829 }, 720 },
830 { 721 {
831 - name: "尺寸", 722 + columnChineseName: "发件公司中文名称",
832 - value: "sizeStr", 723 + columnName: "shipperCompany",
833 - width: "80", 724 + columnWidth: "150",
834 - align: "center",
835 - sorTable: true,
836 status: 1 725 status: 1
837 }, 726 },
838 { 727 {
839 - name: "大货预审意见(是否可以配置航班)", 728 + columnChineseName: "始发地城市名称",
840 - value: "bigPretrialOpinion", 729 + columnName: "originCity",
841 - width: "250", 730 + columnWidth: "130",
842 - align: "center",
843 status: 1 731 status: 1
844 }, 732 },
845 { 733 {
846 - name: "大货预审时间", 734 + columnChineseName: "收件地",
847 - value: "bigPretrialTime", 735 + columnName: "destinationSiteName",
848 - width: "120", 736 + columnWidth: "90",
849 - align: "center",
850 status: 1 737 status: 1
851 }, 738 },
852 { 739 {
853 - name: "海关回执时间", 740 + columnChineseName: "尺寸",
854 - value: "customsReceiptTime", 741 + columnName: "sizeStr",
855 - width: "150", 742 + columnWidth: "80",
856 - align: "center", 743 + ext1: "sorTable",
857 - sorTable: true,
858 status: 1 744 status: 1
859 }, 745 },
860 { 746 {
861 - name: "航班预审时间", 747 + columnChineseName: "大货预审意见(是否可以配置航班)",
862 - value: "caPretrialTime", 748 + columnName: "bigPretrialOpinion",
863 - width: "150", 749 + columnWidth: "250",
864 - align: "center",
865 - sorTable: true,
866 status: 1 750 status: 1
867 }, 751 },
868 { 752 {
869 - name: "创建人", 753 + columnChineseName: "大货预审时间",
870 - value: "createUserName", 754 + columnName: "bigPretrialTime",
871 - width: "90", 755 + columnWidth: "120",
872 - align: "center",
873 - sorTable: true,
874 status: 1 756 status: 1
875 }, 757 },
876 { 758 {
877 - name: "创建时间", 759 + columnChineseName: "海关回执时间",
878 - value: "createTime", 760 + columnName: "customsReceiptTime",
879 - width: "100", 761 + columnWidth: "150",
880 - align: "center", 762 + ext1: "sorTable",
881 - sorTable: true, 763 + status: 1
764 + },
765 + {
766 + columnChineseName: "航班预审时间",
767 + columnName: "caPretrialTime",
768 + columnWidth: "150",
769 + ext1: "sorTable",
770 + status: 1
771 + },
772 + {
773 + columnChineseName: "创建人",
774 + columnName: "createUserName",
775 + columnWidth: "90",
776 + ext1: "sorTable",
777 + status: 1
778 + },
779 + {
780 + columnChineseName: "创建时间",
781 + columnName: "createTime",
782 + columnWidth: "100",
783 + ext1: "sorTable",
784 + status: 1
785 + },
786 + ],
787 + //航班顺位
788 + "flightRand": [
789 + {
790 + columnChineseName: "原航班",
791 + columnName: "sourceFlightNo",
792 + columnWidth: "",
793 + status: 1
794 + },
795 + {
796 + columnChineseName: "配载航班排序",
797 + columnName: "flightRank",
798 + columnWidth: "",
799 + status: 1
800 + },
801 + {
802 + columnChineseName: "周期",
803 + columnName: "dayOfWeek",
804 + columnWidth: "",
805 + status: 1
806 + },
807 + {
808 + columnChineseName: "状态",
809 + columnName: "status",
810 + columnWidth: "",
811 + status: 1
812 + },
813 + {
814 + columnChineseName: "开始时间",
815 + columnName: "startDate",
816 + columnWidth: "",
817 + status: 1
818 + },
819 + {
820 + columnChineseName: "结束时间",
821 + columnName: "endDate",
822 + columnWidth: "",
823 + status: 1
824 + },
825 + {
826 + columnChineseName: "最后修改人",
827 + columnName: "updateUserName",
828 + columnWidth: "",
829 + status: 1
830 + },
831 + {
832 + columnChineseName: "最后修改时间",
833 + columnName: "updateTime",
834 + columnWidth: "",
835 + status: 1
836 + },
837 + ],
838 + //航班配舱
839 + "flightAlloc": [
840 + {
841 + columnChineseName: "航班号",
842 + columnName: "purposeOfFlightNo",
843 + columnWidth: "",
844 + status: 1
845 + },
846 + {
847 + columnChineseName: "状态",
848 + columnName: "status",
849 + columnWidth: "",
850 + status: 1
851 + },
852 + {
853 + columnChineseName: "操作人",
854 + columnName: "createUserName",
855 + columnWidth: "",
856 + status: 1
857 + },
858 + {
859 + columnChineseName: "更新时间",
860 + columnName: "createTime",
861 + columnWidth: "",
882 status: 1 862 status: 1
883 }, 863 },
884 ], 864 ],
885 //角色设置 865 //角色设置
886 "role": [ 866 "role": [
887 { 867 {
888 - name: "角色名称", 868 + columnChineseName: "角色名称",
889 - value: "name", 869 + columnName: "name",
890 - width: "150px", 870 + columnWidth: "150px",
891 - align: "center",
892 status: 1 871 status: 1
893 }, 872 },
894 { 873 {
895 - name: "角色状态", 874 + columnChineseName: "角色状态",
896 - value: "valid", 875 + columnName: "valid",
897 - width: "150px", 876 + columnWidth: "150px",
898 - align: "center",
899 status: 1 877 status: 1
900 }, 878 },
901 { 879 {
902 - name: "创建人", 880 + columnChineseName: "创建人",
903 - value: "createUserName", 881 + columnName: "createUserName",
904 - width: "150px", 882 + columnWidth: "150px",
905 - align: "center",
906 status: 1 883 status: 1
907 }, 884 },
908 { 885 {
909 - name: "创建时间", 886 + columnChineseName: "创建时间",
910 - value: "createTime", 887 + columnName: "createTime",
911 - width: "150px", 888 + columnWidth: "150px",
912 - align: "center",
913 status: 1 889 status: 1
914 }, 890 },
915 { 891 {
916 - name: "修改时间", 892 + columnChineseName: "修改时间",
917 - value: "updateTime", 893 + columnName: "updateTime",
918 - width: "150px", 894 + columnWidth: "150px",
919 - align: "center",
920 status: 1 895 status: 1
921 }, 896 },
922 { 897 {
923 - name: "备注", 898 + columnChineseName: "备注",
924 - value: "remark", 899 + columnName: "remark",
925 - width: "400px", 900 + columnWidth: "400px",
926 - align: "center",
927 status: 1 901 status: 1
928 }, 902 },
929 ], 903 ],
930 //用户设置 904 //用户设置
931 "user": [ 905 "user": [
932 { 906 {
933 - name: "员工号", 907 + columnChineseName: "员工号",
934 - value: "loginName", 908 + columnName: "loginName",
935 - width: "150px", 909 + columnWidth: "150px",
936 - align: "center",
937 status: 1 910 status: 1
938 }, 911 },
939 { 912 {
940 - name: "用户姓名", 913 + columnChineseName: "用户姓名",
941 - value: "username", 914 + columnName: "username",
942 - width: "150px", 915 + columnWidth: "150px",
943 - align: "center",
944 status: 1 916 status: 1
945 }, 917 },
946 { 918 {
947 - name: "所属口岸", 919 + columnChineseName: "所属口岸",
948 - value: "portName", 920 + columnName: "portName",
949 - width: "150px", 921 + columnWidth: "150px",
950 - align: "center",
951 status: 1 922 status: 1
952 }, 923 },
953 { 924 {
954 - name: "所属角色", 925 + columnChineseName: "所属角色",
955 - value: "roleNames", 926 + columnName: "roleNames",
956 - width: "150px", 927 + columnWidth: "150px",
957 - align: "center",
958 status: 1 928 status: 1
959 }, 929 },
960 { 930 {
961 - name: "电子邮箱", 931 + columnChineseName: "电子邮箱",
962 - value: "email", 932 + columnName: "email",
963 - width: "150px", 933 + columnWidth: "150px",
964 - align: "center",
965 status: 1 934 status: 1
966 }, 935 },
967 { 936 {
968 - name: "用户状态", 937 + columnChineseName: "用户状态",
969 - value: "isValid", 938 + columnName: "isValid",
970 - width: "100px", 939 + columnWidth: "100px",
971 - align: "center",
972 status: 1 940 status: 1
973 }, 941 },
974 { 942 {
975 - name: "修改时间", 943 + columnChineseName: "修改时间",
976 - value: "updateTime", 944 + columnName: "updateTime",
977 - width: "150px", 945 + columnWidth: "150px",
978 - align: "center",
979 status: 1 946 status: 1
980 }, 947 },
981 { 948 {
982 - name: "备注", 949 + columnChineseName: "备注",
983 - value: "remark", 950 + columnName: "remark",
984 - width: "150px", 951 + columnWidth: "150px",
985 - align: "center",
986 status: 1 952 status: 1
987 }, 953 },
988 ], 954 ],
955 + //dm数据处理
989 "DM": [ 956 "DM": [
990 { 957 {
991 - name: "DMaccsId", 958 + columnChineseName: "AccsId",
992 - value: "dmAccsId", 959 + columnName: "dmAccsId",
993 - width: "", 960 + columnWidth: "120",
994 - align: "center", 961 + status: 1
962 + },
963 + {
964 + columnChineseName: "口岸代码",
965 + columnName: "routeDest",
966 + columnWidth: "",
967 + status: 1
968 + },
969 + {
970 + columnChineseName: "运单号",
971 + columnName: "awbNbr",
972 + columnWidth: "150",
973 + status: 1,
974 + ext1: 'slot',
975 + },
976 + {
977 + columnChineseName: "Accs Pool",
978 + columnName: "accsPool",
979 + columnWidth: "100",
980 + status: 1
981 + },
982 + {
983 + columnChineseName: "当前配载航班号",
984 + columnName: "flightFltNo",
985 + columnWidth: "130",
986 + status: 1,
987 + ext1: 'slot',
988 + },
989 + {
990 + columnChineseName: "当前配载航班日期",
991 + columnName: "flightFltDate",
992 + columnWidth: "130",
993 + status: 1
994 + },
995 + {
996 + columnChineseName: "ACCS原航班号",
997 + columnName: "dmFlightNbr",
998 + columnWidth: "120",
999 + status: 1
1000 + },
1001 + {
1002 + columnChineseName: "ACCS原航班日期",
1003 + columnName: "dmFlightDate",
1004 + columnWidth: "150",
1005 + status: 1
1006 + },
1007 + {
1008 + columnChineseName: "DM推送IMAC时间",
1009 + columnName: "dmSendTime",
1010 + columnWidth: "150",
1011 + status: 1
1012 + },
1013 + {
1014 + columnChineseName: "数据接收时间",
1015 + columnName: "dmCreateTime",
1016 + columnWidth: "150",
1017 + status: 1
1018 + },
1019 + {
1020 + columnChineseName: "货物创建时间",
1021 + columnName: "cargoCreateTime",
1022 + columnWidth: "150",
1023 + status: 1
1024 + },
1025 + {
1026 + columnChineseName: "回推ACCS时间",
1027 + columnName: "sendLogSendTime",
1028 + columnWidth: "150",
1029 + status: 1
1030 + },
1031 + {
1032 + columnChineseName: "回推ACCS结果",
1033 + columnName: "sendLogSendResult",
1034 + columnWidth: "120",
1035 + status: 1
1036 + },
1037 + {
1038 + columnChineseName: "OSPR推送状态",
1039 + columnName: "cargoPushStatus",
1040 + columnWidth: "130",
1041 + status: 1
1042 + },
1043 + {
1044 + columnChineseName: "首次配舱类型",
1045 + columnName: "cargoAllocationType",
1046 + columnWidth: "110",
1047 + status: 1
1048 + },
1049 + {
1050 + columnChineseName: "航班顺位规则",
1051 + columnName: "targetFlight",
1052 + columnWidth: "250",
1053 + align: 'left',
1054 + status: 1
1055 + },
1056 + {
1057 + columnChineseName: "配舱备注",
1058 + columnName: "remarksDetail",
1059 + columnWidth: "450",
1060 + align: 'left',
1061 + status: 1
1062 + },
1063 + {
1064 + columnChineseName: "处理状态级别",
1065 + columnName: "status",
1066 + columnWidth: "150",
1067 + status: 1
1068 + },
1069 + {
1070 + columnChineseName: "处理状态",
1071 + columnName: "statusDetailCode",
1072 + columnWidth: "150",
1073 + status: 1
1074 + },
1075 + {
1076 + columnChineseName: "处理结果",
1077 + columnName: "statusDetailDesc",
1078 + columnWidth: "350",
1079 + align: 'left',
1080 + status: 1
1081 + },
1082 + {
1083 + columnChineseName: "是否生成上架流水",
1084 + columnName: "weatherGenerateWater",
1085 + columnWidth: "130",
1086 + status: 1
1087 + },
1088 + ],
1089 + //流水表
1090 + "weatherTable": [
1091 + {
1092 + columnChineseName: "AccsId",
1093 + columnName: "accsId",
1094 + columnWidth: "",
1095 + status: 1
1096 + },
1097 + {
1098 + columnChineseName: "运单号",
1099 + columnName: "waybillNo",
1100 + columnWidth: "",
995 status: 1 1101 status: 1
996 }, 1102 },
997 { 1103 {
998 - name: "创建时间", 1104 + columnChineseName: "航班号",
999 - value: "dmCreateTime", 1105 + columnName: "flightNo",
1000 - width: "", 1106 + columnWidth: "100",
1001 - align: "center",
1002 status: 1 1107 status: 1
1003 }, 1108 },
1004 { 1109 {
1005 - name: "落地时间", 1110 + columnChineseName: "航班日期",
1006 - value: "dmSendTime", 1111 + columnName: "flightTime",
1007 - width: "", 1112 + columnWidth: "",
1008 - align: "center",
1009 status: 1 1113 status: 1
1010 }, 1114 },
1011 { 1115 {
1012 - name: "航班号", 1116 + columnChineseName: "申报类别",
1013 - value: "dmFlightNbr", 1117 + columnName: "declarationCategory",
1014 - width: "", 1118 + columnWidth: "100",
1015 - align: "center",
1016 status: 1 1119 status: 1
1017 }, 1120 },
1018 { 1121 {
1019 - name: "航班日期", 1122 + columnChineseName: "是否开启高地价",
1020 - value: "dmFlightDate", 1123 + columnName: "highLowPriceFlg",
1021 - width: "", 1124 + columnWidth: "",
1022 - align: "center",
1023 status: 1 1125 status: 1
1024 }, 1126 },
1025 { 1127 {
1026 - name: "货物创建时间", 1128 + columnChineseName: "增加重量",
1027 - value: "cargoCreateTime", 1129 + columnName: "increaseWeight",
1028 - width: "", 1130 + columnWidth: "100",
1029 - align: "center",
1030 status: 1 1131 status: 1
1031 }, 1132 },
1032 { 1133 {
1033 - name: "推送状态", 1134 + columnChineseName: "减轻重量",
1034 - value: "cargoAllocationDataStatus", 1135 + columnName: "reduceWeight",
1035 - width: "", 1136 + columnWidth: "100",
1036 - align: "center",
1037 status: 1 1137 status: 1
1038 }, 1138 },
1039 { 1139 {
1040 - name: "ACCS航线", 1140 + columnChineseName: "航班剩余重量",
1041 - value: "flightFltDate", 1141 + columnName: "surplusWeight",
1042 - width: "", 1142 + columnWidth: "",
1043 - align: "center",
1044 status: 1 1143 status: 1
1045 }, 1144 },
1046 { 1145 {
1047 - name: "ACCS Pool", 1146 + columnChineseName: "操作来源",
1048 - value: "flightFltNo", 1147 + columnName: "operationSource",
1049 - width: "", 1148 + columnWidth: "",
1050 - align: "center",
1051 status: 1 1149 status: 1
1052 }, 1150 },
1053 { 1151 {
1054 - name: "消息代码", 1152 + columnChineseName: "重量增加减少",
1055 - value: "sendLogSendTime", 1153 + columnName: "weightMark",
1056 - width: "", 1154 + columnWidth: "",
1057 - align: "center",
1058 status: 1 1155 status: 1
1059 }, 1156 },
1060 { 1157 {
1061 - name: "消息发送时间", 1158 + columnChineseName: "创建日期",
1062 - value: "sendLogSendResult", 1159 + columnName: "createTime",
1063 - width: "", 1160 + columnWidth: "",
1064 - align: "center",
1065 status: 1 1161 status: 1
1066 }, 1162 },
1067 ], 1163 ],
1164 + //数据字典
1068 "dict": [ 1165 "dict": [
1069 { 1166 {
1070 - name: "数据名称", 1167 + columnChineseName: "数据名称",
1071 - value: "chineseName", 1168 + columnName: "chineseName",
1072 - width: "", 1169 + columnWidth: "",
1073 - align: "center",
1074 status: 1 1170 status: 1
1075 }, 1171 },
1076 { 1172 {
1077 - name: "字典CODE", 1173 + columnChineseName: "字典CODE",
1078 - value: "code", 1174 + columnName: "code",
1079 - width: "", 1175 + columnWidth: "",
1080 - align: "center",
1081 status: 1 1176 status: 1
1082 }, 1177 },
1083 { 1178 {
1084 - name: "描述", 1179 + columnChineseName: "描述",
1085 - value: "description", 1180 + columnName: "description",
1086 - width: "", 1181 + columnWidth: "",
1087 - align: "center",
1088 status: 1 1182 status: 1
1089 } 1183 }
1090 ], 1184 ],
1091 "dictServiceCode": [ 1185 "dictServiceCode": [
1092 { 1186 {
1093 - name: "", 1187 + columnChineseName: " ",
1094 - value: "serviceCodeMapperList", 1188 + columnName: "serviceCodeMapperList",
1095 - width: "", 1189 + columnWidth: "",
1096 - align: "center", 1190 + ext1: 'expand',
1097 - expand: true,
1098 status: 1 1191 status: 1
1099 }, 1192 },
1100 { 1193 {
1101 - name: "数据名称", 1194 + columnChineseName: "数据名称",
1102 - value: "chineseName", 1195 + columnName: "chineseName",
1103 - width: "", 1196 + columnWidth: "",
1104 - align: "center",
1105 status: 1 1197 status: 1
1106 }, 1198 },
1107 { 1199 {
1108 - name: "字典CODE", 1200 + columnChineseName: "字典CODE",
1109 - value: "code", 1201 + columnName: "code",
1110 - width: "", 1202 + columnWidth: "",
1111 - align: "center",
1112 status: 1 1203 status: 1
1113 }, 1204 },
1114 { 1205 {
1115 - name: "描述", 1206 + columnChineseName: "描述",
1116 - value: "description", 1207 + columnName: "description",
1117 - width: "", 1208 + columnWidth: "",
1118 - align: "center",
1119 status: 1 1209 status: 1
1120 } 1210 }
1121 ], 1211 ],
1122 "dictServiceCodeChildren": [ 1212 "dictServiceCodeChildren": [
1123 { 1213 {
1124 - name: "数据名称", 1214 + columnChineseName: "数据名称",
1125 - value: "serviceCodeValue", 1215 + columnName: "serviceCodeValue",
1126 - width: "", 1216 + columnWidth: "",
1127 - align: "center",
1128 status: 1 1217 status: 1
1129 }, 1218 },
1130 ] 1219 ]
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
10 10
11 .wid95 { 11 .wid95 {
12 width: 95% !important; 12 width: 95% !important;
13 - } 13 +}
14 14
15 .wid90 { 15 .wid90 {
16 width: 90% !important; 16 width: 90% !important;
...@@ -80,13 +80,13 @@ ...@@ -80,13 +80,13 @@
80 margin-bottom: 20px; 80 margin-bottom: 20px;
81 } 81 }
82 82
83 - .m20 { 83 + .ml20 {
84 margin-left: 20px; 84 margin-left: 20px;
85 } 85 }
86 86
87 - // .el-dialog:not(.is-fullscreen) { 87 +// .el-dialog:not(.is-fullscreen) {
88 - // margin-top: 6vh !important; 88 +// margin-top: 6vh !important;
89 - // } 89 +// }
90 90
91 .el-table { 91 .el-table {
92 92
...@@ -113,7 +113,7 @@ ...@@ -113,7 +113,7 @@
113 font-size: 15px; 113 font-size: 15px;
114 color: #6379bb; 114 color: #6379bb;
115 // border-bottom: 1px solid #ddd; 115 // border-bottom: 1px solid #ddd;
116 - margin: 8px 10px 25px 10px; 116 + margin: 8px 10px 15px 10px;
117 padding-top: 15px; 117 padding-top: 15px;
118 padding-bottom: 5px; 118 padding-bottom: 5px;
119 119
......
...@@ -26,9 +26,9 @@ html { ...@@ -26,9 +26,9 @@ html {
26 height: 100%; 26 height: 100%;
27 } 27 }
28 28
29 -input { 29 +// input {
30 - background-color: #fff !important; 30 +// background-color: #fff !important;
31 -} 31 +// }
32 32
33 *, 33 *,
34 *:before, 34 *:before,
...@@ -194,11 +194,12 @@ aside { ...@@ -194,11 +194,12 @@ aside {
194 z-index: 1000 !important; 194 z-index: 1000 !important;
195 } 195 }
196 196
197 - 197 +.el-table__body-wrapper,
198 -.el-table__body-wrapper { 198 +.el-textarea__inner,
199 +body {
199 &::-webkit-scrollbar { 200 &::-webkit-scrollbar {
200 - height: 7px;
201 width: 7px; 201 width: 7px;
202 + height: 7px;
202 } 203 }
203 204
204 &::-webkit-scrollbar-track { 205 &::-webkit-scrollbar-track {
...@@ -207,20 +208,33 @@ aside { ...@@ -207,20 +208,33 @@ aside {
207 208
208 &::-webkit-scrollbar-thumb { 209 &::-webkit-scrollbar-thumb {
209 background-color: #ccc; 210 background-color: #ccc;
211 + border-radius: 20px;
210 } 212 }
211 213
212 &::-webkit-scrollbar-thumb:hover { 214 &::-webkit-scrollbar-thumb:hover {
213 background-color: #409eff; 215 background-color: #409eff;
214 } 216 }
217 +
218 + &::-webkit-scrollbar-track-piece {
219 + background: #F2F6FC;
220 + }
215 } 221 }
216 222
217 -.el-scrollbar__wrap { 223 +.el-table__header-wrapper {
218 - &::-webkit-scrollbar { 224 + .has-gutter {
219 - height: 0px; 225 + .gutter {
220 - width: 0px; 226 + display: none !important;
227 + }
221 } 228 }
222 } 229 }
223 230
231 +// .el-scrollbar__wrap {
232 +// &::-webkit-scrollbar {
233 +// height: 7px;
234 +// width: 7px;
235 +// }
236 +// }
237 +
224 // 解决表格固定列问题 238 // 解决表格固定列问题
225 .el-table__fixed, 239 .el-table__fixed,
226 .el-table__fixed-right { 240 .el-table__fixed-right {
...@@ -248,3 +262,34 @@ aside { ...@@ -248,3 +262,34 @@ aside {
248 .el-table--scrollable-x:not(.el-table--scrollable-y) .el-table__fixed-right { 262 .el-table--scrollable-x:not(.el-table--scrollable-y) .el-table__fixed-right {
249 right: 0 !important; 263 right: 0 !important;
250 } 264 }
265 +
266 +.el-checkbox-group {
267 + .el-checkbox {
268 + width: 100%;
269 +
270 + .el-checkbox__input {
271 + top: -5px;
272 + }
273 +
274 + .el-checkbox__label {
275 + width: 90%;
276 + overflow: hidden;
277 + text-overflow: ellipsis;
278 + white-space: nowrap;
279 + }
280 + }
281 +}
282 +
283 +.el-transfer-panel__body {
284 + .el-checkbox-group {
285 + .el-checkbox {
286 + .el-checkbox__input {
287 + top: 6px !important;
288 + }
289 + }
290 + }
291 +}
292 +
293 +.el-select-dropdown {
294 + max-width: 300px;
295 +}
...\ No newline at end of file ...\ No newline at end of file
......
1 +<template>
2 + <div>
3 + <el-button v-if="buttonShow" class="mt5" size="mini" icon="el-icon-edit-outline" circle @click="visibleOpen">
4 + </el-button>
5 + <el-dialog title="表格显示设置" :visible.sync="open" width="40%" :close-on-click-modal="false" :show-close="false"
6 + append-to-body center>
7 + <div style="text-align: center">
8 + <el-transfer style="text-align: left; display: inline-block" :data="transferData"
9 + :right-default-checked="rightDefaultChecked" v-model="transferValue" :titles="transferTitle"
10 + :props="props" v-loading="transferLoading" @change="change" @right-check-change="rightCheckChange">
11 + <template slot="left-footer">
12 + <div></div>
13 + </template>
14 + <template slot="right-footer">
15 + <el-button style="margin-left:20px" type="primary" size="mini" icon="el-icon-top"
16 + :disabled="updisabled" @click="up">
17 + </el-button>
18 + <el-button type="primary" size="mini" icon="el-icon-bottom" :disabled="downdisabled"
19 + @click="down"></el-button>
20 + </template>
21 + </el-transfer>
22 + </div>
23 + <div slot="footer" class="dialog-footer">
24 + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button>
25 + <el-button @click="close">取 消</el-button>
26 + </div>
27 + </el-dialog>
28 + </div>
29 +</template>
30 +
31 +<script>
32 +import { getHeaderOrder, saveTableHeader } from "@/api/system/user.js";
33 +
34 +export default {
35 + props: {
36 + tableName: {
37 + type: String,
38 + default: ''
39 + }
40 + },
41 + data() {
42 + return {
43 + transferData: [],//穿梭框数据
44 + transferValue: [],//已选择数据key
45 + rightDefaultChecked: [],//右侧复选框选中
46 + transferTitle: ['未显示列', '已显示列'],
47 + props: { key: 'id', label: 'columnChineseName' },
48 + open: false,
49 + loading: false,
50 + updisabled: true,
51 + downdisabled: true,
52 + buttonShow: true,
53 + transferLoading: false
54 + }
55 + },
56 + created() {
57 + if (this.$store.getters.tableHeader) {
58 + this.buttonShow = true
59 + } else {
60 + this.buttonShow = false
61 + }
62 + },
63 + watch: {
64 + open(val, oldVal) {
65 + if (val) {
66 + this.transferData = this.$store.getters.tableHeader[this.tableName]
67 + this.transferLoading = true
68 + // 获取用户显示表头
69 + getHeaderOrder(`tableName=${this.tableName}`).then(res => {
70 + this.transferLoading = false
71 + if (res.code == 200) {
72 + this.transferValue = res.data
73 + } else {
74 + this.msgwarning(res.msg)
75 + }
76 + }).catch(err => {
77 + this.transferLoading = false
78 + console.log(err)
79 + })
80 + }
81 + }
82 + },
83 + methods: {
84 + // 确定
85 + submit() {
86 + this.loading = true
87 + let obj = this.$store.getters.tableHeader
88 + // 保存设置
89 + saveTableHeader({ tableName: this.tableName, idList: this.transferValue }).then(res => {
90 + if (res.code === 200) {
91 + obj[this.tableName] = res.data
92 + this.$store.dispatch('SavetableHeader', obj)
93 + this.msgSuccess('操作成功')
94 + this.close(1)
95 + } else {
96 + this.msgWarning(res.msg)
97 + }
98 + this.$nextTick(() => {
99 + this.loading = false
100 + })
101 + }).catch(err => {
102 + this.loading = false
103 + console.log(err)
104 + })
105 + },
106 + //dialog开启
107 + visibleOpen() {
108 + this.open = true
109 + },
110 + // transferChange
111 + change(val) {
112 + let arr = []
113 + let status0 = []
114 + this.transferValue = val
115 + this.transferData.forEach((item, i) => {
116 + if (!this.transferValue.includes(item.id)) {
117 + status0.push(item)
118 + } else {
119 + this.transferValue.forEach((vals, index) => {
120 + if (vals == item.id) {
121 + arr.push(item)
122 + }
123 + })
124 + }
125 + })
126 + this.transferData = arr.concat(status0)
127 + this.rightDefaultChecked = []
128 + this.updisabled = true
129 + this.downdisabled = true
130 + },
131 + //右侧选中,上下移动按钮状态设置
132 + rightCheckChange(val) {
133 + this.rightDefaultChecked = val
134 + if (val.length == 1) {
135 + if (this.transferValue.length > 1) {
136 + this.transferValue.forEach((item, index) => {
137 + if (item === val[0]) {
138 + if (index === 0) {
139 + this.updisabled = true
140 + this.downdisabled = false
141 + } else if (index === this.transferValue.length - 1) {
142 + this.updisabled = false
143 + this.downdisabled = true
144 + } else {
145 + this.updisabled = false
146 + this.downdisabled = false
147 + }
148 + }
149 + })
150 + }
151 + } else {
152 + this.updisabled = true
153 + this.downdisabled = true
154 + }
155 + },
156 + //当前数据整理
157 + tableHeadersSort() {
158 + let arr = []
159 + let status0 = []
160 + this.transferData.forEach((item, i) => {
161 + if (!this.transferValue.includes(item.id)) {
162 + status0.push(item)
163 + } else {
164 + this.transferValue.forEach((val, index) => {
165 + if (val == item.id) {
166 + arr[index] = item
167 + }
168 + })
169 + }
170 + })
171 + arr = arr.concat(status0)
172 + this.transferData = arr
173 + },
174 + //右侧单条数据上移
175 + up() {
176 + if (!this.updisabled) {
177 + let str = ''
178 + this.transferValue.forEach((item, index) => {
179 + if (item == this.rightDefaultChecked[0]) {
180 + str = item
181 + this.transferValue[index] = this.transferValue[index - 1]
182 + this.transferValue[index - 1] = str
183 + return
184 + }
185 + })
186 + this.tableHeadersSort()
187 + this.rightCheckChange([str])
188 + }
189 + },
190 + //右侧单条数据下移
191 + down() {
192 + if (!this.downdisabled) {
193 + let str = ''
194 + let int = 1
195 + this.transferValue.forEach((item, index) => {
196 + if (item == this.rightDefaultChecked[0] && int === 1) {
197 + str = item
198 + this.transferValue[index] = this.transferValue[index + 1]
199 + this.transferValue[index + 1] = str
200 + int++
201 + return
202 + }
203 + })
204 + this.tableHeadersSort()
205 + this.rightCheckChange([str])
206 + }
207 + },
208 + //dialog关闭
209 + close(val) {
210 + this.rightDefaultChecked = []
211 + this.updisabled = true
212 + this.downdisabled = true
213 + this.open = false
214 + this.$emit('close', val)
215 + }
216 + }
217 +}
218 +</script>
219 +
220 +<style lang="scss">
221 +.el-transfer-panel__body.is-with-footer {
222 + padding-bottom: 0px;
223 + margin-bottom: 40px
224 +}
225 +
226 +.el-transfer {
227 + .el-transfer-panel {
228 + width: 220px;
229 +
230 + .el-transfer-panel__list {
231 + overflow-x: hidden;
232 + overflow-y: scroll;
233 + }
234 +
235 + .el-transfer-panel__list::-webkit-scrollbar {
236 + width: 5px;
237 + height: 5px;
238 + }
239 +
240 + .el-transfer-panel__list::-webkit-scrollbar-thumb {
241 + border-radius: 10px;
242 + -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
243 + background: rgba(0, 0, 0, 0.2);
244 + }
245 + }
246 +
247 + .el-transfer__buttons {
248 + .el-button {
249 + display: block;
250 + padding: 9px 15px;
251 + font-size: 12px;
252 + border-radius: 3px;
253 + }
254 +
255 + .el-button+.el-button {
256 + margin-left: 0px
257 + }
258 + }
259 +
260 +}
261 +</style>
...\ No newline at end of file ...\ No newline at end of file
1 <template> 1 <template>
2 - <div class="w-table" :class="{ 'w-table_moving': dragState.dragging }"> 2 + <div class="w-table w-table_moving">
3 <el-table :ref="tableName" :data="data" :border="border" :stripe="stripe" :size="size" :fit="fit" :indent="indent" 3 <el-table :ref="tableName" :data="data" :border="border" :stripe="stripe" :size="size" :fit="fit" :indent="indent"
4 :show-header="showHeader" :height="height" :highlight-current-row="highlightCurrentRow" :lazy="lazy" 4 :show-header="showHeader" :height="height" :highlight-current-row="highlightCurrentRow" :lazy="lazy"
5 :downShiftKey="shiftKey" :limitStart="limitStart" :row-key="rowKey" :default-expand-all="defaultExpandAll" 5 :downShiftKey="shiftKey" :limitStart="limitStart" :row-key="rowKey" :default-expand-all="defaultExpandAll"
6 - :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" v-loading="loading" 6 + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" v-loading="loading" @sort-change="sortChange"
7 - :cell-class-name="cellClassName" :header-cell-class-name="headerCellClassName" @sort-change="sortChange" 7 + @select="tableSelect" @select-all="tableSelectAll" @select-change="SelectChange" @row-click="rowClick">
8 - @select="tableSelect" @select-all="tableSelectAll" @select-change="SelectChange">
9 <!-- 多选框 --> 8 <!-- 多选框 -->
10 - <el-table-column v-if="selection" type="selection" width="50" align="center" :fixed="true"></el-table-column> 9 + <el-table-column v-if="selection" type="selection" width="50" :align="tableAlign" :fixed="selectFixed"
10 + :header-align="headerAlign">
11 + </el-table-column>
11 <!-- 序号 --> 12 <!-- 序号 -->
12 - <el-table-column type="index" width="50" align="center" :index="indexAdd"></el-table-column> 13 + <el-table-column v-if="order" label="序号" type="index" width="70" :align="tableAlign" :index="indexAdd"
13 - <template v-for="(item, index) in headerData"> 14 + :header-align="headerAlign" show-overflow-tooltip>
15 + </el-table-column>
16 + <template v-for="(item, index) in headerData" :key="" v-if="item.status == 1">
14 <!-- 自定义插槽 --> 17 <!-- 自定义插槽 -->
15 - <el-table-column v-if="item.slot" :prop="item.value" :label="item.name" :width="item.width" :align="item.align" 18 + <el-table-column v-if="tableColumnHidden(item.ext1, 'slot')" :prop="item.columnName"
19 + :label="item.columnChineseName" :width="item.columnWidth" :align="item.align ? item.align : 'center'"
16 :fixed="item.fixed ? item.fixed : false" :show-overflow-tooltip="showOverflowTooltip" 20 :fixed="item.fixed ? item.fixed : false" :show-overflow-tooltip="showOverflowTooltip"
17 - :sortable="item.sorTable ? true : false" :formatter="formatter" header-align="center" 21 + :sortable="tableColumnHidden(item.ext1, 'sorTable')" :formatter="formatter" :header-align="headerAlign"
18 - :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :render-header="renderHeader" 22 + :column-key="index.toString()" :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader"
19 - :key="index"> 23 + :key="item.columnName">
24 + <template slot="header" slot-scope="scope">
25 + <Tooltips :content="scope.column.label" :refName="scope.column.columnName"></Tooltips>
26 + </template>
27 + <template slot-scope="scope">
28 + <slot :name="item.columnName" :row="scope.row"></slot>
29 + </template>
30 + </el-table-column>
31 + <!-- 隐藏行 -->
32 + <el-table-column v-else-if="tableColumnHidden(item.ext1, 'expand')" type="expand" :prop="item.columnName"
33 + :label="item.columnChineseName" :index="item.index" :width="item.columnWidth"
34 + :align="item.align ? item.align : 'center'" :fixed="item.fixed ? item.fixed : false"
35 + :column-key="index.toString()" :show-overflow-tooltip="showOverflowTooltip" :header-align="headerAlign"
36 + :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :formatter="formatter"
37 + :key="item.index">
38 + <template slot="header" slot-scope="scope">
39 + <Tooltips :content="scope.column.label" :refName="scope.column.columnName"></Tooltips>
40 + </template>
20 <template slot-scope="scope"> 41 <template slot-scope="scope">
21 - <slot :name="item.value" :row="scope.row"></slot> 42 + <slot :name="item.columnName" :row="scope.row"></slot>
22 </template> 43 </template>
23 </el-table-column> 44 </el-table-column>
24 <!-- 默认数据 --> 45 <!-- 默认数据 -->
25 - <el-table-column v-else :prop="item.value" :label="item.name" :index="item.index" :width="item.width" 46 + <el-table-column v-else :prop="item.columnName" :label="item.columnChineseName" :index="item.index"
26 - :align="item.align" :fixed="item.fixed ? item.fixed : false" :sortable="item.sorTable ? true : false" 47 + :width="item.columnWidth" :align="item.align ? item.align : 'center'" :fixed="item.fixed ? item.fixed : false"
27 - :column-key="index.toString()" :show-overflow-tooltip="showOverflowTooltip" header-align="center" 48 + :sortable="tableColumnHidden(item.ext1, 'sorTable')" :column-key="index.toString()"
28 - :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :render-header="renderHeader" 49 + :show-overflow-tooltip="showOverflowTooltip" :header-align="headerAlign"
29 - :formatter="formatter" :key="index"> 50 + :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :formatter="formatter"
51 + :key="item.id">
52 + <template slot="header" slot-scope="scope">
53 + <Tooltips :content="scope.column.label" :refName="scope.column.columnName"></Tooltips>
54 + </template>
30 </el-table-column> 55 </el-table-column>
31 </template> 56 </template>
32 <slot name="optionColumn"></slot> 57 <slot name="optionColumn"></slot>
...@@ -39,8 +64,7 @@ ...@@ -39,8 +64,7 @@
39 </template> 64 </template>
40 65
41 <script> 66 <script>
42 -import dictLabels from "../../assets/languages/dictLabels.js"; 67 +
43 -import { scrollTo } from "@/utils/scroll-to";
44 export default { 68 export default {
45 name: "Table", 69 name: "Table",
46 props: { 70 props: {
...@@ -70,6 +94,10 @@ export default { ...@@ -70,6 +94,10 @@ export default {
70 type: Boolean, 94 type: Boolean,
71 default: true, 95 default: true,
72 }, 96 },
97 + selectFixed: {
98 + type: Boolean,
99 + default: true
100 + },
73 size: { 101 size: {
74 type: String, 102 type: String,
75 default: "mini", 103 default: "mini",
...@@ -169,7 +197,27 @@ export default { ...@@ -169,7 +197,27 @@ export default {
169 }, 197 },
170 layout: { 198 layout: {
171 type: String, 199 type: String,
172 - default: 'prev, pager, next, jumper, ->, sizes, total' 200 + default: 'total,prev, pager, next, jumper, ->, sizes'
201 + },
202 + tableAlign: {
203 + type: String,
204 + default: 'center'
205 + },
206 + headerAlign: {
207 + type: String,
208 + default: 'center'
209 + },
210 + // treeProps: {
211 + // type: Object,
212 + // default: { children: 'children', hasChildren: 'hasChildren' }
213 + // },
214 + order: {
215 + type: Boolean,
216 + default: true
217 + },
218 + expand: {
219 + type: Boolean,
220 + default: false
173 } 221 }
174 }, 222 },
175 inheritAttrs: false, 223 inheritAttrs: false,
...@@ -179,20 +227,14 @@ export default { ...@@ -179,20 +227,14 @@ export default {
179 pageNum: 1, 227 pageNum: 1,
180 start: -1, 228 start: -1,
181 show: false, 229 show: false,
182 - dragState: {
183 - start: -9, // 起始元素的 index
184 - end: -9, // 移动鼠标时所覆盖的元素 index
185 - dragging: false, // 是否正在拖动
186 - direction: undefined, // 拖动方向
187 - },
188 //表头数据格式 230 //表头数据格式
189 // { 231 // {
190 - // name: "", 232 + // columnChineseName: "",
191 - // value: "", 233 + // columnName: "",
192 - // width: "", 234 + // columnWidth: "",
193 // align: "center", 235 // align: "center",
194 // sorTable: false, 236 // sorTable: false,
195 - // fixed:false, 237 + // status: 1
196 // }, 238 // },
197 }; 239 };
198 }, 240 },
...@@ -221,7 +263,6 @@ export default { ...@@ -221,7 +263,6 @@ export default {
221 page: this.pageNum + 1, 263 page: this.pageNum + 1,
222 start: this.limitStart + this.limitSize, 264 start: this.limitStart + this.limitSize,
223 }); 265 });
224 - scrollTo(0, 800);
225 }, 266 },
226 //上一页 267 //上一页
227 prevClick() { 268 prevClick() {
...@@ -229,7 +270,6 @@ export default { ...@@ -229,7 +270,6 @@ export default {
229 page: this.pageNum - 1, 270 page: this.pageNum - 1,
230 start: this.limitStart - this.limitSiz, 271 start: this.limitStart - this.limitSiz,
231 }); 272 });
232 - scrollTo(0, 800);
233 }, 273 },
234 //某页 274 //某页
235 currentChange(val) { 275 currentChange(val) {
...@@ -237,7 +277,6 @@ export default { ...@@ -237,7 +277,6 @@ export default {
237 page: val, 277 page: val,
238 start: val > 1 ? (val - 1) * this.limitSize + 1 : val, 278 start: val > 1 ? (val - 1) * this.limitSize + 1 : val,
239 }); 279 });
240 - scrollTo(0, 800);
241 }, 280 },
242 //连续序号 281 //连续序号
243 indexAdd(index) { 282 indexAdd(index) {
...@@ -290,7 +329,9 @@ export default { ...@@ -290,7 +329,9 @@ export default {
290 } 329 }
291 } 330 }
292 } 331 }
332 + if (row.index) {
293 selection = this.selectTable.sort(this.compare("index", "ascending")); 333 selection = this.selectTable.sort(this.compare("index", "ascending"));
334 + }
294 this.$emit("tableSelect", { selection, row }); 335 this.$emit("tableSelect", { selection, row });
295 }, 336 },
296 //表格全选 337 //表格全选
...@@ -302,6 +343,10 @@ export default { ...@@ -302,6 +343,10 @@ export default {
302 SelectChange(selection) { 343 SelectChange(selection) {
303 this.$emit("SelectChange", selection); 344 this.$emit("SelectChange", selection);
304 }, 345 },
346 + //行被点击
347 + rowClick(val) {
348 + this.$emit('rowClick', val)
349 + },
305 //表格选择清空 350 //表格选择清空
306 clearTable() { 351 clearTable() {
307 this.selectTable = []; 352 this.selectTable = [];
...@@ -328,37 +373,12 @@ export default { ...@@ -328,37 +373,12 @@ export default {
328 } 373 }
329 }; 374 };
330 }, 375 },
331 - //自定义表头
332 - renderHeader(createElement, { column }) {
333 - return createElement(
334 - "div",
335 - {
336 - class: ["thead-cell"],
337 - },
338 - [
339 - // 添加 <a> 用于显示表头 label
340 - createElement("div", column.label),
341 - ]
342 - );
343 - },
344 - headerCellClassName({ column, columnIndex }) {
345 - let active =
346 - columnIndex - 1 === this.dragState.end
347 - ? `darg_active_${this.dragState.direction}`
348 - : "";
349 - let start = columnIndex - 1 === this.dragState.start ? `darg_start` : "";
350 - return `${active} ${start}`;
351 - },
352 -
353 - cellClassName({ column, columnIndex }) {
354 - return columnIndex - 1 === this.dragState.start ? `darg_start` : "";
355 - },
356 //数据格式化 376 //数据格式化
357 formatter(row, column, cellValue, index) { 377 formatter(row, column, cellValue, index) {
358 - if (dictLabels[this.ductName]) { 378 + if (this.dictLabels[this.ductName]) {
359 - if (dictLabels[this.ductName][column.property]) { 379 + if (this.dictLabels[this.ductName][column.property]) {
360 - if (dictLabels[this.ductName][column.property][cellValue]) { 380 + if (this.dictLabels[this.ductName][column.property][cellValue]) {
361 - return dictLabels[this.ductName][column.property][cellValue]; 381 + return this.dictLabels[this.ductName][column.property][cellValue];
362 } 382 }
363 } 383 }
364 } 384 }
...@@ -368,8 +388,28 @@ export default { ...@@ -368,8 +388,28 @@ export default {
368 if (column.property == 'flightIdImac') { 388 if (column.property == 'flightIdImac') {
369 return cellValue == null ? '未配' : '已配' 389 return cellValue == null ? '未配' : '已配'
370 } 390 }
391 + if (this.ductName === 'weatherTable') {
392 + if (column.property == 'flightTime') {
393 + return cellValue ? cellValue.split(" ")[0] : ''
394 + }
395 + }
396 + if (this.ductName === 'cargoLog') {
397 + if (column.property == 'flightDate' || column.property == 'accsFlightDate') {
398 + return cellValue ? cellValue.split(" ")[0] : ''
399 + }
400 + }
371 return cellValue; 401 return cellValue;
372 }, 402 },
403 + //列显示状态
404 + tableColumnHidden(val, status) {
405 + if (typeof val == 'string') {
406 + if (val.indexOf(status) >= 0) {
407 + return true
408 + } else {
409 + return false
410 + }
411 + }
412 + }
373 }, 413 },
374 }; 414 };
375 </script> 415 </script>
...@@ -387,9 +427,21 @@ export default { ...@@ -387,9 +427,21 @@ export default {
387 background-color: #f3f3f3; 427 background-color: #f3f3f3;
388 } 428 }
389 429
390 - .el-table th { 430 +
431 + .el-table {
432 + th {
391 padding: 0; 433 padding: 0;
392 434
435 + .cell {
436 + min-width: 24px;
437 +
438 + .caret-wrapper {
439 + position: absolute;
440 + top: -20%;
441 + right: 3%;
442 + }
443 + }
444 +
393 .virtual { 445 .virtual {
394 position: absolute; 446 position: absolute;
395 display: block; 447 display: block;
...@@ -415,33 +467,9 @@ export default { ...@@ -415,33 +467,9 @@ export default {
415 } 467 }
416 } 468 }
417 } 469 }
418 -
419 - .thead-cell {
420 - padding: 0;
421 - display: inline-flex;
422 - flex-direction: column;
423 - align-items: left;
424 - overflow: initial;
425 -
426 - &:before {
427 - content: "";
428 - position: absolute;
429 - top: 0;
430 - left: 0;
431 - bottom: 0;
432 - right: 0;
433 - }
434 } 470 }
435 471
436 - &.w-table_moving {
437 - .el-table th .thead-cell {
438 - cursor: move !important;
439 - }
440 472
441 - .el-table__fixed {
442 - cursor: not-allowed;
443 - }
444 - }
445 } 473 }
446 474
447 .tableList { 475 .tableList {
......
1 +<template>
2 + <div class="text-tooltip">
3 + <el-tooltip class="item" effect="dark" :disabled="isShowTooltip" :content="content" :placement="placement">
4 + <div class="over-flow" @mouseover="onMouseOver(refName)">
5 + <span :ref="refName">{{ content }}</span>
6 + </div>
7 + </el-tooltip>
8 + </div>
9 +</template>
10 +
11 +<script>
12 +export default {
13 + name: 'textTooltip',
14 + props: {
15 + // 显示的文字内容
16 + content: {
17 + type: String,
18 + default: () => {
19 + return ''
20 + }
21 + },
22 + refName: {
23 + type: String,
24 + default: () => {
25 + return ''
26 + }
27 + },
28 + placement: {
29 + type: String,
30 + default: 'top'
31 + }
32 + },
33 + data() {
34 + return {
35 + isShowTooltip: true
36 + }
37 + },
38 + methods: {
39 + onMouseOver(str) {
40 + if (this.$refs[str]) {
41 + const parentWidth = this.$refs[str].parentNode.offsetWidth;
42 + const contentWidth = this.$refs[str].offsetWidth;
43 + // 判断是否开启tooltip功能
44 + if (contentWidth > parentWidth) {
45 + this.isShowTooltip = false;
46 + } else {
47 + this.isShowTooltip = true;
48 + }
49 + }
50 + }
51 + }
52 +}
53 +</script>
54 +
55 +<style scoped>
56 +.over-flow {
57 + overflow: hidden;
58 + white-space: nowrap;
59 + text-overflow: ellipsis;
60 +}
61 +</style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -11,16 +11,20 @@ import App from './App' ...@@ -11,16 +11,20 @@ import App from './App'
11 import store from './store' 11 import store from './store'
12 import router from './router' 12 import router from './router'
13 import permission from './directive/permission' 13 import permission from './directive/permission'
14 -// import i18n from './i18n/index'
15 14
16 import './assets/icons' // icon 15 import './assets/icons' // icon
17 import './permission' // permission control 16 import './permission' // permission control
18 import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, upCase, nowDate } from "@/utils/FedEx"; 17 import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, upCase, nowDate } from "@/utils/FedEx";
18 +import { isArray } from "@/utils/validate";
19 import Pagination from "@/components/Pagination"; 19 import Pagination from "@/components/Pagination";
20 // 自定义表格工具扩展 20 // 自定义表格工具扩展
21 import RightToolbar from "@/components/RightToolbar" 21 import RightToolbar from "@/components/RightToolbar"
22 import Table from "@/components/Table" 22 import Table from "@/components/Table"
23 +import Tooltip from "@/components/Tooltip"
24 +import HeaderSetting from "@/components/HeaderSetting"
23 import tableHeaders from '@/assets/languages/tableHeaders' 25 import tableHeaders from '@/assets/languages/tableHeaders'
26 +import dictLabels from "@/assets/languages/dictLabels.js";
27 +import settings from './settings.js'
24 28
25 // 全局方法挂载 29 // 全局方法挂载
26 Vue.prototype.parseTime = parseTime 30 Vue.prototype.parseTime = parseTime
...@@ -32,7 +36,10 @@ Vue.prototype.download = download ...@@ -32,7 +36,10 @@ Vue.prototype.download = download
32 Vue.prototype.handleTree = handleTree 36 Vue.prototype.handleTree = handleTree
33 Vue.prototype.upCase = upCase 37 Vue.prototype.upCase = upCase
34 Vue.prototype.nowDate = nowDate 38 Vue.prototype.nowDate = nowDate
39 +Vue.prototype.isArray = isArray
35 Vue.prototype.tableHeaders = tableHeaders 40 Vue.prototype.tableHeaders = tableHeaders
41 +Vue.prototype.dictLabels = dictLabels
42 +Vue.prototype.settings = settings
36 43
37 Vue.prototype.msgSuccess = function (msg) { 44 Vue.prototype.msgSuccess = function (msg) {
38 this.$message({ showClose: true, message: msg, type: "success" }); 45 this.$message({ showClose: true, message: msg, type: "success" });
...@@ -54,6 +61,8 @@ Vue.prototype.msgInfo = function (msg) { ...@@ -54,6 +61,8 @@ Vue.prototype.msgInfo = function (msg) {
54 Vue.component('Pagination', Pagination) 61 Vue.component('Pagination', Pagination)
55 Vue.component('RightToolbar', RightToolbar) 62 Vue.component('RightToolbar', RightToolbar)
56 Vue.component('Tables', Table) 63 Vue.component('Tables', Table)
64 +Vue.component('Tooltips', Tooltip)
65 +Vue.component('HeaderSetting', HeaderSetting)
57 66
58 Vue.use(permission) 67 Vue.use(permission)
59 /** 68 /**
...@@ -65,6 +74,13 @@ Vue.use(permission) ...@@ -65,6 +74,13 @@ Vue.use(permission)
65 * please remove it before going online! ! ! 74 * please remove it before going online! ! !
66 */ 75 */
67 76
77 +window.addEventListener("keydown", (code) => {
78 + if (code.keyCode === 13) {
79 + return false
80 + }
81 +});
82 +
83 +
68 Vue.use(Element, { 84 Vue.use(Element, {
69 //size: Cookies.get('size') || 'medium' // set element-ui default size 85 //size: Cookies.get('size') || 'medium' // set element-ui default size
70 // size: localStorage.getItem('size') || 'medium' // set element-ui default size 86 // size: localStorage.getItem('size') || 'medium' // set element-ui default size
...@@ -76,6 +92,5 @@ new Vue({ ...@@ -76,6 +92,5 @@ new Vue({
76 el: '#app', 92 el: '#app',
77 router, 93 router,
78 store, 94 store,
79 - // i18n,
80 render: h => h(App) 95 render: h => h(App)
81 }) 96 })
......
...@@ -16,11 +16,13 @@ router.beforeEach((to, from, next) => { ...@@ -16,11 +16,13 @@ router.beforeEach((to, from, next) => {
16 if (store.getters.roles.length === 0) { 16 if (store.getters.roles.length === 0) {
17 // 判断当前用户是否已拉取完user_info信息 17 // 判断当前用户是否已拉取完user_info信息
18 store.dispatch('GetInfo').then(() => { 18 store.dispatch('GetInfo').then(() => {
19 + store.dispatch('GetTableHeaders').then(() => {
19 store.dispatch('GenerateRoutes').then(accessRoutes => { 20 store.dispatch('GenerateRoutes').then(accessRoutes => {
20 // 根据roles权限生成可访问的路由表 21 // 根据roles权限生成可访问的路由表
21 router.addRoutes(accessRoutes) // 动态添加可访问路由表 22 router.addRoutes(accessRoutes) // 动态添加可访问路由表
22 next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 23 next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
23 }) 24 })
25 + })
24 }).catch(err => { 26 }).catch(err => {
25 Message.error(err) 27 Message.error(err)
26 store.dispatch('LogOut').then(() => { 28 store.dispatch('LogOut').then(() => {
...@@ -48,7 +50,6 @@ router.beforeEach((to, from, next) => { ...@@ -48,7 +50,6 @@ router.beforeEach((to, from, next) => {
48 window.location.href = settings.logoutURL;//wsso系统跳转 50 window.location.href = settings.logoutURL;//wsso系统跳转
49 } 51 }
50 } 52 }
51 -
52 } 53 }
53 }) 54 })
54 55
......
...@@ -84,7 +84,13 @@ export const constantRoutes = [ ...@@ -84,7 +84,13 @@ export const constantRoutes = [
84 component: (resolve) => require(['@/views/allocationConfig/flightAllocConfig/info'], resolve), 84 component: (resolve) => require(['@/views/allocationConfig/flightAllocConfig/info'], resolve),
85 name: 'FlightAllocConfigAdd', 85 name: 'FlightAllocConfigAdd',
86 meta: { title: '添加航班配舱', icon: 'user', breadcrumb: false } 86 meta: { title: '添加航班配舱', icon: 'user', breadcrumb: false }
87 - } 87 + },
88 + {
89 + path: '/weatherTable',
90 + component: (resolve) => require(['@/views/systemLog/dmLog/weatherTable'], resolve),
91 + name: 'weatherTable',
92 + meta: { title: '流水表', icon: 'user' }
93 + },
88 ] 94 ]
89 } 95 }
90 ] 96 ]
......
...@@ -58,5 +58,5 @@ module.exports = { ...@@ -58,5 +58,5 @@ module.exports = {
58 /** 58 /**
59 * 版本号 59 * 版本号
60 */ 60 */
61 - version: 'version:1.3.0' 61 + version: 'version:1.5.0'
62 } 62 }
......
...@@ -17,5 +17,6 @@ const getters = { ...@@ -17,5 +17,6 @@ const getters = {
17 defaultRoutes: state => state.permission.defaultRoutes, 17 defaultRoutes: state => state.permission.defaultRoutes,
18 sidebarRouters: state => state.permission.sidebarRouters, 18 sidebarRouters: state => state.permission.sidebarRouters,
19 filghtAllData: state => state.permission.filghtAllData, 19 filghtAllData: state => state.permission.filghtAllData,
20 + tableHeader: state => state.user.tableHeader
20 } 21 }
21 export default getters 22 export default getters
......
1 import { login, logout, getInfo } from '@/api/login' 1 import { login, logout, getInfo } from '@/api/login'
2 +import { getTableHeader } from '@/api/menu'
2 import { changeCurrentPort } from "@/api/system/user.js"; 3 import { changeCurrentPort } from "@/api/system/user.js";
3 import { getToken, setToken, removeToken } from '@/utils/auth' 4 import { getToken, setToken, removeToken } from '@/utils/auth'
4 import { Message } from 'element-ui' 5 import { Message } from 'element-ui'
...@@ -9,9 +10,10 @@ const user = { ...@@ -9,9 +10,10 @@ const user = {
9 name: '', 10 name: '',
10 avatar: '', 11 avatar: '',
11 activePortName: '', 12 activePortName: '',
12 - portNames:[], 13 + portNames: [],
13 roles: [], 14 roles: [],
14 - permissions: [] 15 + permissions: [],
16 + tableHeader: null
15 }, 17 },
16 18
17 mutations: { 19 mutations: {
...@@ -28,7 +30,7 @@ const user = { ...@@ -28,7 +30,7 @@ const user = {
28 state.activePortName = activePortName 30 state.activePortName = activePortName
29 sessionStorage.setItem('portName', activePortName) 31 sessionStorage.setItem('portName', activePortName)
30 }, 32 },
31 - SET_PORTNAMES:(state,portNames)=>{ 33 + SET_PORTNAMES: (state, portNames) => {
32 state.portNames = portNames 34 state.portNames = portNames
33 }, 35 },
34 SET_ROLES: (state, roles) => { 36 SET_ROLES: (state, roles) => {
...@@ -36,7 +38,10 @@ const user = { ...@@ -36,7 +38,10 @@ const user = {
36 }, 38 },
37 SET_PERMISSIONS: (state, permissions) => { 39 SET_PERMISSIONS: (state, permissions) => {
38 state.permissions = permissions 40 state.permissions = permissions
39 - } 41 + },
42 + SAVE_TABLEHEADER: (state, table) => {
43 + state.tableHeader = table
44 + },
40 }, 45 },
41 46
42 actions: { 47 actions: {
...@@ -49,7 +54,7 @@ const user = { ...@@ -49,7 +54,7 @@ const user = {
49 54
50 return new Promise((resolve, reject) => { 55 return new Promise((resolve, reject) => {
51 login(username, password, rememberMe).then(res => { 56 login(username, password, rememberMe).then(res => {
52 - if(res.code === 200){ 57 + if (res.code === 200) {
53 setToken(res.data) 58 setToken(res.data)
54 commit('SET_TOKEN', res.data) 59 commit('SET_TOKEN', res.data)
55 } 60 }
...@@ -60,6 +65,25 @@ const user = { ...@@ -60,6 +65,25 @@ const user = {
60 }) 65 })
61 }, 66 },
62 67
68 + //获取表头
69 + GetTableHeaders({ commit, state }) {
70 + return new Promise((resolve, reject) => {
71 + getTableHeader().then(res => {
72 + if (res.code === 200) {
73 + commit('SAVE_TABLEHEADER', res.data)
74 + }
75 + resolve(res)
76 + }).catch(err => {
77 + reject(err)
78 + })
79 + })
80 + },
81 +
82 + //保存表头
83 + SavetableHeader({ commit, state }, data) {
84 + commit('SAVE_TABLEHEADER', data)
85 + },
86 +
63 // 获取用户信息 87 // 获取用户信息
64 GetInfo({ commit, state }) { 88 GetInfo({ commit, state }) {
65 return new Promise((resolve, reject) => { 89 return new Promise((resolve, reject) => {
...@@ -67,16 +91,16 @@ const user = { ...@@ -67,16 +91,16 @@ const user = {
67 const user = res.data.user 91 const user = res.data.user
68 const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; 92 const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
69 let ports = []; 93 let ports = [];
70 - if(user.portName){ 94 + if (user.portName) {
71 ports = user.portName.split(','); 95 ports = user.portName.split(',');
72 - commit('SET_PORTNAMES',ports) 96 + commit('SET_PORTNAMES', ports)
73 - commit('SET_ACTIVEPORTNAME', sessionStorage.getItem('portName')?sessionStorage.getItem('portName'):state.portNames[0]) 97 + commit('SET_ACTIVEPORTNAME', sessionStorage.getItem('portName') ? sessionStorage.getItem('portName') : state.portNames[0])
74 - }else{ 98 + } else {
75 Message({ 99 Message({
76 message: "未找到口岸信息!请确认后再登录", 100 message: "未找到口岸信息!请确认后再登录",
77 type: 'error' 101 type: 'error'
78 }) 102 })
79 - this.LogOut().then(()=>{ 103 + this.LogOut().then(() => {
80 window.location.href = "https://test-myapps.secure.fedex.com/purpleid/signout/";//wsso系统跳转 104 window.location.href = "https://test-myapps.secure.fedex.com/purpleid/signout/";//wsso系统跳转
81 }) 105 })
82 } 106 }
...@@ -98,12 +122,12 @@ const user = { ...@@ -98,12 +122,12 @@ const user = {
98 //切换口岸 122 //切换口岸
99 changePort({ commit }, portName) { 123 changePort({ commit }, portName) {
100 return new Promise((resolve, reject) => { 124 return new Promise((resolve, reject) => {
101 - changeCurrentPort({ portName: portName }).then(res=>{ 125 + changeCurrentPort({ portName: portName }).then(res => {
102 - if(res.code === 200){ 126 + if (res.code === 200) {
103 - commit('SET_ACTIVEPORTNAME',portName) 127 + commit('SET_ACTIVEPORTNAME', portName)
104 } 128 }
105 resolve(res) 129 resolve(res)
106 - }).catch(err=>{ 130 + }).catch(err => {
107 reject(err) 131 reject(err)
108 }) 132 })
109 }) 133 })
......
...@@ -177,7 +177,7 @@ export function handleTree(data, id, parentId, children) { ...@@ -177,7 +177,7 @@ export function handleTree(data, id, parentId, children) {
177 177
178 //字符串英文转大写,;转英文; 178 //字符串英文转大写,;转英文;
179 export function upCase(str) { 179 export function upCase(str) {
180 - let newStr = str.replace(/;/g, ";").toUpperCase(); 180 + let newStr = str.replace(/;/g, ";").toUpperCase().trim();
181 return newStr; 181 return newStr;
182 } 182 }
183 183
......
...@@ -218,7 +218,7 @@ export function getTime(type) { ...@@ -218,7 +218,7 @@ export function getTime(type) {
218 export function debounce(func, wait, immediate) { 218 export function debounce(func, wait, immediate) {
219 let timeout, args, context, timestamp, result 219 let timeout, args, context, timestamp, result
220 220
221 - const later = function() { 221 + const later = function () {
222 // 据上一次触发时间间隔 222 // 据上一次触发时间间隔
223 const last = +new Date() - timestamp 223 const last = +new Date() - timestamp
224 224
...@@ -235,7 +235,7 @@ export function debounce(func, wait, immediate) { ...@@ -235,7 +235,7 @@ export function debounce(func, wait, immediate) {
235 } 235 }
236 } 236 }
237 237
238 - return function(...args) { 238 + return function (...args) {
239 context = this 239 context = this
240 timestamp = +new Date() 240 timestamp = +new Date()
241 const callNow = immediate && !timeout 241 const callNow = immediate && !timeout
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
19 <el-select placeholder="不限" v-model="formData.customsReceiptStatusId" class="formItem" multiple clearable> 19 <el-select placeholder="不限" v-model="formData.customsReceiptStatusId" class="formItem" multiple clearable>
20 <el-option v-for="item in selectData.findConditionData 20 <el-option v-for="item in selectData.findConditionData
21 .cargoCustomsReturnStatus" :label="item.chineseName" :value="item.id" :key="item.id"> 21 .cargoCustomsReturnStatus" :label="item.chineseName" :value="item.id" :key="item.id">
22 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
22 </el-option> 23 </el-option>
23 </el-select> 24 </el-select>
24 </el-form-item> 25 </el-form-item>
...@@ -45,12 +46,6 @@ ...@@ -45,12 +46,6 @@
45 </el-form-item> 46 </el-form-item>
46 </el-col> 47 </el-col>
47 <el-col :span="6"> 48 <el-col :span="6">
48 - <el-form-item label="运单号">
49 - <el-input class="formItem" type="textarea" placeholder="请输入运单号(回车分割)" :rows="1" :maxlength="12000"
50 - v-model="formData.waybillNo" clearable></el-input>
51 - </el-form-item>
52 - </el-col>
53 - <el-col :span="6">
54 <el-form-item label="申报类别"> 49 <el-form-item label="申报类别">
55 <el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable> 50 <el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable>
56 <el-option v-for="item in selectData.findConditionData.cargoType" :label="item.chineseName" 51 <el-option v-for="item in selectData.findConditionData.cargoType" :label="item.chineseName"
...@@ -64,32 +59,22 @@ ...@@ -64,32 +59,22 @@
64 <el-select placeholder="不限" v-model="formData.serviceTypeId" class="formItem" clearable> 59 <el-select placeholder="不限" v-model="formData.serviceTypeId" class="formItem" clearable>
65 <el-option v-for="item in selectData.findConditionData.cargoServiceType" :label="item.chineseName" 60 <el-option v-for="item in selectData.findConditionData.cargoServiceType" :label="item.chineseName"
66 :value="item.id" :key="item.id"> 61 :value="item.id" :key="item.id">
62 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
67 </el-option> 63 </el-option>
68 </el-select> 64 </el-select>
69 </el-form-item> 65 </el-form-item>
70 </el-col> 66 </el-col>
71 <el-col :span="6"> 67 <el-col :span="6">
72 - <el-form-item label="URSA">
73 - <el-input class="formItem" type="textarea" placeholder="S_;P_;E2" v-model="ursa" :rows="1" clearable>
74 - </el-input>
75 - </el-form-item>
76 - </el-col>
77 - <el-col :span="6">
78 - <el-form-item label="站点">
79 - <el-input class="formItem" type="textarea" placeholder="PVG;PEK" v-model="siteName" :rows="1" clearable>
80 - </el-input>
81 - </el-form-item>
82 - </el-col>
83 - <el-col :span="6">
84 <el-form-item label="重量区间"> 68 <el-form-item label="重量区间">
85 <el-row> 69 <el-row>
86 - <el-col :span="11"> 70 + <el-col :span="10">
87 - <el-input-number class="formItem" size="mini" v-model="formData.minWeight" :controls="false" :min="0" 71 + <el-input-number class="wid100" size="mini" v-model="formData.minWeight" :controls="false" :min="0"
88 :precision="2" clearable></el-input-number> 72 :precision="2" clearable></el-input-number>
89 </el-col> 73 </el-col>
90 - <el-col class="line" :span="2">-</el-col> 74 + <el-col :span="1"></el-col>
91 - <el-col :span="11"> 75 + <el-col class="line" :span="3">-</el-col>
92 - <el-input-number class="formItem" size="mini" v-model="formData.maxWeight" :controls="false" 76 + <el-col :span="10">
77 + <el-input-number class="wid100" size="mini" v-model="formData.maxWeight" :controls="false"
93 :min="formData.minWeight" :precision="2" clearable></el-input-number> 78 :min="formData.minWeight" :precision="2" clearable></el-input-number>
94 </el-col> 79 </el-col>
95 </el-row> 80 </el-row>
...@@ -98,13 +83,14 @@ ...@@ -98,13 +83,14 @@
98 <el-col :span="6"> 83 <el-col :span="6">
99 <el-form-item label="件数区间"> 84 <el-form-item label="件数区间">
100 <el-row> 85 <el-row>
101 - <el-col :span="11"> 86 + <el-col :span="10">
102 - <el-input-number class="formItem" size="mini" v-model="formData.minNumber" :controls="false" :min="0" 87 + <el-input-number class="formItem wid100" size="mini" v-model="formData.minNumber" :controls="false"
103 - clearable></el-input-number> 88 + :min="0" clearable></el-input-number>
104 </el-col> 89 </el-col>
105 - <el-col class="line" :span="2">-</el-col> 90 + <el-col :span="1"></el-col>
106 - <el-col :span="11"> 91 + <el-col class="line" :span="3">-</el-col>
107 - <el-input-number class="formItem" size="mini" v-model="formData.maxNumber" :controls="false" 92 + <el-col :span="10">
93 + <el-input-number class="formItem wid100" size="mini" v-model="formData.maxNumber" :controls="false"
108 :min="formData.minNumber" clearable></el-input-number> 94 :min="formData.minNumber" clearable></el-input-number>
109 </el-col> 95 </el-col>
110 </el-row> 96 </el-row>
...@@ -117,14 +103,37 @@ ...@@ -117,14 +103,37 @@
117 </el-date-picker> 103 </el-date-picker>
118 </el-form-item> 104 </el-form-item>
119 </el-col> 105 </el-col>
106 + <el-col :span="6">
107 + <el-form-item label="URSA">
108 + <el-input class="formItem" type="textarea" placeholder="S_;P_;E2" v-model="ursa" :rows="1" clearable>
109 + </el-input>
110 + </el-form-item>
111 + </el-col>
112 + <el-col :span="6">
113 + <el-form-item label="站点">
114 + <el-input class="formItem" type="textarea" placeholder="PVG;PEK" v-model="siteName" :rows="1" clearable>
115 + </el-input>
116 + </el-form-item>
117 + </el-col>
118 + <el-col :span="6">
119 + <el-form-item label="运单号">
120 + <el-input class="formItem" type="textarea" :rows="4" placeholder="请输入运单号(回车分割)" :maxlength="12000"
121 + v-model="formData.waybillNo" clearable></el-input>
122 + </el-form-item>
123 + </el-col>
120 <el-col :span="24"> 124 <el-col :span="24">
121 <el-form-item label="Handling Code"> 125 <el-form-item label="Handling Code">
122 <el-empty description="暂无数据" v-if=" 126 <el-empty description="暂无数据" v-if="
123 !selectData.HandlingCode || selectData.HandlingCode.length == 0 127 !selectData.HandlingCode || selectData.HandlingCode.length == 0
124 "></el-empty> 128 "></el-empty>
125 <el-checkbox-group v-model="handingCodes" v-else> 129 <el-checkbox-group v-model="handingCodes" v-else>
126 - <el-checkbox v-for="item in selectData.HandlingCode" :label="item.chineseName" v-model="item.englishName" 130 + <el-row>
127 - :key="item.id"></el-checkbox> 131 + <el-col :span="2" v-for="item in selectData.HandlingCode" :key="item.id">
132 + <el-checkbox :label="item.chineseName" v-model="item.chineseName">
133 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
134 + </el-checkbox>
135 + </el-col>
136 + </el-row>
128 </el-checkbox-group> 137 </el-checkbox-group>
129 </el-form-item> 138 </el-form-item>
130 </el-col> 139 </el-col>
...@@ -134,8 +143,13 @@ ...@@ -134,8 +143,13 @@
134 !selectData.SubCategory || selectData.SubCategory.length == 0 143 !selectData.SubCategory || selectData.SubCategory.length == 0
135 "></el-empty> 144 "></el-empty>
136 <el-checkbox-group v-model="subCategorys" v-else> 145 <el-checkbox-group v-model="subCategorys" v-else>
137 - <el-checkbox v-for="item in selectData.SubCategory" :label="item.chineseName" v-model="item.englishName" 146 + <el-row>
138 - :key="item.id"></el-checkbox> 147 + <el-col :span="2" v-for="item in selectData.SubCategory" :key="item.id">
148 + <el-checkbox :label="item.chineseName" v-model="item.chineseName">
149 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
150 + </el-checkbox>
151 + </el-col>
152 + </el-row>
139 </el-checkbox-group> 153 </el-checkbox-group>
140 </el-form-item> 154 </el-form-item>
141 </el-col> 155 </el-col>
...@@ -158,12 +172,15 @@ ...@@ -158,12 +172,15 @@
158 <span style="paddingRight: 50px">总重量:{{ allWeight }}</span> 172 <span style="paddingRight: 50px">总重量:{{ allWeight }}</span>
159 <span>总件数:{{ allQty }}</span> 173 <span>总件数:{{ allQty }}</span>
160 </div> 174 </div>
175 + <HeaderSetting class="mr20" tableName="allocationCargo" style="float: right" @close="headerSetClose">
176 + </HeaderSetting>
161 </div> 177 </div>
162 </el-form> 178 </el-form>
163 <Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :totalCount="totalCount" 179 <Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :totalCount="totalCount"
164 - :loading="loading" :selection="true" :limitSize="size" :limitStart="formData.limitStart" :page="page" 180 + :loading="loading" :selection="true" :order="true" :limitSize="size" :limitStart="formData.limitStart"
165 - :shiftKey="shiftKey" :height="tableHeight" :pageSizes="[100]" @sizeChange="sizeChange" @tableSelect="tableSelect" 181 + :page="page" :shiftKey="shiftKey" :height="tableHeight" :pageSizes="[100]" @sizeChange="sizeChange"
166 - @tableSelectAll="tableSelectAll" @currentChange="currentChange" @sortChange="sortChange"></Tables> 182 + @tableSelect="tableSelect" @tableSelectAll="tableSelectAll" @currentChange="currentChange"
183 + @sortChange="sortChange"></Tables>
167 <Dialog :tableData="tableSelection" :dialogVisible="dialogVisible" @dialogBeforeClose="dialogBeforeClose"></Dialog> 184 <Dialog :tableData="tableSelection" :dialogVisible="dialogVisible" @dialogBeforeClose="dialogBeforeClose"></Dialog>
168 </div> 185 </div>
169 </template> 186 </template>
...@@ -173,7 +190,6 @@ import Dialog from "./info.vue"; ...@@ -173,7 +190,6 @@ import Dialog from "./info.vue";
173 import { findConditionData, findCargoAllocationData } from "@/api/cargoSelect"; 190 import { findConditionData, findCargoAllocationData } from "@/api/cargoSelect";
174 import { allDictData } from "@/api/destinationFlight"; 191 import { allDictData } from "@/api/destinationFlight";
175 import { downLoadXlsx } from "@/utils/zipdownload"; 192 import { downLoadXlsx } from "@/utils/zipdownload";
176 -import { upCase } from "@/utils/FedEx";
177 193
178 export default { 194 export default {
179 name: "CargoAllocation", 195 name: "CargoAllocation",
...@@ -204,7 +220,7 @@ export default { ...@@ -204,7 +220,7 @@ export default {
204 customsReceiptStatusId: null, 220 customsReceiptStatusId: null,
205 accsPool: "OSPR" 221 accsPool: "OSPR"
206 }, //查询数据 222 }, //查询数据
207 - tableHeader: this.tableHeaders['cargoAllocation'], //表头数据 223 + tableHeader: [], //表头数据
208 tableData: [], //表格数据 224 tableData: [], //表格数据
209 tableSelection: [], //选中数据 225 tableSelection: [], //选中数据
210 selectData: { 226 selectData: {
...@@ -236,12 +252,18 @@ export default { ...@@ -236,12 +252,18 @@ export default {
236 }; 252 };
237 }, 253 },
238 created() { 254 created() {
255 + if (this.$store.getters.tableHeader) {
256 + this.tableHeader = this.$store.getters.tableHeader['allocationCargo']
257 + } else {
258 + this.tableHeader = this.tableHeaders['allocationCargo']
259 + }
239 this.seleData(); 260 this.seleData();
240 if (this.$store.state.tagsView.cachedViews.length == 0) { 261 if (this.$store.state.tagsView.cachedViews.length == 0) {
241 this.select(); 262 this.select();
242 } 263 }
243 }, 264 },
244 activated() { 265 activated() {
266 + this.seleData();
245 this.select(); 267 this.select();
246 }, 268 },
247 deactivated() { 269 deactivated() {
...@@ -269,10 +291,7 @@ export default { ...@@ -269,10 +291,7 @@ export default {
269 this.selectData.HandlingCode = res.data.handlingCode; 291 this.selectData.HandlingCode = res.data.handlingCode;
270 this.selectData.SubCategory = res.data.subCategory; 292 this.selectData.SubCategory = res.data.subCategory;
271 } else { 293 } else {
272 - this.$message({ 294 + this.msgWarning('查询条件不存在')
273 - message: "查询条件不存在",
274 - type: "warning",
275 - });
276 } 295 }
277 }) 296 })
278 .catch(() => { }); 297 .catch(() => { });
...@@ -282,10 +301,7 @@ export default { ...@@ -282,10 +301,7 @@ export default {
282 if (res.code == 200) { 301 if (res.code == 200) {
283 this.selectData.findConditionData = res.data; 302 this.selectData.findConditionData = res.data;
284 } else { 303 } else {
285 - this.$message({ 304 + this.msgWarning('查询条件不存在')
286 - message: "查询条件不存在",
287 - type: "warning",
288 - });
289 } 305 }
290 }) 306 })
291 .catch(() => { }); 307 .catch(() => { });
...@@ -305,20 +321,11 @@ export default { ...@@ -305,20 +321,11 @@ export default {
305 this.tableData = res.data.list; 321 this.tableData = res.data.list;
306 this.totalCount = res.data.total; 322 this.totalCount = res.data.total;
307 if (res.data.list.length > 0) { 323 if (res.data.list.length > 0) {
308 - // this.tableData.forEach((item, index = 0) => {
309 - // item.index = index;
310 - // });
311 } else { 324 } else {
312 - this.$message({ 325 + this.msgWarning('未查询到数据')
313 - message: "未查询到数据",
314 - type: "warning",
315 - });
316 } 326 }
317 } else { 327 } else {
318 - this.$message({ 328 + this.msgWarning(res.msg)
319 - message: res.msg,
320 - type: "warning",
321 - });
322 } 329 }
323 }) 330 })
324 .catch(() => { 331 .catch(() => {
...@@ -449,9 +456,6 @@ export default { ...@@ -449,9 +456,6 @@ export default {
449 } 456 }
450 this.tableSelection = [] 457 this.tableSelection = []
451 this.cargoTotal() 458 this.cargoTotal()
452 - // this.tableData.forEach((item, index = 0) => {
453 - // item.index = index;
454 - // });
455 }, 459 },
456 sizeChange(val) { 460 sizeChange(val) {
457 this.size = val 461 this.size = val
...@@ -471,6 +475,17 @@ export default { ...@@ -471,6 +475,17 @@ export default {
471 this.select(); 475 this.select();
472 } 476 }
473 }, 477 },
478 + //设置关闭
479 + headerSetClose(val) {
480 + if (val === 1) {
481 + this.tableHeader = []
482 + this.tableData = []
483 + this.$nextTick(() => {
484 + this.select();
485 + this.tableHeader = this.$store.getters.tableHeader['allocationCargo']
486 + })
487 + }
488 + }
474 }, 489 },
475 computed: { 490 computed: {
476 fltNo: { 491 fltNo: {
...@@ -478,7 +493,7 @@ export default { ...@@ -478,7 +493,7 @@ export default {
478 return this.formData.fltNo; 493 return this.formData.fltNo;
479 }, 494 },
480 set: function (val) { 495 set: function (val) {
481 - this.formData.fltNo = upCase(val); 496 + this.formData.fltNo = this.upCase(val);
482 }, 497 },
483 }, 498 },
484 ursa: { 499 ursa: {
...@@ -486,7 +501,7 @@ export default { ...@@ -486,7 +501,7 @@ export default {
486 return this.ursaList; 501 return this.ursaList;
487 }, 502 },
488 set: function (val) { 503 set: function (val) {
489 - this.ursaList = upCase(val); 504 + this.ursaList = this.upCase(val);
490 }, 505 },
491 }, 506 },
492 siteName: { 507 siteName: {
...@@ -494,7 +509,7 @@ export default { ...@@ -494,7 +509,7 @@ export default {
494 return this.siteNameList; 509 return this.siteNameList;
495 }, 510 },
496 set: function (val) { 511 set: function (val) {
497 - this.siteNameList = upCase(val); 512 + this.siteNameList = this.upCase(val);
498 }, 513 },
499 }, 514 },
500 portName: { 515 portName: {
...@@ -502,7 +517,7 @@ export default { ...@@ -502,7 +517,7 @@ export default {
502 return this.formData.portName; 517 return this.formData.portName;
503 }, 518 },
504 set: function (val) { 519 set: function (val) {
505 - this.formData.portName = upCase(val); 520 + this.formData.portName = this.upCase(val);
506 }, 521 },
507 }, 522 },
508 }, 523 },
......
1 <template> 1 <template>
2 <div> 2 <div>
3 - <el-dialog title="货物配舱" width="80%" :visible.sync="dialogVisible" :close-on-click-modal="false" 3 + <el-dialog title="货物配舱" width="80%" :visible.sync="dialogVisible" :close-on-click-modal="false" :show-close="false"
4 :append-to-body="true"> 4 :append-to-body="true">
5 <el-divider content-position="left">已选货物信息</el-divider> 5 <el-divider content-position="left">已选货物信息</el-divider>
6 <el-table :data="tableData" size="mini" height="200" max-height="200" border stripe highlight-current-row 6 <el-table :data="tableData" size="mini" height="200" max-height="200" border stripe highlight-current-row
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
32 32
33 <script> 33 <script>
34 import { allocationFlight } from "@/api/cargoSelect"; 34 import { allocationFlight } from "@/api/cargoSelect";
35 -import { MessageBox } from "element-ui"; 35 +
36 export default { 36 export default {
37 props: { 37 props: {
38 dialogVisible: { 38 dialogVisible: {
...@@ -109,14 +109,11 @@ export default { ...@@ -109,14 +109,11 @@ export default {
109 this.loading = false; 109 this.loading = false;
110 //code 200 配舱成功 202 重量已满需要确认 其余code直接输出msg 110 //code 200 配舱成功 202 重量已满需要确认 其余code直接输出msg
111 if (res.code === 200) { 111 if (res.code === 200) {
112 - this.$message({ 112 + this.msgSuccess('货物配舱成功')
113 - message: "货物配舱成功",
114 - type: "success",
115 - });
116 this.cleaerForm(); 113 this.cleaerForm();
117 this.$emit("dialogBeforeClose", { close: false, reload: true }); 114 this.$emit("dialogBeforeClose", { close: false, reload: true });
118 } else if (res.code === 202) { 115 } else if (res.code === 202) {
119 - MessageBox.confirm(res.msg, "提示", { 116 + this.$confirm(res.msg, "提示", {
120 confirmButtonText: "确定", 117 confirmButtonText: "确定",
121 cancelButtonText: "取消", 118 cancelButtonText: "取消",
122 type: "warning", 119 type: "warning",
...@@ -125,15 +122,9 @@ export default { ...@@ -125,15 +122,9 @@ export default {
125 this.formData.overweight = true; //确定继续overweight变为true再次请求接口 122 this.formData.overweight = true; //确定继续overweight变为true再次请求接口
126 allocationFlight(this.formData).then((res) => { 123 allocationFlight(this.formData).then((res) => {
127 if (res.code === 200) { 124 if (res.code === 200) {
128 - this.$message({ 125 + this.msgSuccess('货物配舱成功')
129 - message: "货物配舱成功",
130 - type: "success",
131 - });
132 } else { 126 } else {
133 - this.$message({ 127 + this.msgWarning(res.msg)
134 - message: res.msg,
135 - type: "warning",
136 - });
137 } 128 }
138 }); 129 });
139 this.cleaerForm(); 130 this.cleaerForm();
...@@ -141,10 +132,7 @@ export default { ...@@ -141,10 +132,7 @@ export default {
141 }) 132 })
142 .catch(() => { 133 .catch(() => {
143 //取消 取消当前配舱 134 //取消 取消当前配舱
144 - this.$message({ 135 + this.msgSuccess('配舱已取消')
145 - message: "配舱已取消",
146 - type: "success",
147 - });
148 this.cleaerForm(); 136 this.cleaerForm();
149 this.$emit("dialogBeforeClose", { 137 this.$emit("dialogBeforeClose", {
150 close: false, 138 close: false,
...@@ -153,20 +141,14 @@ export default { ...@@ -153,20 +141,14 @@ export default {
153 }); 141 });
154 } else { 142 } else {
155 this.loading = false; 143 this.loading = false;
156 - this.$message({ 144 + this.msgWarning(res.msg)
157 - message: res.msg,
158 - type: "warning",
159 - });
160 } 145 }
161 }).catch(() => { 146 }).catch(() => {
162 this.loading = false; 147 this.loading = false;
163 }); 148 });
164 } else { 149 } else {
165 this.loading = false; 150 this.loading = false;
166 - this.$message({ 151 + this.msgWarning('航班号或航班日期不能为空')
167 - message: "航班号或航班日期不能为空",
168 - type: "warning",
169 - });
170 } 152 }
171 }, 153 },
172 dialogBeforeClose() { 154 dialogBeforeClose() {
...@@ -191,7 +173,7 @@ export default { ...@@ -191,7 +173,7 @@ export default {
191 return this.formData.fltNo; 173 return this.formData.fltNo;
192 }, 174 },
193 set: function (val) { 175 set: function (val) {
194 - this.formData.fltNo = val.toUpperCase(); 176 + this.formData.fltNo = this.upCase(val);
195 }, 177 },
196 }, 178 },
197 }, 179 },
......
1 <template> 1 <template>
2 <div> 2 <div>
3 - <el-form :inline="true" :model="queryParams" class="form-header" size="medium" label-position="right" 3 + <el-form ref="flightAllocForm" :inline="true" :model="queryParams" class="form-header" size="medium"
4 - label-width="auto"> 4 + label-position="right" label-width="auto">
5 <el-form-item label="航班号"> 5 <el-form-item label="航班号">
6 - <el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList" clearable></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="状态"> 8 <el-form-item label="状态">
9 - <el-select v-model="queryParams.status" placeholder="状态" clearable> 9 + <el-select v-model="queryParams.status" placeholder="状态">
10 <el-option label="有效" value="1"></el-option> 10 <el-option label="有效" value="1"></el-option>
11 <el-option label="停用" value="3"></el-option> 11 <el-option label="停用" value="3"></el-option>
12 </el-select> 12 </el-select>
13 </el-form-item> 13 </el-form-item>
14 <el-form-item> 14 <el-form-item>
15 - <el-button type="primary" icon="el-icon-search" @click="getList" size="mini">查询</el-button> 15 + <el-button type="primary" icon="el-icon-search" :loading="loading" @click="getList" size="mini">查询</el-button>
16 </el-form-item> 16 </el-form-item>
17 <div> 17 <div>
18 - <el-button style="margin-bottom: 20px" type="primary" icon="el-icon-plus" size="mini" 18 + <el-button class="mb20" type="primary" icon="el-icon-plus" size="mini" v-hasPermi="['allocation:alloc:add']"
19 - v-hasPermi="['allocation:alloc:add']" @click=" 19 + @click="
20 $router.push({ 20 $router.push({
21 name: 'FlightAllocConfigAdd', 21 name: 'FlightAllocConfigAdd',
22 params: { handle: 'add' }, 22 params: { handle: 'add' },
...@@ -24,44 +24,27 @@ ...@@ -24,44 +24,27 @@
24 ">添加</el-button> 24 ">添加</el-button>
25 </div> 25 </div>
26 </el-form> 26 </el-form>
27 - 27 + <Tables ref="newTables" ductName="FlightAlloc" :data="flyList" :headerData="tableHeaders['flightAlloc']"
28 - <el-table :data="flyList" v-loading="loading" size="small" highlight-current-row border stripe> 28 + :order="true" :totalCount="total" :loading="loading" :limitSize="queryParams.limit"
29 - <el-table-column prop="purposeOfFlightNo" label="航班号" align="center"></el-table-column> 29 + :limitStart="queryParams.start" :page="curPage" :pageSizes="[20]" :height="tableHeight"
30 - 30 + @currentChange="currentChange">
31 - <el-table-column prop="status" label="状态" align="center"> 31 + <template slot="optionColumn">
32 - <template slot-scope="scope">
33 - <span v-if="scope.row.status === '0'">无效</span>
34 - <span v-if="scope.row.status === '1'">有效</span>
35 - <span v-if="scope.row.status === '2'">配置中</span>
36 - <span v-if="scope.row.status === '3'">停用</span>
37 - </template>
38 - </el-table-column>
39 -
40 - <el-table-column prop="createUserName" label="操作人" align="center">
41 - </el-table-column>
42 -
43 - <el-table-column prop="createTime" label="更新时间" align="center">
44 - </el-table-column>
45 -
46 <el-table-column label="操作" prop="id" align="center"> 32 <el-table-column label="操作" prop="id" align="center">
47 <template slot-scope="scope"> 33 <template slot-scope="scope">
48 <el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看 34 <el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看
49 </el-button> 35 </el-button>
50 <el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']" 36 <el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']"
51 @click="handleClick(scope.row.id, 'update')">修改</el-button> 37 @click="handleClick(scope.row.id, 'update')">修改</el-button>
52 - <el-button type="text" size="mini" icon="el-icon-delete" v-hasPermi="['allocation:alloc:delete']" 38 + <el-button type="text" size="mini" icon="el-icon-delete" style="color:#ff4949"
53 - @click="del(scope.row.id, scope.row.status)" style="color:#ff4949">删除</el-button> 39 + v-hasPermi="['allocation:alloc:delete']" @click="del(scope.row.id, scope.row.status)">删除</el-button>
54 <el-button type="text" size="mini" icon="el-icon-video-pause" v-hasPermi="['allocation:alloc:openClose']" 40 <el-button type="text" size="mini" icon="el-icon-video-pause" v-hasPermi="['allocation:alloc:openClose']"
55 @click="changeStatus(scope.row.id, 3)" v-if="scope.row.status == '1'">停用</el-button> 41 @click="changeStatus(scope.row.id, 3)" v-if="scope.row.status == '1'">停用</el-button>
56 <el-button type="text" size="mini" icon="el-icon-video-play" v-hasPermi="['allocation:alloc:openClose']" 42 <el-button type="text" size="mini" icon="el-icon-video-play" v-hasPermi="['allocation:alloc:openClose']"
57 @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button> 43 @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button>
58 </template> 44 </template>
59 </el-table-column> 45 </el-table-column>
60 - </el-table> 46 + </template>
61 - <el-pagination @size-change="getList" @current-change="getList" :current-page.sync="curPage" 47 + </Tables>
62 - :page-sizes="[10, 20, 30, 40]" :page-size.sync="limit" layout="prev, pager, next, jumper, sizes, total"
63 - :total="total" background :hide-on-single-page="true" style="margin-top: 40px; text-align: right">
64 - </el-pagination>
65 </div> 48 </div>
66 </template> 49 </template>
67 50
...@@ -80,12 +63,12 @@ export default { ...@@ -80,12 +63,12 @@ export default {
80 purposeOfFlightNo: "", 63 purposeOfFlightNo: "",
81 status: "1", 64 status: "1",
82 start: 0, 65 start: 0,
83 - limit: 10, 66 + limit: 20,
84 }, 67 },
85 flyList: [], 68 flyList: [],
86 curPage: 1, 69 curPage: 1,
87 - limit: 10,
88 total: 0, 70 total: 0,
71 + tableHeight: null,
89 loading: false, 72 loading: false,
90 }; 73 };
91 }, 74 },
...@@ -94,6 +77,9 @@ export default { ...@@ -94,6 +77,9 @@ export default {
94 this.getList(); 77 this.getList();
95 } 78 }
96 }, 79 },
80 + mounted() {
81 + this.tableHeight = window.innerHeight - this.$refs.flightAllocForm.$el.offsetHeight - 200
82 + },
97 activated() { 83 activated() {
98 this.getList() 84 this.getList()
99 }, 85 },
...@@ -102,7 +88,6 @@ export default { ...@@ -102,7 +88,6 @@ export default {
102 }, 88 },
103 methods: { 89 methods: {
104 getList() { 90 getList() {
105 - this.queryParams.limit = this.limit;
106 if (this.curPage > 1) { 91 if (this.curPage > 1) {
107 this.queryParams.start = (this.curPage - 1) * this.queryParams.limit; 92 this.queryParams.start = (this.curPage - 1) * this.queryParams.limit;
108 } else { 93 } else {
...@@ -111,11 +96,7 @@ export default { ...@@ -111,11 +96,7 @@ export default {
111 this.loading = true; 96 this.loading = true;
112 findFlightNo(this.queryParams).then((response) => { 97 findFlightNo(this.queryParams).then((response) => {
113 if (response.code != 200) { 98 if (response.code != 200) {
114 - this.$message({ 99 + this.msgWarning(response.msg)
115 - showClose: true,
116 - message: response.msg,
117 - type: "error",
118 - });
119 return; 100 return;
120 } 101 }
121 this.flyList = response.data.list; 102 this.flyList = response.data.list;
...@@ -147,11 +128,8 @@ export default { ...@@ -147,11 +128,8 @@ export default {
147 }).then(() => { 128 }).then(() => {
148 delFlightId(id) 129 delFlightId(id)
149 .then((res) => { 130 .then((res) => {
150 - this.$message({ 131 + res.code === 200 ? this.msgSuccess(res.msg) : this.msgWarning(res.msg)
151 - message: res.msg, 132 + this.getList()
152 - type: res.code === 200 ? "success" : "warning",
153 - });
154 - this.getList();
155 }) 133 })
156 .catch(() => { }); 134 .catch(() => { });
157 }); 135 });
...@@ -177,6 +155,12 @@ export default { ...@@ -177,6 +155,12 @@ export default {
177 .catch(() => { }); 155 .catch(() => { });
178 }); 156 });
179 }, 157 },
158 + //翻页
159 + currentChange(val) {
160 + this.curPage = val.page
161 + this.queryParams.start = val.start;
162 + this.getList();
163 + }
180 }, 164 },
181 computed: { 165 computed: {
182 purposeOfFlightNo: { 166 purposeOfFlightNo: {
...@@ -184,7 +168,7 @@ export default { ...@@ -184,7 +168,7 @@ export default {
184 return this.queryParams.purposeOfFlightNo; 168 return this.queryParams.purposeOfFlightNo;
185 }, 169 },
186 set: function (val) { 170 set: function (val) {
187 - this.queryParams.purposeOfFlightNo = val.toUpperCase(); 171 + this.queryParams.purposeOfFlightNo = this.upCase(val);
188 }, 172 },
189 }, 173 },
190 }, 174 },
......
...@@ -9,13 +9,8 @@ ...@@ -9,13 +9,8 @@
9 <el-row :gutter="20"> 9 <el-row :gutter="20">
10 <el-col :span="12"> 10 <el-col :span="12">
11 <el-form-item label="航班号" prop="purposeOfFlightNo"> 11 <el-form-item label="航班号" prop="purposeOfFlightNo">
12 - <el-input v-model.trim="form.purposeOfFlightNo" style="width: 60%" :disabled="nameDisabled"></el-input> 12 + <el-input v-model.trim="form.purposeOfFlightNo" maxlength="10" style="width: 60%"
13 - </el-form-item> 13 + :disabled="nameDisabled"></el-input>
14 - </el-col>
15 - <el-col :span="12">
16 - <el-form-item label="航班预审" prop="isNeedRequired">
17 - <el-switch v-model="isNeedRequired" :active-value="1" :inactive-value="0">
18 - </el-switch>
19 </el-form-item> 14 </el-form-item>
20 </el-col> 15 </el-col>
21 </el-row> 16 </el-row>
...@@ -25,161 +20,123 @@ ...@@ -25,161 +20,123 @@
25 <el-radio v-model="isLocation" label="1" size="mini">站点包含</el-radio> 20 <el-radio v-model="isLocation" label="1" size="mini">站点包含</el-radio>
26 <el-radio v-model="isLocation" label="2" size="mini">站点不包含</el-radio> 21 <el-radio v-model="isLocation" label="2" size="mini">站点不包含</el-radio>
27 </el-col> 22 </el-col>
28 - <el-col :span="6">
29 - <el-alert title="提示:站点之间用回车符分隔" type="warning" show-icon size="mini" :closable="false"
30 - style="height: 30px; width: fit-content">
31 - </el-alert>
32 - </el-col>
33 </el-row> 23 </el-row>
34 </el-form-item> 24 </el-form-item>
35 -
36 <el-form-item label="站点包含" v-show="isLocation == 1"> 25 <el-form-item label="站点包含" v-show="isLocation == 1">
37 - <el-input type="textarea" v-model="form.location" :rows="6" resize="none" style="width: 600px"></el-input> 26 + <el-input type="textarea" v-model="form.location" :rows="6" resize="none" style="width: 600px"
27 + placeholder="站点之间用回车符分隔"></el-input>
38 </el-form-item> 28 </el-form-item>
39 <el-form-item label="站点不包含" v-show="isLocation == 2"> 29 <el-form-item label="站点不包含" v-show="isLocation == 2">
40 - <el-input type="textarea" v-model="form.notLocation" :rows="6" resize="none" style="width: 600px"></el-input> 30 + <el-input type="textarea" v-model="form.notLocation" :rows="6" resize="none" style="width: 600px"
41 - </el-form-item> 31 + placeholder="站点之间用回车符分隔"></el-input>
42 -
43 - <el-form-item>
44 - <el-alert title="提示:URSA之间用分号分隔,例:F2;F3;P_" type="warning" show-icon size="mini" :closable="false"
45 - style="height: 30px; width: fit-content">
46 - </el-alert>
47 </el-form-item> 32 </el-form-item>
48 <el-row :gutter="20"> 33 <el-row :gutter="20">
49 <el-col :span="10"> 34 <el-col :span="10">
50 - <el-form-item label="URSA包含"> 35 + <el-form-item label="URSA包含" prop="includeUrsa">
51 - <el-input type="textarea" v-model.trim="form.includeUrsa" :rows="6" resize="none"></el-input> 36 + <el-input type="textarea" v-model="form.includeUrsa" :rows="6" resize="none"
37 + placeholder="URSA之间用分号分隔,例:F2;F3;P_"></el-input>
52 </el-form-item> 38 </el-form-item>
53 </el-col> 39 </el-col>
54 <el-col :span="10"> 40 <el-col :span="10">
55 - <el-form-item label="URSA不包含"> 41 + <el-form-item label="URSA不包含" prop="notIncludeUrsa">
56 - <el-input type="textarea" v-model.trim="form.notIncludeUrsa" :rows="6" resize="none"></el-input> 42 + <el-input type="textarea" v-model="form.notIncludeUrsa" :rows="6" resize="none"
43 + placeholder="URSA之间用分号分隔,例:F2;F3;P_"></el-input>
57 </el-form-item> 44 </el-form-item>
58 </el-col> 45 </el-col>
59 </el-row> 46 </el-row>
60 -
61 <el-form-item label="件数"> 47 <el-form-item label="件数">
62 <el-col :span="3"> 48 <el-col :span="3">
63 <el-input class="numberInput" v-model.trim="minNumOfPieces"></el-input> 49 <el-input class="numberInput" v-model.trim="minNumOfPieces"></el-input>
64 - <!-- <el-input-number
65 - v-model="minNumOfPieces"
66 - :precision="0"
67 - :controls="false"
68 - style="width: 100%"
69 - ></el-input-number> -->
70 </el-col> 50 </el-col>
71 <el-col style="text-align: center" :span="1">-</el-col> 51 <el-col style="text-align: center" :span="1">-</el-col>
72 <el-col :span="3"> 52 <el-col :span="3">
73 <el-input class="numberInput" v-model.trim="maxNumOfPieces"></el-input> 53 <el-input class="numberInput" v-model.trim="maxNumOfPieces"></el-input>
74 - <!-- <el-input-number
75 - v-model="
76 - form.maxNumOfPieces == 0
77 - ? (form.maxNumOfPieces = undefined)
78 - : form.maxNumOfPieces
79 - "
80 - :precision="0"
81 - :controls="false"
82 - style="width: 100%"
83 - ></el-input-number> -->
84 </el-col> 54 </el-col>
85 </el-form-item> 55 </el-form-item>
86 -
87 <el-form-item label="重量"> 56 <el-form-item label="重量">
88 <el-col :span="3"> 57 <el-col :span="3">
89 <el-input class="numberInput" v-model.trim="minWeight"></el-input> 58 <el-input class="numberInput" v-model.trim="minWeight"></el-input>
90 - <!-- <el-input-number
91 - v-model="
92 - form.minWeight == 0
93 - ? (form.minWeight = undefined)
94 - : form.minWeight
95 - "
96 - :precision="2"
97 - :controls="false"
98 - style="width: 100%"
99 - ></el-input-number> -->
100 </el-col> 59 </el-col>
101 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col> 60 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col>
102 <el-col style="text-align: center" :span="1">-</el-col> 61 <el-col style="text-align: center" :span="1">-</el-col>
103 <el-col :span="3"> 62 <el-col :span="3">
104 <el-input class="numberInput" v-model.trim="maxWeight"></el-input> 63 <el-input class="numberInput" v-model.trim="maxWeight"></el-input>
105 - <!-- <el-input-number
106 - v-model="
107 - form.maxWeight == 0
108 - ? (form.maxWeight = undefined)
109 - : form.maxWeight
110 - "
111 - :precision="2"
112 - :controls="false"
113 - style="width: 100%"
114 - ></el-input-number> -->
115 </el-col> 64 </el-col>
116 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col> 65 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col>
117 </el-form-item> 66 </el-form-item>
118 -
119 <el-form-item label="申报类别"> 67 <el-form-item label="申报类别">
120 <el-card shadow="never" style="width: 80%"> 68 <el-card shadow="never" style="width: 80%">
121 <el-checkbox-group v-model="form.typeOfGoods"> 69 <el-checkbox-group v-model="form.typeOfGoods">
122 <el-row> 70 <el-row>
123 <el-col :span="2" v-for="item in cargoType" :key="item.id"> 71 <el-col :span="2" v-for="item in cargoType" :key="item.id">
124 - <el-checkbox :label="item.chineseName" :name="item.chineseName"> 72 + <el-checkbox v-if="item.status === 1" :label="item.chineseName" :name="item.chineseName">
125 </el-checkbox> 73 </el-checkbox>
126 </el-col> 74 </el-col>
127 </el-row> 75 </el-row>
128 </el-checkbox-group> 76 </el-checkbox-group>
129 </el-card> 77 </el-card>
130 </el-form-item> 78 </el-form-item>
131 -
132 <el-form-item label="货物类型"> 79 <el-form-item label="货物类型">
133 <el-card shadow="never" style="width: 80%"> 80 <el-card shadow="never" style="width: 80%">
134 <el-checkbox-group v-model="form.declarationCategory"> 81 <el-checkbox-group v-model="form.declarationCategory">
135 <el-row> 82 <el-row>
136 <el-col :span="3" v-for="item in cargoStatus" :key="item.id"> 83 <el-col :span="3" v-for="item in cargoStatus" :key="item.id">
137 - <el-checkbox :label="item.chineseName" :name="item.chineseName" disabled></el-checkbox> 84 + <el-checkbox v-if="item.status === 1" :label="item.chineseName" :name="item.chineseName" disabled>
85 + </el-checkbox>
138 </el-col> 86 </el-col>
139 </el-row> 87 </el-row>
140 </el-checkbox-group> 88 </el-checkbox-group>
141 </el-card> 89 </el-card>
142 </el-form-item> 90 </el-form-item>
143 -
144 <el-form-item label="Service Code"> 91 <el-form-item label="Service Code">
145 <el-card shadow="never" style="width: 80%"> 92 <el-card shadow="never" style="width: 80%">
146 <el-checkbox-group v-model="form.serviceCode"> 93 <el-checkbox-group v-model="form.serviceCode">
147 <el-row> 94 <el-row>
148 <el-col :span="2" v-for="item in serviceCode" :key="item.id"> 95 <el-col :span="2" v-for="item in serviceCode" :key="item.id">
149 - <el-checkbox :label="item.englishName" :name="item.englishName"></el-checkbox> 96 + <el-checkbox v-if="item.status === 1 || form.serviceCode.includes(item.chineseName)"
97 + :label="item.chineseName" :name="item.chineseName"
98 + :disabled="form.serviceCode.includes(item.chineseName) && item.status === 0">
99 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
100 + </el-checkbox>
150 </el-col> 101 </el-col>
151 </el-row> 102 </el-row>
152 </el-checkbox-group> 103 </el-checkbox-group>
153 </el-card> 104 </el-card>
154 </el-form-item> 105 </el-form-item>
155 -
156 <el-form-item label="Handling Code"> 106 <el-form-item label="Handling Code">
157 <el-card shadow="never" style="width: 80%"> 107 <el-card shadow="never" style="width: 80%">
158 <el-checkbox-group v-model="form.handlingCode"> 108 <el-checkbox-group v-model="form.handlingCode">
159 <el-row> 109 <el-row>
160 <el-col :span="3" v-for="item in handlingCode" :key="item.id"> 110 <el-col :span="3" v-for="item in handlingCode" :key="item.id">
161 - <el-checkbox :label="item.englishName" :name="item.englishName"></el-checkbox> 111 + <el-checkbox v-if="item.status === 1 || form.handlingCode.includes(item.chineseName)"
112 + :label="item.chineseName" :name="item.chineseName"
113 + :disabled="form.handlingCode.includes(item.chineseName) && item.status === 0">
114 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
115 + </el-checkbox>
162 </el-col> 116 </el-col>
163 </el-row> 117 </el-row>
164 </el-checkbox-group> 118 </el-checkbox-group>
165 </el-card> 119 </el-card>
166 </el-form-item> 120 </el-form-item>
167 -
168 <el-form-item label="Sub Category"> 121 <el-form-item label="Sub Category">
169 <el-card shadow="never" style="width: 80%"> 122 <el-card shadow="never" style="width: 80%">
170 <el-checkbox-group v-model="form.subCategory"> 123 <el-checkbox-group v-model="form.subCategory">
171 <el-row> 124 <el-row>
172 <el-col :span="3" v-for="item in subCategory" :key="item.id"> 125 <el-col :span="3" v-for="item in subCategory" :key="item.id">
173 - <el-checkbox :label="item.englishName" :name="item.englishName"></el-checkbox> 126 + <el-checkbox v-if="item.status === 1 || form.subCategory.includes(item.chineseName)"
127 + :label="item.chineseName" :name="item.chineseName"
128 + :disabled="form.subCategory.includes(item.chineseName) && item.status === 0">
129 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
130 + </el-checkbox>
174 </el-col> 131 </el-col>
175 </el-row> 132 </el-row>
176 </el-checkbox-group> 133 </el-checkbox-group>
177 </el-card> 134 </el-card>
178 </el-form-item> 135 </el-form-item>
179 -
180 </el-form> 136 </el-form>
181 - <div style="marginleft: 200px"> 137 + <div style="marginLeft: 200px">
182 - <el-button type="primary" size="small" v-if="$route.params.handle != 'detail'" @click="submit('form')" 138 + <el-button type="primary" size="small"
139 + v-if="$route.params.handle != 'detail' && $route.params.handle != 'DMdetail'" @click="submit('form')"
183 :loading="btnLoading"> 140 :loading="btnLoading">
184 <span v-if="$route.params.handle === 'add'">添加</span> 141 <span v-if="$route.params.handle === 'add'">添加</span>
185 <span v-else>保存</span> 142 <span v-else>保存</span>
...@@ -233,7 +190,6 @@ export default { ...@@ -233,7 +190,6 @@ export default {
233 handlingCode: [], 190 handlingCode: [],
234 subCategory: [], 191 subCategory: [],
235 isLocation: "1", 192 isLocation: "1",
236 - isNeedRequired: 0,
237 disable: false, 193 disable: false,
238 nameDisabled: false, 194 nameDisabled: false,
239 btnLoading: false, 195 btnLoading: false,
...@@ -241,17 +197,130 @@ export default { ...@@ -241,17 +197,130 @@ export default {
241 isEmpty: false, 197 isEmpty: false,
242 routeName: "", 198 routeName: "",
243 dataId: "", 199 dataId: "",
244 - handleName: "" 200 + handleName: "",
245 }; 201 };
246 }, 202 },
203 + created() {
204 + this.routeName = this.$route.name;
205 + this.dataId = this.$route.params.id;
206 + this.handleName = this.$route.params.handle;
207 + this.dictData();
208 + if (this.handleName === "detail" || this.handleName === 'DMdetail') {
209 + this.disable = true;
210 + }
211 +
212 + if (this.handleName != "add") {
213 + this.nameDisabled = true;
214 + let id = this.$route.params.id;
215 + if (
216 + sessionStorage.getItem("flightInfo" + id) &&
217 + this.$route.name == "FlightAllocConfigInfo" &&
218 + this.handleName != "detail" &&
219 + this.handleName != "DMdetail"
220 + ) {
221 + this.loading = false;
222 + this.form = JSON.parse(
223 + sessionStorage.getItem("flightInfo" + this.$route.params.id)
224 + );
225 + if (this.form.notLocation != null || this.form.notLocation == "") {
226 + this.isLocation = "2";
227 + } else {
228 + this.isLocation = "1";
229 + }
230 + } else {
231 + if (isNaN(Number(this.dataId))) {
232 + findDestinationFltRuleByActualFlight(this.dataId).then((response) => {
233 + if (response.code != 200) {
234 + this.msgWarning(response.msg)
235 + this.isEmpty = true;
236 + } else if (response.data == null) {
237 + this.isEmpty = true;
238 + } else {
239 + let info = response.data;
240 + info.typeOfGoods = info.typeOfGoods
241 + ? info.typeOfGoods.split(";")
242 + : [];
243 + info.declarationCategory = info.declarationCategory
244 + ? info.declarationCategory.split(";")
245 + : [];
246 + info.serviceCode = info.serviceCode
247 + ? info.serviceCode.split(";")
248 + : [];
249 + info.handlingCode = info.handlingCode
250 + ? info.handlingCode.split(";")
251 + : [];
252 + info.subCategory = info.subCategory
253 + ? info.subCategory.split(";")
254 + : [];
255 + this.form = info;
256 + if (info.notLocation != null || info.notLocation == "") {
257 + this.isLocation = "2";
258 + } else {
259 + this.isLocation = "1";
260 + }
261 + }
262 + this.loading = false;
263 + }).catch(() => {
264 + this.loading = false;
265 + })
266 + } else {
267 + //货物信息
268 + findByFlightId(this.dataId).then((response) => {
269 + if (response.code != 200) {
270 + this.msgWarning(response.msg)
271 + this.isEmpty = true;
272 + } else {
273 + let info = response.data.list;
274 + info.typeOfGoods = info.typeOfGoods
275 + ? info.typeOfGoods.split(";")
276 + : [];
277 + info.declarationCategory = info.declarationCategory
278 + ? info.declarationCategory.split(";")
279 + : [];
280 + info.serviceCode = info.serviceCode
281 + ? info.serviceCode.split(";")
282 + : [];
283 + info.handlingCode = info.handlingCode
284 + ? info.handlingCode.split(";")
285 + : [];
286 + info.subCategory = info.subCategory
287 + ? info.subCategory.split(";")
288 + : [];
289 + this.form = info;
290 + if (info.notLocation != null || info.notLocation == "") {
291 + this.isLocation = "2";
292 + } else {
293 + this.isLocation = "1";
294 + }
295 + }
296 + this.loading = false;
297 + }).catch(() => {
298 + this.loading = false;
299 + })
300 + }
301 + }
302 + } else {
303 + this.loading = false;
304 + }
305 + if (this.$route.name == "FlightAllocConfigAdd") {
306 + if (sessionStorage.getItem("flightAdd")) {
307 + this.form = JSON.parse(sessionStorage.getItem("flightAdd"));
308 + if (this.form.notLocation != null || this.form.notLocation == "") {
309 + this.isLocation = "2";
310 + } else {
311 + this.isLocation = "1";
312 + }
313 + }
314 + }
315 + },
247 methods: { 316 methods: {
248 //排序 317 //排序
249 - sorttodo(arr, englishName) { 318 + sorttodo(arr, chineseName) {
250 var index = 1, 319 var index = 1,
251 newArr = [], 320 newArr = [],
252 length = arr.length; 321 length = arr.length;
253 for (var i = 0; i < length; i++) { 322 for (var i = 0; i < length; i++) {
254 - if (arr[i].englishName === englishName) { 323 + if (arr[i].chineseName === chineseName) {
255 newArr[0] = arr[i]; 324 newArr[0] = arr[i];
256 } else { 325 } else {
257 newArr[index++] = arr[i]; 326 newArr[index++] = arr[i];
...@@ -268,8 +337,7 @@ export default { ...@@ -268,8 +337,7 @@ export default {
268 }); 337 });
269 338
270 this.btnLoading = true; 339 this.btnLoading = true;
271 - let handle = this.$route.params.handle; 340 + if (this.handleName === "update") {
272 - if (handle === "update") {
273 //修改,获取id 341 //修改,获取id
274 this.form.id = this.$route.params.id; 342 this.form.id = this.$route.params.id;
275 } 343 }
...@@ -280,7 +348,6 @@ export default { ...@@ -280,7 +348,6 @@ export default {
280 this.formServiceCode = this.form.serviceCode; 348 this.formServiceCode = this.form.serviceCode;
281 this.formHandlingCode = this.form.handlingCode; 349 this.formHandlingCode = this.form.handlingCode;
282 this.formSubCategory = this.form.subCategory; 350 this.formSubCategory = this.form.subCategory;
283 - this.form.isNeedRequired = this.isNeedRequired;
284 if (this.form.purposeOfFlightNo) { 351 if (this.form.purposeOfFlightNo) {
285 this.form.purposeOfFlightNo = this.form.purposeOfFlightNo.toUpperCase(); 352 this.form.purposeOfFlightNo = this.form.purposeOfFlightNo.toUpperCase();
286 } 353 }
...@@ -289,6 +356,7 @@ export default { ...@@ -289,6 +356,7 @@ export default {
289 } else { 356 } else {
290 this.form.location = ""; 357 this.form.location = "";
291 } 358 }
359 +
292 if ( 360 if (
293 this.form.includeUrsa && 361 this.form.includeUrsa &&
294 this.form.includeUrsa.length != 0 && 362 this.form.includeUrsa.length != 0 &&
...@@ -319,32 +387,47 @@ export default { ...@@ -319,32 +387,47 @@ export default {
319 } 387 }
320 }); 388 });
321 if (errorList.length != 0) { 389 if (errorList.length != 0) {
322 - this.$message({ 390 + this.msgWarning("URSA不包含中[" + errorList + "]错误,URSA不包含必须属于URSA包含中的类型")
323 - showClose: true,
324 - message:
325 - "URSA不包含中[" +
326 - errorList +
327 - "]错误,URSA不包含必须属于URSA包含中的类型",
328 - type: "error",
329 - });
330 this.btnLoading = false; 391 this.btnLoading = false;
331 return; 392 return;
332 } 393 }
333 } 394 }
395 + let service = []
396 + this.serviceCode.forEach(item => {
397 + if (item.status === 1 && this.form.serviceCode.includes(item.chineseName)) {
398 + service.push(item.chineseName)
399 + }
400 + })
401 + this.form.serviceCode = service
402 + let hand = []
403 + this.handlingCode.forEach(item => {
404 + if (item.status === 1 && this.form.handlingCode.includes(item.chineseName)) {
405 + hand.push(item.chineseName)
406 + }
407 + })
408 + this.form.handlingCode = hand
409 + let sub = []
410 + this.subCategory.forEach(item => {
411 + if (item.status === 1 && this.form.subCategory.includes(item.chineseName)) {
412 + sub.push(item.chineseName)
413 + }
414 + })
415 +
416 + if (this.form.includeUrsa && this.form.includeUrsa.length != 0) {
417 + this.form.includeUrsa = this.upCase(this.form.includeUrsa)
418 + }
419 +
420 + if (this.form.notIncludeUrsa && this.form.notIncludeUrsa.length != 0) {
421 + this.form.notIncludeUrsa = this.upCase(this.form.notIncludeUrsa)
422 + }
423 +
424 + this.form.subCategory = sub
334 updateOrAddFlight(this.form).then((response) => { 425 updateOrAddFlight(this.form).then((response) => {
335 if (response.code === 200) { 426 if (response.code === 200) {
336 - this.$message({ 427 + this.msgSuccess('成功')
337 - showClose: true,
338 - message: "成功",
339 - type: "success",
340 - });
341 this.close(); 428 this.close();
342 } else { 429 } else {
343 - this.$message({ 430 + this.msgWarning(response.msg)
344 - showClose: true,
345 - message: response.msg,
346 - type: "error",
347 - });
348 this.btnLoading = false; 431 this.btnLoading = false;
349 } 432 }
350 }); 433 });
...@@ -354,200 +437,111 @@ export default { ...@@ -354,200 +437,111 @@ export default {
354 this.form.handlingCode = this.formHandlingCode; 437 this.form.handlingCode = this.formHandlingCode;
355 this.form.subCategory = this.formSubCategory; 438 this.form.subCategory = this.formSubCategory;
356 }, 439 },
440 +
357 close() { 441 close() {
358 - this.removes() 442 + this.removes();
359 this.$store.state.tagsView.visitedViews.splice( 443 this.$store.state.tagsView.visitedViews.splice(
360 this.$store.state.tagsView.visitedViews.findIndex( 444 this.$store.state.tagsView.visitedViews.findIndex(
361 (item) => item.path === this.$route.path 445 (item) => item.path === this.$route.path
362 ), 446 ),
363 - 1
364 ); 447 );
448 + if (this.handleName === 'DMdetail') {
449 + this.$router.push({ name: "DmLog" })
450 + } else {
365 this.$router.push({ name: "FlightAllocConfig" }) 451 this.$router.push({ name: "FlightAllocConfig" })
366 - // this.$router.push( 452 + }
367 - // this.$store.state.tagsView.visitedViews[
368 - // this.$store.state.tagsView.visitedViews.length - 1
369 - // ].path
370 - // );
371 }, 453 },
372 454
373 removes() { 455 removes() {
374 if (this.routeName == "FlightAllocConfigAdd") { 456 if (this.routeName == "FlightAllocConfigAdd") {
375 - sessionStorage.setItem("flightAdd", "remove") 457 + sessionStorage.setItem("flightAdd", "remove");
376 } else { 458 } else {
377 - sessionStorage.setItem("flightInfo" + this.dataId, "remove") 459 + sessionStorage.setItem("flightInfo" + this.dataId, "remove");
378 } 460 }
379 }, 461 },
380 - },
381 462
382 - beforeDestroy() { 463 + dictData() {
383 - if (this.routeName == "FlightAllocConfigAdd") {
384 - if (sessionStorage.getItem("flightAdd") == "remove") {
385 - sessionStorage.removeItem("flightAdd")
386 - } else {
387 - this.form.isNeedRequired = this.isNeedRequired
388 - sessionStorage.setItem("flightAdd", JSON.stringify(this.form))
389 - }
390 - } else {
391 - if (sessionStorage.getItem("flightInfo" + this.dataId) == "remove") {
392 - sessionStorage.removeItem("flightInfo" + this.dataId)
393 - } else {
394 - if (this.handleName == "detail") {
395 - this.form.isNeedRequired = this.isNeedRequired
396 - sessionStorage.setItem("flightInfo" + this.dataId, JSON.stringify(this.form))
397 - }
398 - }
399 - }
400 - },
401 -
402 - created() {
403 - let handle = this.$route.params.handle;
404 allDictData().then((response) => { 464 allDictData().then((response) => {
405 if (response.code != 200) { 465 if (response.code != 200) {
406 - this.$message({ 466 + this.msgError(response.msg)
407 - showClose: true,
408 - message: response.msg,
409 - type: "error",
410 - });
411 return; 467 return;
412 } 468 }
413 let dict = response.data; 469 let dict = response.data;
414 this.cargoType = dict.cargoType; 470 this.cargoType = dict.cargoType;
415 this.cargoStatus = dict.cargoStatus; 471 this.cargoStatus = dict.cargoStatus;
416 - this.serviceCode = dict.serviceCode.sort((a, b) => 472 + this.serviceCode = this.dicSort(dict.serviceCode.sort((a, b) =>
417 - a.englishName.localeCompare(b.englishName) 473 + a.chineseName.localeCompare(b.chineseName)
418 - ); 474 + ));
419 - 475 + this.handlingCode = this.dicSort(this.sorttodo(dict.handlingCode, "BLANK"));
420 - this.handlingCode = this.sorttodo(dict.handlingCode, "BLANK"); 476 + this.subCategory = this.dicSort(this.sorttodo(dict.subCategory, "Blank"));
421 - this.subCategory = dict.subCategory;
422 }); 477 });
423 - this.routeName = this.$route.name; 478 + },
424 - this.dataId = this.$route.params.id;
425 - this.handleName = this.$route.params.handle;
426 - if (handle === "detail") {
427 - this.disable = true;
428 - }
429 479
430 - if (handle != "add") { 480 + dicSort(val) {
431 - this.nameDisabled = true; 481 + let status1 = []
432 - let id = this.$route.params.id; 482 + let status0 = []
433 - if (sessionStorage.getItem("flightInfo" + id) && this.$route.name == "FlightAllocConfigInfo" && handle != "detail") { 483 + let arr = []
434 - this.loading = false 484 + val.forEach(item => {
435 - this.form = JSON.parse(sessionStorage.getItem("flightInfo" + this.$route.params.id)) 485 + if (item.status == 1) {
436 - this.isNeedRequired = this.form.isNeedRequired; 486 + status1.push(item)
437 - if (this.form.notLocation != null || this.form.notLocation == "") {
438 - this.isLocation = "2";
439 } else { 487 } else {
440 - this.isLocation = "1"; 488 + status0.push(item)
441 } 489 }
442 - } else {
443 - if (isNaN(Number(id))) {
444 - findDestinationFltRuleByActualFlight(id).then((response) => {
445 - if (response.code != 200) {
446 - this.$message({
447 - showClose: true,
448 - message: response.msg,
449 - type: "error",
450 - });
451 - this.isEmpty = true;
452 - } else if (response.data == null) {
453 - this.isEmpty = true;
454 - } else {
455 - let info = response.data;
456 - info.typeOfGoods = info.typeOfGoods
457 - ? info.typeOfGoods.split(";")
458 - : [];
459 - info.declarationCategory = info.declarationCategory
460 - ? info.declarationCategory.split(";")
461 - : [];
462 - info.serviceCode = info.serviceCode
463 - ? info.serviceCode.split(";")
464 - : [];
465 - info.handlingCode = info.handlingCode
466 - ? info.handlingCode.split(";")
467 - : [];
468 - info.subCategory = info.subCategory
469 - ? info.subCategory.split(";")
470 - : [];
471 - this.form = info;
472 - if (info.notLocation != null || info.notLocation == "") {
473 - this.isLocation = "2";
474 - } else {
475 - this.isLocation = "1";
476 - }
477 - this.isNeedRequired = info.isNeedRequired;
478 - }
479 - this.loading = false;
480 - }).catch(() => {
481 - this.loading = false;
482 }) 490 })
483 - } else { 491 + arr = status1.concat(status0)
484 - //货物信息 492 + return arr
485 - findByFlightId(id).then((response) => {
486 - if (response.code != 200) {
487 - this.$message({
488 - showClose: true,
489 - message: response.msg,
490 - type: "error",
491 - });
492 - this.isEmpty = true;
493 - } else {
494 - let info = response.data.list;
495 - info.typeOfGoods = info.typeOfGoods
496 - ? info.typeOfGoods.split(";")
497 - : [];
498 - info.declarationCategory = info.declarationCategory
499 - ? info.declarationCategory.split(";")
500 - : [];
501 - info.serviceCode = info.serviceCode
502 - ? info.serviceCode.split(";")
503 - : [];
504 - info.handlingCode = info.handlingCode
505 - ? info.handlingCode.split(";")
506 - : [];
507 - info.subCategory = info.subCategory
508 - ? info.subCategory.split(";")
509 - : [];
510 - this.form = info;
511 - if (info.notLocation != null || info.notLocation == "") {
512 - this.isLocation = "2";
513 - } else {
514 - this.isLocation = "1";
515 - }
516 - let isNeedRequired = response.data.isNeedRequired;
517 - this.form.isNeedRequired = isNeedRequired;
518 - this.isNeedRequired = isNeedRequired;
519 - }
520 - this.loading = false;
521 - }).catch(() => {
522 - this.loading = false;
523 - })
524 - }
525 } 493 }
494 + },
495 +
496 + beforeDestroy() {
497 + if (this.routeName == "FlightAllocConfigAdd") {
498 + if (sessionStorage.getItem("flightAdd") == "remove") {
499 + sessionStorage.removeItem("flightAdd");
526 } else { 500 } else {
527 - this.loading = false; 501 + sessionStorage.setItem("flightAdd", JSON.stringify(this.form));
528 } 502 }
529 - if (this.$route.name == "FlightAllocConfigAdd") {
530 - if (sessionStorage.getItem("flightAdd")) {
531 - this.form = JSON.parse(sessionStorage.getItem("flightAdd"))
532 - this.isNeedRequired = this.form.isNeedRequired;
533 - if (this.form.notLocation != null || this.form.notLocation == "") {
534 - this.isLocation = "2";
535 } else { 503 } else {
536 - this.isLocation = "1"; 504 + if (sessionStorage.getItem("flightInfo" + this.dataId) == "remove") {
505 + sessionStorage.removeItem("flightInfo" + this.dataId);
506 + } else {
507 + if (this.handleName != "detail" && this.handleName != "DMdetail") {
508 + sessionStorage.setItem(
509 + "flightInfo" + this.dataId,
510 + JSON.stringify(this.form)
511 + );
537 } 512 }
538 } 513 }
539 } 514 }
540 }, 515 },
516 +
541 computed: { 517 computed: {
518 + includeUrsa: {
519 + get: function () {
520 + return this.form.includeUrsa;
521 + },
522 + set: function (val) {
523 + this.form.includeUrsa = this.upCase(val);
524 + },
525 + },
526 + notIncludeUrsa: {
527 + get: function () {
528 + return this.form.notIncludeUrsa;
529 + },
530 + set: function (val) {
531 + this.form.notIncludeUrsa = this.upCase(val);
532 + },
533 + },
542 minNumOfPieces: { 534 minNumOfPieces: {
543 get: function () { 535 get: function () {
544 return this.form.minNumOfPieces; 536 return this.form.minNumOfPieces;
545 }, 537 },
546 set: function (val) { 538 set: function (val) {
539 + const reg = /^[1-9]{0,}$/
540 + if (reg.test(val)) {
541 + this.form.minNumOfPieces = val
542 + }
547 if (val == 0 || val == null || val == "-") { 543 if (val == 0 || val == null || val == "-") {
548 this.form.minNumOfPieces = undefined; 544 this.form.minNumOfPieces = undefined;
549 - } else if (!isNaN(val)) {
550 - this.form.minNumOfPieces = val;
551 } 545 }
552 }, 546 },
553 }, 547 },
...@@ -556,10 +550,12 @@ export default { ...@@ -556,10 +550,12 @@ export default {
556 return this.form.maxNumOfPieces; 550 return this.form.maxNumOfPieces;
557 }, 551 },
558 set: function (val) { 552 set: function (val) {
553 + const reg = /^[1-9]{0,}$/
554 + if (reg.test(val)) {
555 + this.form.maxNumOfPieces = val
556 + }
559 if (val == 0 || val == null || val == "-") { 557 if (val == 0 || val == null || val == "-") {
560 this.form.maxNumOfPieces = undefined; 558 this.form.maxNumOfPieces = undefined;
561 - } else if (!isNaN(val)) {
562 - this.form.maxNumOfPieces = val;
563 } 559 }
564 }, 560 },
565 }, 561 },
...@@ -568,6 +564,8 @@ export default { ...@@ -568,6 +564,8 @@ export default {
568 return this.form.minWeight; 564 return this.form.minWeight;
569 }, 565 },
570 set: function (val) { 566 set: function (val) {
567 + const reg = /^\d{1,1}\d*\.{0,1}\d{0,}$/
568 + console.log(reg.test(val))
571 if (val == null || val == "-") { 569 if (val == null || val == "-") {
572 this.form.minWeight = undefined; 570 this.form.minWeight = undefined;
573 } else if (!isNaN(val)) { 571 } else if (!isNaN(val)) {
......
1 <template> 1 <template>
2 <div> 2 <div>
3 - <el-form class="form-header" :model="queryParams" ref="queryForm" size="medium" :inline="true" 3 + <el-form class="form-header" :model="queryParams" ref="queryForm" size="small" :inline="true" label-position="right"
4 - label-position="right" label-width="auto"> 4 + label-width="auto">
5 <el-form-item label="原航班"> 5 <el-form-item label="原航班">
6 - <el-input type="text" v-model="upCase" placeholder="请输入原航班" clearable></el-input> 6 + <el-input type="text" v-model="sourceFlightNo" placeholder="请输入原航班" clearable></el-input>
7 - <!-- <el-input v-model="upCase" placeholder="请输入原航班" clearable size="small" /> -->
8 </el-form-item> 7 </el-form-item>
9 <el-form-item label="状态" prop="status"> 8 <el-form-item label="状态" prop="status">
10 <el-select v-model="queryParams.status" placeholder="请选择" clearable> 9 <el-select v-model="queryParams.status" placeholder="请选择" clearable>
11 <el-option v-for="dict in statusList" :key="dict.id" :label="dict.name" :value="dict.id" /> 10 <el-option v-for="dict in statusList" :key="dict.id" :label="dict.name" :value="dict.id" />
12 </el-select> 11 </el-select>
13 </el-form-item> 12 </el-form-item>
14 -
15 <el-form-item> 13 <el-form-item>
16 - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询原航班配置</el-button> 14 + <el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="handleQuery">查询原航班配置
15 + </el-button>
17 </el-form-item> 16 </el-form-item>
18 <br /> 17 <br />
19 <el-form-item label="日期" prop="flightDate"> 18 <el-form-item label="日期" prop="flightDate">
20 <el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.flightDate" type="date" placeholder="选择日期"> 19 <el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.flightDate" type="date" placeholder="选择日期">
21 </el-date-picker> 20 </el-date-picker>
22 </el-form-item> 21 </el-form-item>
23 -
24 <el-form-item> 22 <el-form-item>
25 <el-button type="primary" icon="el-icon-search" size="mini" @click="findSourceFlightAndFlightDate">查询实际配载航班 23 <el-button type="primary" icon="el-icon-search" size="mini" @click="findSourceFlightAndFlightDate">查询实际配载航班
26 </el-button>&#12288; 24 </el-button>&#12288;
...@@ -33,21 +31,12 @@ ...@@ -33,21 +31,12 @@
33 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> 31 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
34 </el-form-item> 32 </el-form-item>
35 </el-form> 33 </el-form>
36 - 34 + <Tables ref="newTables" ductName="flightRand" :data="sourceFlightRulesList" :headerData="tableHeaders['flightRand']"
37 - <el-table v-loading="loading" height="550" size="small" :data="sourceFlightRulesList" highlight-current-row border 35 + :order="true" :totalCount="total" :loading="loading" :limitSize="queryParams.limit"
38 - stripe> 36 + :limitStart="queryParams.start" :page="queryParams.pageNum" :pageSizes="[20]" :height="tableHeight"
39 - <el-table-column type="index" label="序号" align="center"> 37 + @currentChange="currentChange">
40 - <template slot-scope="scope">{{ scope.$index + 1 }}</template> 38 + <template slot="optionColumn">
41 - </el-table-column> 39 + <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
42 - <el-table-column label="原航班" align="center" prop="sourceFlightNo" />
43 - <el-table-column label="配载航班排序" align="center" prop="flightRank" width="280" />
44 - <el-table-column label="周期" align="center" prop="dayOfWeek" width="180" />
45 - <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
46 - <el-table-column label="开始时间" align="center" prop="startDate" width="100" />
47 - <el-table-column label="结束时间" align="center" prop="endDate" width="100" />
48 - <el-table-column label="最后修改人" align="center" prop="updateUserName" width="100" />
49 - <el-table-column label="最后修改时间" align="center" prop="updateTime" width="100" />
50 - <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180" fixed="right">
51 <template slot-scope="scope"> 40 <template slot-scope="scope">
52 <el-button size="mini" type="text" icon="el-icon-edit" v-hasPermi="['allocation:rand:update']" 41 <el-button size="mini" type="text" icon="el-icon-edit" v-hasPermi="['allocation:rand:update']"
53 @click="handleUpdate(scope.row)">修改</el-button> 42 @click="handleUpdate(scope.row)">修改</el-button>
...@@ -62,14 +51,11 @@ ...@@ -62,14 +51,11 @@
62 </el-button> 51 </el-button>
63 </template> 52 </template>
64 </el-table-column> 53 </el-table-column>
65 - </el-table> 54 + </template>
66 - 55 + </Tables>
67 - <pagination v-show="total > 0" :total="total" layout=" prev, pager, next, jumper, sizes,total"
68 - :page.sync="queryParams.pageNum" :limit.sync="queryParams.limit" @pagination="findSourceFlightRules" />
69 -
70 <!-- 查看目的航班对话框 --> 56 <!-- 查看目的航班对话框 -->
71 <el-dialog title="实际配载航班" :visible.sync="openFlightDate" width="70%" :close-on-click-modal="false" 57 <el-dialog title="实际配载航班" :visible.sync="openFlightDate" width="70%" :close-on-click-modal="false"
72 - :append-to-body="true"> 58 + :show-close="false" :append-to-body="true">
73 <el-table v-loading="loadingFlightDate" :data="sourceFlightAndFlightDate"> 59 <el-table v-loading="loadingFlightDate" :data="sourceFlightAndFlightDate">
74 <el-table-column type="index" label="序号" align="center"> 60 <el-table-column type="index" label="序号" align="center">
75 <template slot-scope="scope">{{ scope.$index + 1 }}</template> 61 <template slot-scope="scope">{{ scope.$index + 1 }}</template>
...@@ -88,20 +74,19 @@ ...@@ -88,20 +74,19 @@
88 <el-button @click="cancelFlightDate">返 回</el-button> 74 <el-button @click="cancelFlightDate">返 回</el-button>
89 </div> 75 </div>
90 </el-dialog> 76 </el-dialog>
91 -
92 <!-- 添加或修改对话框 --> 77 <!-- 添加或修改对话框 -->
93 - <el-dialog :title="title" :visible.sync="open" width="55%" :append-to-body="true" :close-on-click-modal="false"> 78 + <el-dialog :title="title" :visible.sync="open" width="55%" :append-to-body="true" :close-on-click-modal="false"
94 - <el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="auto"> 79 + :show-close="false">
80 + <el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="auto" size="small">
95 <el-row> 81 <el-row>
96 <el-col :span="8"> 82 <el-col :span="8">
97 <el-form-item label="原航班" prop="sourceFlightNo"> 83 <el-form-item label="原航班" prop="sourceFlightNo">
98 <el-input v-model="form.sourceFlightNo" placeholder="请输入原航班号" maxlength="10" /> 84 <el-input v-model="form.sourceFlightNo" placeholder="请输入原航班号" maxlength="10" />
99 </el-form-item> 85 </el-form-item>
100 </el-col> 86 </el-col>
101 -
102 <el-col :span="8"> 87 <el-col :span="8">
103 <el-form-item label="口岸" prop="portName"> 88 <el-form-item label="口岸" prop="portName">
104 - <el-select :disabled="true" v-model="form.portName" size="mini" placeholder="选择口岸"> 89 + <el-select :disabled="true" v-model="form.portName" placeholder="选择口岸">
105 <el-option v-for="item in portNameList" :label="item" :value="item" :key="item"> 90 <el-option v-for="item in portNameList" :label="item" :value="item" :key="item">
106 </el-option> 91 </el-option>
107 </el-select> 92 </el-select>
...@@ -111,19 +96,18 @@ ...@@ -111,19 +96,18 @@
111 <el-row> 96 <el-row>
112 <el-col :span="8"> 97 <el-col :span="8">
113 <el-form-item label="有效开始时间" prop="startDate"> 98 <el-form-item label="有效开始时间" prop="startDate">
114 - <el-date-picker clearable size="small" :picker-options="pickerOptionsStart" v-model="form.startDate" 99 + <el-date-picker clearable :picker-options="pickerOptionsStart" v-model="form.startDate" type="date"
115 - type="date" value-format="yyyy-MM-dd" placeholder="选择开始时间"> 100 + value-format="yyyy-MM-dd" placeholder="选择开始时间">
116 </el-date-picker> 101 </el-date-picker>
117 </el-form-item> 102 </el-form-item>
118 </el-col> 103 </el-col>
119 <el-col :span="12"> 104 <el-col :span="12">
120 <el-form-item label="有效结束时间" prop="endDate"> 105 <el-form-item label="有效结束时间" prop="endDate">
121 - <el-date-picker clearable size="small" :picker-options="pickerOptionsEnd" v-model="form.endDate" 106 + <el-date-picker clearable :picker-options="pickerOptionsEnd" v-model="form.endDate" type="date"
122 - type="date" value-format="yyyy-MM-dd" placeholder="选择结束时间"> 107 + value-format="yyyy-MM-dd" placeholder="选择结束时间">
123 </el-date-picker> 108 </el-date-picker>
124 </el-form-item> 109 </el-form-item>
125 </el-col> 110 </el-col>
126 -
127 <el-col :span="24" style="margin-bottom: 5%"> 111 <el-col :span="24" style="margin-bottom: 5%">
128 <span style="color: #ff4949; margin-left: 10%">提示:配载航班之间请用分号分隔【符号不区分中英文】,例:CA1053;C7433</span><br /> 112 <span style="color: #ff4949; margin-left: 10%">提示:配载航班之间请用分号分隔【符号不区分中英文】,例:CA1053;C7433</span><br />
129 <span 113 <span
...@@ -137,7 +121,11 @@ ...@@ -137,7 +121,11 @@
137 <el-col :span="24"> 121 <el-col :span="24">
138 <el-form-item label="周期段"> 122 <el-form-item label="周期段">
139 <el-checkbox-group v-model="dayOfWeek"> 123 <el-checkbox-group v-model="dayOfWeek">
140 - <el-checkbox v-for="item in dayOfWeekList" :key="item" :label="item" :name="item"></el-checkbox> 124 + <el-row :gutter="10">
125 + <el-col :span="2" v-for="item in dayOfWeekList" :key="item">
126 + <el-checkbox :label="item" :name="item"></el-checkbox>
127 + </el-col>
128 + </el-row>
141 </el-checkbox-group> 129 </el-checkbox-group>
142 </el-form-item> 130 </el-form-item>
143 </el-col> 131 </el-col>
...@@ -196,6 +184,8 @@ export default { ...@@ -196,6 +184,8 @@ export default {
196 title: "", 184 title: "",
197 // 总条数 185 // 总条数
198 total: 0, 186 total: 0,
187 + //table高度
188 + tableHeight: null,
199 // 原航班规则数据 189 // 原航班规则数据
200 sourceFlightRulesList: [], 190 sourceFlightRulesList: [],
201 //目的航班数据 191 //目的航班数据
...@@ -255,6 +245,9 @@ export default { ...@@ -255,6 +245,9 @@ export default {
255 this.findSourceFlightRules(); 245 this.findSourceFlightRules();
256 } 246 }
257 }, 247 },
248 + mounted() {
249 + this.tableHeight = window.innerHeight - this.$refs.queryForm.$el.offsetHeight - 200
250 + },
258 activated() { 251 activated() {
259 this.findSourceFlightRules(); 252 this.findSourceFlightRules();
260 }, 253 },
...@@ -291,10 +284,10 @@ export default { ...@@ -291,10 +284,10 @@ export default {
291 this.queryParams.start = 0; 284 this.queryParams.start = 0;
292 } 285 }
293 findSourceFlightRulesApi(this.queryParams).then((response) => { 286 findSourceFlightRulesApi(this.queryParams).then((response) => {
287 + this.loading = false;
294 if (response.code == 200) { 288 if (response.code == 200) {
295 this.sourceFlightRulesList = response.data.list; 289 this.sourceFlightRulesList = response.data.list;
296 this.total = response.data.totalCount; 290 this.total = response.data.totalCount;
297 - this.loading = false;
298 } else { 291 } else {
299 this.msgError(response.msg); 292 this.msgError(response.msg);
300 } 293 }
...@@ -325,10 +318,7 @@ export default { ...@@ -325,10 +318,7 @@ export default {
325 handleDeleteorPlayorpause(row, status, statusText) { 318 handleDeleteorPlayorpause(row, status, statusText) {
326 //删除前需要停用 319 //删除前需要停用
327 if (status === 0 && row.status != "3") { 320 if (status === 0 && row.status != "3") {
328 - this.$message({ 321 + this.msgWarning('请停用后删除')
329 - message: "请停用后删除",
330 - type: "warning",
331 - });
332 return; 322 return;
333 } 323 }
334 324
...@@ -361,9 +351,7 @@ export default { ...@@ -361,9 +351,7 @@ export default {
361 if (valid) { 351 if (valid) {
362 this.form.dayOfWeek = this.dayOfWeek.sort(); 352 this.form.dayOfWeek = this.dayOfWeek.sort();
363 let formdata = JSON.parse(JSON.stringify(this.form)); 353 let formdata = JSON.parse(JSON.stringify(this.form));
364 - formdata.sourceFlightNo = formdata.sourceFlightNo 354 + formdata.sourceFlightNo = formdata.sourceFlightNo.trim().toUpperCase();
365 - .trim()
366 - .toUpperCase();
367 formdata.flightRank = formdata.flightRank.trim().toUpperCase(); 355 formdata.flightRank = formdata.flightRank.trim().toUpperCase();
368 if (formdata.startDate === undefined || formdata.startDate == null) { 356 if (formdata.startDate === undefined || formdata.startDate == null) {
369 formdata.startDate = ""; 357 formdata.startDate = "";
...@@ -433,17 +421,6 @@ export default { ...@@ -433,17 +421,6 @@ export default {
433 this.findSourceFlightRules(); 421 this.findSourceFlightRules();
434 //this.reset(); 422 //this.reset();
435 }, 423 },
436 - // 状态字典翻译
437 - statusFormat(row) {
438 - if (row.status === "1") {
439 - return "有效";
440 - } else if (row.status === "0") {
441 - return "执行中";
442 - } else if (row.status === "3") {
443 - return "停用";
444 - }
445 - return row.status;
446 - },
447 /** 重置按钮操作 */ 424 /** 重置按钮操作 */
448 resetQuery() { 425 resetQuery() {
449 this.queryParams.sourceFlightNo = undefined; 426 this.queryParams.sourceFlightNo = undefined;
...@@ -456,14 +433,20 @@ export default { ...@@ -456,14 +433,20 @@ export default {
456 this.queryParams.start = 0; 433 this.queryParams.start = 0;
457 this.findSourceFlightRules(); 434 this.findSourceFlightRules();
458 }, 435 },
436 + //翻页
437 + currentChange(val) {
438 + this.queryParams.start = val.start;
439 + this.queryParams.pageNum = val.page;
440 + this.findSourceFlightRules();
441 + }
459 }, 442 },
460 computed: { 443 computed: {
461 - upCase: { 444 + sourceFlightNo: {
462 get: function () { 445 get: function () {
463 return this.queryParams.sourceFlightNo; 446 return this.queryParams.sourceFlightNo;
464 }, 447 },
465 set: function (val) { 448 set: function (val) {
466 - this.queryParams.sourceFlightNo = val.toUpperCase(); 449 + this.queryParams.sourceFlightNo = this.upCase(val);
467 }, 450 },
468 }, 451 },
469 }, 452 },
......
1 +<template>
2 + <div style="margin:30px 20px 20px">
3 + <el-form class="form-header" :model="pageOption" ref="queryForm" label-position="right" label-width="auto"
4 + size="small">
5 + <el-row>
6 + <el-col :span="6">
7 + <el-form-item label="航班号" prop="fltNo">
8 + <el-input class="wid80" v-model="queryfltNo" placeholder="请输入航班号" maxlength="50" />
9 + </el-form-item>
10 + </el-col>
11 + <el-col :span="6">
12 + <el-form-item label="预审状态" prop="status">
13 + <el-select class="wid80" v-model="pageOption.status" clearable placeholder="不限">
14 + <el-option label="关闭" :value="0">
15 + </el-option>
16 + <el-option label="开启" :value="1">
17 + </el-option>
18 + </el-select>
19 + </el-form-item>
20 + </el-col>
21 + </el-row>
22 + </el-form>
23 + <div class="mb20" ref="preReviewOptions" style="font-size: 12px; font-weight: 700">
24 + <el-button type="primary" icon="el-icon-search" size="small" :loading="tableLoading" @click="preQuery(1)">搜 索
25 + </el-button>
26 + <el-button type="primary" icon="el-icon-plus" size="small" @click="dialogVisible = true"
27 + v-hasPermi="['allocation:preReview:add']">新增预审航班</el-button>
28 + <el-button type="primary" size="small" icon="el-icon-check" :disabled="selectData.length == 0"
29 + @click="preOption(1)" v-hasPermi="['allocation:preReview:open']">
30 + 预审开启</el-button>
31 + <el-button type="primary" size="small" icon="el-icon-close" :disabled="selectData.length == 0"
32 + @click="preOption(0)" v-hasPermi="['allocation:preReview:close']">
33 + 预审关闭</el-button>
34 + <el-button type="danger" icon="el-icon-delete" size="small" :disabled="selectData.length == 0"
35 + @click="preOption(2)" v-hasPermi="['allocation:preReview:delete']">删 除
36 + </el-button>
37 + </div>
38 + <Tables ref="preFlight" ductName="preFlight" :selection="true" :selectFixed="false" :order='true'
39 + :height="tableHeight" :data="flightData" :headerData="tableHeaders" :page="pageOption.page" :pageSizes="[20]"
40 + :totalCount="total" :loading="tableLoading" @currentChange="currentChange"
41 + layout="total,prev, pager, next, jumper, ->" @tableSelect="tableSelection" @tableSelectAll="tableSelectAll">
42 + </Tables>
43 + <el-dialog title="新增预审航班" width="20%" :visible.sync="dialogVisible" :close-on-click-modal="false"
44 + :show-close="false" :append-to-body="true">
45 + <el-form ref="addForm" :model="newPre" label-width="auto" label-position="left" size="small" :rules="rules"
46 + @submit.native.prevent>
47 + <el-form-item label="航班号" prop="addFlitNo">
48 + <el-input type="textarea" v-model="fltNo" :rows="7" maxlength="255" show-word-limit placeholder="请输入航班号,用;分隔">
49 + </el-input>
50 + </el-form-item>
51 + </el-form>
52 + <div slot="footer">
53 + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button>
54 + <el-button @click="close">取 消</el-button>
55 + </div>
56 + </el-dialog>
57 + </div>
58 +</template>
59 +
60 +<script>
61 +import { getpreAudit, addPreFlight, updatePreStatus } from '@/api/system/preReview.js'
62 +
63 +export default {
64 + name: "PreReviewFlight",
65 + data() {
66 + return {
67 + pageOption: {
68 + fltNo: undefined,
69 + page: 1,
70 + size: 20
71 + },//查询条件
72 + tableHeaders: [
73 + {
74 + columnChineseName: "航班号",
75 + columnName: "fltNo",
76 + columnWidth: "",
77 + status: 1
78 + },
79 + {
80 + columnChineseName: "预审状态",
81 + columnName: "status",
82 + columnWidth: "",
83 + status: 1
84 + },
85 + ],//表头
86 + flightData: [],//表格数据
87 + selectData: [],//选中数据
88 + newPre: {
89 + addFlitNo: '',
90 + },//新增航班
91 + rules: {
92 + fltNo: [
93 + {
94 + required: true,
95 + message: "航班号不能为空",
96 + trigger: "blur",
97 + }
98 + ]
99 + },//表单规则
100 + dialogVisible: false,
101 + total: 0,
102 + tableHeight: null,
103 + loading: false,
104 + tableLoading: false,
105 + };
106 + },
107 + created() {
108 + this.preQuery(1)
109 + },
110 + activated() {
111 + if (this.flightData.length > 0) {
112 + this.preQuery()
113 + }
114 + },
115 + mounted() {
116 + this.tableHeight = window.innerHeight - this.$refs.preReviewOptions.offsetHeight - 300
117 + },
118 + methods: {
119 + //搜索
120 + preQuery(val) {
121 + this.tableLoading = true
122 + this.selectData = []
123 + if (val === 1) {
124 + this.pageOption.page = 1
125 + }
126 + getpreAudit(this.pageOption).then(res => {
127 + this.tableLoading = false
128 + if (res.code === 200) {
129 + this.flightData = res.data.list
130 + this.total = res.data.total
131 + } else {
132 + this.msgWarning(res.msg)
133 + }
134 + }).catch(err => {
135 + this.tableLoading = false
136 + console.log(err)
137 + })
138 + },
139 + //保存
140 + submit() {
141 + this.$refs["addForm"].validate(val => {
142 + if (val) {
143 + this.loading = true
144 + let fltList = []
145 + this.newPre.addFlitNo.split(';').forEach(item => {
146 + if (item != '') {
147 + fltList.push(item)
148 + }
149 + })
150 + addPreFlight(fltList).then(res => {
151 + this.loading = false
152 + if (res.code === 200) {
153 + this.msgSuccess(res.msg)
154 + this.close()
155 + this.preQuery(1)
156 + } else {
157 + this.msgWarning(res.msg)
158 + }
159 + }).catch(err => {
160 + this.loading = false
161 + console.log(err)
162 + })
163 + }
164 + })
165 + },
166 + //预审状态修改
167 + preOption(val) {
168 + this.$confirm(val === 2 ? '是否要删除?' : val === 0 ? '是否要关闭预审' : '是否要开启预审', '系统提示', {
169 + closeOnClickModal: false,
170 + confirmButtonText: '确定',
171 + cancelButtonText: "取消",
172 + type: 'warning'
173 + }).then(() => {
174 + let idList = []
175 + this.selectData.forEach(item => {
176 + idList.push(item.id)
177 + })
178 + updatePreStatus({ ids: idList, status: val }).then(res => {
179 + if (res.code === 200) {
180 + this.msgSuccess(val === 2 ? '删除成功' : val === 0 ? '关闭成功' : '开启成功')
181 + this.preQuery(1)
182 + } else {
183 + this.msgWarning(res.msg)
184 + }
185 + }).catch(err => {
186 + console.log(err)
187 + })
188 + }).catch()
189 + },
190 + //关闭弹窗
191 + close() {
192 + this.dialogVisible = false
193 + this.newPre.addFlitNo = ''
194 + },
195 + //翻页
196 + currentChange(val) {
197 + this.pageOption.page = val.page
198 + this.preQuery()
199 + },
200 + //多选
201 + tableSelection(val) {
202 + this.selectData = val.selection
203 + },
204 + //全选
205 + tableSelectAll(val) {
206 + this.selectData = val
207 + },
208 + },
209 + computed: {
210 + queryfltNo: {
211 + get: function () {
212 + return this.pageOption.fltNo;
213 + },
214 + set: function (val) {
215 + this.pageOption.fltNo = this.upCase(val);
216 + },
217 + },
218 + fltNo: {
219 + get: function () {
220 + return this.newPre.addFlitNo;
221 + },
222 + set: function (val) {
223 + let reg = /^([0-9A-Za-z]{0,50}(\;[0-9a-zA-Z]{0,50})*)$/
224 + if (reg.test(val)) {
225 + this.newPre.addFlitNo = this.upCase(val);
226 + }
227 + },
228 + }
229 + }
230 +};
231 +</script>
232 +<style rel="stylesheet/scss" lang="scss">
233 +</style>
1 <template> 1 <template>
2 <div> 2 <div>
3 - <el-form class="form-header" :model="queryParams" label-position="right" label-width="auto" size="medium"> 3 + <el-form class="form-header" :model="queryParams" label-position="right" label-width="auto" size="small">
4 <el-row> 4 <el-row>
5 <el-col :span="6"> 5 <el-col :span="6">
6 <el-form-item label="航班日期从" prop="fltDateStart"> 6 <el-form-item label="航班日期从" prop="fltDateStart">
...@@ -23,25 +23,25 @@ ...@@ -23,25 +23,25 @@
23 </el-form-item> 23 </el-form-item>
24 </el-col> 24 </el-col>
25 <el-col :span="6"> 25 <el-col :span="6">
26 - <el-form-item label="运单号">
27 - <el-input clearable type="textarea" v-model="queryParams.waybillNo" class="formItem"
28 - placeholder="请输入运单号(回车间隔)" :rows="1" :maxlength="12000"></el-input>
29 - </el-form-item>
30 - </el-col>
31 - </el-row>
32 - <el-row>
33 - <el-col :span="6">
34 <el-form-item label="站点"> 26 <el-form-item label="站点">
35 <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" clearable :rows="1"> 27 <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" clearable :rows="1">
36 </el-input> 28 </el-input>
37 </el-form-item> 29 </el-form-item>
38 </el-col> 30 </el-col>
31 + </el-row>
32 + <el-row>
39 <el-col :span="6"> 33 <el-col :span="6">
40 <el-form-item label="URSA"> 34 <el-form-item label="URSA">
41 <el-input clearable type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1"> 35 <el-input clearable type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1">
42 </el-input> 36 </el-input>
43 </el-form-item> 37 </el-form-item>
44 </el-col> 38 </el-col>
39 + <el-col :span="6">
40 + <el-form-item label="运单号">
41 + <el-input clearable type="textarea" v-model="queryParams.waybillNo" class="formItem"
42 + placeholder="请输入运单号(回车间隔)" :rows="4"></el-input>
43 + </el-form-item>
44 + </el-col>
45 </el-row> 45 </el-row>
46 <el-switch v-model="queryParams.reExport" active-color="#13ce66" active-text="重新导出" style="padding-left: 35px"> 46 <el-switch v-model="queryParams.reExport" active-color="#13ce66" active-text="重新导出" style="padding-left: 35px">
47 </el-switch> 47 </el-switch>
...@@ -53,7 +53,6 @@ ...@@ -53,7 +53,6 @@
53 }}</el-button> 53 }}</el-button>
54 </div> 54 </div>
55 </el-form> 55 </el-form>
56 -
57 <el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="tableData"> 56 <el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="tableData">
58 <el-table-column label="运单号" align="center" prop="waybillNo" /> 57 <el-table-column label="运单号" align="center" prop="waybillNo" />
59 <el-table-column :show-overflow-tooltip="true" label="品牌描述" align="center" prop="nameDescription" /> 58 <el-table-column :show-overflow-tooltip="true" label="品牌描述" align="center" prop="nameDescription" />
...@@ -159,10 +158,7 @@ export default { ...@@ -159,10 +158,7 @@ export default {
159 this.total = response.data.totalCount; 158 this.total = response.data.totalCount;
160 this.loading = false; 159 this.loading = false;
161 if (response.data.list.length == 0) { 160 if (response.data.list.length == 0) {
162 - this.$message({ 161 + this.msgWarning('未查询到数据')
163 - message: "未查询到数据",
164 - type: "warning",
165 - });
166 } 162 }
167 } else { 163 } else {
168 this.msgError(response.msg); 164 this.msgError(response.msg);
...@@ -176,7 +172,7 @@ export default { ...@@ -176,7 +172,7 @@ export default {
176 return this.queryParams.fltNo; 172 return this.queryParams.fltNo;
177 }, 173 },
178 set: function (val) { 174 set: function (val) {
179 - this.queryParams.fltNo = val.toUpperCase(); 175 + this.queryParams.fltNo = this.upCase(val);
180 }, 176 },
181 }, 177 },
182 siteName: { 178 siteName: {
...@@ -184,7 +180,7 @@ export default { ...@@ -184,7 +180,7 @@ export default {
184 return this.queryParams.siteName; 180 return this.queryParams.siteName;
185 }, 181 },
186 set: function (val) { 182 set: function (val) {
187 - this.queryParams.siteName = val.toUpperCase(); 183 + this.queryParams.siteName = this.upCase(val);
188 }, 184 },
189 }, 185 },
190 ursa: { 186 ursa: {
...@@ -192,7 +188,7 @@ export default { ...@@ -192,7 +188,7 @@ export default {
192 return this.queryParams.ursa; 188 return this.queryParams.ursa;
193 }, 189 },
194 set: function (val) { 190 set: function (val) {
195 - this.queryParams.ursa = val.toUpperCase(); 191 + this.queryParams.ursa = this.upCase(val);
196 }, 192 },
197 }, 193 },
198 }, 194 },
......
1 <template> 1 <template>
2 <div style="margin: 20px"> 2 <div style="margin: 20px">
3 - <el-form :inline="true" :model="form" class="demo-form-inline" size="small"> 3 + <el-form :inline="true" class="demo-form-inline" size="small">
4 <el-form-item> 4 <el-form-item>
5 <el-upload action="/caPreReviewImport/importFlight" name="file" :http-request="uploadExcel" 5 <el-upload action="/caPreReviewImport/importFlight" name="file" :http-request="uploadExcel"
6 :on-remove="handleRemove" :limit="1" :on-exceed="handleExceed" :file-list="fileList" accept=".xlsx" 6 :on-remove="handleRemove" :limit="1" :on-exceed="handleExceed" :file-list="fileList" accept=".xlsx"
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
15 <div style="font-size: 12px; font-weight: 700"> 15 <div style="font-size: 12px; font-weight: 700">
16 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span> 16 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span>
17 </div> 17 </div>
18 - <el-table ref="filterTable" :data="tableData" v-loading="loading" style="width: 100%; margin-top: 20px" size="small" 18 + <el-table ref="filterTable" class="mt20" :data="tableData" v-loading="loading" style="width: 100%" size="small"
19 border> 19 border>
20 <el-table-column label="行号" prop="line" width="50" align="center"> 20 <el-table-column label="行号" prop="line" width="50" align="center">
21 </el-table-column> 21 </el-table-column>
...@@ -49,19 +49,13 @@ export default { ...@@ -49,19 +49,13 @@ export default {
49 return { 49 return {
50 // 遮罩层 50 // 遮罩层
51 loading: false, 51 loading: false,
52 - flightType: [],
53 - form: {
54 - type: "",
55 - region: "",
56 - },
57 fileList: [], 52 fileList: [],
58 tableData: [], 53 tableData: [],
59 }; 54 };
60 }, 55 },
61 methods: { 56 methods: {
62 downloadTempleate() { 57 downloadTempleate() {
63 - 58 + let fileName = "航班预审回执导入模板.xlsx";
64 - let fileName = "航班预审导入模板.xlsx";
65 downLoadTemplate().then((res) => { 59 downLoadTemplate().then((res) => {
66 if (res) { 60 if (res) {
67 const blob = new Blob([res]); 61 const blob = new Blob([res]);
...@@ -83,7 +77,7 @@ export default { ...@@ -83,7 +77,7 @@ export default {
83 //上传excel 77 //上传excel
84 const file = option.file; 78 const file = option.file;
85 this.loading = true; 79 this.loading = true;
86 - importcaPreReview(file, this.form.type).then((res) => { 80 + importcaPreReview(file, '').then((res) => {
87 this.loading = false; 81 this.loading = false;
88 if (res.code != 200) { 82 if (res.code != 200) {
89 if (res.code == 603) { 83 if (res.code == 603) {
...@@ -92,7 +86,7 @@ export default { ...@@ -92,7 +86,7 @@ export default {
92 type: "warning", 86 type: "warning",
93 }); 87 });
94 } else { 88 } else {
95 - this.$message.error(res.msg); 89 + this.$message.warning(res.msg);
96 this.tableData = res.data; 90 this.tableData = res.data;
97 } 91 }
98 } else { 92 } else {
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
23 <div style="font-size: 12px; font-weight: 700"> 23 <div style="font-size: 12px; font-weight: 700">
24 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span> 24 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span>
25 </div> 25 </div>
26 - <el-table ref="filterTable" :data="tableData" style="margin-top: 20px" size="small" border> 26 + <el-table ref="filterTable" class="mt20" :data="tableData" size="small" border>
27 <el-table-column label="行号" prop="line" width="50" align="center"> 27 <el-table-column label="行号" prop="line" width="50" align="center">
28 </el-table-column> 28 </el-table-column>
29 <el-table-column label="错误信息" prop="errorMessage" width="200"> 29 <el-table-column label="错误信息" prop="errorMessage" width="200">
...@@ -60,6 +60,15 @@ export default { ...@@ -60,6 +60,15 @@ export default {
60 }; 60 };
61 }, 61 },
62 methods: { 62 methods: {
63 + typeData() {
64 + filghtKindData().then((response) => {
65 + if (response.code != 200) {
66 + this.msgError(response.msg)
67 + }
68 + this.flightType = response.data;
69 + this.form.type = response.data[0].code;
70 + });
71 + },
63 downloadTempleate() { 72 downloadTempleate() {
64 let downloadType = ""; 73 let downloadType = "";
65 let fileName = ""; 74 let fileName = "";
...@@ -108,7 +117,7 @@ export default { ...@@ -108,7 +117,7 @@ export default {
108 type: "warning", 117 type: "warning",
109 }); 118 });
110 } else { 119 } else {
111 - this.$message.error(res.msg); 120 + this.$message.warning(res.msg);
112 this.tableData = res.data; 121 this.tableData = res.data;
113 } 122 }
114 } else { 123 } else {
...@@ -133,17 +142,11 @@ export default { ...@@ -133,17 +142,11 @@ export default {
133 }, 142 },
134 }, 143 },
135 created() { 144 created() {
136 - filghtKindData().then((response) => { 145 + this.typeData()
137 - if (response.code != 200) {
138 - this.$message({
139 - message: response.msg,
140 - type: "error",
141 - });
142 - }
143 - this.flightType = response.data;
144 - this.form.type = response.data[0].code;
145 - });
146 }, 146 },
147 + activated() {
148 + this.typeData()
149 + }
147 }; 150 };
148 </script> 151 </script>
149 <style rel="stylesheet/scss" lang="scss"> 152 <style rel="stylesheet/scss" lang="scss">
......
...@@ -47,7 +47,8 @@ ...@@ -47,7 +47,8 @@
47 </el-form-item> 47 </el-form-item>
48 </el-col> 48 </el-col>
49 </el-row> 49 </el-row>
50 - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> 50 + <el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="handleQuery">搜索
51 + </el-button>
51 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> 52 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
52 <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['base:flightInfo:add']"> 53 <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['base:flightInfo:add']">
53 新增</el-button> 54 新增</el-button>
...@@ -70,7 +71,7 @@ ...@@ -70,7 +71,7 @@
70 @sortChange="sortChange" @sizeChange="sizeChange"> 71 @sortChange="sortChange" @sizeChange="sizeChange">
71 <template slot="optionColumn"> 72 <template slot="optionColumn">
72 <el-table-column v-if="findAllFltDatList.length > 0" label="操作" align="center" 73 <el-table-column v-if="findAllFltDatList.length > 0" label="操作" align="center"
73 - class-name="small-padding fixed-width" fixed="right"> 74 + class-name="small-padding fixed-width" :fixed="tableHeader.length > 10 ? 'right' : false">
74 <template slot-scope="scope"> 75 <template slot-scope="scope">
75 <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" 76 <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
76 v-hasPermi="['base:flightInfo:update']">修改</el-button> 77 v-hasPermi="['base:flightInfo:update']">修改</el-button>
...@@ -109,7 +110,7 @@ ...@@ -109,7 +110,7 @@
109 </el-col> 110 </el-col>
110 <el-col :span="12"> 111 <el-col :span="12">
111 <el-form-item label="航班路线" prop="route"> 112 <el-form-item label="航班路线" prop="route">
112 - <el-input class="wid80" v-model="form.route" placeholder="请输入航班路线(XXX-XXX字母大写)" /> 113 + <el-input class="wid80" v-model="form.route" placeholder="请输入航班路线(XXX-XXX字母大写,多组用;分割)" />
113 </el-form-item> 114 </el-form-item>
114 </el-col> 115 </el-col>
115 </el-row> 116 </el-row>
...@@ -157,20 +158,31 @@ ...@@ -157,20 +158,31 @@
157 v-model="form.extraWeightPercent"></el-input-number> 158 v-model="form.extraWeightPercent"></el-input-number>
158 </el-form-item> 159 </el-form-item>
159 </el-col> 160 </el-col>
160 - <el-col :span="12"> 161 + <el-col :span="6">
161 <el-form-item label="是否开启高低价" prop="highLowPriceFlg"> 162 <el-form-item label="是否开启高低价" prop="highLowPriceFlg">
162 <el-switch class="wid80" @change="LowHighAvailable" v-model="form.highLowPriceFlg" :active-value="1" 163 <el-switch class="wid80" @change="LowHighAvailable" v-model="form.highLowPriceFlg" :active-value="1"
163 :inactive-value="0" active-color="#13ce66"> 164 :inactive-value="0" active-color="#13ce66">
164 </el-switch> 165 </el-switch>
165 </el-form-item> 166 </el-form-item>
166 </el-col> 167 </el-col>
168 + <el-col :span="6">
169 + <el-form-item label="该航班预审状态:">
170 + <el-tag v-if="preAudit" :type="preAudit == '开启' ? 'success' : 'info'" effect="dark">{{ preAudit }}
171 + </el-tag>
172 + </el-form-item>
173 + </el-col>
167 </el-row> 174 </el-row>
168 <el-row> 175 <el-row>
169 <el-col :span="12"> 176 <el-col :span="12">
170 - <el-form-item label="是否预审" prop="isNeedRequired"> 177 + <el-form-item label="今日航班预审状态" prop="isNeedRequired">
171 - <el-switch class="wid80" :disabled="true" v-model="form.isNeedRequired" :active-value="1" 178 + <el-select class="wid80" v-model="form.isNeedRequired" placeholder="">
172 - :inactive-value="0" active-color="#13ce66"> 179 + <el-option label="未设置" :value="2">
173 - </el-switch> 180 + </el-option>
181 + <el-option label="开启" :value="1">
182 + </el-option>
183 + <el-option label="关闭" :value="0">
184 + </el-option>
185 + </el-select>
174 </el-form-item> 186 </el-form-item>
175 </el-col> 187 </el-col>
176 <el-col :span="12"> 188 <el-col :span="12">
...@@ -250,6 +262,7 @@ import { ...@@ -250,6 +262,7 @@ import {
250 updateStatusBatch, 262 updateStatusBatch,
251 updateAutoPushBatch, 263 updateAutoPushBatch,
252 } from "@/api/findAllFltData"; 264 } from "@/api/findAllFltData";
265 +import { getpreAudit } from '@/api/system/preReview.js'
253 266
254 export default { 267 export default {
255 name: "FlightInformationMaintenance", 268 name: "FlightInformationMaintenance",
...@@ -268,7 +281,9 @@ export default { ...@@ -268,7 +281,9 @@ export default {
268 fltNo: undefined, //航班号,要大写 281 fltNo: undefined, //航班号,要大写
269 }, 282 },
270 //表单参数 283 //表单参数
271 - form: {}, 284 + form: {
285 + isNeedRequired: 2
286 + },
272 //表单校验 287 //表单校验
273 rules: { 288 rules: {
274 fltNo: [ 289 fltNo: [
...@@ -306,7 +321,7 @@ export default { ...@@ -306,7 +321,7 @@ export default {
306 // trigger: "blur", 321 // trigger: "blur",
307 // }, 322 // },
308 // { 323 // {
309 - // pattern: /^([A-Z]{3,4})(\-[A-Z]{3,4})+$/, 324 + // pattern: /^(([\~A-Z]{3,4})(\-[A-Z]{3,4})+)(;{1,1}(([\~A-Z]{3,4})(\-[A-Z]{3,4})+)){0,}$/,
310 // message: "请输入正确得航班线路" 325 // message: "请输入正确得航班线路"
311 // } 326 // }
312 // ] 327 // ]
...@@ -396,6 +411,8 @@ export default { ...@@ -396,6 +411,8 @@ export default {
396 ids: [], 411 ids: [],
397 //目的航班数据 412 //目的航班数据
398 sourceFlightAndFlightDate: [], 413 sourceFlightAndFlightDate: [],
414 + //航班预审状态
415 + preAudit: null,
399 //高价百分比是否打开 416 //高价百分比是否打开
400 ishighPriceWeightPercent: true, 417 ishighPriceWeightPercent: true,
401 //遮罩层 418 //遮罩层
...@@ -456,6 +473,7 @@ export default { ...@@ -456,6 +473,7 @@ export default {
456 this.form.fltNo != "" 473 this.form.fltNo != ""
457 ) { 474 ) {
458 this.form.fltNo = this.form.fltNo.toUpperCase(); 475 this.form.fltNo = this.form.fltNo.toUpperCase();
476 + this.perStatus(this.form.fltNo)
459 findFltCommonConf(this.form).then((response) => { 477 findFltCommonConf(this.form).then((response) => {
460 if (response.code == 200) { 478 if (response.code == 200) {
461 //额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑 479 //额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑
...@@ -486,15 +504,6 @@ export default { ...@@ -486,15 +504,6 @@ export default {
486 //this.form.highLowPriceFlg = true; 504 //this.form.highLowPriceFlg = true;
487 } 505 }
488 //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑; 506 //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑;
489 - if (
490 - response.data != null &&
491 - response.data.isNeedRequired != null &&
492 - response.data.isNeedRequired != undefined
493 - ) {
494 - this.form.isNeedRequired = response.data.isNeedRequired;
495 - } else {
496 - this.form.isNeedRequired = 0;
497 - }
498 //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑 507 //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑
499 if ( 508 if (
500 response.data != null && 509 response.data != null &&
...@@ -538,6 +547,18 @@ export default { ...@@ -538,6 +547,18 @@ export default {
538 } 547 }
539 }); 548 });
540 }, 549 },
550 + //获取航班预审状态
551 + perStatus(val) {
552 + getpreAudit({ fltNo: val, page: 1, size: 20 }).then(res => {
553 + if (res.code === 200) {
554 + this.preAudit = res.data.list.length == 0 ? '关闭' : res.data.list[0].status == 0 ? '关闭' : res.data.list[0].status == 1 ? '开启' : ''
555 + } else {
556 + this.msgWarning(res.msg)
557 + }
558 + }).catch(err => {
559 + console.log(err)
560 + })
561 + },
541 /** 航班信息维护查询*/ 562 /** 航班信息维护查询*/
542 findAllFltData() { 563 findAllFltData() {
543 this.ids = []; 564 this.ids = [];
...@@ -569,6 +590,7 @@ export default { ...@@ -569,6 +590,7 @@ export default {
569 handleAdd() { 590 handleAdd() {
570 this.reset(); 591 this.reset();
571 this.findFltConditionData(); 592 this.findFltConditionData();
593 + this.preAudit = null;
572 this.open = true; 594 this.open = true;
573 this.title = "添加航班信息"; 595 this.title = "添加航班信息";
574 this.form.id = null; 596 this.form.id = null;
...@@ -685,6 +707,7 @@ export default { ...@@ -685,6 +707,7 @@ export default {
685 handleUpdate(row) { 707 handleUpdate(row) {
686 this.reset(); 708 this.reset();
687 this.findFltConditionData(); 709 this.findFltConditionData();
710 + this.perStatus(row.fltNo)
688 this.open = true; 711 this.open = true;
689 this.title = "修改航班信息"; 712 this.title = "修改航班信息";
690 //航班号 713 //航班号
...@@ -789,7 +812,7 @@ export default { ...@@ -789,7 +812,7 @@ export default {
789 }, 812 },
790 //表单重置 813 //表单重置
791 reset() { 814 reset() {
792 - this.form = {}; 815 + this.form = { isNeedRequired: 2 };
793 this.resetForm("form"); 816 this.resetForm("form");
794 }, 817 },
795 //取消按钮 818 //取消按钮
...@@ -896,6 +919,7 @@ export default { ...@@ -896,6 +919,7 @@ export default {
896 //每页长度 919 //每页长度
897 sizeChange(val) { 920 sizeChange(val) {
898 this.queryParams.limitSize = val; 921 this.queryParams.limitSize = val;
922 + this.queryParams.pageNum = 1
899 this.findAllFltData(); 923 this.findAllFltData();
900 }, 924 },
901 setClose() { 925 setClose() {
......
1 <template> 1 <template>
2 <div class="cargoPage"> 2 <div class="cargoPage">
3 - <el-form ref="cargoForm" class="form-header" label-position="right" label-width="auto" size="medium" 3 + <el-form ref="cargoForm" class="form-header" label-position="right" label-width="auto" size="small"
4 :model="formData"> 4 :model="formData">
5 <el-row type="flex" style="flexWrap: wrap !important"> 5 <el-row type="flex" style="flexWrap: wrap !important">
6 <el-col :span="6"> 6 <el-col :span="6">
...@@ -11,27 +11,17 @@ ...@@ -11,27 +11,17 @@
11 </el-form-item> 11 </el-form-item>
12 </el-col> 12 </el-col>
13 <el-col :span="6"> 13 <el-col :span="6">
14 - <el-form-item label="配载航班号">
15 - <el-input type="textarea" v-model="cargoPlaneNo" class="formItem" placeholder="AC001;AC002" :rows="1"
16 - clearable></el-input>
17 - </el-form-item>
18 - </el-col>
19 - <el-col :span="6">
20 <el-form-item label="海关回执状态"> 14 <el-form-item label="海关回执状态">
21 - <el-select placeholder="不限" v-model="formData.customsReceiptStatusId" class="formItem" multiple clearable> 15 + <el-select v-model="formData.customsReceiptStatusId" class="formItem" filterable multiple clearable
16 + placeholder="不限">
22 <el-option v-for="item in findConditionData.cargoCustomsReturnStatus" :label="item.chineseName" 17 <el-option v-for="item in findConditionData.cargoCustomsReturnStatus" :label="item.chineseName"
23 :value="item.id" :key="item.id"> 18 :value="item.id" :key="item.id">
19 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
24 </el-option> 20 </el-option>
25 </el-select> 21 </el-select>
26 </el-form-item> 22 </el-form-item>
27 </el-col> 23 </el-col>
28 <el-col :span="6"> 24 <el-col :span="6">
29 - <el-form-item label="运单号">
30 - <el-input ref='userInfo' type="textarea" v-model="formData.waybillNo" class="formItem"
31 - placeholder="请输入运单号(回车间隔)" :rows="1" :maxlength="12000" clearable></el-input>
32 - </el-form-item>
33 - </el-col>
34 - <el-col :span="6">
35 <el-form-item label="申报类别"> 25 <el-form-item label="申报类别">
36 <el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable> 26 <el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable>
37 <el-option v-for="item in findConditionData.cargoType" :label="item.chineseName" :value="item.id" 27 <el-option v-for="item in findConditionData.cargoType" :label="item.chineseName" :value="item.id"
...@@ -42,22 +32,35 @@ ...@@ -42,22 +32,35 @@
42 </el-col> 32 </el-col>
43 <el-col :span="6"> 33 <el-col :span="6">
44 <el-form-item label="服务类型"> 34 <el-form-item label="服务类型">
45 - <el-select placeholder="不限" v-model="formData.serviceTypeId" class="formItem" filterable clearable> 35 + <el-select v-model="formData.serviceTypeId" class="formItem" filterable multiple clearable placeholder="不限">
46 <el-option v-for="item in findConditionData.cargoServiceType" :label="item.chineseName" :value="item.id" 36 <el-option v-for="item in findConditionData.cargoServiceType" :label="item.chineseName" :value="item.id"
47 :key="item.id"> 37 :key="item.id">
38 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
48 </el-option> 39 </el-option>
49 </el-select> 40 </el-select>
50 </el-form-item> 41 </el-form-item>
51 </el-col> 42 </el-col>
52 <el-col :span="6"> 43 <el-col :span="6">
44 + <el-form-item label="运单号">
45 + <el-input ref='userInfo' type="textarea" v-model="formData.waybillNo" class="formItem"
46 + placeholder="请输入运单号(回车间隔)" :rows="4" :maxlength="12000" clearable></el-input>
47 + </el-form-item>
48 + </el-col>
49 + <el-col :span="6">
50 + <el-form-item label="配载航班号">
51 + <el-input type="textarea" v-model="cargoPlaneNo" class="formItem" placeholder="AC001;AC002" :rows="4"
52 + clearable></el-input>
53 + </el-form-item>
54 + </el-col>
55 + <el-col :span="6">
53 <el-form-item label="URSA"> 56 <el-form-item label="URSA">
54 - <el-input type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1" clearable> 57 + <el-input type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="4" clearable>
55 </el-input> 58 </el-input>
56 </el-form-item> 59 </el-form-item>
57 </el-col> 60 </el-col>
58 <el-col :span="6"> 61 <el-col :span="6">
59 <el-form-item label="站点"> 62 <el-form-item label="站点">
60 - <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" :rows="1" clearable> 63 + <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" :rows="4" clearable>
61 </el-input> 64 </el-input>
62 </el-form-item> 65 </el-form-item>
63 </el-col> 66 </el-col>
...@@ -129,7 +132,7 @@ ...@@ -129,7 +132,7 @@
129 </el-row> 132 </el-row>
130 </el-col> 133 </el-col>
131 </el-row> 134 </el-row>
132 - <div style="paddingLeft: 10px; marginTop: 20px"> 135 + <div class="pl10 mt20">
133 <el-button type="primary" icon="el-icon-search" size="small" :loading="tableLoading" @click="select(0)">查询 136 <el-button type="primary" icon="el-icon-search" size="small" :loading="tableLoading" @click="select(0)">查询
134 </el-button> 137 </el-button>
135 <el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'" 138 <el-button v-hasPermi="['base:cargo:export']" :type="downLoadingTip.downloading ? 'warning' : 'primary'"
...@@ -142,23 +145,28 @@ ...@@ -142,23 +145,28 @@
142 }}</el-button> 145 }}</el-button>
143 <el-button type="primary" size="small" :disabled="selectTable.length == 0" v-hasPermi="['base:cargo:release']" 146 <el-button type="primary" size="small" :disabled="selectTable.length == 0" v-hasPermi="['base:cargo:release']"
144 @click="release">释放舱位</el-button> 147 @click="release">释放舱位</el-button>
145 - <span style="marginLeft: 20px; color: #ffba00">全部导出上限80000条数据</span> 148 + <span class="ml20" style="color: #ffba00">全部导出上限80000条数据</span>
146 <el-progress v-if="progress != 0" class="progress" :stroke-width="12" :show-text="true" :percentage="progress" 149 <el-progress v-if="progress != 0" class="progress" :stroke-width="12" :show-text="true" :percentage="progress"
147 :status="progress == 100 ? 'success' : 'warning'"></el-progress> 150 :status="progress == 100 ? 'success' : 'warning'"></el-progress>
148 <div class="tips"> 151 <div class="tips">
149 <span style="paddingRight: 50px">总重量:{{ allWeight }}</span> 152 <span style="paddingRight: 50px">总重量:{{ allWeight }}</span>
150 <span>总件数:{{ allQty }}</span> 153 <span>总件数:{{ allQty }}</span>
151 </div> 154 </div>
152 - <div class="formShow" @click="formShow = !formShow"> 155 + <div class="formShow">
153 - <i class="el-icon-s-tools"></i>{{ formShow ? "收起条件" : "更多条件" }} 156 + <el-tooltip :content="formShow ? '隐藏查询条件' : '显示查询条件'" placement="top">
157 + <el-button class="mr20" icon="el-icon-search" size="mini" @click="formShow = !formShow" circle></el-button>
158 + </el-tooltip>
159 + <el-tooltip content="表格设置" placement="top">
160 + <HeaderSetting tableName="cargo" class="mr20" style="float:right;line-height: 48px;"
161 + @close="headerSetClose"></HeaderSetting>
162 + </el-tooltip>
154 </div> 163 </div>
155 </div> 164 </div>
156 </el-form> 165 </el-form>
157 - <Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :infoData="tableHeader" 166 + <Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :selection="true" :order="true"
158 - :selection="true" :order="true" :totalCount="totalCount" :loading="tableLoading" :limitSize="limitSize" 167 + :totalCount="totalCount" :loading="tableLoading" :limitSize="limitSize" :limitStart="limitStart" :page="page"
159 - :limitStart="limitStart" :page="page" :shiftKey="shiftKey" :pageSizes="[100]" :height="tableHeight" 168 + :shiftKey="shiftKey" :pageSizes="[100]" :height="tableHeight" @sizeChange="sizeChange" @tableSelect="tableSelect"
160 - @sizeChange="sizeChange" @tableSelect="tableSelect" @tableSelectAll="tableSelectAll" 169 + @tableSelectAll="tableSelectAll" @currentChange="currentChange" @sortChange="sortChange"></Tables>
161 - @currentChange="currentChange" @sortChange="sortChange"></Tables>
162 <el-dialog title="舱位释放结果" width="80%" :visible.sync="dialogVisible" :close-on-click-modal="false" 170 <el-dialog title="舱位释放结果" width="80%" :visible.sync="dialogVisible" :close-on-click-modal="false"
163 :show-close="false" :append-to-body="true"> 171 :show-close="false" :append-to-body="true">
164 <el-table :data="selectTable" size="mini" border stripe highlight-current-row style="width: 100%"> 172 <el-table :data="selectTable" size="mini" border stripe highlight-current-row style="width: 100%">
...@@ -178,7 +186,6 @@ ...@@ -178,7 +186,6 @@
178 <script> 186 <script>
179 import { findConditionData, findCargoData, releaseCargo } from "@/api/cargoSelect"; 187 import { findConditionData, findCargoData, releaseCargo } from "@/api/cargoSelect";
180 import { downLoadXlsx } from "@/utils/zipdownload"; 188 import { downLoadXlsx } from "@/utils/zipdownload";
181 -import { upCase } from "@/utils/FedEx";
182 189
183 export default { 190 export default {
184 name: "QueryCargo", 191 name: "QueryCargo",
...@@ -213,7 +220,7 @@ export default { ...@@ -213,7 +220,7 @@ export default {
213 limitStart: 1, 220 limitStart: 1,
214 limitSize: 100, 221 limitSize: 100,
215 }, //表单数据 222 }, //表单数据
216 - tableHeader: this.tableHeaders['cargo'], //表头数据 223 + tableHeader: [], //表头数据
217 releaseHeader: [ 224 releaseHeader: [
218 { 225 {
219 name: "提示信息", 226 name: "提示信息",
...@@ -291,23 +298,19 @@ export default { ...@@ -291,23 +298,19 @@ export default {
291 }; 298 };
292 }, 299 },
293 created() { 300 created() {
294 - // 查询条件 301 + this.findCondition()
295 - findConditionData().then((res) => { 302 + if (this.$store.getters.tableHeader) {
296 - if (res.code == 200) { 303 + this.tableHeader = this.$store.getters.tableHeader['cargo']
297 - this.findConditionData = res.data;
298 } else { 304 } else {
299 - this.$message({ 305 + this.tableHeader = this.tableHeaders['cargo']
300 - message: "查询条件不存在",
301 - type: "warning",
302 - });
303 } 306 }
304 - });
305 }, 307 },
306 308
307 activated() { 309 activated() {
308 if (this.$store.state.tagsView.cachedViews.length > 0) { 310 if (this.$store.state.tagsView.cachedViews.length > 0) {
309 this.$store.state.tagsView.cachedViews.forEach(item => { 311 this.$store.state.tagsView.cachedViews.forEach(item => {
310 if (item === 'QueryCargo') { 312 if (item === 'QueryCargo') {
313 + this.findCondition()
311 this.totalCount > 0 ? this.select() : '' 314 this.totalCount > 0 ? this.select() : ''
312 } 315 }
313 }) 316 })
...@@ -340,8 +343,18 @@ export default { ...@@ -340,8 +343,18 @@ export default {
340 clear() { 343 clear() {
341 this.$refs.cargoForm.resetFields(); 344 this.$refs.cargoForm.resetFields();
342 }, 345 },
346 + // 查询条件
347 + async findCondition() {
348 + findConditionData().then((res) => {
349 + if (res.code == 200) {
350 + this.findConditionData = res.data;
351 + } else {
352 + this.msgWarning('查询条件不存在')
353 + }
354 + });
355 + },
343 //查询 356 //查询
344 - select(val) { 357 + async select(val) {
345 this.tableData = []; 358 this.tableData = [];
346 this.allWeight = 0; 359 this.allWeight = 0;
347 this.allQty = 0; 360 this.allQty = 0;
...@@ -362,16 +375,10 @@ export default { ...@@ -362,16 +375,10 @@ export default {
362 this.tableData[i].index = i; 375 this.tableData[i].index = i;
363 } 376 }
364 } else { 377 } else {
365 - this.$message({ 378 + this.msgWarning('未查询到数据')
366 - message: "未查询到数据",
367 - type: "warning",
368 - });
369 } 379 }
370 } else { 380 } else {
371 - this.$message({ 381 + this.msgWarning(res.msg)
372 - message: res.msg,
373 - type: "warning",
374 - });
375 } 382 }
376 this.tableLoading = false; 383 this.tableLoading = false;
377 }) 384 })
...@@ -390,10 +397,7 @@ export default { ...@@ -390,10 +397,7 @@ export default {
390 }) 397 })
391 releaseCargo(idList).then(res => { 398 releaseCargo(idList).then(res => {
392 if (res.code === 200) { 399 if (res.code === 200) {
393 - this.$message({ 400 + this.msgSuccess(res.msg)
394 - message: res.msg,
395 - type: "success",
396 - });
397 } else if (res.code === 201) { 401 } else if (res.code === 201) {
398 this.selectTable.map(item => { 402 this.selectTable.map(item => {
399 res.data['success'].map(val => { 403 res.data['success'].map(val => {
...@@ -409,16 +413,12 @@ export default { ...@@ -409,16 +413,12 @@ export default {
409 val === item.id ? item.msg = item.msg + '已释放仓位。' : '' 413 val === item.id ? item.msg = item.msg + '已释放仓位。' : ''
410 }) 414 })
411 res.data['pushFalse'].map(val => { 415 res.data['pushFalse'].map(val => {
412 - console.log(item)
413 val === item.id ? item.msg = item.msg + '该货物配舱结果已回推ACCS,不能释放。' : '' 416 val === item.id ? item.msg = item.msg + '该货物配舱结果已回推ACCS,不能释放。' : ''
414 }) 417 })
415 }) 418 })
416 this.dialogVisible = true 419 this.dialogVisible = true
417 } else { 420 } else {
418 - this.$message({ 421 + this.msgWarning(res.msg)
419 - message: res.msg,
420 - type: "warning",
421 - });
422 } 422 }
423 }).catch(err => { 423 }).catch(err => {
424 console.log(err) 424 console.log(err)
...@@ -432,6 +432,9 @@ export default { ...@@ -432,6 +432,9 @@ export default {
432 }, 432 },
433 //数据初始化 433 //数据初始化
434 dataInfo() { 434 dataInfo() {
435 + if (this.formData.serviceTypeId != null && this.formData.serviceTypeId.length < 1) {
436 + this.formData.serviceTypeId = null
437 + }
435 if ( 438 if (
436 this.formData.customsReceiptStatusId != null && 439 this.formData.customsReceiptStatusId != null &&
437 this.formData.customsReceiptStatusId.length < 1 440 this.formData.customsReceiptStatusId.length < 1
...@@ -569,13 +572,21 @@ export default { ...@@ -569,13 +572,21 @@ export default {
569 }); 572 });
570 } else { 573 } else {
571 this.downLoadingTip.downloading = false; 574 this.downLoadingTip.downloading = false;
572 - this.$message({ 575 + this.msgWarning('导出数据量过大,请不要超过8万条')
573 - message: "导出数据量过大,请不要超过8万条",
574 - type: "warning",
575 - });
576 } 576 }
577 } 577 }
578 }, 578 },
579 + //设置关闭
580 + headerSetClose(val) {
581 + if (val == 1) {
582 + this.tableHeader = []
583 + this.tableData = []
584 + this.$nextTick(() => {
585 + this.tableHeader = this.$store.getters.tableHeader['cargo']
586 + this.select()
587 + })
588 + }
589 + }
579 }, 590 },
580 computed: { 591 computed: {
581 fltNo: { 592 fltNo: {
...@@ -583,7 +594,7 @@ export default { ...@@ -583,7 +594,7 @@ export default {
583 return this.formData.fltNo; 594 return this.formData.fltNo;
584 }, 595 },
585 set: function (val) { 596 set: function (val) {
586 - this.formData.fltNo = upCase(val); 597 + this.formData.fltNo = this.upCase(val);
587 }, 598 },
588 }, 599 },
589 siteName: { 600 siteName: {
...@@ -591,7 +602,7 @@ export default { ...@@ -591,7 +602,7 @@ export default {
591 return this.formData.siteName; 602 return this.formData.siteName;
592 }, 603 },
593 set: function (val) { 604 set: function (val) {
594 - this.formData.siteName = upCase(val); 605 + this.formData.siteName = this.upCase(val);
595 }, 606 },
596 }, 607 },
597 ursa: { 608 ursa: {
...@@ -599,7 +610,7 @@ export default { ...@@ -599,7 +610,7 @@ export default {
599 return this.formData.ursa; 610 return this.formData.ursa;
600 }, 611 },
601 set: function (val) { 612 set: function (val) {
602 - this.formData.ursa = upCase(val); 613 + this.formData.ursa = this.upCase(val);
603 }, 614 },
604 }, 615 },
605 cargoPlaneNo: { 616 cargoPlaneNo: {
...@@ -607,7 +618,7 @@ export default { ...@@ -607,7 +618,7 @@ export default {
607 return this.formData.cargoPlaneNo; 618 return this.formData.cargoPlaneNo;
608 }, 619 },
609 set: function (val) { 620 set: function (val) {
610 - this.formData.cargoPlaneNo = upCase(val); 621 + this.formData.cargoPlaneNo = this.upCase(val);
611 }, 622 },
612 }, 623 },
613 }, 624 },
...@@ -637,6 +648,6 @@ export default { ...@@ -637,6 +648,6 @@ export default {
637 color: rgb(64, 158, 255); 648 color: rgb(64, 158, 255);
638 font-size: 14px; 649 font-size: 14px;
639 float: right; 650 float: right;
640 - margin-right: 20px; 651 + margin-right: 5px;
641 } 652 }
642 </style> 653 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 <template> 1 <template>
2 <div class="login" :style="display"> 2 <div class="login" :style="display">
3 - <el-form 3 + <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
4 - ref="loginForm"
5 - :model="loginForm"
6 - :rules="loginRules"
7 - class="login-form"
8 - >
9 <h3 class="title">IMAC后台管理系统</h3> 4 <h3 class="title">IMAC后台管理系统</h3>
10 <el-form-item prop="username"> 5 <el-form-item prop="username">
11 - <el-input 6 + <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
12 - v-model="loginForm.username" 7 + <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
13 - type="text"
14 - auto-complete="off"
15 - placeholder="账号"
16 - >
17 - <svg-icon
18 - slot="prefix"
19 - icon-class="user"
20 - class="el-input__icon input-icon"
21 - />
22 </el-input> 8 </el-input>
23 </el-form-item> 9 </el-form-item>
24 <el-form-item prop="password"> 10 <el-form-item prop="password">
25 - <el-input 11 + <el-input v-model="loginForm.password" type="password" auto-complete="off" placeholder="密码"
26 - v-model="loginForm.password" 12 + @keyup.enter.native="handleLogin">
27 - type="password" 13 + <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
28 - auto-complete="off"
29 - placeholder="密码"
30 - @keyup.enter.native="handleLogin"
31 - >
32 - <svg-icon
33 - slot="prefix"
34 - icon-class="password"
35 - class="el-input__icon input-icon"
36 - />
37 </el-input> 14 </el-input>
38 </el-form-item> 15 </el-form-item>
39 <!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> --> 16 <!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> -->
40 <el-form-item style="width: 100%; marginTop: 44px"> 17 <el-form-item style="width: 100%; marginTop: 44px">
41 - <el-button 18 + <el-button :loading="loading" size="medium" type="primary" style="width: 100%"
42 - :loading="loading" 19 + @click.native.prevent="handleLogin">
43 - size="medium"
44 - type="primary"
45 - style="width: 100%"
46 - @click.native.prevent="handleLogin"
47 - >
48 <span v-if="!loading">登 录</span> 20 <span v-if="!loading">登 录</span>
49 <span v-else>登 录 中...</span> 21 <span v-else>登 录 中...</span>
50 </el-button> 22 </el-button>
...@@ -83,12 +55,12 @@ export default { ...@@ -83,12 +55,12 @@ export default {
83 }, 55 },
84 loading: false, 56 loading: false,
85 redirect: undefined, 57 redirect: undefined,
86 - display: "display:none", 58 + display: "display:flex",
87 }; 59 };
88 }, 60 },
89 watch: { 61 watch: {
90 $route: { 62 $route: {
91 - handler: function(route) { 63 + handler: function (route) {
92 this.redirect = route.query && route.query.redirect; 64 this.redirect = route.query && route.query.redirect;
93 }, 65 },
94 immediate: true 66 immediate: true
...@@ -130,7 +102,7 @@ export default { ...@@ -130,7 +102,7 @@ export default {
130 this.$store 102 this.$store
131 .dispatch("Login", this.loginForm) 103 .dispatch("Login", this.loginForm)
132 .then(() => { 104 .then(() => {
133 - this.$router.push({ path: this.redirect || "/" }).catch(() => {}); 105 + this.$router.push({ path: this.redirect || "/" }).catch(() => { });
134 }) 106 })
135 .catch(() => { 107 .catch(() => {
136 this.loading = false; 108 this.loading = false;
...@@ -145,13 +117,14 @@ export default { ...@@ -145,13 +117,14 @@ export default {
145 117
146 <style rel="stylesheet/scss" lang="scss"> 118 <style rel="stylesheet/scss" lang="scss">
147 .login { 119 .login {
148 - display: none; 120 + display: flex;
149 justify-content: center; 121 justify-content: center;
150 align-items: center; 122 align-items: center;
151 height: 100%; 123 height: 100%;
152 background-image: url("../assets/images/login-background.jpg"); 124 background-image: url("../assets/images/login-background.jpg");
153 background-size: cover; 125 background-size: cover;
154 } 126 }
127 +
155 .title { 128 .title {
156 margin: 0px auto 30px auto; 129 margin: 0px auto 30px auto;
157 text-align: center; 130 text-align: center;
...@@ -163,32 +136,39 @@ export default { ...@@ -163,32 +136,39 @@ export default {
163 background: #ffffff; 136 background: #ffffff;
164 width: 400px; 137 width: 400px;
165 padding: 25px 25px 5px 25px; 138 padding: 25px 25px 5px 25px;
139 +
166 .el-input { 140 .el-input {
167 height: 38px; 141 height: 38px;
142 +
168 input { 143 input {
169 height: 38px; 144 height: 38px;
170 } 145 }
171 } 146 }
147 +
172 .input-icon { 148 .input-icon {
173 height: 39px; 149 height: 39px;
174 width: 14px; 150 width: 14px;
175 margin-left: 2px; 151 margin-left: 2px;
176 } 152 }
177 } 153 }
154 +
178 .login-tip { 155 .login-tip {
179 font-size: 13px; 156 font-size: 13px;
180 text-align: center; 157 text-align: center;
181 color: #bfbfbf; 158 color: #bfbfbf;
182 } 159 }
160 +
183 .login-code { 161 .login-code {
184 width: 33%; 162 width: 33%;
185 height: 38px; 163 height: 38px;
186 float: right; 164 float: right;
165 +
187 img { 166 img {
188 cursor: pointer; 167 cursor: pointer;
189 vertical-align: middle; 168 vertical-align: middle;
190 } 169 }
191 } 170 }
171 +
192 .el-login-footer { 172 .el-login-footer {
193 height: 40px; 173 height: 40px;
194 line-height: 40px; 174 line-height: 40px;
...@@ -201,6 +181,7 @@ export default { ...@@ -201,6 +181,7 @@ export default {
201 font-size: 12px; 181 font-size: 12px;
202 letter-spacing: 1px; 182 letter-spacing: 1px;
203 } 183 }
184 +
204 .login-code-img { 185 .login-code-img {
205 height: 38px; 186 height: 38px;
206 } 187 }
......
1 +<template>
2 + <div>
3 + <el-dialog :title="title" :visible.sync="open" width="25%" :close-on-click-modal="false" :show-close="false"
4 + append-to-body center>
5 + <el-form ref="add" :model="newDictionary" label-width="auto" label-position="left" size="small"
6 + :rules="rules" @submit.native.prevent>
7 + <!-- 新增数据字典 -->
8 + <div v-if="dictName != '虚拟航班'">
9 + <el-form-item label="所属父级" v-if="newDictionary.serviceCodeKey">
10 + <el-input type="text" v-model="newDictionary.serviceCodeKey" placeholder="用回车分隔" disabled>
11 + </el-input>
12 + </el-form-item>
13 + <!-- 批量新增 -->
14 + <el-form-item label="数据名称" v-if="status == 'allAdd' || status == 'childrenAdd'" prop="chineseName">
15 + <el-input type="textarea" v-model="newDictionary.chineseName" :rows="7" maxlength="255"
16 + show-word-limit placeholder="用回车分隔">
17 + </el-input>
18 + </el-form-item>
19 + <div v-else>
20 + <!-- 单条新增 -->
21 + <el-form-item label="数据名称" prop="chineseName">
22 + <el-input type="text" v-model.trim="newDictionary.chineseName" placeholder="请输入数据名称"
23 + maxlength="50"></el-input>
24 + </el-form-item>
25 + <!-- <el-form-item label="字典CODE" prop="code" v-show="addDictionary.chineseName">
26 + <el-input type="text" v-model.trim="newDictionary.code" placeholder="请输入字典CODE" disabled>
27 + </el-input>
28 + </el-form-item> -->
29 + <el-form-item label="描述" prop="description">
30 + <el-input type="textarea" v-model="newDictionary.description" :row="3" maxlength="125"
31 + show-word-limit></el-input>
32 + </el-form-item>
33 + </div>
34 + </div>
35 + <!-- 新增虚拟航班 -->
36 + <div v-else>
37 + <el-form-item label="所属口岸" prop="portName">
38 + <el-select v-model="newDictionary.portName" placeholder="选择口岸" disabled>
39 + <el-option v-for="item in $store.state.user.portNames" :label="item" :value="item"
40 + :key="item">
41 + </el-option>
42 + </el-select>
43 + </el-form-item>
44 + <el-form-item label="航班名称" v-if="status == 'allAdd'" prop="flightNo">
45 + <el-input type="textarea" v-model="flightNo" :rows="7" maxlength="255" show-word-limit
46 + placeholder="用;分隔,单条航班名长度25">
47 + </el-input>
48 + </el-form-item>
49 + <el-form-item label="航班名称" prop="flightNo" v-else>
50 + <el-input type="text" v-model="flightNo" placeholder="请输入数据名称" maxlength="25"></el-input>
51 + </el-form-item>
52 + </div>
53 + </el-form>
54 + <div slot="footer" class="dialog-footer">
55 + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button>
56 + <el-button @click="close">取 消</el-button>
57 + </div>
58 + </el-dialog>
59 + </div>
60 +</template>
61 +
62 +<script>
63 +import { addDict, addDictBatch, addServiceCodeBatch, addFlight } from '@/api/system/dictionary.js'
64 +
65 +export default {
66 + props: {
67 + open: {
68 + type: Boolean,
69 + default: false,
70 + },
71 + dictName: {
72 + type: String,
73 + default: ''
74 + },
75 + addDictionary: {
76 + type: Object,
77 + default: null
78 + },
79 + status: {
80 + type: String,
81 + default: null
82 + }
83 + },
84 + data() {
85 + return {
86 + newDictionary: { flightNo: undefined, chineseName: undefined },
87 + rules: {
88 + chineseName: [
89 + {
90 + required: true,
91 + message: "数据名称不能为空",
92 + trigger: "blur",
93 + }
94 + ],
95 + flightNo: [
96 + {
97 + required: true,
98 + message: "航班名称不能为空",
99 + trigger: "blur",
100 + },
101 + ]
102 + },
103 + title: '',
104 + loading: false,
105 + }
106 + },
107 + watch: {
108 + open(val, oldVal) {
109 + if (val) {
110 + this.newDictionary = { flightNo: undefined, chineseName: undefined }
111 + if (this.status == 'add') {
112 + this.title = '新增'
113 + } else if (this.status == 'allAdd') {
114 + this.title = '批量新增'
115 + } else if (this.status == 'childrenAdd') {
116 + this.newDictionary = this.addDictionary
117 + this.title = '新增子集'
118 + }
119 + // else if (this.status == 'update') {
120 + // if (this.addDictionary.serviceCodeValue) {
121 + // this.newDictionary = {
122 + // chineseName: this.addDictionary.serviceCodeValue,
123 + // fname: this.addDictionary.serviceCodeKey,
124 + // code: this.addDictionary.serviceCodeValue,
125 + // }
126 + // } else {
127 + // this.newDictionary = this.addDictionary
128 + // }
129 + // this.title = '修改'
130 + // }
131 + if (this.dictName == '虚拟航班') {
132 + this.newDictionary.portName = this.$store.state.user.activePortName
133 + }
134 + }
135 + },
136 + },
137 + methods: {
138 + //确定
139 + submit() {
140 + this.$refs['add'].validate((val) => {
141 + if (val) {
142 + this.loading = true
143 + this.newDictionary.dictCode = this.dictName
144 + //新增字典
145 + if (this.status == 'add') {
146 + if (this.dictName === '虚拟航班') {
147 + this.flightAdd()
148 + } else {
149 + addDict(this.newDictionary).then(res => {
150 + this.loading = false
151 + if (res.code === 200) {
152 + this.msgSuccess(res.msg)
153 + this.close()
154 + } else {
155 + this.msgWarning(res.msg)
156 + }
157 + }).catch(err => {
158 + this.loading = false
159 + console.log(err)
160 + })
161 + }
162 + }
163 + //批量新增
164 + else if (this.status == 'allAdd') {
165 + if (this.dictName === '虚拟航班') {
166 + this.flightAdd()
167 + } else {
168 + let obj = {
169 + nameList: [],
170 + dictCode: this.dictName
171 + }
172 + this.newDictionary.chineseName.split("\n").forEach(item => {
173 + if (item != null && item != undefined && item != '') {
174 + obj.nameList.push(item)
175 + }
176 + })
177 + addDictBatch(obj).then(res => {
178 + this.loading = false
179 + if (res.code === 200) {
180 + this.msgSuccess(res.msg)
181 + this.close()
182 + } else {
183 + this.msgWarning(res.msg)
184 + }
185 + }).catch(err => {
186 + this.loading = false
187 + console.log(err)
188 + })
189 + }
190 + }
191 + //新增子集
192 + else if (this.status == 'childrenAdd') {
193 + let arr = []
194 + this.newDictionary.chineseName.split("\n").forEach(item => {
195 + arr.push({
196 + serviceCodeKey: this.newDictionary.serviceCodeKey,
197 + serviceCodeValue: item
198 + })
199 + })
200 + addServiceCodeBatch(arr).then(res => {
201 + this.loading = false
202 + if (res.code === 200) {
203 + this.msgSuccess(res.msg)
204 + this.close()
205 + } else {
206 + this.msgWarning(res.msg)
207 + }
208 + }).catch(err => {
209 + this.loading = false
210 + console.log(err)
211 + })
212 + }
213 + }
214 + })
215 + },
216 + //新增虚拟航班
217 + flightAdd() {
218 + let flightNo = []
219 + flightNo = this.newDictionary.flightNo.toUpperCase().split(';')
220 + addFlight(flightNo).then(res => {
221 + this.loading = false
222 + if (res.code === 200) {
223 + this.msgSuccess(res.msg)
224 + this.close()
225 + } else {
226 + this.msgWarning(res.msg)
227 + }
228 + }).catch(err => {
229 + this.loading = false
230 + console.log(err)
231 + })
232 + },
233 + //关闭
234 + close() {
235 + this.newDictionary = { chineseName: null, code: null, remark: null }
236 + this.clearValidate('add')
237 + this.$emit('close', false)
238 + },
239 + //清除表单验证
240 + clearValidate(formName) {
241 + this.$refs[formName].clearValidate();
242 + },
243 + },
244 + computed: {
245 + chineseName: {
246 + get: function () {
247 + return this.newDictionary.chineseName
248 + },
249 + set: function (val) {
250 + const reg = /^([a-zA-Z0-9]{0,25}(\n[a-zA-Z0-9]{0,25})*)$/
251 + if (reg.test(val)) {
252 + this.newDictionary.chineseName = val
253 + }
254 + },
255 + },
256 + flightNo: {
257 + get: function () {
258 + return this.newDictionary.flightNo
259 + },
260 + set: function (val) {
261 + const reg = /^([a-zA-Z0-9]{0,25}(\;[a-zA-Z0-9]{0,25})*)$/
262 + if (reg.test(val)) {
263 + this.newDictionary.flightNo = val
264 + }
265 + },
266 + }
267 + }
268 +}
269 +</script>
270 +
271 +<style>
272 +</style>
...\ No newline at end of file ...\ No newline at end of file
1 +<template>
2 + <div style="padding:10px">
3 + <el-card style="margin-bottom:10px">
4 + <!-- cardHeader -->
5 + <div slot="header" class="clearfix">
6 + <span style="font-size:16px;font-weight:700">{{ (tableName == 'Site' ? '站点' : tableName ==
7 + '虚拟航班' ? '虚拟航班' : tableName.replace(/( |^)[a-z]/g, L => L.toUpperCase())) + "表"
8 + }}</span>
9 + <div style="float: right; padding: 3px 0">
10 + <span class="selectLabel mr10">切换字典表</span>
11 + <el-select v-model="tableName" size="small" placeholder="不限" filterable @change="selectChange">
12 + <el-option v-for="item in dictNameList" :label="item.chineseName" :value="item.code"
13 + :key="item.id">
14 + </el-option>
15 + <el-option label="虚拟航班" value="虚拟航班"></el-option>
16 + </el-select>
17 + </div>
18 + </div>
19 + <!-- 查询条件 -->
20 + <el-form ref="dictForm" label-width="auto" label-position="left" style="margin-bottom:10px"
21 + @submit.native.prevent>
22 + <el-row :gutter="10" v-if="tableName != 'serviceCode'">
23 + <el-col :span="6">
24 + <el-form-item label="航班名称" v-if="tableName === '虚拟航班'">
25 + <el-input v-model="selectDict.flightNo" size="small" style="width:80%"
26 + placeholder="请输入航班名称"></el-input>
27 + </el-form-item>
28 + <el-form-item label="数据名称" v-else>
29 + <el-input v-model="selectDict.chineseName" size="small" style="width:80%"
30 + placeholder="请输入数据名称"></el-input>
31 + </el-form-item>
32 + </el-col>
33 + </el-row>
34 + <div style="margin-bottom:10px">
35 + <el-button type="primary" icon="el-icon-search" size="small" :loading="loading"
36 + v-if="tableName != 'serviceCode'" @click="tableSelect(1)">查询</el-button>
37 + <el-button type="primary" icon="el-icon-plus" size="small" @click="addDic({ status: 'add' })"
38 + v-hasPermi="['system:dictionary:add']">
39 + {{ tableName === 'serviceCode' ? '新增父级' : '新增' }}
40 + </el-button>
41 + <el-button type="primary" icon="el-icon-plus" size="small" @click="addDic({ status: 'allAdd' })"
42 + v-hasPermi="['system:dictionary:add']">
43 + {{ tableName === 'serviceCode' ? '批量新增父级' : '批量新增' }}
44 + </el-button>
45 + <el-button type="danger" icon="el-icon-delete" size="small" :disabled="nowSelect.length == 0"
46 + @click="handleDelete" v-hasPermi="['system:dictionary:delete']">删除
47 + </el-button>
48 + </div>
49 + </el-form>
50 + <!-- 表格 -->
51 + <Tables v-if="tableName != 'serviceCode' && tableName != '虚拟航班'" ductName="dictionary" :selection="true"
52 + :selectFixed="false" :order='true' :height="tableHeight" :data="tableData" :headerData="tableHeader"
53 + :page="selectDict.page" :pageSizes="[20]" :totalCount="total" :loading="loading"
54 + @currentChange="currentChange" layout="total,prev, pager, next, jumper, ->"
55 + @tableSelect="tableSelection" @tableSelectAll="tableSelectAll">
56 + <template slot="optionColumn">
57 + <el-table-column label="操作" align="center">
58 + <template slot-scope="scope">
59 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
60 + @click="upDate({ status: 'update', data: scope.row })">修改
61 + </el-button> -->
62 + <el-button size="mini" type="text" style="color:#ff4949" icon="el-icon-delete"
63 + @click="delDict(scope.row)" v-hasPermi="['system:dictionary:delete']">删除
64 + </el-button>
65 + </template>
66 + </el-table-column>
67 + </template>
68 + </Tables>
69 + <!-- 虚拟航班表 -->
70 + <Tables v-if="tableName === '虚拟航班'" ductName="dictionary" :selection="true" :selectFixed="false"
71 + :order='true' :height="tableHeight" :data="tableData" :headerData="flightHeader" :page="selectDict.page"
72 + :pageSizes="[20]" :totalCount="total" :loading="loading" @currentChange="currentChange"
73 + layout="total,prev, pager, next, jumper, ->" @tableSelect="tableSelection"
74 + @tableSelectAll="tableSelectAll">
75 + <template slot="optionColumn">
76 + <el-table-column label="操作" align="center">
77 + <template slot-scope="scope">
78 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
79 + @click="upDate({ status: 'update', data: scope.row })">修改
80 + </el-button> -->
81 + <el-button size="mini" type="text" style="color:#ff4949" icon="el-icon-delete"
82 + @click="delDict(scope.row)" v-hasPermi="['system:dictionary:delete']">删除
83 + </el-button>
84 + </template>
85 + </el-table-column>
86 + </template>
87 + </Tables>
88 + <!-- serviceCode表格(树形结构) -->
89 + <Tables v-show="tableName === 'serviceCode'" ductName="dictionary" :order='false' :height="tableHeight"
90 + :data="tableData" :headerData="serviceCodeHeader" :pageSize="selectDict.page" :pageSizes="[20]"
91 + :totalCount="total" :pagination="false" :loading="loading" @currentChange="currentChange">
92 + <template v-slot:serviceCodeMapperList="scope">
93 + <!-- 二级表格 -->
94 + <el-card>
95 + <Tables v-show="tableName === 'serviceCode'" ductName="dictionary" :selection="true"
96 + :order='false' :selectFixed="false" height="auto" :data="scope.row.serviceCodeMapperList"
97 + :headerData="childrenTableHeader" :pageSize="selectDict.page" :pageSizes="[20]"
98 + :totalCount="total" :pagination="false" :loading="loading" @currentChange="currentChange"
99 + @tableSelect="serviceCodeTableSelection" @tableSelectAll="serviceCodeTableSelectAll">
100 + <template slot="optionColumn">
101 + <el-table-column label="操作" align="center" width="300">
102 + <template slot-scope="scope">
103 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
104 + @click="upDate({ status: 'update', data: props.row })">修改
105 + </el-button> -->
106 + <el-button size="mini" type="text" style="color:#ff4949" icon="el-icon-delete"
107 + @click="delDict(scope.row)" v-hasPermi="['system:dictionary:delete']">
108 + 删除
109 + </el-button>
110 + </template>
111 + </el-table-column>
112 + </template>
113 + </Tables>
114 + </el-card>
115 + </template>
116 + <template slot="optionColumn">
117 + <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
118 + <template slot-scope="scope">
119 + <el-button class="mr5" v-if="scope.row.serviceCodeMapperList" size="mini" type="text"
120 + icon="el-icon-plus"
121 + @click="addDic({ status: 'childrenAdd', data: scope.row.chineseName })"
122 + v-hasPermi="['system:dictionary:add']">新增子集
123 + </el-button>
124 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
125 + @click="upDate({ status: 'update', data: scope.row })">修改
126 + </el-button> -->
127 + <el-button v-if="!scope.row.serviceCodeMapperList" size="mini" type="text"
128 + style="color:#ff4949" icon="el-icon-delete" @click="delDict(scope.row)"
129 + v-hasPermi="['system:dictionary:delete']">删除
130 + </el-button>
131 + </template>
132 + </el-table-column>
133 + </template>
134 + </Tables>
135 + </el-card>
136 + <!-- 新增修改 -->
137 + <Dialog :dictName="tableName" :open="open" :addDictionary="addDictionary" :status="status" @close="close" />
138 + </div>
139 +</template>
140 +
141 +<script>
142 +import Dialog from './dialog.vue'
143 +import { getDictNameList, getDictionaryList, getServiceCodeList, delServiceCodeCihild, delDict, flightType, delFlight } from '@/api/system/dictionary.js'
144 +
145 +export default {
146 + name: 'DictionaryConfig',
147 + components: {
148 + Dialog
149 + },
150 + data() {
151 + return {
152 + selectDict: {
153 + dictCode: this.tableName,
154 + chineseName: null,
155 + page: 1,
156 + size: 20
157 + },//字典查询条件
158 + tableData: [],
159 + tableHeader: this.tableHeaders['dict'],//表头
160 + flightHeader: [
161 + {
162 + columnChineseName: "航班号",
163 + columnName: "flightNo",
164 + columnWidth: "",
165 + align: "center",
166 + status: 1
167 + }
168 + ],//虚拟航班表头
169 + serviceCodeHeader: this.tableHeaders['dictServiceCode'],//serviceCode主表头
170 + childrenTableHeader: this.tableHeaders['dictServiceCodeChildren'],//serviceCode子表头
171 + dictNameList: [],//主表数据
172 + addDictionary: {},//选择数据
173 + nowSelect: [],
174 + tableName: '',
175 + tableHeight: null,
176 + total: 0,
177 + status: null,
178 + loading: false,
179 + open: false,
180 + }
181 + },
182 + created() {
183 + this.dictNameSelect()
184 + },
185 + activated() {
186 + // if (this.$store.state.tagsView.cachedViews.length > 0) {
187 + // this.tableSelect()
188 + // }
189 + },
190 + mounted() {
191 + this.tableHeight = window.innerHeight - this.$refs.dictForm.$el.offsetHeight - 270
192 + },
193 + watch: {
194 + tableName(val, oldVal) {
195 + this.tableName = val
196 + this.selectDict = {
197 + page: 1,
198 + size: 20
199 + }
200 + this.tableSelect()
201 + },
202 + },
203 + methods: {
204 + //字典名称
205 + dictNameSelect() {
206 + getDictNameList().then(res => {
207 + if (res.code === 200) {
208 + this.dictNameList = res.data
209 + this.tableName = this.dictNameList[0].code
210 + } else {
211 + this.msgWarning(res.msg)
212 + }
213 + }).catch(err => {
214 + console.log(err)
215 + this.msgWarning(err)
216 + })
217 + },
218 + //搜索
219 + tableSelect(val) {
220 + this.nowSelect = []
221 + if (val === 1) {
222 + this.selectDict.page = 1
223 + }
224 + this.selectDict.dictCode = this.tableName
225 + if (this.tableName === 'serviceCode') {
226 + getServiceCodeList().then(res => {
227 + if (res.code === 200) {
228 + this.tableData = res.data
229 + this.tableData.forEach(item => {
230 + item.serviceCodeMapperList.map((val, i) => {
231 + val.index = i
232 + })
233 + })
234 + } else {
235 + this.msgWarning(res.msg)
236 + }
237 + }).catch(err => {
238 + console.log(err)
239 + })
240 + } else if (this.tableName === "虚拟航班") {
241 + flightType(this.selectDict).then(res => {
242 + if (res.code === 200) {
243 + this.tableData = res.data.list
244 + this.total = res.data.total
245 + }
246 + }).catch(err => {
247 + console.log(err)
248 + })
249 + } else {
250 + getDictionaryList(this.selectDict).then(res => {
251 + if (res.code === 200) {
252 + this.tableData = res.data.list
253 + this.total = res.data.total
254 + } else {
255 + this.msgWarning(res.msg)
256 + }
257 + }).catch(err => {
258 + console.log(err)
259 + })
260 + }
261 + },
262 + //新增
263 + addDic(val) {
264 + this.status = val.status
265 + if (val.data) {
266 + this.addDictionary = {
267 + serviceCodeKey: val.data
268 + }
269 + }
270 + this.open = true
271 + },
272 + //修改
273 + // upDate(val) {
274 + // console.log(val)
275 + // this.status = val.status
276 + // this.addDictionary = val.data
277 + // this.open = true
278 + // },
279 + //删除按钮
280 + delDict(val) {
281 + if (this.tableName == 'serviceCode') {
282 + this.serviceCodeCihildDel([val.id])
283 + } else if (this.tableName === '虚拟航班') {
284 + this.flightDel([val.id])
285 + } else {
286 + this.dicDel([val.id])
287 + }
288 + },
289 + //批量删除按钮
290 + handleDelete() {
291 + let arr = []
292 + this.nowSelect.forEach(item => {
293 + arr.push(item.id)
294 + })
295 + if (this.tableName == 'serviceCode') {
296 + this.serviceCodeCihildDel(arr)
297 + } else if (this.tableName === '虚拟航班') {
298 + this.flightDel(arr)
299 + } else {
300 + this.dicDel(arr)
301 + }
302 + },
303 + //数据字典删除
304 + dicDel(val) {
305 + this.$confirm("删除字典数据可能会对航班配舱设置产生影响,需手动对航班配舱设置进行维护。是否要删除", "注意!", {
306 + closeOnClickModal: false,
307 + confirmButtonText: "确定删除",
308 + cancelButtonText: "取消",
309 + type: "warning",
310 + }).then(() => {
311 + delDict(val).then(res => {
312 + if (res.code === 200) {
313 + this.msgSuccess(res.msg)
314 + } else {
315 + this.msgWarning(res.msg)
316 + }
317 + this.tableSelect(1)
318 + }).catch(err => {
319 + console.log(err)
320 + })
321 + }).catch(() => { })
322 + },
323 + //serviceCode子字典删除
324 + serviceCodeCihildDel(val) {
325 + this.$confirm("删除子字典数据可能会对航班配舱设置产生影响,需手动对航班配舱设置进行维护。是否要删除", "注意!", {
326 + closeOnClickModal: false,
327 + confirmButtonText: "确定删除",
328 + cancelButtonText: "取消",
329 + type: "warning",
330 + }).then(() => {
331 + delServiceCodeCihild(val).then(res => {
332 + if (res.code === 200) {
333 + this.msgSuccess(res.msg)
334 + } else {
335 + this.msgWarning(res.msg)
336 + }
337 + this.tableSelect(1)
338 + }).catch(err => {
339 + console.log(err)
340 + })
341 + }).catch((() => { }))
342 + },
343 + //虚拟航班删除
344 + flightDel(val) {
345 + this.$confirm("是否要删除此虚拟航班记录!", "注意!", {
346 + closeOnClickModal: false,
347 + confirmButtonText: "确定删除",
348 + cancelButtonText: "取消",
349 + type: "warning",
350 + }).then(() => {
351 + delFlight(val).then(res => {
352 + if (res.code === 200) {
353 + this.msgSuccess(res.msg)
354 + } else {
355 + this.msgSuccess(res.msg)
356 + }
357 + this.tableSelect(1)
358 + }).catch(err => {
359 + console.log(err)
360 + })
361 + }).catch(() => { })
362 + },
363 + //切换字典表
364 + selectChange(val) {
365 + this.tableName = val
366 + },
367 + //关闭状态修改
368 + close(val) {
369 + this.open = val
370 + this.addDictionary = {}
371 + this.tableSelect()
372 + },
373 + //翻页
374 + currentChange(val) {
375 + this.selectDict.page = val.page;
376 + this.tableSelect();
377 + },
378 + //多选
379 + tableSelection(val) {
380 + this.nowSelect = val.selection
381 + },
382 + serviceCodeTableSelection(val) {
383 + this.nowSelect = val.selection
384 + },
385 + //全选
386 + tableSelectAll(val) {
387 + this.nowSelect = val
388 + },
389 + serviceCodeTableSelectAll(val) {
390 + this.nowSelect = val
391 + },
392 + }
393 +}
394 +</script>
395 +
396 +<style lang="scss" scoped>
397 +.selectLabel {
398 + font-size: 14px;
399 + font-weight: 600;
400 +}
401 +</style>
...\ No newline at end of file ...\ No newline at end of file
1 -<template>
2 - <div class="menuDrawer">
3 - <el-dialog :title="drawerTitle" width="50%" :visible.sync="dialogVisible" :close-on-click-modal="false"
4 - :append-to-body="true">
5 - <el-form ref="userForm" :model="menuForm" :disabled="menuFormDisabled" :rules="rules" label-width="auto"
6 - style="margin: 10px">
7 - <el-row>
8 - <el-col :span="12">
9 - <el-form-item label="菜单名称" prop="">
10 - <!-- <el-input
11 - placeholder="请输入权限名"
12 - :disabled="menuFormDisabled"
13 - v-model="menuData.userName"
14 - size="mini"
15 - ></el-input> -->
16 - </el-form-item>
17 - </el-col>
18 - <el-col :span="12">
19 - <el-form-item label="菜单路由" prop="">
20 - <!-- <el-input
21 - placeholder="请输入权限名"
22 - :disabled="menuFormDisabled"
23 - v-model="menuData.userName"
24 - size="mini"
25 - ></el-input> -->
26 - </el-form-item>
27 - </el-col>
28 - <el-col :span="12">
29 - <el-form-item label="组件名称" prop="">
30 - <!-- <el-input
31 - placeholder="请输入权限名"
32 - :disabled="menuFormDisabled"
33 - v-model="menuData.userName"
34 - size="mini"
35 - ></el-input> -->
36 - </el-form-item>
37 - </el-col>
38 - <el-col :span="24">
39 - <el-form-item label="菜单状态" prop="">
40 - <el-switch v-model="menuData.menuStatus" active-color="#13ce66" inactive-color="#ff4949"
41 - :disabled="menuFormDisabled"></el-switch>
42 - </el-form-item>
43 - </el-col>
44 - <el-col :span="24">
45 - <el-form-item label="图标选择" prop="">
46 - <iconSelect @selected="selected"></iconSelect>
47 - </el-form-item>
48 - </el-col>
49 - <el-col :span="24">
50 - <el-form-item label="权限设置" prop="">
51 - <el-col :span="6">
52 - <el-radio label="页面" size="medium"></el-radio>
53 - </el-col>
54 - <el-col :span="6">
55 - <el-radio label="按钮" size="medium"></el-radio>
56 - </el-col>
57 - <el-col :span="24">
58 - <el-card shadow="never">
59 - <el-input placeholder=""></el-input>
60 - </el-card>
61 - </el-col>
62 - </el-form-item>
63 - </el-col>
64 - </el-row>
65 - </el-form>
66 -
67 - <div slot="footer">
68 - <el-button @click="handleClose">取 消</el-button>
69 - <el-button type="primary" @click="submit">确 定</el-button>
70 - </div>
71 - </el-dialog>
72 - </div>
73 -</template>
74 -
75 -<script>
76 -import iconSelect from "@/components/IconSelect";
77 -export default {
78 - components: {
79 - iconSelect,
80 - },
81 - props: {
82 - drawerTitle: {
83 - type: String,
84 - default: "",
85 - },
86 - menuFormDisabled: {
87 - type: Boolean,
88 - default: false,
89 - },
90 - dialogVisible: {
91 - type: Boolean,
92 - default: false,
93 - },
94 - menuData: {
95 - type: Object,
96 - default: null,
97 - },
98 - },
99 - data() {
100 - return {
101 - menuForm: {},
102 - rules: {}
103 - };
104 - },
105 - updated() {
106 - this.menuForm = this.menuData;
107 - },
108 - watch: {
109 - dialogVisible(val, oldVal) {
110 - if (val) {
111 - this.menuForm = this.menuData;
112 - }
113 - }
114 - },
115 - methods: {
116 - handleClose() {
117 - this.$emit("handleClose", false);
118 - },
119 - selected(val) {
120 - console.log(val);
121 - },
122 - submit() { },
123 - },
124 -};
125 -</script>
126 -
127 -<style>
128 -</style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
12 :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> 12 :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
13 <template v-for="(item, index) in tableHeader"> 13 <template v-for="(item, index) in tableHeader">
14 <el-table-column v-if="item.value === 'menuType'" :prop="item.value" :label="item.name" :key="index" 14 <el-table-column v-if="item.value === 'menuType'" :prop="item.value" :label="item.name" :key="index"
15 - :align="item.align" header-align="center" showOverflowTooltip :width="item.width" :formatter="formatter"> 15 + :align="item.align" header-align="center" :width="item.width" :formatter="formatter">
16 <template slot-scope="scope"> 16 <template slot-scope="scope">
17 <el-tag :type="scope.row.menuType === 'B' ? '' : 'success'" disable-transitions>{{ scope.row.menuType === 17 <el-tag :type="scope.row.menuType === 'B' ? '' : 'success'" disable-transitions>{{ scope.row.menuType ===
18 "B" ? "按钮" : "菜单" 18 "B" ? "按钮" : "菜单"
...@@ -20,10 +20,9 @@ ...@@ -20,10 +20,9 @@
20 </template> 20 </template>
21 </el-table-column> 21 </el-table-column>
22 <el-table-column v-else :prop="item.value" :label="item.name" :key="index" :align="item.align" 22 <el-table-column v-else :prop="item.value" :label="item.name" :key="index" :align="item.align"
23 - header-align="center" showOverflowTooltip :width="item.width" :formatter="formatter"> 23 + header-align="center" :width="item.width" :formatter="formatter">
24 </el-table-column> 24 </el-table-column>
25 </template> 25 </template>
26 -
27 <el-table-column header-align="center" align="center" label="操作" width="auto"> 26 <el-table-column header-align="center" align="center" label="操作" width="auto">
28 <template slot-scope="scope"> 27 <template slot-scope="scope">
29 <!-- <el-button type="success" size="mini" @click="buttonClick(scope)">修改</el-button> 28 <!-- <el-button type="success" size="mini" @click="buttonClick(scope)">修改</el-button>
...@@ -39,55 +38,15 @@ ...@@ -39,55 +38,15 @@
39 </template> 38 </template>
40 </el-table-column> 39 </el-table-column>
41 </el-table> 40 </el-table>
42 -
43 - <!-- <Tables
44 - ref="newTable"
45 - :data="data"
46 - :headerData="tableHeader"
47 - size="medium"
48 - rowKey="id"
49 - :defaultExpandAll="true"
50 - height="auto"
51 - @tableSelect="tableSelect"
52 - @tableSelectAll="tableSelectAll"
53 - @SelectChange="SelectChange"
54 - >
55 - <el-table-column
56 - header-align="center"
57 - align="center"
58 - label="操作"
59 - width="auto"
60 - >
61 - <template slot-scope="scope">
62 - <el-button type="primary" size="mini" @click="menuStatus(scope)">{{
63 - scope.menuStatus == 0 ? "停用" : "启用"
64 - }}</el-button>
65 - <el-button type="danger" size="mini" @click="removeMenu(scope)"
66 - >删除菜单</el-button
67 - >
68 - </template>
69 - </el-table-column>
70 - </Tables> -->
71 - <!-- <Drawer
72 - :dialogVisible="drawer"
73 - :drawerTitle="drawerTitle"
74 - :menuFormDisabled="menuFormDisabled"
75 - :menuData="menuData"
76 - @handleClose="handleClose"
77 - ></Drawer> -->
78 </div> 41 </div>
79 </template> 42 </template>
80 43
81 <script> 44 <script>
82 import { getAllAuth, updateStatus } from "@/api/system/user.js"; 45 import { getAllAuth, updateStatus } from "@/api/system/user.js";
83 import dictLabels from "@/assets/languages/dictLabels.js"; 46 import dictLabels from "@/assets/languages/dictLabels.js";
84 -import Drawer from "./drawer.vue"; 47 +
85 -import { MessageBox } from "element-ui";
86 export default { 48 export default {
87 name: "MenuConfig", 49 name: "MenuConfig",
88 - components: {
89 - Drawer,
90 - },
91 data() { 50 data() {
92 return { 51 return {
93 drawer: false, 52 drawer: false,
...@@ -102,35 +61,30 @@ export default { ...@@ -102,35 +61,30 @@ export default {
102 value: "title", 61 value: "title",
103 width: "", 62 width: "",
104 align: "left", 63 align: "left",
105 - sorTable: false,
106 }, 64 },
107 { 65 {
108 name: "菜单类型", 66 name: "菜单类型",
109 value: "menuType", 67 value: "menuType",
110 width: "100", 68 width: "100",
111 align: "center", 69 align: "center",
112 - sortable: false,
113 }, 70 },
114 { 71 {
115 name: "权限标识", 72 name: "权限标识",
116 value: "permissionKey", 73 value: "permissionKey",
117 width: "auto", 74 width: "auto",
118 align: "left", 75 align: "left",
119 - sortable: false,
120 }, 76 },
121 { 77 {
122 name: "菜单状态", 78 name: "菜单状态",
123 value: "status", 79 value: "status",
124 width: "100", 80 width: "100",
125 align: "center", 81 align: "center",
126 - sorTable: false,
127 }, 82 },
128 { 83 {
129 name: "菜单路由", 84 name: "菜单路由",
130 value: "path", 85 value: "path",
131 width: "auto", 86 width: "auto",
132 align: "left", 87 align: "left",
133 - sorTable: false,
134 }, 88 },
135 ], 89 ],
136 }; 90 };
...@@ -153,19 +107,16 @@ export default { ...@@ -153,19 +107,16 @@ export default {
153 this.drawerTitle = "新增菜单"; 107 this.drawerTitle = "新增菜单";
154 this.menuFormDisabled = false; 108 this.menuFormDisabled = false;
155 }, 109 },
156 -
157 //关闭 110 //关闭
158 handleClose(val) { 111 handleClose(val) {
159 this.drawer = val; 112 this.drawer = val;
160 }, 113 },
161 -
162 buttonClick(row) { 114 buttonClick(row) {
163 this.menuData = row.row; 115 this.menuData = row.row;
164 this.drawer = true; 116 this.drawer = true;
165 this.drawerTitle = "查看/修改"; 117 this.drawerTitle = "查看/修改";
166 this.menuFormDisabled = true; 118 this.menuFormDisabled = true;
167 }, 119 },
168 -
169 //表格数据 120 //表格数据
170 menuAll() { 121 menuAll() {
171 this.loading = true; 122 this.loading = true;
...@@ -175,48 +126,34 @@ export default { ...@@ -175,48 +126,34 @@ export default {
175 if (res.code === 200) { 126 if (res.code === 200) {
176 res.data.length > 0 127 res.data.length > 0
177 ? (this.data = res.data) 128 ? (this.data = res.data)
178 - : this.$message({ 129 + : this.msgWarning('数据为空')
179 - message: "数据为空",
180 - type: "warning",
181 - });
182 } else { 130 } else {
183 - this.$message({ 131 + this.msgWarning(res.msg)
184 - message: res.msg,
185 - type: "warning",
186 - });
187 } 132 }
188 }) 133 })
189 .catch(() => { 134 .catch(() => {
190 this.loading = false; 135 this.loading = false;
191 }); 136 });
192 }, 137 },
193 -
194 //菜单状态改变 138 //菜单状态改变
195 statusUpdate(data) { 139 statusUpdate(data) {
196 updateStatus(data) 140 updateStatus(data)
197 .then((res) => { 141 .then((res) => {
198 if (res.code === 200) { 142 if (res.code === 200) {
199 this.menuAll(); 143 this.menuAll();
200 - this.$message({ 144 + this.msgSuccess('操作成功')
201 - message: "操作成功",
202 - type: "success",
203 - });
204 location.reload(); 145 location.reload();
205 } else { 146 } else {
206 - this.$message({ 147 + this.msgWarning(res.msg)
207 - message: res.msg,
208 - type: "warning",
209 - });
210 } 148 }
211 }) 149 })
212 .catch((err) => { 150 .catch((err) => {
213 console.log(err); 151 console.log(err);
214 }); 152 });
215 }, 153 },
216 -
217 //菜单开启关闭 154 //菜单开启关闭
218 menuStatus(row) { 155 menuStatus(row) {
219 - MessageBox.confirm( 156 + this.$confirm(
220 row.row.status == 1 ? "是否要关闭此菜单" : "是否要启用此菜单", 157 row.row.status == 1 ? "是否要关闭此菜单" : "是否要启用此菜单",
221 "提示", 158 "提示",
222 { 159 {
...@@ -233,10 +170,9 @@ export default { ...@@ -233,10 +170,9 @@ export default {
233 }) 170 })
234 .catch(() => { }); 171 .catch(() => { });
235 }, 172 },
236 -
237 //菜单删除 173 //菜单删除
238 removeMenu(row) { 174 removeMenu(row) {
239 - MessageBox.confirm("是否要删除此菜单", "提示", { 175 + this.$confirm("是否要删除此菜单", "提示", {
240 confirmButtonText: "确定删除", 176 confirmButtonText: "确定删除",
241 cancelButtonText: "取消", 177 cancelButtonText: "取消",
242 type: "warning", 178 type: "warning",
...@@ -249,7 +185,6 @@ export default { ...@@ -249,7 +185,6 @@ export default {
249 }) 185 })
250 .catch(() => { }); 186 .catch(() => { });
251 }, 187 },
252 -
253 formatter(row, column, cellValue, index) { 188 formatter(row, column, cellValue, index) {
254 if (dictLabels["menu"][column.property]) { 189 if (dictLabels["menu"][column.property]) {
255 if (dictLabels["menu"][column.property][cellValue]) { 190 if (dictLabels["menu"][column.property][cellValue]) {
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
2 <div class="roleDrawer"> 2 <div class="roleDrawer">
3 <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" destroy-on-close 3 <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" destroy-on-close
4 :close-on-click-modal="false" :wrapperClosable="false" :show-close="false"> 4 :close-on-click-modal="false" :wrapperClosable="false" :show-close="false">
5 - <el-form ref="roleForm" :model="roleForm" label-width="auto" :rules="rules" size="mini" style="margin: 10px"> 5 + <el-form ref="roleForm" :model="roleForm" label-width="auto" :rules="rules" size="mini" style="margin: 10px"
6 + @submit.native.prevent>
6 <el-row :gutter="10"> 7 <el-row :gutter="10">
7 <el-col :span="12"> 8 <el-col :span="12">
8 <el-form-item label="角色名:" prop="name"> 9 <el-form-item label="角色名:" prop="name">
...@@ -14,22 +15,10 @@ ...@@ -14,22 +15,10 @@
14 <el-col :span="24"> 15 <el-col :span="24">
15 <el-form-item label="角色描述:" prop="remark"> 16 <el-form-item label="角色描述:" prop="remark">
16 <el-input v-model="roleForm.remark" type="textarea" placeholder="请输入角色描述" :disabled="roleFormDisabled" 17 <el-input v-model="roleForm.remark" type="textarea" placeholder="请输入角色描述" :disabled="roleFormDisabled"
17 - v-if="!roleFormDisabled" clearable></el-input> 18 + v-if="!roleFormDisabled" clearable maxlength="255" show-word-limit></el-input>
18 <div v-else>{{ roleData.remark }}</div> 19 <div v-else>{{ roleData.remark }}</div>
19 </el-form-item> 20 </el-form-item>
20 </el-col> 21 </el-col>
21 - <!-- <el-col :span="24">
22 - <el-form-item label="角色状态:" prop="valid">
23 - <el-switch
24 - v-model="roleForm.valid"
25 - :active-value="1"
26 - :inactive-value="2"
27 - active-color="#13ce66"
28 - inactive-color="#ff4949"
29 - :disabled="roleFormDisabled"
30 - ></el-switch>
31 - </el-form-item>
32 - </el-col> -->
33 <el-col :span="24"> 22 <el-col :span="24">
34 <el-form-item label="角色权限:" prop="menuIdList"> 23 <el-form-item label="角色权限:" prop="menuIdList">
35 <el-tree ref="tree" :data="treeData" node-key="id" :props="defaultProps" :show-checkbox="true" 24 <el-tree ref="tree" :data="treeData" node-key="id" :props="defaultProps" :show-checkbox="true"
...@@ -91,26 +80,13 @@ export default { ...@@ -91,26 +80,13 @@ export default {
91 }, 80 },
92 }; 81 };
93 }, 82 },
94 - created() {
95 - //权限列表
96 - getAllAuth()
97 - .then((res) => {
98 - if (res.code === 200) {
99 - this.treeData = this.treeDataInfo(res.data);
100 - } else {
101 - this.msgWarning(res.msg)
102 - }
103 - })
104 - .catch((err) => {
105 - console.log(err);
106 - });
107 - },
108 watch: { 83 watch: {
109 roleFormDisabled() { 84 roleFormDisabled() {
110 this.treeData = this.treeDisabled(this.treeData); 85 this.treeData = this.treeDisabled(this.treeData);
111 }, 86 },
112 drawer(val, oldVal) { 87 drawer(val, oldVal) {
113 if (val) { 88 if (val) {
89 + this.allAuth()
114 this.roleForm = this.roleData; 90 this.roleForm = this.roleData;
115 } else { 91 } else {
116 this.loading = false; 92 this.loading = false;
...@@ -118,12 +94,25 @@ export default { ...@@ -118,12 +94,25 @@ export default {
118 }, 94 },
119 }, 95 },
120 methods: { 96 methods: {
97 + //权限列表
98 + allAuth() {
99 + getAllAuth()
100 + .then((res) => {
101 + if (res.code === 200) {
102 + this.treeData = this.treeDataInfo(res.data);
103 + } else {
104 + this.msgWarning(res.msg)
105 + }
106 + })
107 + .catch((err) => {
108 + console.log(err);
109 + });
110 + },
121 //关闭 111 //关闭
122 handleClose() { 112 handleClose() {
123 this.$refs["roleForm"].clearValidate(); 113 this.$refs["roleForm"].clearValidate();
124 this.$emit("handleClose", false); 114 this.$emit("handleClose", false);
125 }, 115 },
126 -
127 //提交 116 //提交
128 submit() { 117 submit() {
129 let formData = {}; 118 let formData = {};
...@@ -151,7 +140,6 @@ export default { ...@@ -151,7 +140,6 @@ export default {
151 console.log(err); 140 console.log(err);
152 }); 141 });
153 }, 142 },
154 -
155 //权限结构禁用 143 //权限结构禁用
156 treeDisabled(val) { 144 treeDisabled(val) {
157 let data = []; 145 let data = [];
...@@ -164,7 +152,7 @@ export default { ...@@ -164,7 +152,7 @@ export default {
164 }); 152 });
165 return data; 153 return data;
166 }, 154 },
167 - 155 + //权限结构数据整理
168 treeDataInfo(val) { 156 treeDataInfo(val) {
169 let data = []; 157 let data = [];
170 val.forEach((item) => { 158 val.forEach((item) => {
......
1 <template> 1 <template>
2 <div class="roleConfig"> 2 <div class="roleConfig">
3 - <el-form ref="selectionRoleForm" label-width="auto" style="margin: 20px"> 3 + <el-form ref="selectionRoleForm" label-width="auto" style="margin: 20px" @submit.native.prevent>
4 <el-row :gutter="50"> 4 <el-row :gutter="50">
5 <el-col :span="6"> 5 <el-col :span="6">
6 <el-form-item label="角色名称"> 6 <el-form-item label="角色名称">
......
...@@ -2,7 +2,8 @@ ...@@ -2,7 +2,8 @@
2 <div class="userDrawer"> 2 <div class="userDrawer">
3 <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" :close-on-click-modal="false" 3 <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" :close-on-click-modal="false"
4 :wrapperClosable="false" :show-close="false"> 4 :wrapperClosable="false" :show-close="false">
5 - <el-form ref="userForm" :model="userForm" label-width="auto" :rules="rules" style="margin: 10px"> 5 + <el-form ref="userForm" :model="userForm" label-width="auto" :rules="rules" style="margin: 10px"
6 + @submit.native.prevent>
6 <el-row :gutter="10"> 7 <el-row :gutter="10">
7 <el-col :span="12"> 8 <el-col :span="12">
8 <el-form-item label="员工号:" prop="loginName"> 9 <el-form-item label="员工号:" prop="loginName">
...@@ -63,6 +64,7 @@ ...@@ -63,6 +64,7 @@
63 style="width: 100%" multiple clearable> 64 style="width: 100%" multiple clearable>
64 <el-option v-for="item in portNameList" :label="item.englishName" :value="item.englishName" 65 <el-option v-for="item in portNameList" :label="item.englishName" :value="item.englishName"
65 :key="item.id"> 66 :key="item.id">
67 + <Tooltips :content="item.englishName" :refName="item.code"></Tooltips>
66 </el-option> 68 </el-option>
67 </el-select> 69 </el-select>
68 </el-form-item> 70 </el-form-item>
...@@ -70,14 +72,21 @@ ...@@ -70,14 +72,21 @@
70 <el-col :span="24"> 72 <el-col :span="24">
71 <el-form-item label="所属角色:" prop="roleIds"> 73 <el-form-item label="所属角色:" prop="roleIds">
72 <el-checkbox-group v-model="roleid" :disabled="userFormDisabled" @change="change"> 74 <el-checkbox-group v-model="roleid" :disabled="userFormDisabled" @change="change">
73 - <el-checkbox v-for="item in roleList" :label="item.id" :key="item.id">{{ item.name }}</el-checkbox> 75 + <el-row>
76 + <el-col :span="4" v-for="item in roleList" :key="item.id">
77 + <el-checkbox :label="item.id">
78 + {{ item.name }}
79 + <Tooltips :content="item.englishName" :refName="item.code"></Tooltips>
80 + </el-checkbox>
81 + </el-col>
82 + </el-row>
74 </el-checkbox-group> 83 </el-checkbox-group>
75 </el-form-item> 84 </el-form-item>
76 </el-col> 85 </el-col>
77 <el-col :span="24"> 86 <el-col :span="24">
78 <el-form-item label="备注:" prop="remark"> 87 <el-form-item label="备注:" prop="remark">
79 <el-input type="textarea" v-model="userForm.remark" placeholder="备注" :disabled="userFormDisabled" 88 <el-input type="textarea" v-model="userForm.remark" placeholder="备注" :disabled="userFormDisabled"
80 - v-if="!userFormDisabled" size="small" clearable></el-input> 89 + v-if="!userFormDisabled" size="small" clearable maxlength="255" show-word-limit></el-input>
81 <div v-else>{{ userForm.remark }}</div> 90 <div v-else>{{ userForm.remark }}</div>
82 </el-form-item> 91 </el-form-item>
83 </el-col> 92 </el-col>
......
1 <template> 1 <template>
2 <div> 2 <div>
3 - <el-form ref="selectionUserForm" label-width="auto" style="margin: 20px"> 3 + <el-form ref="selectionUserForm" label-width="auto" style="margin: 20px" @submit.native.prevent>
4 <el-row :gutter="50"> 4 <el-row :gutter="50">
5 <el-col :span="6"> 5 <el-col :span="6">
6 <el-form-item label="用户姓名"> 6 <el-form-item label="用户姓名">
......
1 +<template>
2 + <div>
3 + <el-form ref="dmLogForm" class="form-header" :model="selectForm" label-width="auto" size="small">
4 + <el-row type="flex" style="flex-wrap: wrap !important">
5 + <el-col :span="6">
6 + <el-form-item label="ACCS原航班号">
7 + <el-input v-model.trim="fltNo" class="formItem" placeholder="请输入航班号" clearable></el-input>
8 + </el-form-item>
9 + </el-col>
10 + <el-col :span="6">
11 + <el-form-item label="数据接收日期" prop="createTime">
12 + <el-date-picker v-model="selectForm.createTime" class="formItem" type="date" placeholder="选择日期"
13 + :value-format="valueFormat" clearable>
14 + </el-date-picker>
15 + </el-form-item>
16 + </el-col>
17 + <el-col :span="6">
18 + <el-form-item label="运单号">
19 + <el-input v-model="selectForm.awbNbr" class="formItem" placeholder="请输入运单号" clearable></el-input>
20 + </el-form-item>
21 + </el-col>
22 + <el-col :span="6">
23 + <el-form-item label="处理状态级别">
24 + <el-select v-model="selectForm.status" class="formItem" placeholder="不限" clearable>
25 + <el-option label="未处理" value="0"></el-option>
26 + <el-option label="处理成功" value="1"></el-option>
27 + <el-option label="已处理" value="2"></el-option>
28 + <el-option label="处理失败" value="3"></el-option>
29 + <el-option label="处理中" value="9"></el-option>
30 + </el-select>
31 + </el-form-item>
32 + </el-col>
33 + <el-col :span="6">
34 + <el-form-item label="ACCS原航班日期">
35 + <el-date-picker v-model="selectForm.fltDate" class="formItem" type="date" placeholder="选择日期"
36 + :value-format="valueFormat" clearable>
37 + </el-date-picker>
38 + </el-form-item>
39 + </el-col>
40 + <!-- <el-col :span="6">
41 + <el-form-item label="口岸代码">
42 + <el-select v-model="selectForm.portName" class="formItem" placeholder="不限" clearable>
43 + <el-option v-for="item in portList" :label="item.englishName" :value="item.englishName" :key="item.id">
44 + </el-option>
45 + </el-select>
46 + </el-form-item>
47 + </el-col> -->
48 + <el-col :span="6">
49 + <el-form-item label="回推ACCS结果">
50 + <el-select v-model="selectForm.sendLogSendResult" class="formItem" placeholder="不限" clearable>
51 + <el-option label="未推" value="0">
52 + </el-option>
53 + <el-option label="推送成功" value="1">
54 + </el-option>
55 + <el-option label="推送失败" value="2">
56 + </el-option>
57 + </el-select>
58 + </el-form-item>
59 + </el-col>
60 + </el-row>
61 + <div class="ml20" style="display: flex">
62 + <el-button type="primary" size="small" icon="el-icon-search" :loading="loading" @click="selectDMData(0)">查询
63 + </el-button>
64 + </div>
65 + </el-form>
66 + <Tables ref="dmLogTables" ductName="logDmData" :order="true" :data="data" :headerData="tableHeader"
67 + tableAlign="center" :showOverflowTooltip="false" :height="tableHeight" :page="selectForm.page"
68 + :limitSize="selectForm.size" :pageSizes="[100]" :totalCount="total" :loading="loading"
69 + @currentChange="currentChange" @sortChange="sortChange">
70 + <template v-slot:awbNbr="scope">
71 + <el-link type="primary" @click="gotoWeatherTable(scope.row)">
72 + {{
73 + scope.row.awbNbr
74 + }}<i class="el-icon-link"></i> </el-link>
75 + </template>
76 + <template v-slot:flightFltNo="scope">
77 + <el-link v-if="scope.row.allocDimId" type="primary"
78 + @click="$router.push({ name: 'FlightAllocConfigInfo', params: { handle: 'DMdetail', id: scope.row.allocDimId } })">
79 + {{
80 + scope.row.flightFltNo
81 + }}<i class="el-icon-link"></i> </el-link>
82 + <span v-else>{{ scope.row.flightFltNo }}</span>
83 + </template>
84 + </Tables>
85 + </div>
86 +</template>
87 +
88 +<script>
89 +import dictLabels from "../../../assets/languages/dictLabels.js";
90 +import { portNameList } from "@/api/system/user.js";
91 +import { getDmDataList, getDmFlowInformation } from "@/api/system/logConfig.js";
92 +
93 +export default {
94 + name: "DmLog",
95 + data() {
96 + return {
97 + selectForm: {
98 + fltNo: undefined,
99 + createTime: undefined,
100 + page: 1,
101 + size: 100,
102 + },
103 + data: [],
104 + tableHeader: this.tableHeaders['DM'],
105 + portList: [],
106 + rules: {
107 + createTime: [
108 + {
109 + required: true,
110 + message: "创建日期不能为空",
111 + trigger: "blur",
112 + },
113 + ],
114 + },
115 + pickerOptions: {},
116 + selectDate: null,
117 + createTimes: [],
118 + total: 0,
119 + tableHeight: null,
120 + loading: false,
121 + valueFormat: "yyyy-MM-dd",
122 + };
123 + },
124 + created() {
125 + this.selectForm.createTime = this.nowDate();
126 + this.getPort()
127 + },
128 + activated() {
129 + this.selectDMData();
130 + },
131 + deactivated() {
132 + this.data = [];
133 + },
134 + mounted() {
135 + this.tableHeight =
136 + window.innerHeight - this.$refs.dmLogForm.$el.offsetHeight - 130;
137 + },
138 + methods: {
139 + //获取口岸
140 + async getPort() {
141 + portNameList().then((res) => {
142 + if (res.code === 200) {
143 + this.portList = res.data;
144 + } else {
145 + this.msgWarning('查询条件' + res.msg)
146 + }
147 + });
148 + if (this.$store.state.tagsView.cachedViews.length == 0) {
149 + this.selectDMData();
150 + }
151 + },
152 + //数据查询
153 + async selectDMData(val) {
154 + this.data = [];
155 + this.loading = true;
156 + if (val === 0) {
157 + this.selectForm.page = 1;
158 + }
159 + getDmDataList(this.selectForm).then((res) => {
160 + this.loading = false;
161 + if (res.code === 200) {
162 + if (res.data.total === 0) {
163 + this.msgWarning('未查询到数据')
164 + } else {
165 + this.data = res.data.list;
166 + this.total = res.data.total;
167 + }
168 + } else {
169 + this.msgWarning(res.msg)
170 + }
171 + });
172 + },
173 + //跳转流水
174 + gotoWeatherTable(val) {
175 + getDmFlowInformation('accsId=' + val.dmAccsId).then(res => {
176 + if (res.code === 200) {
177 + if (res.data.list.length > 0) {
178 + this.$router.push({ name: 'weatherTable', params: { data: res.data.list } })
179 + } else {
180 + this.msgWarning('未查询到该条数据的流水')
181 + }
182 + } else {
183 + this.msgWarning(res.msg)
184 + }
185 + }).catch(err => {
186 + console.log(err)
187 + })
188 + },
189 + //分页
190 + currentChange(val) {
191 + this.selectForm.page = val.page;
192 + this.selectDMData();
193 + },
194 + //数据处理
195 + statusData(val) {
196 + if (dictLabels["logDmData"]["status"][val]) {
197 + return dictLabels["logDmData"]["status"][val];
198 + } else {
199 + return val;
200 + }
201 + },
202 + //排序
203 + sortChange(val) {
204 + let data = [];
205 + let nullData = [];
206 + this.data.forEach((item) => {
207 + if (item[val.prop]) {
208 + data.push(item);
209 + } else {
210 + nullData.push(item);
211 + }
212 + });
213 + data = data.sort(this.$refs.dmLogTables.compare(val.prop, val.order));
214 + if (val.order != "ascending") {
215 + this.data = nullData.concat(data);
216 + } else {
217 + this.data = data.concat(nullData);
218 + }
219 + this.data.forEach((item, index = 0) => {
220 + item.index = index;
221 + });
222 + },
223 + },
224 + computed: {
225 + fltNo: {
226 + get: function () {
227 + return this.selectForm.fltNo;
228 + },
229 + set: function (val) {
230 + this.selectForm.fltNo = this.upCase(val);
231 + },
232 + },
233 + },
234 +};
235 +</script>
236 +
237 +<style scoped>
238 +.tags {
239 + display: flex;
240 + margin: 0 20px 0 auto;
241 + color: black;
242 + line-height: 32px;
243 +}
244 +
245 +.tagTip {
246 + margin: 0 5px;
247 +}
248 +</style>
...\ No newline at end of file ...\ No newline at end of file
1 +<template>
2 + <div style="padding:10px">
3 + <el-card header="流水信息">
4 + <Tables ref="weatherTable" ductName="weatherTable" :order="true" :data="data" :headerData="tableHeader"
5 + :showOverflowTooltip="false" :height="tableHeight" :page="selectData.page" :limitSize="selectData.size"
6 + :pageSizes="[100]" :pagination="false" :loading="loading" @currentChange="currentChange">
7 + </Tables>
8 + <div class="ml20 mt20">
9 + <el-button size="small" @click="close">返 回</el-button>
10 + </div>
11 + </el-card>
12 + </div>
13 +</template>
14 +
15 +<script>
16 +import { getDmFlowInformation } from "@/api/system/logConfig.js";
17 +
18 +export default {
19 + name: 'weatherTable',
20 + data() {
21 + return {
22 + data: [],
23 + tableHeader: this.tableHeaders['weatherTable'],
24 + selectData: {
25 + page: 1,
26 + size: 100,
27 + },
28 + loading: false,
29 + tableHeight: null
30 + }
31 + },
32 + created() {
33 + if (this.$route.params.data) {
34 + this.data = this.$route.params.data
35 + sessionStorage.setItem('accsid', this.data[0].accsId)
36 + } else {
37 + this.getWeatherTable()
38 + }
39 + },
40 + activated() {
41 + if (this.$route.params.data) {
42 + this.data = this.$route.params.data
43 + sessionStorage.setItem('accsid', this.data[0].accsId)
44 + } else {
45 + this.getWeatherTable()
46 + }
47 + },
48 + methods: {
49 + //accsid获取流水
50 + getWeatherTable() {
51 + this.loading = true
52 + let accsid = ''
53 + accsid = sessionStorage.getItem('accsid')
54 + getDmFlowInformation('accsId=' + accsid).then(res => {
55 + this.loading = false
56 + if (res.code === 200) {
57 + this.data = res.data.list
58 + } else {
59 + this.msgWarning(res.msg)
60 + }
61 + }).catch(err => {
62 + this.loading = false
63 + console.log(err)
64 + })
65 + },
66 + //返回
67 + close() {
68 + this.$store.state.tagsView.visitedViews.splice(
69 + this.$store.state.tagsView.visitedViews.findIndex(
70 + (item) => item.path === this.$route.path
71 + ),
72 + );
73 + sessionStorage.removeItem('accsid')
74 + this.$router.push({ name: 'DmLog' })
75 + },
76 + //翻页
77 + currentChange(val) { },
78 + }
79 +}
80 +</script>
81 +
82 +<style>
83 +</style>
...\ No newline at end of file ...\ No newline at end of file