jinhui.wang

ver:1.4.0,增加数据字典/虚拟航班维护页面,增加航班预审页面,修改输入框大小,状态,文本修正

Showing 42 changed files with 2710 additions and 2004 deletions
...@@ -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
......
...@@ -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": {
...@@ -49,6 +39,7 @@ let ductLabels = { ...@@ -49,6 +39,7 @@ let ductLabels = {
49 "needRequired": { 39 "needRequired": {
50 "1": "是", 40 "1": "是",
51 "0": "否", 41 "0": "否",
42 + "2": "未设置"
52 }, 43 },
53 "highLowPriceFlg": { 44 "highLowPriceFlg": {
54 "1": "开启", 45 "1": "开启",
...@@ -59,16 +50,71 @@ let ductLabels = { ...@@ -59,16 +50,71 @@ let ductLabels = {
59 "2": "否", 50 "2": "否",
60 }, 51 },
61 }, 52 },
62 - "logDmData": {//DM数据 53 + "flightRand": {//航班顺位设置
54 + "status": {
55 + "0": "执行中",
56 + "1": "有效",
57 + "3": "停用"
58 + }
59 + },
60 + "FlightAlloc": {//航班配舱设置
63 "status": { 61 "status": {
62 + "0": "无效",
63 + "1": "有效",
64 + "2": "配置中",
65 + "3": "停用"
66 + }
67 + },
68 + "logDmData": {//DM数据
69 + "statusDetailCode": {
64 "0": "未处理", 70 "0": "未处理",
65 - "1": "已处理", 71 + "1": "处理成功",
66 - "2": "无需处理", 72 + "2_1": "已处理(数据丢弃)",
67 - "3": "处理失败", 73 + "2_2": "已处理(数据丢弃)",
68 - "4": "校验不通过", 74 + "2_3": "已处理(数据丢弃)",
69 - "5": "数据不能被多次处理", 75 + "2_4": "已处理(数据丢弃)",
76 + "3_1": "已处理(异常处理)",
77 + "3_2": "处理失败(系统异常)",
78 + "3_3": "处理失败(系统异常)",
79 + "3_4": "处理失败(系统异常)",
80 + "4_1": "处理失败(数据异常)",
81 + "4_2": "处理失败(数据异常)",
82 + "4_3": "处理失败(其他系统异常)",
83 + "5": "处理失败(系统异常)",
70 "9": "处理中", 84 "9": "处理中",
71 }, 85 },
86 + "weatherGenerateWater": {
87 + "1": "是",
88 + "0": "否"
89 + },
90 + "sendLogSendResult": {
91 + "0": "未推",
92 + "1": "推送成功",
93 + "2": "推送失败"
94 + }
95 + },
96 + "weatherTable": {
97 + "highLowPriceFlg": {
98 + "1": "开启",
99 + "0": "关闭"
100 + },
101 + "operationSource": {
102 + "1": "pre-MD cutoff",
103 + "2": "航班迁转手动释放",
104 + "3": "预审不通过定时任务",
105 + "4": "自动配舱"
106 + },
107 + "weightMark": {
108 + "1": "增加",
109 + "-1": "减少"
110 + }
111 +
112 + },
113 + "preFlight": {//航班预审
114 + "status": {
115 + "0": "关闭",
116 + "1": "开启"
117 + }
72 } 118 }
73 } 119 }
74 120
......
...@@ -2,1129 +2,1182 @@ let tableHeaders = { ...@@ -2,1129 +2,1182 @@ 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: "120",
40 - align: "center", 36 + ext1: "sorTable",
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: "typeName",
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: "HandlingCode",
637 - value: "handingCode", 551 + columnName: "handingCode",
638 - width: "150", 552 + columnWidth: "150",
639 - align: "center", 553 + ext1: "sorTable",
640 - sorTable: true,
641 status: 1 554 status: 1
642 }, 555 },
643 { 556 {
644 - name: "subcategory", 557 + columnChineseName: "subcategory",
645 - value: "subCategory", 558 + columnName: "subCategory",
646 - width: "140", 559 + columnWidth: "140",
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: "qty",
654 - width: "80", 566 + columnWidth: "80",
655 - align: "center", 567 + ext1: "sorTable",
656 - sorTable: true,
657 status: 1 568 status: 1
658 }, 569 },
659 { 570 {
660 - name: "实际重量", 571 + columnChineseName: "实际重量",
661 - value: "actualWeight", 572 + columnName: "actualWeight",
662 - width: "100", 573 + columnWidth: "100",
663 - align: "center", 574 + ext1: "sorTable",
664 - sorTable: true,
665 status: 1 575 status: 1
666 }, 576 },
667 { 577 {
668 - name: "收件人国家代码", 578 + columnChineseName: "收件人国家代码",
669 - value: "consigneeCountry", 579 + columnName: "consigneeCountry",
670 - width: "150", 580 + columnWidth: "150",
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: "nameDescription",
678 - width: "100", 587 + columnWidth: "100",
679 - align: "center",
680 - sorTable: false,
681 status: 1 588 status: 1
682 }, 589 },
683 { 590 {
684 - name: "海关回执状态", 591 + columnChineseName: "海关回执状态",
685 - value: "customsReceiptStatusName", 592 + columnName: "customsReceiptStatusName",
686 - width: "140", 593 + columnWidth: "140",
687 - align: "center", 594 + ext1: "sorTable",
688 - sorTable: true,
689 status: 1 595 status: 1
690 }, 596 },
691 { 597 {
692 - name: "预审状态", 598 + columnChineseName: "预审状态",
693 - value: "preQualificationStatus", 599 + columnName: "preQualificationStatus",
694 - width: "100", 600 + columnWidth: "100",
695 - align: "center", 601 + ext1: "sorTable",
696 - sorTable: true,
697 status: 1 602 status: 1
698 }, 603 },
699 { 604 {
700 - name: "航班预审意见", 605 + columnChineseName: "航班预审意见",
701 - value: "caPretrialOpinion", 606 + columnName: "caPretrialOpinion",
702 - width: "120", 607 + columnWidth: "120",
703 - align: "center",
704 status: 1 608 status: 1
705 }, 609 },
706 { 610 {
707 - name: "货物状态", 611 + columnChineseName: "货物状态",
708 - value: "statusName", 612 + columnName: "statusName",
709 - width: "100", 613 + columnWidth: "100",
710 - align: "center", 614 + ext1: "sorTable",
711 - sorTable: true,
712 status: 1 615 status: 1
713 }, 616 },
714 { 617 {
715 - name: "终配航班号", 618 + columnChineseName: "终配航班号",
716 - value: "finalFlightNo", 619 + columnName: "finalFlightNo",
717 - width: "120", 620 + columnWidth: "120",
718 - align: "center", 621 + ext1: "sorTable",
719 - sorTable: true,
720 status: 1 622 status: 1
721 }, 623 },
722 { 624 {
723 - name: "终配航班日期", 625 + columnChineseName: "终配航班日期",
724 - value: "finalFlightTime", 626 + columnName: "finalFlightTime",
725 - width: "140", 627 + columnWidth: "140",
726 - align: "center", 628 + ext1: "sorTable",
727 - sorTable: true,
728 status: 1 629 status: 1
729 }, 630 },
730 { 631 {
731 - name: "二配航班号", 632 + columnChineseName: "二配航班号",
732 - value: "twoMatchFlightNo", 633 + columnName: "twoMatchFlightNo",
733 - width: "120", 634 + columnWidth: "120",
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: "twoMatchFlightTime",
741 - width: "150", 641 + columnWidth: "150",
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: "preplanFlightNo",
749 - width: "120", 648 + columnWidth: "120",
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: "preplanFlightTime",
757 - width: "150", 655 + columnWidth: "150",
758 - align: "center", 656 + ext1: "sorTable",
759 - sorTable: true,
760 status: 1 657 status: 1
761 }, 658 },
762 { 659 {
763 - name: "ACCS原航班号", 660 + columnChineseName: "ACCS原航班号",
764 - value: "fltNoAccs", 661 + columnName: "fltNoAccs",
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: "ACCS原航班日期",
772 - value: "fltDateAccs", 668 + columnName: "fltDateAccs",
773 - width: "150", 669 + columnWidth: "150",
774 - align: "center", 670 + ext1: "sorTable",
775 - sorTable: true,
776 status: 1 671 status: 1
777 }, 672 },
778 { 673 {
779 - name: "ACCS原航线", 674 + columnChineseName: "ACCS原航线",
780 - value: "accsFlightRoute", 675 + columnName: "accsFlightRoute",
781 - width: "140", 676 + columnWidth: "140",
782 - align: "center", 677 + ext1: "sorTable",
783 - sorTable: true,
784 status: 1 678 status: 1
785 }, 679 },
786 { 680 {
787 - name: "是否RDE手工录入", 681 + columnChineseName: "是否RDE手工录入",
788 - value: "manualRde", 682 + columnName: "manualRde",
789 - width: "170", 683 + columnWidth: "170",
790 - align: "center", 684 + ext1: "sorTable",
791 - sorTable: true,
792 status: 1 685 status: 1
793 }, 686 },
794 { 687 {
795 - name: "是否自动", 688 + columnChineseName: "是否自动",
796 - value: "cargoRulesStatus", 689 + columnName: "cargoRulesStatus",
797 - width: "100", 690 + columnWidth: "100",
798 - align: "center", 691 + ext1: "sorTable",
799 - sorTable: true,
800 status: 1 692 status: 1
801 }, 693 },
802 { 694 {
803 - name: "发件人账号", 695 + columnChineseName: "发件人账号",
804 - value: "shipperAccount", 696 + columnName: "shipperAccount",
805 - width: "120", 697 + columnWidth: "120",
806 - align: "center",
807 status: 1 698 status: 1
808 }, 699 },
809 { 700 {
810 - name: "发件公司中文名称", 701 + columnChineseName: "发件公司中文名称",
811 - value: "shipperCompany", 702 + columnName: "shipperCompany",
812 - width: "150", 703 + columnWidth: "150",
813 - align: "center",
814 status: 1 704 status: 1
815 }, 705 },
816 { 706 {
817 - name: "始发地城市名称", 707 + columnChineseName: "始发地城市名称",
818 - value: "originCity", 708 + columnName: "originCity",
819 - width: "130", 709 + columnWidth: "130",
820 - align: "center",
821 status: 1 710 status: 1
822 }, 711 },
823 { 712 {
824 - name: "收件地", 713 + columnChineseName: "收件地",
825 - value: "destinationSiteName", 714 + columnName: "destinationSiteName",
826 - width: "90", 715 + columnWidth: "90",
827 - align: "center",
828 status: 1 716 status: 1
829 }, 717 },
830 { 718 {
831 - name: "尺寸", 719 + columnChineseName: "尺寸",
832 - value: "sizeStr", 720 + columnName: "sizeStr",
833 - width: "80", 721 + columnWidth: "80",
834 - align: "center", 722 + ext1: "sorTable",
835 - sorTable: true,
836 status: 1 723 status: 1
837 }, 724 },
838 { 725 {
839 - name: "大货预审意见(是否可以配置航班)", 726 + columnChineseName: "大货预审意见(是否可以配置航班)",
840 - value: "bigPretrialOpinion", 727 + columnName: "bigPretrialOpinion",
841 - width: "250", 728 + columnWidth: "250",
842 - align: "center",
843 status: 1 729 status: 1
844 }, 730 },
845 { 731 {
846 - name: "大货预审时间", 732 + columnChineseName: "大货预审时间",
847 - value: "bigPretrialTime", 733 + columnName: "bigPretrialTime",
848 - width: "120", 734 + columnWidth: "120",
849 - align: "center",
850 status: 1 735 status: 1
851 }, 736 },
852 { 737 {
853 - name: "海关回执时间", 738 + columnChineseName: "海关回执时间",
854 - value: "customsReceiptTime", 739 + columnName: "customsReceiptTime",
855 - width: "150", 740 + columnWidth: "150",
856 - align: "center", 741 + ext1: "sorTable",
857 - sorTable: true,
858 status: 1 742 status: 1
859 }, 743 },
860 { 744 {
861 - name: "航班预审时间", 745 + columnChineseName: "航班预审时间",
862 - value: "caPretrialTime", 746 + columnName: "caPretrialTime",
863 - width: "150", 747 + columnWidth: "150",
864 - align: "center", 748 + ext1: "sorTable",
865 - sorTable: true,
866 status: 1 749 status: 1
867 }, 750 },
868 { 751 {
869 - name: "创建人", 752 + columnChineseName: "创建人",
870 - value: "createUserName", 753 + columnName: "createUserName",
871 - width: "90", 754 + columnWidth: "90",
872 - align: "center", 755 + ext1: "sorTable",
873 - sorTable: true,
874 status: 1 756 status: 1
875 }, 757 },
876 { 758 {
877 - name: "创建时间", 759 + columnChineseName: "创建时间",
878 - value: "createTime", 760 + columnName: "createTime",
879 - width: "100", 761 + columnWidth: "100",
880 - align: "center", 762 + ext1: "sorTable",
881 - sorTable: true, 763 + status: 1
764 + },
765 + ],
766 + //航班顺位
767 + "flightRand": [
768 + {
769 + columnChineseName: "原航班",
770 + columnName: "sourceFlightNo",
771 + columnWidth: "",
772 + status: 1
773 + },
774 + {
775 + columnChineseName: "配载航班排序",
776 + columnName: "flightRank",
777 + columnWidth: "",
778 + status: 1
779 + },
780 + {
781 + columnChineseName: "周期",
782 + columnName: "dayOfWeek",
783 + columnWidth: "",
784 + status: 1
785 + },
786 + {
787 + columnChineseName: "状态",
788 + columnName: "status",
789 + columnWidth: "",
790 + status: 1
791 + },
792 + {
793 + columnChineseName: "开始时间",
794 + columnName: "startDate",
795 + columnWidth: "",
796 + status: 1
797 + },
798 + {
799 + columnChineseName: "结束时间",
800 + columnName: "endDate",
801 + columnWidth: "",
802 + status: 1
803 + },
804 + {
805 + columnChineseName: "最后修改人",
806 + columnName: "updateUserName",
807 + columnWidth: "",
808 + status: 1
809 + },
810 + {
811 + columnChineseName: "最后修改时间",
812 + columnName: "updateTime",
813 + columnWidth: "",
814 + status: 1
815 + },
816 + ],
817 + //航班配舱
818 + "flightAlloc": [
819 + {
820 + columnChineseName: "航班号",
821 + columnName: "purposeOfFlightNo",
822 + columnWidth: "",
823 + status: 1
824 + },
825 + {
826 + columnChineseName: "状态",
827 + columnName: "status",
828 + columnWidth: "",
829 + status: 1
830 + },
831 + {
832 + columnChineseName: "操作人",
833 + columnName: "createUserName",
834 + columnWidth: "",
835 + status: 1
836 + },
837 + {
838 + columnChineseName: "更新时间",
839 + columnName: "createTime",
840 + columnWidth: "",
882 status: 1 841 status: 1
883 }, 842 },
884 ], 843 ],
885 //角色设置 844 //角色设置
886 "role": [ 845 "role": [
887 { 846 {
888 - name: "角色名称", 847 + columnChineseName: "角色名称",
889 - value: "name", 848 + columnName: "name",
890 - width: "150px", 849 + columnWidth: "150px",
891 - align: "center",
892 status: 1 850 status: 1
893 }, 851 },
894 { 852 {
895 - name: "角色状态", 853 + columnChineseName: "角色状态",
896 - value: "valid", 854 + columnName: "valid",
897 - width: "150px", 855 + columnWidth: "150px",
898 - align: "center",
899 status: 1 856 status: 1
900 }, 857 },
901 { 858 {
902 - name: "创建人", 859 + columnChineseName: "创建人",
903 - value: "createUserName", 860 + columnName: "createUserName",
904 - width: "150px", 861 + columnWidth: "150px",
905 - align: "center",
906 status: 1 862 status: 1
907 }, 863 },
908 { 864 {
909 - name: "创建时间", 865 + columnChineseName: "创建时间",
910 - value: "createTime", 866 + columnName: "createTime",
911 - width: "150px", 867 + columnWidth: "150px",
912 - align: "center",
913 status: 1 868 status: 1
914 }, 869 },
915 { 870 {
916 - name: "修改时间", 871 + columnChineseName: "修改时间",
917 - value: "updateTime", 872 + columnName: "updateTime",
918 - width: "150px", 873 + columnWidth: "150px",
919 - align: "center",
920 status: 1 874 status: 1
921 }, 875 },
922 { 876 {
923 - name: "备注", 877 + columnChineseName: "备注",
924 - value: "remark", 878 + columnName: "remark",
925 - width: "400px", 879 + columnWidth: "400px",
926 - align: "center",
927 status: 1 880 status: 1
928 }, 881 },
929 ], 882 ],
930 //用户设置 883 //用户设置
931 "user": [ 884 "user": [
932 { 885 {
933 - name: "员工号", 886 + columnChineseName: "员工号",
934 - value: "loginName", 887 + columnName: "loginName",
935 - width: "150px", 888 + columnWidth: "150px",
936 - align: "center",
937 status: 1 889 status: 1
938 }, 890 },
939 { 891 {
940 - name: "用户姓名", 892 + columnChineseName: "用户姓名",
941 - value: "username", 893 + columnName: "username",
942 - width: "150px", 894 + columnWidth: "150px",
943 - align: "center",
944 status: 1 895 status: 1
945 }, 896 },
946 { 897 {
947 - name: "所属口岸", 898 + columnChineseName: "所属口岸",
948 - value: "portName", 899 + columnName: "portName",
949 - width: "150px", 900 + columnWidth: "150px",
950 - align: "center",
951 status: 1 901 status: 1
952 }, 902 },
953 { 903 {
954 - name: "所属角色", 904 + columnChineseName: "所属角色",
955 - value: "roleNames", 905 + columnName: "roleNames",
956 - width: "150px", 906 + columnWidth: "150px",
957 - align: "center",
958 status: 1 907 status: 1
959 }, 908 },
960 { 909 {
961 - name: "电子邮箱", 910 + columnChineseName: "电子邮箱",
962 - value: "email", 911 + columnName: "email",
963 - width: "150px", 912 + columnWidth: "150px",
964 - align: "center",
965 status: 1 913 status: 1
966 }, 914 },
967 { 915 {
968 - name: "用户状态", 916 + columnChineseName: "用户状态",
969 - value: "isValid", 917 + columnName: "isValid",
970 - width: "100px", 918 + columnWidth: "100px",
971 - align: "center",
972 status: 1 919 status: 1
973 }, 920 },
974 { 921 {
975 - name: "修改时间", 922 + columnChineseName: "修改时间",
976 - value: "updateTime", 923 + columnName: "updateTime",
977 - width: "150px", 924 + columnWidth: "150px",
978 - align: "center",
979 status: 1 925 status: 1
980 }, 926 },
981 { 927 {
982 - name: "备注", 928 + columnChineseName: "备注",
983 - value: "remark", 929 + columnName: "remark",
984 - width: "150px", 930 + columnWidth: "150px",
985 - align: "center",
986 status: 1 931 status: 1
987 }, 932 },
988 ], 933 ],
934 + //dm数据处理
989 "DM": [ 935 "DM": [
990 { 936 {
991 - name: "DMaccsId", 937 + columnChineseName: "运单号",
992 - value: "dmAccsId", 938 + columnName: "awbNbr",
993 - width: "", 939 + columnWidth: "150",
994 - align: "center", 940 + status: 1,
941 + slot: true
942 + },
943 + {
944 + columnChineseName: "配舱备注",
945 + columnName: "remarksDetail",
946 + columnWidth: "450",
947 + status: 1
948 + },
949 + {
950 + columnChineseName: "回推ACCS结果",
951 + columnName: "sendLogSendResult",
952 + columnWidth: "120",
953 + status: 1
954 + },
955 + {
956 + columnChineseName: "处理状态",
957 + columnName: "statusDetailCode",
958 + columnWidth: "150",
959 + status: 1
960 + },
961 + {
962 + columnChineseName: "处理结果",
963 + columnName: "statusDetailDesc",
964 + columnWidth: "250",
965 + status: 1
966 + },
967 + {
968 + columnChineseName: "是否生成上架流水",
969 + columnName: "weatherGenerateWater",
970 + columnWidth: "130",
971 + status: 1
972 + },
973 + {
974 + columnChineseName: "当前配载航班号",
975 + columnName: "flightFltNo",
976 + columnWidth: "130",
977 + status: 1,
978 + slot: true
979 + },
980 + {
981 + columnChineseName: "当前配载航班日期",
982 + columnName: "flightFltDate",
983 + columnWidth: "130",
984 + status: 1
985 + },
986 + {
987 + columnChineseName: "DM推送时间",
988 + columnName: "dmSendTime",
989 + columnWidth: "150",
990 + status: 1
991 + },
992 + {
993 + columnChineseName: "数据接收时间",
994 + columnName: "dmCreateTime",
995 + columnWidth: "150",
996 + status: 1
997 + },
998 + {
999 + columnChineseName: "货物创建时间",
1000 + columnName: "cargoCreateTime",
1001 + columnWidth: "150",
1002 + status: 1
1003 + },
1004 + {
1005 + columnChineseName: "回推ACCS时间",
1006 + columnName: "sendLogSendTime",
1007 + columnWidth: "150",
1008 + status: 1
1009 + },
1010 + {
1011 + columnChineseName: "配舱类型",
1012 + columnName: "cargoAllocationType",
1013 + columnWidth: "100",
1014 + status: 1
1015 + },
1016 + {
1017 + columnChineseName: "航班顺位规则",
1018 + columnName: "targetFlight",
1019 + columnWidth: "180",
1020 + status: 1
1021 + },
1022 + {
1023 + columnChineseName: "ACCS航班号",
1024 + columnName: "dmFlightNbr",
1025 + columnWidth: "120",
1026 + status: 1
1027 + },
1028 + {
1029 + columnChineseName: "ACCS航班日期",
1030 + columnName: "dmFlightDate",
1031 + columnWidth: "150",
1032 + status: 1
1033 + },
1034 + {
1035 + columnChineseName: "推送状态",
1036 + columnName: "cargoPushStatus",
1037 + columnWidth: "",
1038 + status: 1
1039 + },
1040 + {
1041 + columnChineseName: "AccsId",
1042 + columnName: "dmAccsId",
1043 + columnWidth: "120",
1044 + status: 1
1045 + },
1046 + {
1047 + columnChineseName: "口岸代码",
1048 + columnName: "routeDest",
1049 + columnWidth: "",
1050 + status: 1
1051 + },
1052 + {
1053 + columnChineseName: "Accs Pool",
1054 + columnName: "accsPool",
1055 + columnWidth: "100",
1056 + status: 1
1057 + },
1058 + ],
1059 + //流水表
1060 + "weatherTable": [
1061 + {
1062 + columnChineseName: "运单号",
1063 + columnName: "waybillNo",
1064 + columnWidth: "",
995 status: 1 1065 status: 1
996 }, 1066 },
997 { 1067 {
998 - name: "创建时间", 1068 + columnChineseName: "航班号",
999 - value: "dmCreateTime", 1069 + columnName: "flightNo",
1000 - width: "", 1070 + columnWidth: "",
1001 - align: "center",
1002 status: 1 1071 status: 1
1003 }, 1072 },
1004 { 1073 {
1005 - name: "落地时间", 1074 + columnChineseName: "航班日期",
1006 - value: "dmSendTime", 1075 + columnName: "flightTime",
1007 - width: "", 1076 + columnWidth: "",
1008 - align: "center",
1009 status: 1 1077 status: 1
1010 }, 1078 },
1011 { 1079 {
1012 - name: "航班号", 1080 + columnChineseName: "是否开启高地价",
1013 - value: "dmFlightNbr", 1081 + columnName: "highLowPriceFlg",
1014 - width: "", 1082 + columnWidth: "",
1015 - align: "center",
1016 status: 1 1083 status: 1
1017 }, 1084 },
1018 { 1085 {
1019 - name: "航班日期", 1086 + columnChineseName: "增加重量",
1020 - value: "dmFlightDate", 1087 + columnName: "increaseWeight",
1021 - width: "", 1088 + columnWidth: "",
1022 - align: "center",
1023 status: 1 1089 status: 1
1024 }, 1090 },
1025 { 1091 {
1026 - name: "货物创建时间", 1092 + columnChineseName: "减轻重量",
1027 - value: "cargoCreateTime", 1093 + columnName: "reduceWeight",
1028 - width: "", 1094 + columnWidth: "",
1029 - align: "center",
1030 status: 1 1095 status: 1
1031 }, 1096 },
1032 { 1097 {
1033 - name: "推送状态", 1098 + columnChineseName: "航班剩余重量",
1034 - value: "cargoAllocationDataStatus", 1099 + columnName: "surplusWeight",
1035 - width: "", 1100 + columnWidth: "",
1036 - align: "center",
1037 status: 1 1101 status: 1
1038 }, 1102 },
1039 { 1103 {
1040 - name: "ACCS航线", 1104 + columnChineseName: "AccsId",
1041 - value: "flightFltDate", 1105 + columnName: "accsId",
1042 - width: "", 1106 + columnWidth: "",
1043 - align: "center",
1044 status: 1 1107 status: 1
1045 }, 1108 },
1046 { 1109 {
1047 - name: "ACCS Pool", 1110 + columnChineseName: "申报类别",
1048 - value: "flightFltNo", 1111 + columnName: "declarationCategory",
1049 - width: "", 1112 + columnWidth: "",
1050 - align: "center",
1051 status: 1 1113 status: 1
1052 }, 1114 },
1053 { 1115 {
1054 - name: "消息代码", 1116 + columnChineseName: "操作来源",
1055 - value: "sendLogSendTime", 1117 + columnName: "operationSource",
1056 - width: "", 1118 + columnWidth: "",
1057 - align: "center",
1058 status: 1 1119 status: 1
1059 }, 1120 },
1060 { 1121 {
1061 - name: "消息发送时间", 1122 + columnChineseName: "重量增加减少",
1062 - value: "sendLogSendResult", 1123 + columnName: "weightMark",
1063 - width: "", 1124 + columnWidth: "",
1064 - align: "center",
1065 status: 1 1125 status: 1
1066 }, 1126 },
1067 ], 1127 ],
1128 + //数据字典
1068 "dict": [ 1129 "dict": [
1069 { 1130 {
1070 - name: "数据名称", 1131 + columnChineseName: "数据名称",
1071 - value: "chineseName", 1132 + columnName: "chineseName",
1072 - width: "", 1133 + columnWidth: "",
1073 - align: "center",
1074 status: 1 1134 status: 1
1075 }, 1135 },
1076 { 1136 {
1077 - name: "字典CODE", 1137 + columnChineseName: "字典CODE",
1078 - value: "code", 1138 + columnName: "code",
1079 - width: "", 1139 + columnWidth: "",
1080 - align: "center",
1081 status: 1 1140 status: 1
1082 }, 1141 },
1083 { 1142 {
1084 - name: "描述", 1143 + columnChineseName: "描述",
1085 - value: "description", 1144 + columnName: "description",
1086 - width: "", 1145 + columnWidth: "",
1087 - align: "center",
1088 status: 1 1146 status: 1
1089 } 1147 }
1090 ], 1148 ],
1091 "dictServiceCode": [ 1149 "dictServiceCode": [
1092 { 1150 {
1093 - name: "", 1151 + columnChineseName: " ",
1094 - value: "serviceCodeMapperList", 1152 + columnName: "serviceCodeMapperList",
1095 - width: "", 1153 + columnWidth: "",
1096 - align: "center",
1097 expand: true, 1154 expand: true,
1098 status: 1 1155 status: 1
1099 }, 1156 },
1100 { 1157 {
1101 - name: "数据名称", 1158 + columnChineseName: "数据名称",
1102 - value: "chineseName", 1159 + columnName: "chineseName",
1103 - width: "", 1160 + columnWidth: "",
1104 - align: "center",
1105 status: 1 1161 status: 1
1106 }, 1162 },
1107 { 1163 {
1108 - name: "字典CODE", 1164 + columnChineseName: "字典CODE",
1109 - value: "code", 1165 + columnName: "code",
1110 - width: "", 1166 + columnWidth: "",
1111 - align: "center",
1112 status: 1 1167 status: 1
1113 }, 1168 },
1114 { 1169 {
1115 - name: "描述", 1170 + columnChineseName: "描述",
1116 - value: "description", 1171 + columnName: "description",
1117 - width: "", 1172 + columnWidth: "",
1118 - align: "center",
1119 status: 1 1173 status: 1
1120 } 1174 }
1121 ], 1175 ],
1122 "dictServiceCodeChildren": [ 1176 "dictServiceCodeChildren": [
1123 { 1177 {
1124 - name: "数据名称", 1178 + columnChineseName: "数据名称",
1125 - value: "serviceCodeValue", 1179 + columnName: "serviceCodeValue",
1126 - width: "", 1180 + columnWidth: "",
1127 - align: "center",
1128 status: 1 1181 status: 1
1129 }, 1182 },
1130 ] 1183 ]
......
...@@ -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
......
...@@ -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"
8 @select="tableSelect" @select-all="tableSelectAll" @select-change="SelectChange"> 7 @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 v-if="order" type="index" width="70" align="center" :index="indexAdd" show-overflow-tooltip></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" v-if="item.status == 1"> 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="item.slot" :prop="item.columnName" :label="item.columnChineseName"
16 - :fixed="item.fixed ? item.fixed : false" :show-overflow-tooltip="showOverflowTooltip" 19 + :width="item.columnWidth" :align="tableAlign" :fixed="item.fixed ? item.fixed : false"
17 - :sortable="item.sorTable ? true : false" :formatter="formatter" header-align="center" 20 + :show-overflow-tooltip="showOverflowTooltip" :sortable="item.ext1 == 'sorTable' ? true : false"
18 - :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :render-header="renderHeader" 21 + :formatter="formatter" :header-align="headerAlign" :column-key="index.toString()"
19 - :key="index"> 22 + :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :key="item.columnName">
23 + <template slot="header" slot-scope="scope">
24 + <Tooltips :content="scope.column.label" :refName="scope.column.columnName"></Tooltips>
25 + </template>
20 <template slot-scope="scope"> 26 <template slot-scope="scope">
21 - <slot :name="item.value" :row="scope.row"></slot> 27 + <slot :name="item.columnName" :row="scope.row"></slot>
22 </template> 28 </template>
23 </el-table-column> 29 </el-table-column>
24 <!-- 隐藏行 --> 30 <!-- 隐藏行 -->
25 - <el-table-column v-else-if="item.expand" type="expand" :prop="item.value" :label="item.name" :index="item.index" 31 + <el-table-column v-else-if="item.expand" type="expand" :prop="item.columnName" :label="item.columnChineseName"
26 - :width="item.width" :align="item.align" :fixed="item.fixed ? item.fixed : false" 32 + :index="item.index" :width="item.columnWidth" :align="tableAlign" :fixed="item.fixed ? item.fixed : false"
27 - :sortable="item.sorTable ? true : false" :column-key="index.toString()" 33 + :sortable="item.ext1 == 'sorTable' ? true : false" :column-key="index.toString()"
28 - :show-overflow-tooltip="showOverflowTooltip" header-align="center" 34 + :show-overflow-tooltip="showOverflowTooltip" :header-align="headerAlign"
29 - :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :render-header="renderHeader" 35 + :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :formatter="formatter"
30 - :formatter="formatter" :key="item.index"> 36 + :key="item.index">
37 + <template slot="header" slot-scope="scope">
38 + <Tooltips :content="scope.column.label" :refName="scope.column.columnName"></Tooltips>
39 + </template>
31 <template slot-scope="scope"> 40 <template slot-scope="scope">
32 - <slot :name="item.value" :row="scope.row"></slot> 41 + <slot :name="item.columnName" :row="scope.row"></slot>
33 </template> 42 </template>
34 </el-table-column> 43 </el-table-column>
35 <!-- 默认数据 --> 44 <!-- 默认数据 -->
36 - <el-table-column v-else :prop="item.value" :label="item.name" :index="item.index" :width="item.width" 45 + <el-table-column v-else :prop="item.columnName" :label="item.columnChineseName" :index="item.index"
37 - :align="item.align" :fixed="item.fixed ? item.fixed : false" :sortable="item.sorTable ? true : false" 46 + :width="item.columnWidth" :align="tableAlign" :fixed="item.fixed ? item.fixed : false"
38 - :column-key="index.toString()" :show-overflow-tooltip="showOverflowTooltip" header-align="center" 47 + :sortable="item.ext1 == 'sorTable' ? true : false" :column-key="index.toString()"
39 - :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :render-header="renderHeader" 48 + :show-overflow-tooltip="showOverflowTooltip" :header-align="headerAlign"
40 - :formatter="formatter" :key="item.id"> 49 + :sort-orders="['descending', 'ascending', null]" :slotHeader="slotHeader" :formatter="formatter"
50 + :key="item.id">
51 + <template slot="header" slot-scope="scope">
52 + <Tooltips :content="scope.column.label" :refName="scope.column.columnName"></Tooltips>
53 + </template>
41 </el-table-column> 54 </el-table-column>
42 </template> 55 </template>
43 <slot name="optionColumn"></slot> 56 <slot name="optionColumn"></slot>
...@@ -50,8 +63,7 @@ ...@@ -50,8 +63,7 @@
50 </template> 63 </template>
51 64
52 <script> 65 <script>
53 -import dictLabels from "../../assets/languages/dictLabels.js"; 66 +
54 -import { scrollTo } from "@/utils/scroll-to";
55 export default { 67 export default {
56 name: "Table", 68 name: "Table",
57 props: { 69 props: {
...@@ -81,6 +93,10 @@ export default { ...@@ -81,6 +93,10 @@ export default {
81 type: Boolean, 93 type: Boolean,
82 default: true, 94 default: true,
83 }, 95 },
96 + selectFixed: {
97 + type: Boolean,
98 + default: true
99 + },
84 size: { 100 size: {
85 type: String, 101 type: String,
86 default: "mini", 102 default: "mini",
...@@ -182,6 +198,14 @@ export default { ...@@ -182,6 +198,14 @@ export default {
182 type: String, 198 type: String,
183 default: 'total,prev, pager, next, jumper, ->, sizes' 199 default: 'total,prev, pager, next, jumper, ->, sizes'
184 }, 200 },
201 + tableAlign: {
202 + type: String,
203 + default: 'center'
204 + },
205 + headerAlign: {
206 + type: String,
207 + default: 'center'
208 + },
185 // treeProps: { 209 // treeProps: {
186 // type: Object, 210 // type: Object,
187 // default: { children: 'children', hasChildren: 'hasChildren' } 211 // default: { children: 'children', hasChildren: 'hasChildren' }
...@@ -202,19 +226,14 @@ export default { ...@@ -202,19 +226,14 @@ export default {
202 pageNum: 1, 226 pageNum: 1,
203 start: -1, 227 start: -1,
204 show: false, 228 show: false,
205 - dragState: {
206 - start: -9, // 起始元素的 index
207 - end: -9, // 移动鼠标时所覆盖的元素 index
208 - dragging: false, // 是否正在拖动
209 - direction: undefined, // 拖动方向
210 - },
211 //表头数据格式 229 //表头数据格式
212 // { 230 // {
213 - // name: "", 231 + // columnChineseName: "",
214 - // value: "", 232 + // columnName: "",
215 - // width: "", 233 + // columnWidth: "",
216 // align: "center", 234 // align: "center",
217 // sorTable: false, 235 // sorTable: false,
236 + // status: 1
218 // }, 237 // },
219 }; 238 };
220 }, 239 },
...@@ -243,7 +262,6 @@ export default { ...@@ -243,7 +262,6 @@ export default {
243 page: this.pageNum + 1, 262 page: this.pageNum + 1,
244 start: this.limitStart + this.limitSize, 263 start: this.limitStart + this.limitSize,
245 }); 264 });
246 - scrollTo(0, 800);
247 }, 265 },
248 //上一页 266 //上一页
249 prevClick() { 267 prevClick() {
...@@ -251,7 +269,6 @@ export default { ...@@ -251,7 +269,6 @@ export default {
251 page: this.pageNum - 1, 269 page: this.pageNum - 1,
252 start: this.limitStart - this.limitSiz, 270 start: this.limitStart - this.limitSiz,
253 }); 271 });
254 - scrollTo(0, 800);
255 }, 272 },
256 //某页 273 //某页
257 currentChange(val) { 274 currentChange(val) {
...@@ -259,7 +276,6 @@ export default { ...@@ -259,7 +276,6 @@ export default {
259 page: val, 276 page: val,
260 start: val > 1 ? (val - 1) * this.limitSize + 1 : val, 277 start: val > 1 ? (val - 1) * this.limitSize + 1 : val,
261 }); 278 });
262 - scrollTo(0, 800);
263 }, 279 },
264 //连续序号 280 //连续序号
265 indexAdd(index) { 281 indexAdd(index) {
...@@ -352,41 +368,12 @@ export default { ...@@ -352,41 +368,12 @@ export default {
352 } 368 }
353 }; 369 };
354 }, 370 },
355 - //自定义表头
356 - renderHeader(createElement, { column }) {
357 - return createElement(
358 - "div",
359 - {
360 - class: ["thead-cell"],
361 - },
362 - [
363 - // 添加 <a> 用于显示表头 label
364 - createElement("div", column.label),
365 - ]
366 - );
367 - },
368 - headerCellClassName({ column, columnIndex }) {
369 - let active =
370 - columnIndex - 1 === this.dragState.end
371 - ? `darg_active_${this.dragState.direction}`
372 - : "";
373 - let start = columnIndex - 1 === this.dragState.start ? `darg_start` : "";
374 - return `${active} ${start}`;
375 - },
376 -
377 - cellClassName({ column, columnIndex }) {
378 - return columnIndex - 1 === this.dragState.start ? `darg_start` : "";
379 - },
380 - //无限滚动
381 - infiniteScroll() {
382 -
383 - },
384 //数据格式化 371 //数据格式化
385 formatter(row, column, cellValue, index) { 372 formatter(row, column, cellValue, index) {
386 - if (dictLabels[this.ductName]) { 373 + if (this.dictLabels[this.ductName]) {
387 - if (dictLabels[this.ductName][column.property]) { 374 + if (this.dictLabels[this.ductName][column.property]) {
388 - if (dictLabels[this.ductName][column.property][cellValue]) { 375 + if (this.dictLabels[this.ductName][column.property][cellValue]) {
389 - return dictLabels[this.ductName][column.property][cellValue]; 376 + return this.dictLabels[this.ductName][column.property][cellValue];
390 } 377 }
391 } 378 }
392 } 379 }
...@@ -415,9 +402,21 @@ export default { ...@@ -415,9 +402,21 @@ export default {
415 background-color: #f3f3f3; 402 background-color: #f3f3f3;
416 } 403 }
417 404
418 - .el-table th { 405 +
406 + .el-table {
407 + th {
419 padding: 0; 408 padding: 0;
420 409
410 + .cell {
411 + min-width: 24px;
412 +
413 + .caret-wrapper {
414 + position: absolute;
415 + top: -20%;
416 + right: 3%;
417 + }
418 + }
419 +
421 .virtual { 420 .virtual {
422 position: absolute; 421 position: absolute;
423 display: block; 422 display: block;
...@@ -443,51 +442,9 @@ export default { ...@@ -443,51 +442,9 @@ export default {
443 } 442 }
444 } 443 }
445 } 444 }
446 -
447 - .cell {
448 - min-width: 24px;
449 -
450 - .thead-cell {
451 - width: 100%;
452 - padding: 0;
453 - display: inline-flex;
454 - flex-direction: column;
455 - align-items: left;
456 - overflow: initial;
457 -
458 -
459 - &:before {
460 - content: "";
461 - position: absolute;
462 - top: 0;
463 - left: 0;
464 - bottom: 0;
465 - right: 0;
466 } 445 }
467 446
468 - div {
469 - overflow: hidden;
470 - text-overflow: ellipsis;
471 - white-space: nowrap;
472 - }
473 - }
474 -
475 - .caret-wrapper {
476 - position: absolute;
477 - top: -20%;
478 - right: 3%;
479 - }
480 - }
481 -
482 - &.w-table_moving {
483 - .el-table th .thead-cell {
484 - cursor: move !important;
485 - }
486 447
487 - .el-table__fixed {
488 - cursor: not-allowed;
489 - }
490 - }
491 } 448 }
492 449
493 .tableList { 450 .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 })
......
1 import router from './router' 1 import router from './router'
2 import store from './store' 2 import store from './store'
3 import { Message } from 'element-ui' 3 import { Message } from 'element-ui'
4 -//import NProgress from 'nprogress'
5 -//import 'nprogress/nprogress.css'
6 import { getToken } from '@/utils/auth' 4 import { getToken } from '@/utils/auth'
7 5
8 -//NProgress.configure({ showSpinner: false })
9 -
10 const whiteList = ['/login', '/auth-redirect', '/bind', '/register'] 6 const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
11 7
12 router.beforeEach((to, from, next) => { 8 router.beforeEach((to, from, next) => {
13 - //NProgress.start()
14 if (getToken()) { 9 if (getToken()) {
15 /* has token*/ 10 /* has token*/
16 if (to.path === '/login') { 11 if (to.path === '/login') {
17 next({ path: '/' }) 12 next({ path: '/' })
18 - //NProgress.done()
19 } else { 13 } else {
20 if (store.getters.roles.length === 0) { 14 if (store.getters.roles.length === 0) {
21 // 判断当前用户是否已拉取完user_info信息 15 // 判断当前用户是否已拉取完user_info信息
22 store.dispatch('GetInfo').then(() => { 16 store.dispatch('GetInfo').then(() => {
17 + //获取用户表头
18 + store.dispatch('GetTableHeaders').then(() => {
23 store.dispatch('GenerateRoutes').then(accessRoutes => { 19 store.dispatch('GenerateRoutes').then(accessRoutes => {
24 // 根据roles权限生成可访问的路由表 20 // 根据roles权限生成可访问的路由表
25 router.addRoutes(accessRoutes) // 动态添加可访问路由表 21 router.addRoutes(accessRoutes) // 动态添加可访问路由表
26 next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 22 next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
27 }) 23 })
24 + })
28 }).catch(err => { 25 }).catch(err => {
29 store.dispatch('LogOut').then(() => { 26 store.dispatch('LogOut').then(() => {
30 Message.error(err) 27 Message.error(err)
...@@ -42,11 +39,9 @@ router.beforeEach((to, from, next) => { ...@@ -42,11 +39,9 @@ router.beforeEach((to, from, next) => {
42 next() 39 next()
43 } else { 40 } else {
44 next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 41 next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
45 - //NProgress.done()
46 } 42 }
47 } 43 }
48 }) 44 })
49 45
50 router.afterEach(() => { 46 router.afterEach(() => {
51 - //NProgress.done()
52 }) 47 })
......
...@@ -42,7 +42,7 @@ module.exports = { ...@@ -42,7 +42,7 @@ module.exports = {
42 /** 42 /**
43 * logout 43 * logout
44 */ 44 */
45 - logoutURL: 'http://47.103.140.98/test', 45 + logoutURL: '/test/index',
46 46
47 /** 47 /**
48 * 后端接口 48 * 后端接口
...@@ -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.4.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
......
...@@ -15,15 +15,12 @@ const mutations = { ...@@ -15,15 +15,12 @@ const mutations = {
15 state.sidebar.opened = !state.sidebar.opened 15 state.sidebar.opened = !state.sidebar.opened
16 state.sidebar.withoutAnimation = false 16 state.sidebar.withoutAnimation = false
17 if (state.sidebar.opened) { 17 if (state.sidebar.opened) {
18 - //Cookies.set('sidebarStatus', 1)
19 localStorage.setItem('sidebarStatus', 1) 18 localStorage.setItem('sidebarStatus', 1)
20 } else { 19 } else {
21 - Cookies.set('sidebarStatus', 0)
22 localStorage.setItem('sidebarStatus', 0) 20 localStorage.setItem('sidebarStatus', 0)
23 } 21 }
24 }, 22 },
25 CLOSE_SIDEBAR: (state, withoutAnimation) => { 23 CLOSE_SIDEBAR: (state, withoutAnimation) => {
26 - //Cookies.set('sidebarStatus', 0)
27 localStorage.setItem('sidebarStatus', 0) 24 localStorage.setItem('sidebarStatus', 0)
28 state.sidebar.opened = false 25 state.sidebar.opened = false
29 state.sidebar.withoutAnimation = withoutAnimation 26 state.sidebar.withoutAnimation = withoutAnimation
...@@ -33,7 +30,6 @@ const mutations = { ...@@ -33,7 +30,6 @@ const mutations = {
33 }, 30 },
34 SET_SIZE: (state, size) => { 31 SET_SIZE: (state, size) => {
35 state.size = size 32 state.size = size
36 - //Cookies.set('size', size)
37 localStorage.setItem('size', size) 33 localStorage.setItem('size', size)
38 } 34 }
39 } 35 }
......
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,18 +65,38 @@ const user = { ...@@ -60,18 +65,38 @@ 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) => {
66 getInfo().then(res => { 90 getInfo().then(res => {
91 + if (res.code === 200) {
67 const user = res.data.user 92 const user = res.data.user
68 const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; 93 const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
69 let ports = []; 94 let ports = [];
70 - if(user.portName){ 95 + if (user.portName) {
71 ports = user.portName.split(','); 96 ports = user.portName.split(',');
72 - commit('SET_PORTNAMES',ports) 97 + commit('SET_PORTNAMES', ports)
73 - commit('SET_ACTIVEPORTNAME', sessionStorage.getItem('portName')?sessionStorage.getItem('portName'):state.portNames[0]) 98 + commit('SET_ACTIVEPORTNAME', sessionStorage.getItem('portName') ? sessionStorage.getItem('portName') : state.portNames[0])
74 - }else{ 99 + } else {
75 Message({ 100 Message({
76 message: "未找到口岸信息!请确认后再登录", 101 message: "未找到口岸信息!请确认后再登录",
77 type: 'error' 102 type: 'error'
...@@ -87,6 +112,7 @@ const user = { ...@@ -87,6 +112,7 @@ const user = {
87 commit('SET_NAME', user.userName) 112 commit('SET_NAME', user.userName)
88 commit('SET_AVATAR', avatar) 113 commit('SET_AVATAR', avatar)
89 resolve(res) 114 resolve(res)
115 + }
90 }).catch(error => { 116 }).catch(error => {
91 reject(error) 117 reject(error)
92 }) 118 })
...@@ -96,12 +122,12 @@ const user = { ...@@ -96,12 +122,12 @@ const user = {
96 //切换口岸 122 //切换口岸
97 changePort({ commit }, portName) { 123 changePort({ commit }, portName) {
98 return new Promise((resolve, reject) => { 124 return new Promise((resolve, reject) => {
99 - changeCurrentPort({ portName: portName }).then(res=>{ 125 + changeCurrentPort({ portName: portName }).then(res => {
100 - if(res.code === 200){ 126 + if (res.code === 200) {
101 - commit('SET_ACTIVEPORTNAME',portName) 127 + commit('SET_ACTIVEPORTNAME', portName)
102 } 128 }
103 resolve(res) 129 resolve(res)
104 - }).catch(err=>{ 130 + }).catch(err => {
105 reject(err) 131 reject(err)
106 }) 132 })
107 }) 133 })
...@@ -111,7 +137,6 @@ const user = { ...@@ -111,7 +137,6 @@ const user = {
111 LogOut({ commit, state }) { 137 LogOut({ commit, state }) {
112 return new Promise((resolve, reject) => { 138 return new Promise((resolve, reject) => {
113 logout(state.token).then(() => { 139 logout(state.token).then(() => {
114 - // window.location.href = "https://sso.secure.fedex.com/logout";//wsso系统跳转
115 commit('SET_TOKEN', '') 140 commit('SET_TOKEN', '')
116 commit('SET_ROLES', []) 141 commit('SET_ROLES', [])
117 commit('SET_PERMISSIONS', []) 142 commit('SET_PERMISSIONS', [])
...@@ -126,7 +151,6 @@ const user = { ...@@ -126,7 +151,6 @@ const user = {
126 // 前端 登出 151 // 前端 登出
127 FedLogOut({ commit }) { 152 FedLogOut({ commit }) {
128 return new Promise(resolve => { 153 return new Promise(resolve => {
129 - // window.location.href = "https://sso.secure.fedex.com/logout";//wsso系统跳转
130 commit('SET_TOKEN', '') 154 commit('SET_TOKEN', '')
131 removeToken() 155 removeToken()
132 resolve() 156 resolve()
......
...@@ -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
......
...@@ -10,7 +10,7 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' ...@@ -10,7 +10,7 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
10 const service = axios.create({ 10 const service = axios.create({
11 // axios中请求配置有baseURL选项,表示请求URL公共部分 11 // axios中请求配置有baseURL选项,表示请求URL公共部分
12 //baseURL: process.env.VUE_APP_BASE_API, 12 //baseURL: process.env.VUE_APP_BASE_API,
13 - baseURL: settings.baseURL, //阿里云服务器 13 + baseURL: settings.baseURL,
14 14
15 // 超时 15 // 超时
16 timeout: 30000 16 timeout: 30000
...@@ -61,8 +61,9 @@ service.interceptors.response.use(res => { ...@@ -61,8 +61,9 @@ service.interceptors.response.use(res => {
61 const msg = errorCode[code] || res.data.msg || errorCode['default'] 61 const msg = errorCode[code] || res.data.msg || errorCode['default']
62 if (code === 301) { 62 if (code === 301) {
63 MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { 63 MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
64 + closeOnClickModal: false,
65 + showCancelButton: false,
64 confirmButtonText: '重新登录', 66 confirmButtonText: '重新登录',
65 - cancelButtonText: '取消',
66 type: 'warning' 67 type: 'warning'
67 } 68 }
68 ).then(() => { 69 ).then(() => {
......
...@@ -6,9 +6,7 @@ const mimeMap = { ...@@ -6,9 +6,7 @@ const mimeMap = {
6 xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 6 xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
7 zip: 'application/zip' 7 zip: 'application/zip'
8 } 8 }
9 -// const baseUrl = 'https://imacuat.zmd.apac.fedex.com/iMAC' //uat服务器
10 const baseUrl = settings.downLoadURL //阿里云服务器 9 const baseUrl = settings.downLoadURL //阿里云服务器
11 -// const baseUrl = 'http://192.168.1.133:7001/iMAC' //测试服务器
12 10
13 export function downLoadZip(str, filename) { 11 export function downLoadZip(str, filename) {
14 var url = baseUrl + str 12 var url = baseUrl + str
......
...@@ -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" :rows="1" placeholder="请输入运单号(回车分割)" :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,34 +59,22 @@ ...@@ -64,34 +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="10"> 70 <el-col :span="10">
87 - <el-input-number class="formItem wid100" size="mini" v-model="formData.minWeight" :controls="false" 71 + <el-input-number class="wid100" size="mini" v-model="formData.minWeight" :controls="false" :min="0"
88 - :min="0" :precision="2" clearable></el-input-number> 72 + :precision="2" clearable></el-input-number>
89 </el-col> 73 </el-col>
90 <el-col :span="1"></el-col> 74 <el-col :span="1"></el-col>
91 - <el-col class="line" :span="2">-</el-col> 75 + <el-col class="line" :span="3">-</el-col>
92 - <el-col :span="1"></el-col>
93 <el-col :span="10"> 76 <el-col :span="10">
94 - <el-input-number class="formItem wid100" size="mini" v-model="formData.maxWeight" :controls="false" 77 + <el-input-number class="wid100" size="mini" v-model="formData.maxWeight" :controls="false"
95 :min="formData.minWeight" :precision="2" clearable></el-input-number> 78 :min="formData.minWeight" :precision="2" clearable></el-input-number>
96 </el-col> 79 </el-col>
97 </el-row> 80 </el-row>
...@@ -105,8 +88,7 @@ ...@@ -105,8 +88,7 @@
105 :min="0" clearable></el-input-number> 88 :min="0" clearable></el-input-number>
106 </el-col> 89 </el-col>
107 <el-col :span="1"></el-col> 90 <el-col :span="1"></el-col>
108 - <el-col class="line" :span="2">-</el-col> 91 + <el-col class="line" :span="3">-</el-col>
109 - <el-col :span="1"></el-col>
110 <el-col :span="10"> 92 <el-col :span="10">
111 <el-input-number class="formItem wid100" size="mini" v-model="formData.maxNumber" :controls="false" 93 <el-input-number class="formItem wid100" size="mini" v-model="formData.maxNumber" :controls="false"
112 :min="formData.minNumber" clearable></el-input-number> 94 :min="formData.minNumber" clearable></el-input-number>
...@@ -121,14 +103,37 @@ ...@@ -121,14 +103,37 @@
121 </el-date-picker> 103 </el-date-picker>
122 </el-form-item> 104 </el-form-item>
123 </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>
124 <el-col :span="24"> 124 <el-col :span="24">
125 <el-form-item label="Handling Code"> 125 <el-form-item label="Handling Code">
126 <el-empty description="暂无数据" v-if=" 126 <el-empty description="暂无数据" v-if="
127 !selectData.HandlingCode || selectData.HandlingCode.length == 0 127 !selectData.HandlingCode || selectData.HandlingCode.length == 0
128 "></el-empty> 128 "></el-empty>
129 <el-checkbox-group v-model="handingCodes" v-else> 129 <el-checkbox-group v-model="handingCodes" v-else>
130 - <el-checkbox v-for="item in selectData.HandlingCode" :label="item.chineseName" v-model="item.englishName" 130 + <el-row>
131 - :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>
132 </el-checkbox-group> 137 </el-checkbox-group>
133 </el-form-item> 138 </el-form-item>
134 </el-col> 139 </el-col>
...@@ -138,8 +143,13 @@ ...@@ -138,8 +143,13 @@
138 !selectData.SubCategory || selectData.SubCategory.length == 0 143 !selectData.SubCategory || selectData.SubCategory.length == 0
139 "></el-empty> 144 "></el-empty>
140 <el-checkbox-group v-model="subCategorys" v-else> 145 <el-checkbox-group v-model="subCategorys" v-else>
141 - <el-checkbox v-for="item in selectData.SubCategory" :label="item.chineseName" v-model="item.englishName" 146 + <el-row>
142 - :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>
143 </el-checkbox-group> 153 </el-checkbox-group>
144 </el-form-item> 154 </el-form-item>
145 </el-col> 155 </el-col>
...@@ -162,6 +172,8 @@ ...@@ -162,6 +172,8 @@
162 <span style="paddingRight: 50px">总重量:{{ allWeight }}</span> 172 <span style="paddingRight: 50px">总重量:{{ allWeight }}</span>
163 <span>总件数:{{ allQty }}</span> 173 <span>总件数:{{ allQty }}</span>
164 </div> 174 </div>
175 + <HeaderSetting class="mr20" tableName="allocationCargo" style="float: right" @close="headerSetClose">
176 + </HeaderSetting>
165 </div> 177 </div>
166 </el-form> 178 </el-form>
167 <Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :totalCount="totalCount" 179 <Tables ref="newTables" ductName="cargo" :data="tableData" :headerData="tableHeader" :totalCount="totalCount"
...@@ -208,7 +220,7 @@ export default { ...@@ -208,7 +220,7 @@ export default {
208 customsReceiptStatusId: null, 220 customsReceiptStatusId: null,
209 accsPool: "OSPR" 221 accsPool: "OSPR"
210 }, //查询数据 222 }, //查询数据
211 - tableHeader: this.tableHeaders['cargoAllocation'], //表头数据 223 + tableHeader: [], //表头数据
212 tableData: [], //表格数据 224 tableData: [], //表格数据
213 tableSelection: [], //选中数据 225 tableSelection: [], //选中数据
214 selectData: { 226 selectData: {
...@@ -240,6 +252,11 @@ export default { ...@@ -240,6 +252,11 @@ export default {
240 }; 252 };
241 }, 253 },
242 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 + }
243 this.seleData(); 260 this.seleData();
244 if (this.$store.state.tagsView.cachedViews.length == 0) { 261 if (this.$store.state.tagsView.cachedViews.length == 0) {
245 this.select(); 262 this.select();
...@@ -290,7 +307,7 @@ export default { ...@@ -290,7 +307,7 @@ export default {
290 .catch(() => { }); 307 .catch(() => { });
291 }, 308 },
292 //查询 309 //查询
293 - select(val) { 310 + async select(val) {
294 this.loading = true; 311 this.loading = true;
295 this.dataInfo(); 312 this.dataInfo();
296 if (val === 0) { 313 if (val === 0) {
...@@ -458,6 +475,17 @@ export default { ...@@ -458,6 +475,17 @@ export default {
458 this.select(); 475 this.select();
459 } 476 }
460 }, 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 + }
461 }, 489 },
462 computed: { 490 computed: {
463 fltNo: { 491 fltNo: {
......
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"></el-input> 6 <el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList"></el-input>
7 </el-form-item> 7 </el-form-item>
...@@ -12,11 +12,11 @@ ...@@ -12,11 +12,11 @@
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,20 +24,11 @@ ...@@ -24,20 +24,11 @@
24 ">添加</el-button> 24 ">添加</el-button>
25 </div> 25 </div>
26 </el-form> 26 </el-form>
27 - <el-table :data="flyList" v-loading="loading" size="small" highlight-current-row border stripe> 27 + <Tables ref="newTables" ductName="FlightAlloc" :data="flyList" :headerData="tableHeaders['flightAlloc']"
28 - <el-table-column prop="purposeOfFlightNo" label="航班号" align="center"></el-table-column> 28 + :order="true" :totalCount="total" :loading="loading" :limitSize="queryParams.limit"
29 - <el-table-column prop="status" label="状态" align="center"> 29 + :limitStart="queryParams.start" :page="curPage" :pageSizes="[20]" :height="tableHeight"
30 - <template slot-scope="scope"> 30 + @currentChange="currentChange">
31 - <span v-if="scope.row.status === '0'">无效</span> 31 + <template slot="optionColumn">
32 - <span v-if="scope.row.status === '1'">有效</span>
33 - <span v-if="scope.row.status === '2'">配置中</span>
34 - <span v-if="scope.row.status === '3'">停用</span>
35 - </template>
36 - </el-table-column>
37 - <el-table-column prop="createUserName" label="操作人" align="center">
38 - </el-table-column>
39 - <el-table-column prop="createTime" label="更新时间" align="center">
40 - </el-table-column>
41 <el-table-column label="操作" prop="id" align="center"> 32 <el-table-column label="操作" prop="id" align="center">
42 <template slot-scope="scope"> 33 <template slot-scope="scope">
43 <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')">查看
...@@ -52,11 +43,8 @@ ...@@ -52,11 +43,8 @@
52 @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button> 43 @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button>
53 </template> 44 </template>
54 </el-table-column> 45 </el-table-column>
55 - </el-table> 46 + </template>
56 - <el-pagination @size-change="getList" @current-change="getList" :current-page.sync="curPage" 47 + </Tables>
57 - :page-sizes="[10, 20, 30, 40]" :page-size.sync="limit" layout="prev, pager, next, jumper, sizes, total"
58 - :total="total" background :hide-on-single-page="true" style="margin-top: 40px; text-align: right">
59 - </el-pagination>
60 </div> 48 </div>
61 </template> 49 </template>
62 50
...@@ -75,12 +63,12 @@ export default { ...@@ -75,12 +63,12 @@ export default {
75 purposeOfFlightNo: "", 63 purposeOfFlightNo: "",
76 status: "1", 64 status: "1",
77 start: 0, 65 start: 0,
78 - limit: 10, 66 + limit: 20,
79 }, 67 },
80 flyList: [], 68 flyList: [],
81 curPage: 1, 69 curPage: 1,
82 - limit: 10,
83 total: 0, 70 total: 0,
71 + tableHeight: null,
84 loading: false, 72 loading: false,
85 }; 73 };
86 }, 74 },
...@@ -89,6 +77,9 @@ export default { ...@@ -89,6 +77,9 @@ export default {
89 this.getList(); 77 this.getList();
90 } 78 }
91 }, 79 },
80 + mounted() {
81 + this.tableHeight = window.innerHeight - this.$refs.flightAllocForm.$el.offsetHeight - 200
82 + },
92 activated() { 83 activated() {
93 this.getList() 84 this.getList()
94 }, 85 },
...@@ -97,7 +88,6 @@ export default { ...@@ -97,7 +88,6 @@ export default {
97 }, 88 },
98 methods: { 89 methods: {
99 getList() { 90 getList() {
100 - this.queryParams.limit = this.limit;
101 if (this.curPage > 1) { 91 if (this.curPage > 1) {
102 this.queryParams.start = (this.curPage - 1) * this.queryParams.limit; 92 this.queryParams.start = (this.curPage - 1) * this.queryParams.limit;
103 } else { 93 } else {
...@@ -165,6 +155,12 @@ export default { ...@@ -165,6 +155,12 @@ export default {
165 .catch(() => { }); 155 .catch(() => { });
166 }); 156 });
167 }, 157 },
158 + //翻页
159 + currentChange(val) {
160 + this.curPage = val.page
161 + this.queryParams.start = val.start;
162 + this.getList();
163 + }
168 }, 164 },
169 computed: { 165 computed: {
170 purposeOfFlightNo: { 166 purposeOfFlightNo: {
......
...@@ -13,12 +13,12 @@ ...@@ -13,12 +13,12 @@
13 :disabled="nameDisabled"></el-input> 13 :disabled="nameDisabled"></el-input>
14 </el-form-item> 14 </el-form-item>
15 </el-col> 15 </el-col>
16 - <el-col :span="12"> 16 + <!-- <el-col :span="12">
17 <el-form-item label="航班预审" prop="isNeedRequired"> 17 <el-form-item label="航班预审" prop="isNeedRequired">
18 <el-switch v-model="isNeedRequired" :active-value="1" :inactive-value="0"> 18 <el-switch v-model="isNeedRequired" :active-value="1" :inactive-value="0">
19 </el-switch> 19 </el-switch>
20 </el-form-item> 20 </el-form-item>
21 - </el-col> 21 + </el-col> -->
22 </el-row> 22 </el-row>
23 <el-form-item> 23 <el-form-item>
24 <el-row :gutter="20"> 24 <el-row :gutter="20">
...@@ -39,13 +39,13 @@ ...@@ -39,13 +39,13 @@
39 <el-row :gutter="20"> 39 <el-row :gutter="20">
40 <el-col :span="10"> 40 <el-col :span="10">
41 <el-form-item label="URSA包含" prop="includeUrsa"> 41 <el-form-item label="URSA包含" prop="includeUrsa">
42 - <el-input type="textarea" v-model.trim="form.includeUrsa" :rows="6" resize="none" 42 + <el-input type="textarea" v-model="form.includeUrsa" :rows="6" resize="none"
43 placeholder="URSA之间用分号分隔,例:F2;F3;P_"></el-input> 43 placeholder="URSA之间用分号分隔,例:F2;F3;P_"></el-input>
44 </el-form-item> 44 </el-form-item>
45 </el-col> 45 </el-col>
46 <el-col :span="10"> 46 <el-col :span="10">
47 <el-form-item label="URSA不包含" prop="notIncludeUrsa"> 47 <el-form-item label="URSA不包含" prop="notIncludeUrsa">
48 - <el-input type="textarea" v-model.trim="form.notIncludeUrsa" :rows="6" resize="none" 48 + <el-input type="textarea" v-model="form.notIncludeUrsa" :rows="6" resize="none"
49 placeholder="URSA之间用分号分隔,例:F2;F3;P_"></el-input> 49 placeholder="URSA之间用分号分隔,例:F2;F3;P_"></el-input>
50 </el-form-item> 50 </el-form-item>
51 </el-col> 51 </el-col>
...@@ -53,56 +53,20 @@ ...@@ -53,56 +53,20 @@
53 <el-form-item label="件数"> 53 <el-form-item label="件数">
54 <el-col :span="3"> 54 <el-col :span="3">
55 <el-input class="numberInput" v-model.trim="minNumOfPieces"></el-input> 55 <el-input class="numberInput" v-model.trim="minNumOfPieces"></el-input>
56 - <!-- <el-input-number
57 - v-model="minNumOfPieces"
58 - :precision="0"
59 - :controls="false"
60 - style="width: 100%"
61 - ></el-input-number> -->
62 </el-col> 56 </el-col>
63 <el-col style="text-align: center" :span="1">-</el-col> 57 <el-col style="text-align: center" :span="1">-</el-col>
64 <el-col :span="3"> 58 <el-col :span="3">
65 <el-input class="numberInput" v-model.trim="maxNumOfPieces"></el-input> 59 <el-input class="numberInput" v-model.trim="maxNumOfPieces"></el-input>
66 - <!-- <el-input-number
67 - v-model="
68 - form.maxNumOfPieces == 0
69 - ? (form.maxNumOfPieces = undefined)
70 - : form.maxNumOfPieces
71 - "
72 - :precision="0"
73 - :controls="false"
74 - style="width: 100%"
75 - ></el-input-number> -->
76 </el-col> 60 </el-col>
77 </el-form-item> 61 </el-form-item>
78 <el-form-item label="重量"> 62 <el-form-item label="重量">
79 <el-col :span="3"> 63 <el-col :span="3">
80 <el-input class="numberInput" v-model.trim="minWeight"></el-input> 64 <el-input class="numberInput" v-model.trim="minWeight"></el-input>
81 - <!-- <el-input-number
82 - v-model="
83 - form.minWeight == 0
84 - ? (form.minWeight = undefined)
85 - : form.minWeight
86 - "
87 - :precision="2"
88 - :controls="false"
89 - style="width: 100%"
90 - ></el-input-number> -->
91 </el-col> 65 </el-col>
92 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col> 66 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col>
93 <el-col style="text-align: center" :span="1">-</el-col> 67 <el-col style="text-align: center" :span="1">-</el-col>
94 <el-col :span="3"> 68 <el-col :span="3">
95 <el-input class="numberInput" v-model.trim="maxWeight"></el-input> 69 <el-input class="numberInput" v-model.trim="maxWeight"></el-input>
96 - <!-- <el-input-number
97 - v-model="
98 - form.maxWeight == 0
99 - ? (form.maxWeight = undefined)
100 - : form.maxWeight
101 - "
102 - :precision="2"
103 - :controls="false"
104 - style="width: 100%"
105 - ></el-input-number> -->
106 </el-col> 70 </el-col>
107 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col> 71 <el-col :span="1" style="text-align: center"><span>Kg</span></el-col>
108 </el-form-item> 72 </el-form-item>
...@@ -135,9 +99,10 @@ ...@@ -135,9 +99,10 @@
135 <el-checkbox-group v-model="form.serviceCode"> 99 <el-checkbox-group v-model="form.serviceCode">
136 <el-row> 100 <el-row>
137 <el-col :span="2" v-for="item in serviceCode" :key="item.id"> 101 <el-col :span="2" v-for="item in serviceCode" :key="item.id">
138 - <el-checkbox v-if="item.status === 1 || form.serviceCode.includes(item.englishName)" 102 + <el-checkbox v-if="item.status === 1 || form.serviceCode.includes(item.chineseName)"
139 - :label="item.englishName" :name="item.englishName" 103 + :label="item.chineseName" :name="item.chineseName"
140 - :disabled="form.serviceCode.includes(item.englishName) && item.status === 0"> 104 + :disabled="form.serviceCode.includes(item.chineseName) && item.status === 0">
105 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
141 </el-checkbox> 106 </el-checkbox>
142 </el-col> 107 </el-col>
143 </el-row> 108 </el-row>
...@@ -149,9 +114,10 @@ ...@@ -149,9 +114,10 @@
149 <el-checkbox-group v-model="form.handlingCode"> 114 <el-checkbox-group v-model="form.handlingCode">
150 <el-row> 115 <el-row>
151 <el-col :span="3" v-for="item in handlingCode" :key="item.id"> 116 <el-col :span="3" v-for="item in handlingCode" :key="item.id">
152 - <el-checkbox v-if="item.status === 1 || form.handlingCode.includes(item.englishName)" 117 + <el-checkbox v-if="item.status === 1 || form.handlingCode.includes(item.chineseName)"
153 - :label="item.englishName" :name="item.englishName" 118 + :label="item.chineseName" :name="item.chineseName"
154 - :disabled="form.handlingCode.includes(item.englishName) && item.status === 0"> 119 + :disabled="form.handlingCode.includes(item.chineseName) && item.status === 0">
120 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
155 </el-checkbox> 121 </el-checkbox>
156 </el-col> 122 </el-col>
157 </el-row> 123 </el-row>
...@@ -163,9 +129,10 @@ ...@@ -163,9 +129,10 @@
163 <el-checkbox-group v-model="form.subCategory"> 129 <el-checkbox-group v-model="form.subCategory">
164 <el-row> 130 <el-row>
165 <el-col :span="3" v-for="item in subCategory" :key="item.id"> 131 <el-col :span="3" v-for="item in subCategory" :key="item.id">
166 - <el-checkbox v-if="item.status === 1 || form.subCategory.includes(item.englishName)" 132 + <el-checkbox v-if="item.status === 1 || form.subCategory.includes(item.chineseName)"
167 - :label="item.englishName" :name="item.englishName" 133 + :label="item.chineseName" :name="item.chineseName"
168 - :disabled="form.subCategory.includes(item.englishName) && item.status === 0"> 134 + :disabled="form.subCategory.includes(item.chineseName) && item.status === 0">
135 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
169 </el-checkbox> 136 </el-checkbox>
170 </el-col> 137 </el-col>
171 </el-row> 138 </el-row>
...@@ -174,7 +141,8 @@ ...@@ -174,7 +141,8 @@
174 </el-form-item> 141 </el-form-item>
175 </el-form> 142 </el-form>
176 <div style="marginLeft: 200px"> 143 <div style="marginLeft: 200px">
177 - <el-button type="primary" size="small" v-if="$route.params.handle != 'detail'" @click="submit('form')" 144 + <el-button type="primary" size="small"
145 + v-if="$route.params.handle != 'detail' && $route.params.handle != 'DMdetail'" @click="submit('form')"
178 :loading="btnLoading"> 146 :loading="btnLoading">
179 <span v-if="$route.params.handle === 'add'">添加</span> 147 <span v-if="$route.params.handle === 'add'">添加</span>
180 <span v-else>保存</span> 148 <span v-else>保存</span>
...@@ -244,7 +212,7 @@ export default { ...@@ -244,7 +212,7 @@ export default {
244 this.dataId = this.$route.params.id; 212 this.dataId = this.$route.params.id;
245 this.handleName = this.$route.params.handle; 213 this.handleName = this.$route.params.handle;
246 this.dictData(); 214 this.dictData();
247 - if (this.handleName === "detail") { 215 + if (this.handleName === "detail" || this.handleName === 'DMdetail') {
248 this.disable = true; 216 this.disable = true;
249 } 217 }
250 218
...@@ -254,7 +222,8 @@ export default { ...@@ -254,7 +222,8 @@ export default {
254 if ( 222 if (
255 sessionStorage.getItem("flightInfo" + id) && 223 sessionStorage.getItem("flightInfo" + id) &&
256 this.$route.name == "FlightAllocConfigInfo" && 224 this.$route.name == "FlightAllocConfigInfo" &&
257 - this.handleName != "detail" 225 + this.handleName != "detail" &&
226 + this.handleName != "DMdetail"
258 ) { 227 ) {
259 this.loading = false; 228 this.loading = false;
260 this.form = JSON.parse( 229 this.form = JSON.parse(
...@@ -359,12 +328,12 @@ export default { ...@@ -359,12 +328,12 @@ export default {
359 }, 328 },
360 methods: { 329 methods: {
361 //排序 330 //排序
362 - sorttodo(arr, englishName) { 331 + sorttodo(arr, chineseName) {
363 var index = 1, 332 var index = 1,
364 newArr = [], 333 newArr = [],
365 length = arr.length; 334 length = arr.length;
366 for (var i = 0; i < length; i++) { 335 for (var i = 0; i < length; i++) {
367 - if (arr[i].englishName === englishName) { 336 + if (arr[i].chineseName === chineseName) {
368 newArr[0] = arr[i]; 337 newArr[0] = arr[i];
369 } else { 338 } else {
370 newArr[index++] = arr[i]; 339 newArr[index++] = arr[i];
...@@ -412,10 +381,6 @@ export default { ...@@ -412,10 +381,6 @@ export default {
412 let notInclude = this.form.notIncludeUrsa.split(";"); 381 let notInclude = this.form.notIncludeUrsa.split(";");
413 let errorList = []; 382 let errorList = [];
414 notInclude.forEach((element) => { 383 notInclude.forEach((element) => {
415 - // if (include.includes(element)) {
416 - // this.msgWarning("URSA包含与URSA不包含中有相同项,不能设置")
417 - // return
418 - // }
419 if (element.indexOf("_") > 0) { 384 if (element.indexOf("_") > 0) {
420 errorList.push(element); 385 errorList.push(element);
421 } else { 386 } else {
...@@ -443,22 +408,22 @@ export default { ...@@ -443,22 +408,22 @@ export default {
443 } 408 }
444 let service = [] 409 let service = []
445 this.serviceCode.forEach(item => { 410 this.serviceCode.forEach(item => {
446 - if (item.status === 1 && this.form.serviceCode.includes(item.englishName)) { 411 + if (item.status === 1 && this.form.serviceCode.includes(item.chineseName)) {
447 - service.push(item.englishName) 412 + service.push(item.chineseName)
448 } 413 }
449 }) 414 })
450 this.form.serviceCode = service 415 this.form.serviceCode = service
451 let hand = [] 416 let hand = []
452 this.handlingCode.forEach(item => { 417 this.handlingCode.forEach(item => {
453 - if (item.status === 1 && this.form.handlingCode.includes(item.englishName)) { 418 + if (item.status === 1 && this.form.handlingCode.includes(item.chineseName)) {
454 - hand.push(item.englishName) 419 + hand.push(item.chineseName)
455 } 420 }
456 }) 421 })
457 this.form.handlingCode = hand 422 this.form.handlingCode = hand
458 let sub = [] 423 let sub = []
459 this.subCategory.forEach(item => { 424 this.subCategory.forEach(item => {
460 - if (item.status === 1 && this.form.subCategory.includes(item.englishName)) { 425 + if (item.status === 1 && this.form.subCategory.includes(item.chineseName)) {
461 - sub.push(item.englishName) 426 + sub.push(item.chineseName)
462 } 427 }
463 }) 428 })
464 429
...@@ -486,15 +451,19 @@ export default { ...@@ -486,15 +451,19 @@ export default {
486 this.form.handlingCode = this.formHandlingCode; 451 this.form.handlingCode = this.formHandlingCode;
487 this.form.subCategory = this.formSubCategory; 452 this.form.subCategory = this.formSubCategory;
488 }, 453 },
454 +
489 close() { 455 close() {
490 this.removes(); 456 this.removes();
491 this.$store.state.tagsView.visitedViews.splice( 457 this.$store.state.tagsView.visitedViews.splice(
492 this.$store.state.tagsView.visitedViews.findIndex( 458 this.$store.state.tagsView.visitedViews.findIndex(
493 (item) => item.path === this.$route.path 459 (item) => item.path === this.$route.path
494 ), 460 ),
495 - 1
496 ); 461 );
462 + if (this.handleName === 'DMdetail') {
463 + this.$router.push({ name: "DmLog" })
464 + } else {
497 this.$router.push({ name: "FlightAllocConfig" }) 465 this.$router.push({ name: "FlightAllocConfig" })
466 + }
498 }, 467 },
499 468
500 removes() { 469 removes() {
...@@ -515,10 +484,10 @@ export default { ...@@ -515,10 +484,10 @@ export default {
515 this.cargoType = dict.cargoType; 484 this.cargoType = dict.cargoType;
516 this.cargoStatus = dict.cargoStatus; 485 this.cargoStatus = dict.cargoStatus;
517 this.serviceCode = this.dicSort(dict.serviceCode.sort((a, b) => 486 this.serviceCode = this.dicSort(dict.serviceCode.sort((a, b) =>
518 - a.englishName.localeCompare(b.englishName) 487 + a.chineseName.localeCompare(b.chineseName)
519 )); 488 ));
520 this.handlingCode = this.dicSort(this.sorttodo(dict.handlingCode, "BLANK")); 489 this.handlingCode = this.dicSort(this.sorttodo(dict.handlingCode, "BLANK"));
521 - this.subCategory = this.dicSort(dict.subCategory); 490 + this.subCategory = this.dicSort(this.sorttodo(dict.subCategory, "Blank"));
522 }); 491 });
523 }, 492 },
524 493
...@@ -550,7 +519,7 @@ export default { ...@@ -550,7 +519,7 @@ export default {
550 if (sessionStorage.getItem("flightInfo" + this.dataId) == "remove") { 519 if (sessionStorage.getItem("flightInfo" + this.dataId) == "remove") {
551 sessionStorage.removeItem("flightInfo" + this.dataId); 520 sessionStorage.removeItem("flightInfo" + this.dataId);
552 } else { 521 } else {
553 - if (this.handleName != "detail") { 522 + if (this.handleName != "detail" && this.handleName != "DMdetail") {
554 this.form.isNeedRequired = this.isNeedRequired; 523 this.form.isNeedRequired = this.isNeedRequired;
555 sessionStorage.setItem( 524 sessionStorage.setItem(
556 "flightInfo" + this.dataId, 525 "flightInfo" + this.dataId,
......
...@@ -11,7 +11,8 @@ ...@@ -11,7 +11,8 @@
11 </el-select> 11 </el-select>
12 </el-form-item> 12 </el-form-item>
13 <el-form-item> 13 <el-form-item>
14 - <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>
15 </el-form-item> 16 </el-form-item>
16 <br /> 17 <br />
17 <el-form-item label="日期" prop="flightDate"> 18 <el-form-item label="日期" prop="flightDate">
...@@ -30,19 +31,11 @@ ...@@ -30,19 +31,11 @@
30 <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>
31 </el-form-item> 32 </el-form-item>
32 </el-form> 33 </el-form>
33 - <el-table v-loading="loading" height="550" size="small" :data="sourceFlightRulesList" highlight-current-row border 34 + <Tables ref="newTables" ductName="flightRand" :data="sourceFlightRulesList" :headerData="tableHeaders['flightRand']"
34 - stripe> 35 + :order="true" :totalCount="total" :loading="loading" :limitSize="queryParams.limit"
35 - <el-table-column type="index" label="序号" align="center"> 36 + :limitStart="queryParams.start" :page="queryParams.pageNum" :pageSizes="[20]" :height="tableHeight"
36 - <template slot-scope="scope">{{ scope.$index + 1 }}</template> 37 + @currentChange="currentChange">
37 - </el-table-column> 38 + <template slot="optionColumn">
38 - <el-table-column label="原航班" align="center" prop="sourceFlightNo" />
39 - <el-table-column label="配载航班排序" align="center" prop="flightRank" width="280" />
40 - <el-table-column label="周期" align="center" prop="dayOfWeek" width="180" />
41 - <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
42 - <el-table-column label="开始时间" align="center" prop="startDate" width="100" />
43 - <el-table-column label="结束时间" align="center" prop="endDate" width="100" />
44 - <el-table-column label="最后修改人" align="center" prop="updateUserName" width="100" />
45 - <el-table-column label="最后修改时间" align="center" prop="updateTime" width="100" />
46 <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180"> 39 <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
47 <template slot-scope="scope"> 40 <template slot-scope="scope">
48 <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']"
...@@ -58,9 +51,8 @@ ...@@ -58,9 +51,8 @@
58 </el-button> 51 </el-button>
59 </template> 52 </template>
60 </el-table-column> 53 </el-table-column>
61 - </el-table> 54 + </template>
62 - <pagination v-show="total > 0" :total="total" layout=" prev, pager, next, jumper, sizes,total" 55 + </Tables>
63 - :page.sync="queryParams.pageNum" :limit.sync="queryParams.limit" @pagination="findSourceFlightRules" />
64 <!-- 查看目的航班对话框 --> 56 <!-- 查看目的航班对话框 -->
65 <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"
66 :show-close="false" :append-to-body="true"> 58 :show-close="false" :append-to-body="true">
...@@ -129,7 +121,11 @@ ...@@ -129,7 +121,11 @@
129 <el-col :span="24"> 121 <el-col :span="24">
130 <el-form-item label="周期段"> 122 <el-form-item label="周期段">
131 <el-checkbox-group v-model="dayOfWeek"> 123 <el-checkbox-group v-model="dayOfWeek">
132 - <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>
133 </el-checkbox-group> 129 </el-checkbox-group>
134 </el-form-item> 130 </el-form-item>
135 </el-col> 131 </el-col>
...@@ -188,6 +184,8 @@ export default { ...@@ -188,6 +184,8 @@ export default {
188 title: "", 184 title: "",
189 // 总条数 185 // 总条数
190 total: 0, 186 total: 0,
187 + //table高度
188 + tableHeight: null,
191 // 原航班规则数据 189 // 原航班规则数据
192 sourceFlightRulesList: [], 190 sourceFlightRulesList: [],
193 //目的航班数据 191 //目的航班数据
...@@ -247,6 +245,9 @@ export default { ...@@ -247,6 +245,9 @@ export default {
247 this.findSourceFlightRules(); 245 this.findSourceFlightRules();
248 } 246 }
249 }, 247 },
248 + mounted() {
249 + this.tableHeight = window.innerHeight - this.$refs.queryForm.$el.offsetHeight - 200
250 + },
250 activated() { 251 activated() {
251 this.findSourceFlightRules(); 252 this.findSourceFlightRules();
252 }, 253 },
...@@ -420,17 +421,6 @@ export default { ...@@ -420,17 +421,6 @@ export default {
420 this.findSourceFlightRules(); 421 this.findSourceFlightRules();
421 //this.reset(); 422 //this.reset();
422 }, 423 },
423 - // 状态字典翻译
424 - statusFormat(row) {
425 - if (row.status === "1") {
426 - return "有效";
427 - } else if (row.status === "0") {
428 - return "执行中";
429 - } else if (row.status === "3") {
430 - return "停用";
431 - }
432 - return row.status;
433 - },
434 /** 重置按钮操作 */ 424 /** 重置按钮操作 */
435 resetQuery() { 425 resetQuery() {
436 this.queryParams.sourceFlightNo = undefined; 426 this.queryParams.sourceFlightNo = undefined;
...@@ -443,6 +433,12 @@ export default { ...@@ -443,6 +433,12 @@ export default {
443 this.queryParams.start = 0; 433 this.queryParams.start = 0;
444 this.findSourceFlightRules(); 434 this.findSourceFlightRules();
445 }, 435 },
436 + //翻页
437 + currentChange(val) {
438 + this.queryParams.start = val.start;
439 + this.queryParams.pageNum = val.page;
440 + this.findSourceFlightRules();
441 + }
446 }, 442 },
447 computed: { 443 computed: {
448 sourceFlightNo: { 444 sourceFlightNo: {
......
...@@ -18,28 +18,28 @@ ...@@ -18,28 +18,28 @@
18 </el-col> 18 </el-col>
19 <el-col :span="6"> 19 <el-col :span="6">
20 <el-form-item label="航班号"> 20 <el-form-item label="航班号">
21 - <el-input type="textarea" v-model="fltNo" clearable class="formItem" placeholder="AC001;AC002" rows="1"> 21 + <el-input type="textarea" v-model="fltNo" clearable class="formItem" placeholder="AC001;AC002" :rows="1">
22 </el-input> 22 </el-input>
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="运单号"> 26 + <el-form-item label="站点">
27 - <el-input clearable type="textarea" v-model="queryParams.waybillNo" class="formItem" 27 + <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" clearable :rows="1">
28 - placeholder="请输入运单号(回车间隔)" rows="1"></el-input> 28 + </el-input>
29 </el-form-item> 29 </el-form-item>
30 </el-col> 30 </el-col>
31 </el-row> 31 </el-row>
32 <el-row> 32 <el-row>
33 <el-col :span="6"> 33 <el-col :span="6">
34 - <el-form-item label="站点"> 34 + <el-form-item label="URSA">
35 - <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" clearable rows="1"> 35 + <el-input clearable type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1">
36 </el-input> 36 </el-input>
37 </el-form-item> 37 </el-form-item>
38 </el-col> 38 </el-col>
39 <el-col :span="6"> 39 <el-col :span="6">
40 - <el-form-item label="URSA"> 40 + <el-form-item label="运单号">
41 - <el-input clearable type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" rows="1"> 41 + <el-input clearable type="textarea" v-model="queryParams.waybillNo" class="formItem"
42 - </el-input> 42 + placeholder="请输入运单号(回车间隔)" :rows="4"></el-input>
43 </el-form-item> 43 </el-form-item>
44 </el-col> 44 </el-col>
45 </el-row> 45 </el-row>
......
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,18 +49,13 @@ export default { ...@@ -49,18 +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 - let fileName = "航班预审导入模板.xlsx"; 58 + let fileName = "航班预审回执导入模板.xlsx";
64 downLoadTemplate().then((res) => { 59 downLoadTemplate().then((res) => {
65 if (res) { 60 if (res) {
66 const blob = new Blob([res]); 61 const blob = new Blob([res]);
...@@ -82,7 +77,7 @@ export default { ...@@ -82,7 +77,7 @@ export default {
82 //上传excel 77 //上传excel
83 const file = option.file; 78 const file = option.file;
84 this.loading = true; 79 this.loading = true;
85 - importcaPreReview(file, this.form.type).then((res) => { 80 + importcaPreReview(file, '').then((res) => {
86 this.loading = false; 81 this.loading = false;
87 if (res.code != 200) { 82 if (res.code != 200) {
88 if (res.code == 603) { 83 if (res.code == 603) {
......
...@@ -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">
......
...@@ -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>
...@@ -168,9 +169,17 @@ ...@@ -168,9 +169,17 @@
168 <el-row> 169 <el-row>
169 <el-col :span="12"> 170 <el-col :span="12">
170 <el-form-item label="是否预审" prop="isNeedRequired"> 171 <el-form-item label="是否预审" prop="isNeedRequired">
171 - <el-switch class="wid80" :disabled="true" v-model="form.isNeedRequired" :active-value="1" 172 + <!-- <el-switch class="wid80" :disabled="true" v-model="form.isNeedRequired" :active-value="1"
172 :inactive-value="0" active-color="#13ce66"> 173 :inactive-value="0" active-color="#13ce66">
173 - </el-switch> 174 + </el-switch> -->
175 + <el-select class="wid80" v-model="form.isNeedRequired" placeholder="">
176 + <el-option label="未设置" :value="2">
177 + </el-option>
178 + <el-option label="是" :value="1">
179 + </el-option>
180 + <el-option label="否" :value="0">
181 + </el-option>
182 + </el-select>
174 </el-form-item> 183 </el-form-item>
175 </el-col> 184 </el-col>
176 <el-col :span="12"> 185 <el-col :span="12">
...@@ -268,7 +277,9 @@ export default { ...@@ -268,7 +277,9 @@ export default {
268 fltNo: undefined, //航班号,要大写 277 fltNo: undefined, //航班号,要大写
269 }, 278 },
270 //表单参数 279 //表单参数
271 - form: {}, 280 + form: {
281 + isNeedRequired: 2
282 + },
272 //表单校验 283 //表单校验
273 rules: { 284 rules: {
274 fltNo: [ 285 fltNo: [
...@@ -306,7 +317,7 @@ export default { ...@@ -306,7 +317,7 @@ export default {
306 // trigger: "blur", 317 // trigger: "blur",
307 // }, 318 // },
308 // { 319 // {
309 - // pattern: /^([A-Z]{3,4})(\-[A-Z]{3,4})+$/, 320 + // pattern: /^(([\~A-Z]{3,4})(\-[A-Z]{3,4})+)(;{1,1}(([\~A-Z]{3,4})(\-[A-Z]{3,4})+)){0,}$/,
310 // message: "请输入正确得航班线路" 321 // message: "请输入正确得航班线路"
311 // } 322 // }
312 // ] 323 // ]
...@@ -486,15 +497,15 @@ export default { ...@@ -486,15 +497,15 @@ export default {
486 //this.form.highLowPriceFlg = true; 497 //this.form.highLowPriceFlg = true;
487 } 498 }
488 //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑; 499 //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑;
489 - if ( 500 + // if (
490 - response.data != null && 501 + // response.data != null &&
491 - response.data.isNeedRequired != null && 502 + // response.data.isNeedRequired != null &&
492 - response.data.isNeedRequired != undefined 503 + // response.data.isNeedRequired != undefined
493 - ) { 504 + // ) {
494 - this.form.isNeedRequired = response.data.isNeedRequired; 505 + // this.form.isNeedRequired = response.data.isNeedRequired;
495 - } else { 506 + // } else {
496 - this.form.isNeedRequired = 0; 507 + // this.form.isNeedRequired = 0;
497 - } 508 + // }
498 //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑 509 //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑
499 if ( 510 if (
500 response.data != null && 511 response.data != null &&
...@@ -789,7 +800,7 @@ export default { ...@@ -789,7 +800,7 @@ export default {
789 }, 800 },
790 //表单重置 801 //表单重置
791 reset() { 802 reset() {
792 - this.form = {}; 803 + this.form = { isNeedRequired: 2 };
793 this.resetForm("form"); 804 this.resetForm("form");
794 }, 805 },
795 //取消按钮 806 //取消按钮
...@@ -896,6 +907,7 @@ export default { ...@@ -896,6 +907,7 @@ export default {
896 //每页长度 907 //每页长度
897 sizeChange(val) { 908 sizeChange(val) {
898 this.queryParams.limitSize = val; 909 this.queryParams.limitSize = val;
910 + this.queryParams.pageNum = 1
899 this.findAllFltData(); 911 this.findAllFltData();
900 }, 912 },
901 setClose() { 913 setClose() {
......
...@@ -11,28 +11,17 @@ ...@@ -11,28 +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" filterable multiple 15 + <el-select v-model="formData.customsReceiptStatusId" class="formItem" filterable multiple clearable
22 - clearable> 16 + placeholder="不限">
23 <el-option v-for="item in findConditionData.cargoCustomsReturnStatus" :label="item.chineseName" 17 <el-option v-for="item in findConditionData.cargoCustomsReturnStatus" :label="item.chineseName"
24 :value="item.id" :key="item.id"> 18 :value="item.id" :key="item.id">
19 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
25 </el-option> 20 </el-option>
26 </el-select> 21 </el-select>
27 </el-form-item> 22 </el-form-item>
28 </el-col> 23 </el-col>
29 <el-col :span="6"> 24 <el-col :span="6">
30 - <el-form-item label="运单号">
31 - <el-input ref='userInfo' type="textarea" v-model="formData.waybillNo" class="formItem"
32 - placeholder="请输入运单号(回车间隔)" :rows="1" :maxlength="12000" clearable></el-input>
33 - </el-form-item>
34 - </el-col>
35 - <el-col :span="6">
36 <el-form-item label="申报类别"> 25 <el-form-item label="申报类别">
37 <el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable> 26 <el-select placeholder="不限" v-model="formData.typeId" class="formItem" clearable>
38 <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"
...@@ -43,22 +32,35 @@ ...@@ -43,22 +32,35 @@
43 </el-col> 32 </el-col>
44 <el-col :span="6"> 33 <el-col :span="6">
45 <el-form-item label="服务类型"> 34 <el-form-item label="服务类型">
46 - <el-select placeholder="不限" v-model="formData.serviceTypeId" class="formItem" filterable clearable> 35 + <el-select v-model="formData.serviceTypeId" class="formItem" filterable multiple clearable placeholder="不限">
47 <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"
48 :key="item.id"> 37 :key="item.id">
38 + <Tooltips :content="item.chineseName" :refName="item.code"></Tooltips>
49 </el-option> 39 </el-option>
50 </el-select> 40 </el-select>
51 </el-form-item> 41 </el-form-item>
52 </el-col> 42 </el-col>
53 <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">
54 <el-form-item label="URSA"> 56 <el-form-item label="URSA">
55 - <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>
56 </el-input> 58 </el-input>
57 </el-form-item> 59 </el-form-item>
58 </el-col> 60 </el-col>
59 <el-col :span="6"> 61 <el-col :span="6">
60 <el-form-item label="站点"> 62 <el-form-item label="站点">
61 - <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>
62 </el-input> 64 </el-input>
63 </el-form-item> 65 </el-form-item>
64 </el-col> 66 </el-col>
...@@ -130,7 +132,7 @@ ...@@ -130,7 +132,7 @@
130 </el-row> 132 </el-row>
131 </el-col> 133 </el-col>
132 </el-row> 134 </el-row>
133 - <div style="paddingLeft: 10px; marginTop: 20px"> 135 + <div class="pl10 mt20">
134 <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)">查询
135 </el-button> 137 </el-button>
136 <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'"
...@@ -143,7 +145,7 @@ ...@@ -143,7 +145,7 @@
143 }}</el-button> 145 }}</el-button>
144 <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']"
145 @click="release">释放舱位</el-button> 147 @click="release">释放舱位</el-button>
146 - <span style="marginLeft: 20px; color: #ffba00">全部导出上限80000条数据</span> 148 + <span class="ml20" style="color: #ffba00">全部导出上限80000条数据</span>
147 <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"
148 :status="progress == 100 ? 'success' : 'warning'"></el-progress> 150 :status="progress == 100 ? 'success' : 'warning'"></el-progress>
149 <div class="tips"> 151 <div class="tips">
...@@ -151,7 +153,13 @@ ...@@ -151,7 +153,13 @@
151 <span>总件数:{{ allQty }}</span> 153 <span>总件数:{{ allQty }}</span>
152 </div> 154 </div>
153 <div class="formShow"> 155 <div class="formShow">
156 + <el-tooltip :content="formShow ? '隐藏查询条件' : '显示查询条件'" placement="top">
154 <el-button class="mr20" icon="el-icon-search" size="mini" @click="formShow = !formShow" circle></el-button> 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>
155 </div> 163 </div>
156 </div> 164 </div>
157 </el-form> 165 </el-form>
...@@ -212,7 +220,7 @@ export default { ...@@ -212,7 +220,7 @@ export default {
212 limitStart: 1, 220 limitStart: 1,
213 limitSize: 100, 221 limitSize: 100,
214 }, //表单数据 222 }, //表单数据
215 - tableHeader: this.tableHeaders['cargo'], //表头数据 223 + tableHeader: [], //表头数据
216 releaseHeader: [ 224 releaseHeader: [
217 { 225 {
218 name: "提示信息", 226 name: "提示信息",
...@@ -291,13 +299,18 @@ export default { ...@@ -291,13 +299,18 @@ export default {
291 }, 299 },
292 created() { 300 created() {
293 this.findCondition() 301 this.findCondition()
302 + if (this.$store.getters.tableHeader) {
303 + this.tableHeader = this.$store.getters.tableHeader['cargo']
304 + } else {
305 + this.tableHeader = this.tableHeaders['cargo']
306 + }
294 }, 307 },
295 308
296 activated() { 309 activated() {
297 if (this.$store.state.tagsView.cachedViews.length > 0) { 310 if (this.$store.state.tagsView.cachedViews.length > 0) {
298 - this.findCondition()
299 this.$store.state.tagsView.cachedViews.forEach(item => { 311 this.$store.state.tagsView.cachedViews.forEach(item => {
300 if (item === 'QueryCargo') { 312 if (item === 'QueryCargo') {
313 + this.findCondition()
301 this.totalCount > 0 ? this.select() : '' 314 this.totalCount > 0 ? this.select() : ''
302 } 315 }
303 }) 316 })
...@@ -331,7 +344,7 @@ export default { ...@@ -331,7 +344,7 @@ export default {
331 this.$refs.cargoForm.resetFields(); 344 this.$refs.cargoForm.resetFields();
332 }, 345 },
333 // 查询条件 346 // 查询条件
334 - findCondition() { 347 + async findCondition() {
335 findConditionData().then((res) => { 348 findConditionData().then((res) => {
336 if (res.code == 200) { 349 if (res.code == 200) {
337 this.findConditionData = res.data; 350 this.findConditionData = res.data;
...@@ -341,7 +354,7 @@ export default { ...@@ -341,7 +354,7 @@ export default {
341 }); 354 });
342 }, 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;
...@@ -563,6 +576,17 @@ export default { ...@@ -563,6 +576,17 @@ export default {
563 } 576 }
564 } 577 }
565 }, 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 + }
566 }, 590 },
567 computed: { 591 computed: {
568 fltNo: { 592 fltNo: {
......
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
15 </el-form-item> 15 </el-form-item>
16 16
17 <!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> --> 17 <!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> -->
18 - <el-form-item style="width:100%;marginTop:44px"> 18 + <el-form-item style="width: 100%; marginTop: 65px">
19 - <el-button :loading="loading" size="medium" type="primary" style="width:100%;" 19 + <el-button :loading="loading" size="medium" type="primary" style="width: 100%"
20 @click.native.prevent="handleLogin"> 20 @click.native.prevent="handleLogin">
21 <span v-if="!loading">登 录</span> 21 <span v-if="!loading">登 录</span>
22 <span v-else>登 录 中...</span> 22 <span v-else>登 录 中...</span>
...@@ -31,9 +31,6 @@ ...@@ -31,9 +31,6 @@
31 </template> 31 </template>
32 32
33 <script> 33 <script>
34 -import { getCodeImg } from "@/api/login";
35 -//import Cookies from "js-cookie";
36 -import { encrypt, } from '@/utils/jsencrypt'
37 34
38 export default { 35 export default {
39 name: "Login", 36 name: "Login",
...@@ -44,18 +41,18 @@ export default { ...@@ -44,18 +41,18 @@ export default {
44 loginForm: { 41 loginForm: {
45 username: "root", 42 username: "root",
46 password: "123", 43 password: "123",
47 - rememberMe: false 44 + rememberMe: false,
48 }, 45 },
49 loginRules: { 46 loginRules: {
50 username: [ 47 username: [
51 - { required: true, trigger: "blur", message: "用户名不能为空" } 48 + { required: true, trigger: "blur", message: "用户名不能为空" },
52 ], 49 ],
53 password: [ 50 password: [
54 - { required: true, trigger: "blur", message: "密码不能为空" } 51 + { required: true, trigger: "blur", message: "密码不能为空" },
55 - ] 52 + ],
56 }, 53 },
57 loading: false, 54 loading: false,
58 - redirect: undefined 55 + redirect: undefined,
59 }; 56 };
60 }, 57 },
61 watch: { 58 watch: {
...@@ -63,52 +60,59 @@ export default { ...@@ -63,52 +60,59 @@ export default {
63 handler: function (route) { 60 handler: function (route) {
64 this.redirect = route.query && route.query.redirect; 61 this.redirect = route.query && route.query.redirect;
65 }, 62 },
66 - immediate: true 63 + immediate: true,
67 - } 64 + },
68 }, 65 },
69 created() { 66 created() {
70 -
71 this.getCookie(); 67 this.getCookie();
72 }, 68 },
73 methods: { 69 methods: {
74 -
75 getCookie() { 70 getCookie() {
76 const username = localStorage.getItem("username"); 71 const username = localStorage.getItem("username");
77 const password = localStorage.getItem("password"); 72 const password = localStorage.getItem("password");
78 - const rememberMe = localStorage.getItem('rememberMe') 73 + const rememberMe = localStorage.getItem("rememberMe");
79 this.loginForm = { 74 this.loginForm = {
80 username: username === undefined ? this.loginForm.username : username, 75 username: username === undefined ? this.loginForm.username : username,
81 password: password === undefined ? this.loginForm.password : password, 76 password: password === undefined ? this.loginForm.password : password,
82 - rememberMe: rememberMe === undefined ? false : Boolean(rememberMe) 77 + rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
83 }; 78 };
84 }, 79 },
85 handleLogin() { 80 handleLogin() {
86 - this.$refs.loginForm.validate(valid => { 81 + this.$refs.loginForm.validate((valid) => {
87 if (valid) { 82 if (valid) {
88 this.loading = true; 83 this.loading = true;
89 if (this.loginForm.rememberMe) { 84 if (this.loginForm.rememberMe) {
90 - localStorage.setItem("username", this.loginForm.username, { expires: 30 }); 85 + localStorage.setItem("username", this.loginForm.username, {
91 - localStorage.setItem("password", this.loginForm.password, { expires: 30 }); 86 + expires: 30,
92 - localStorage.setItem('rememberMe', this.loginForm.rememberMe, { expires: 30 }); 87 + });
88 + localStorage.setItem("password", this.loginForm.password, {
89 + expires: 30,
90 + });
91 + localStorage.setItem("rememberMe", this.loginForm.rememberMe, {
92 + expires: 30,
93 + });
93 } else { 94 } else {
94 localStorage.removeItem("username"); 95 localStorage.removeItem("username");
95 localStorage.removeItem("password"); 96 localStorage.removeItem("password");
96 - localStorage.removeItem('rememberMe'); 97 + localStorage.removeItem("rememberMe");
97 } 98 }
98 - this.$store.dispatch("Login", this.loginForm).then(res => { 99 + this.$store
100 + .dispatch("Login", this.loginForm)
101 + .then(res => {
99 this.loading = false; 102 this.loading = false;
100 if (res.code != 200) { 103 if (res.code != 200) {
101 this.msgWarning(res.msg) 104 this.msgWarning(res.msg)
102 } 105 }
103 this.$router.push({ path: this.redirect || "/" }).catch(() => { }); 106 this.$router.push({ path: this.redirect || "/" }).catch(() => { });
104 - }).catch(err => { 107 + })
108 + .catch(err => {
105 this.loading = false; 109 this.loading = false;
106 - console.log(err) 110 + this.msgWarning(err)
107 }); 111 });
108 } 112 }
109 }); 113 });
110 - } 114 + },
111 - } 115 + },
112 }; 116 };
113 </script> 117 </script>
114 118
......
...@@ -5,7 +5,7 @@ export default { ...@@ -5,7 +5,7 @@ export default {
5 const { path } = params 5 const { path } = params
6 this.$router.replace({ path: '/' + path, query }) 6 this.$router.replace({ path: '/' + path, query })
7 }, 7 },
8 - render: function(h) { 8 + render: function (h) {
9 return h() // avoid warning message 9 return h() // avoid warning message
10 } 10 }
11 } 11 }
......
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 + {{ tableName === 'serviceCode' ? '新增父级' : '新增' }}
39 + </el-button>
40 + <el-button type="primary" icon="el-icon-plus" size="small" @click="addDic({ status: 'allAdd' })">
41 + {{ tableName === 'serviceCode' ? '批量新增父级' : '批量新增' }}
42 + </el-button>
43 + <el-button type="danger" icon="el-icon-delete" size="small" :disabled="nowSelect.length == 0"
44 + @click="handleDelete">删除
45 + </el-button>
46 + </div>
47 + </el-form>
48 + <!-- 表格 -->
49 + <Tables v-if="tableName != 'serviceCode' && tableName != '虚拟航班'" ductName="dictionary" :selection="true"
50 + :selectFixed="false" :order='true' :height="tableHeight" :data="tableData" :headerData="tableHeader"
51 + :page="selectDict.page" :pageSizes="[20]" :totalCount="total" :loading="loading"
52 + @currentChange="currentChange" layout="total,prev, pager, next, jumper, ->"
53 + @tableSelect="tableSelection" @tableSelectAll="tableSelectAll">
54 + <template slot="optionColumn">
55 + <el-table-column label="操作" align="center">
56 + <template slot-scope="scope">
57 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
58 + @click="upDate({ status: 'update', data: scope.row })">修改
59 + </el-button> -->
60 + <el-button size="mini" type="text" style="color:#ff4949" icon="el-icon-delete"
61 + @click="delDict(scope.row)">删除
62 + </el-button>
63 + </template>
64 + </el-table-column>
65 + </template>
66 + </Tables>
67 + <!-- 虚拟航班表 -->
68 + <Tables v-if="tableName === '虚拟航班'" ductName="dictionary" :selection="true" :selectFixed="false"
69 + :order='true' :height="tableHeight" :data="tableData" :headerData="flightHeader" :page="selectDict.page"
70 + :pageSizes="[20]" :totalCount="total" :loading="loading" @currentChange="currentChange"
71 + layout="total,prev, pager, next, jumper, ->" @tableSelect="tableSelection"
72 + @tableSelectAll="tableSelectAll">
73 + <template slot="optionColumn">
74 + <el-table-column label="操作" align="center">
75 + <template slot-scope="scope">
76 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
77 + @click="upDate({ status: 'update', data: scope.row })">修改
78 + </el-button> -->
79 + <el-button size="mini" type="text" style="color:#ff4949" icon="el-icon-delete"
80 + @click="delDict(scope.row)">删除
81 + </el-button>
82 + </template>
83 + </el-table-column>
84 + </template>
85 + </Tables>
86 + <!-- serviceCode表格(树形结构) -->
87 + <Tables v-show="tableName === 'serviceCode'" ductName="dictionary" :order='false' :height="tableHeight"
88 + :data="tableData" :headerData="serviceCodeHeader" :pageSize="selectDict.page" :pageSizes="[20]"
89 + :totalCount="total" :pagination="false" :loading="loading" @currentChange="currentChange">
90 + <template v-slot:serviceCodeMapperList="scope">
91 + <!-- 二级表格 -->
92 + <el-card>
93 + <Tables v-show="tableName === 'serviceCode'" ductName="dictionary" :selection="true"
94 + :order='false' :selectFixed="false" height="auto" :data="scope.row.serviceCodeMapperList"
95 + :headerData="childrenTableHeader" :pageSize="selectDict.page" :pageSizes="[20]"
96 + :totalCount="total" :pagination="false" :loading="loading" @currentChange="currentChange"
97 + @tableSelect="serviceCodeTableSelection" @tableSelectAll="serviceCodeTableSelectAll">
98 + <template slot="optionColumn">
99 + <el-table-column label="操作" align="center" width="300">
100 + <template slot-scope="scope">
101 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
102 + @click="upDate({ status: 'update', data: props.row })">修改
103 + </el-button> -->
104 + <el-button size="mini" type="text" style="color:#ff4949" icon="el-icon-delete"
105 + @click="delDict(scope.row)">
106 + 删除
107 + </el-button>
108 + </template>
109 + </el-table-column>
110 + </template>
111 + </Tables>
112 + </el-card>
113 + </template>
114 + <template slot="optionColumn">
115 + <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
116 + <template slot-scope="scope">
117 + <el-button class="mr5" v-if="scope.row.serviceCodeMapperList" size="mini" type="text"
118 + icon="el-icon-plus"
119 + @click="addDic({ status: 'childrenAdd', data: scope.row.chineseName })">新增子集
120 + </el-button>
121 + <!-- <el-button class="mr5" size="mini" type="text" icon="el-icon-edit"
122 + @click="upDate({ status: 'update', data: scope.row })">修改
123 + </el-button> -->
124 + <el-button v-if="!scope.row.serviceCodeMapperList" size="mini" type="text"
125 + style="color:#ff4949" icon="el-icon-delete" @click="delDict(scope.row)">删除
126 + </el-button>
127 + </template>
128 + </el-table-column>
129 + </template>
130 + </Tables>
131 + </el-card>
132 + <!-- 新增修改 -->
133 + <Dialog :dictName="tableName" :open="open" :addDictionary="addDictionary" :status="status" @close="close" />
134 + </div>
135 +</template>
136 +
137 +<script>
138 +import Dialog from './dialog.vue'
139 +import { getDictNameList, getDictionaryList, getServiceCodeList, delServiceCodeCihild, delDict, flightType, delFlight } from '@/api/system/dictionary.js'
140 +
141 +export default {
142 + name: 'DictionaryConfig',
143 + components: {
144 + Dialog
145 + },
146 + data() {
147 + return {
148 + selectDict: {
149 + dictCode: this.tableName,
150 + chineseName: null,
151 + page: 1,
152 + size: 20
153 + },//字典查询条件
154 + tableData: [],
155 + tableHeader: this.tableHeaders['dict'],//表头
156 + flightHeader: [
157 + {
158 + columnChineseName: "航班号",
159 + columnName: "flightNo",
160 + columnWidth: "",
161 + align: "center",
162 + status: 1
163 + }
164 + ],//虚拟航班表头
165 + serviceCodeHeader: this.tableHeaders['dictServiceCode'],//serviceCode主表头
166 + childrenTableHeader: this.tableHeaders['dictServiceCodeChildren'],//serviceCode子表头
167 + dictNameList: [],//主表数据
168 + addDictionary: {},//选择数据
169 + nowSelect: [],
170 + tableName: '',
171 + tableHeight: null,
172 + total: 0,
173 + status: null,
174 + loading: false,
175 + open: false,
176 + }
177 + },
178 + created() {
179 + this.dictNameSelect()
180 + },
181 + activated() {
182 + // if (this.$store.state.tagsView.cachedViews.length > 0) {
183 + // this.tableSelect()
184 + // }
185 + },
186 + mounted() {
187 + this.tableHeight = window.innerHeight - this.$refs.dictForm.$el.offsetHeight - 270
188 + },
189 + watch: {
190 + tableName(val, oldVal) {
191 + this.tableName = val
192 + this.selectDict = {
193 + page: 1,
194 + size: 20
195 + }
196 + this.tableSelect()
197 + },
198 + },
199 + methods: {
200 + //字典名称
201 + dictNameSelect() {
202 + getDictNameList().then(res => {
203 + if (res.code === 200) {
204 + this.dictNameList = res.data
205 + this.tableName = this.dictNameList[0].code
206 + } else {
207 + this.msgWarning(res.msg)
208 + }
209 + }).catch(err => {
210 + console.log(err)
211 + this.msgWarning(err)
212 + })
213 + },
214 + //搜索
215 + tableSelect(val) {
216 + this.nowSelect = []
217 + if (val === 1) {
218 + this.selectDict.page = 1
219 + }
220 + this.selectDict.dictCode = this.tableName
221 + if (this.tableName === 'serviceCode') {
222 + getServiceCodeList().then(res => {
223 + if (res.code === 200) {
224 + this.tableData = res.data
225 + this.tableData.forEach(item => {
226 + item.serviceCodeMapperList.map((val, i) => {
227 + val.index = i
228 + })
229 + })
230 + } else {
231 + this.msgWarning(res.msg)
232 + }
233 + }).catch(err => {
234 + console.log(err)
235 + })
236 + } else if (this.tableName === "虚拟航班") {
237 + flightType(this.selectDict).then(res => {
238 + if (res.code === 200) {
239 + this.tableData = res.data.list
240 + this.total = res.data.total
241 + }
242 + }).catch(err => {
243 + console.log(err)
244 + })
245 + } else {
246 + getDictionaryList(this.selectDict).then(res => {
247 + if (res.code === 200) {
248 + this.tableData = res.data.list
249 + this.total = res.data.total
250 + } else {
251 + this.msgWarning(res.msg)
252 + }
253 + }).catch(err => {
254 + console.log(err)
255 + })
256 + }
257 + },
258 + //新增
259 + addDic(val) {
260 + this.status = val.status
261 + if (val.data) {
262 + this.addDictionary = {
263 + serviceCodeKey: val.data
264 + }
265 + }
266 + this.open = true
267 + },
268 + //修改
269 + // upDate(val) {
270 + // console.log(val)
271 + // this.status = val.status
272 + // this.addDictionary = val.data
273 + // this.open = true
274 + // },
275 + //删除按钮
276 + delDict(val) {
277 + if (this.tableName == 'serviceCode') {
278 + this.serviceCodeCihildDel([val.id])
279 + } else if (this.tableName === '虚拟航班') {
280 + this.flightDel([val.id])
281 + } else {
282 + this.dicDel([val.id])
283 + }
284 + },
285 + //批量删除按钮
286 + handleDelete() {
287 + let arr = []
288 + this.nowSelect.forEach(item => {
289 + arr.push(item.id)
290 + })
291 + if (this.tableName == 'serviceCode') {
292 + this.serviceCodeCihildDel(arr)
293 + } else if (this.tableName === '虚拟航班') {
294 + this.flightDel(arr)
295 + } else {
296 + this.dicDel(arr)
297 + }
298 + },
299 + //数据字典删除
300 + dicDel(val) {
301 + this.$confirm("删除字典数据可能会对航班配舱设置产生影响,需手动对航班配舱设置进行维护。是否要删除", "注意!", {
302 + closeOnClickModal: false,
303 + confirmButtonText: "确定删除",
304 + cancelButtonText: "取消",
305 + type: "warning",
306 + }).then(() => {
307 + delDict(val).then(res => {
308 + if (res.code === 200) {
309 + this.msgSuccess(res.msg)
310 + } else {
311 + this.msgWarning(res.msg)
312 + }
313 + this.tableSelect(1)
314 + }).catch(err => {
315 + console.log(err)
316 + })
317 + }).catch(() => { })
318 + },
319 + //serviceCode子字典删除
320 + serviceCodeCihildDel(val) {
321 + this.$confirm("删除子字典数据可能会对航班配舱设置产生影响,需手动对航班配舱设置进行维护。是否要删除", "注意!", {
322 + closeOnClickModal: false,
323 + confirmButtonText: "确定删除",
324 + cancelButtonText: "取消",
325 + type: "warning",
326 + }).then(() => {
327 + delServiceCodeCihild(val).then(res => {
328 + if (res.code === 200) {
329 + this.msgSuccess(res.msg)
330 + } else {
331 + this.msgWarning(res.msg)
332 + }
333 + this.tableSelect(1)
334 + }).catch(err => {
335 + console.log(err)
336 + })
337 + }).catch((() => { }))
338 + },
339 + //虚拟航班删除
340 + flightDel(val) {
341 + this.$confirm("是否要删除此虚拟航班记录!", "注意!", {
342 + closeOnClickModal: false,
343 + confirmButtonText: "确定删除",
344 + cancelButtonText: "取消",
345 + type: "warning",
346 + }).then(() => {
347 + delFlight(val).then(res => {
348 + if (res.code === 200) {
349 + this.msgSuccess(res.msg)
350 + } else {
351 + this.msgSuccess(res.msg)
352 + }
353 + this.tableSelect(1)
354 + }).catch(err => {
355 + console.log(err)
356 + })
357 + }).catch(() => { })
358 + },
359 + //切换字典表
360 + selectChange(val) {
361 + this.tableName = val
362 + },
363 + //关闭状态修改
364 + close(val) {
365 + this.open = val
366 + this.addDictionary = {}
367 + this.tableSelect()
368 + },
369 + //翻页
370 + currentChange(val) {
371 + this.selectDict.page = val.page;
372 + this.tableSelect();
373 + },
374 + //多选
375 + tableSelection(val) {
376 + this.nowSelect = val.selection
377 + },
378 + serviceCodeTableSelection(val) {
379 + this.nowSelect = val.selection
380 + },
381 + //全选
382 + tableSelectAll(val) {
383 + this.nowSelect = val
384 + },
385 + serviceCodeTableSelectAll(val) {
386 + this.nowSelect = val
387 + },
388 + }
389 +}
390 +</script>
391 +
392 +<style lang="scss" scoped>
393 +.selectLabel {
394 + font-size: 14px;
395 + font-weight: 600;
396 +}
397 +</style>
...\ No newline at end of file ...\ No newline at end of file
1 -<template>
2 - <div class="menuDrawer">
3 - <el-dialog
4 - :title="drawerTitle"
5 - width="50%"
6 - :visible.sync="dialogVisible"
7 - :close-on-click-modal="false"
8 - :append-to-body="true"
9 - >
10 - <el-form
11 - ref="userForm"
12 - :model="menuForm"
13 - :disabled="menuFormDisabled"
14 - :rules="rules"
15 - label-width="auto"
16 - style="margin: 10px"
17 - >
18 - <el-row>
19 - <el-col :span="12">
20 - <el-form-item label="菜单名称" prop="">
21 - <!-- <el-input
22 - placeholder="请输入权限名"
23 - :disabled="menuFormDisabled"
24 - v-model="menuData.userName"
25 - size="mini"
26 - ></el-input> -->
27 - </el-form-item>
28 - </el-col>
29 - <el-col :span="12">
30 - <el-form-item label="菜单路由" prop="">
31 - <!-- <el-input
32 - placeholder="请输入权限名"
33 - :disabled="menuFormDisabled"
34 - v-model="menuData.userName"
35 - size="mini"
36 - ></el-input> -->
37 - </el-form-item>
38 - </el-col>
39 - <el-col :span="12">
40 - <el-form-item label="组件名称" prop="">
41 - <!-- <el-input
42 - placeholder="请输入权限名"
43 - :disabled="menuFormDisabled"
44 - v-model="menuData.userName"
45 - size="mini"
46 - ></el-input> -->
47 - </el-form-item>
48 - </el-col>
49 - <el-col :span="24">
50 - <el-form-item label="菜单状态" prop="">
51 - <el-switch
52 - v-model="menuData.menuStatus"
53 - active-color="#13ce66"
54 - inactive-color="#ff4949"
55 - :disabled="menuFormDisabled"
56 - ></el-switch>
57 - </el-form-item>
58 - </el-col>
59 - <el-col :span="24">
60 - <el-form-item label="图标选择" prop="">
61 - <iconSelect @selected="selected"></iconSelect>
62 - </el-form-item>
63 - </el-col>
64 - <el-col :span="24">
65 - <el-form-item label="权限设置" prop="">
66 - <el-col :span="6">
67 - <el-radio label="页面" size="medium"></el-radio>
68 - </el-col>
69 - <el-col :span="6">
70 - <el-radio label="按钮" size="medium"></el-radio>
71 - </el-col>
72 - <el-col :span="24">
73 - <el-card shadow="never">
74 - <el-input placeholder=""></el-input>
75 - </el-card>
76 - </el-col>
77 - </el-form-item>
78 - </el-col>
79 - </el-row>
80 - </el-form>
81 -
82 - <div slot="footer">
83 - <el-button @click="handleClose">取 消</el-button>
84 - <el-button type="primary" @click="submit">确 定</el-button>
85 - </div>
86 - </el-dialog>
87 - </div>
88 -</template>
89 -
90 -<script>
91 -import iconSelect from "@/components/IconSelect";
92 -export default {
93 - components: {
94 - iconSelect,
95 - },
96 - props: {
97 - drawerTitle: {
98 - type: String,
99 - default: "",
100 - },
101 - menuFormDisabled: {
102 - type: Boolean,
103 - default: false,
104 - },
105 - dialogVisible: {
106 - type: Boolean,
107 - default: false,
108 - },
109 - menuData: {
110 - type: Object,
111 - default: null,
112 - },
113 - },
114 - data() {
115 - return {
116 - menuForm: {},
117 - rules:{}
118 - };
119 - },
120 - updated() {
121 - this.menuForm = this.menuData;
122 - },
123 - watch:{
124 - dialogVisible(val,oldVal){
125 - if(val){
126 - this.menuForm = this.menuData;
127 - }
128 - }
129 - },
130 - methods: {
131 - handleClose() {
132 - this.$emit("handleClose", false);
133 - },
134 - selected(val) {
135 - console.log(val);
136 - },
137 - submit() {},
138 - },
139 -};
140 -</script>
141 -
142 -<style>
143 -</style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
23 header-align="center" :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";
85 47
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;
...@@ -184,7 +135,6 @@ export default { ...@@ -184,7 +135,6 @@ export default {
184 this.loading = false; 135 this.loading = false;
185 }); 136 });
186 }, 137 },
187 -
188 //菜单状态改变 138 //菜单状态改变
189 statusUpdate(data) { 139 statusUpdate(data) {
190 updateStatus(data) 140 updateStatus(data)
...@@ -201,7 +151,6 @@ export default { ...@@ -201,7 +151,6 @@ export default {
201 console.log(err); 151 console.log(err);
202 }); 152 });
203 }, 153 },
204 -
205 //菜单开启关闭 154 //菜单开启关闭
206 menuStatus(row) { 155 menuStatus(row) {
207 this.$confirm( 156 this.$confirm(
...@@ -221,7 +170,6 @@ export default { ...@@ -221,7 +170,6 @@ export default {
221 }) 170 })
222 .catch(() => { }); 171 .catch(() => { });
223 }, 172 },
224 -
225 //菜单删除 173 //菜单删除
226 removeMenu(row) { 174 removeMenu(row) {
227 this.$confirm("是否要删除此菜单", "提示", { 175 this.$confirm("是否要删除此菜单", "提示", {
...@@ -237,7 +185,6 @@ export default { ...@@ -237,7 +185,6 @@ export default {
237 }) 185 })
238 .catch(() => { }); 186 .catch(() => { });
239 }, 187 },
240 -
241 formatter(row, column, cellValue, index) { 188 formatter(row, column, cellValue, index) {
242 if (dictLabels["menu"][column.property]) { 189 if (dictLabels["menu"][column.property]) {
243 if (dictLabels["menu"][column.property][cellValue]) { 190 if (dictLabels["menu"][column.property][cellValue]) {
......
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">新增预审航班</el-button>
27 + <el-button type="primary" size="small" icon="el-icon-check" :disabled="selectData.length == 0"
28 + @click="preOption(1)">
29 + 预审开启</el-button>
30 + <el-button type="primary" size="small" icon="el-icon-close" :disabled="selectData.length == 0"
31 + @click="preOption(0)">
32 + 预审关闭</el-button>
33 + <el-button type="danger" icon="el-icon-delete" size="small" :disabled="selectData.length == 0"
34 + @click="preOption(2)">删 除
35 + </el-button>
36 + </div>
37 + <Tables ref="preFlight" ductName="preFlight" :selection="true" :selectFixed="false" :order='true'
38 + :height="tableHeight" :data="flightData" :headerData="tableHeaders" :page="pageOption.page" :pageSizes="[20]"
39 + :totalCount="total" :loading="tableLoading" @currentChange="currentChange"
40 + layout="total,prev, pager, next, jumper, ->" @tableSelect="tableSelection" @tableSelectAll="tableSelectAll">
41 + </Tables>
42 + <el-dialog title="新增预审航班" width="20%" :visible.sync="dialogVisible" :close-on-click-modal="false"
43 + :show-close="false" :append-to-body="true">
44 + <el-form ref="addForm" :model="newPre" label-width="auto" label-position="left" size="small" :rules="rules"
45 + @submit.native.prevent>
46 + <el-form-item label="航班号" prop="addFlitNo">
47 + <el-input type="textarea" v-model="fltNo" :rows="7" maxlength="255" show-word-limit placeholder="请输入航班号,用;分隔">
48 + </el-input>
49 + </el-form-item>
50 + </el-form>
51 + <div slot="footer">
52 + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button>
53 + <el-button @click="close">取 消</el-button>
54 + </div>
55 + </el-dialog>
56 + </div>
57 +</template>
58 +
59 +<script>
60 +import { getpreAudit, addPreFlight, updatePreStatus } from '@/api/system/preReview.js'
61 +
62 +export default {
63 + name: "PreReviewFlight",
64 + data() {
65 + return {
66 + pageOption: {
67 + fltNo: undefined,
68 + page: 1,
69 + size: 20
70 + },//查询条件
71 + tableHeaders: [
72 + {
73 + columnChineseName: "航班号",
74 + columnName: "fltNo",
75 + columnWidth: "",
76 + status: 1
77 + },
78 + {
79 + columnChineseName: "预审状态",
80 + columnName: "status",
81 + columnWidth: "",
82 + status: 1
83 + },
84 + ],//表头
85 + flightData: [],//表格数据
86 + selectData: [],//选中数据
87 + newPre: {
88 + addFlitNo: '',
89 + },//新增航班
90 + rules: {
91 + fltNo: [
92 + {
93 + required: true,
94 + message: "航班号不能为空",
95 + trigger: "blur",
96 + }
97 + ]
98 + },//表单规则
99 + dialogVisible: false,
100 + total: 0,
101 + tableHeight: null,
102 + loading: false,
103 + tableLoading: false,
104 + };
105 + },
106 + created() {
107 + this.preQuery(1)
108 + },
109 + activated() {
110 + if (this.flightData.length > 0) {
111 + this.preQuery()
112 + }
113 + },
114 + mounted() {
115 + this.tableHeight = window.innerHeight - this.$refs.preReviewOptions.offsetHeight - 300
116 + },
117 + methods: {
118 + //搜索
119 + preQuery(val) {
120 + this.tableLoading = true
121 + this.selectData = []
122 + if (val === 1) {
123 + this.pageOption.page = 1
124 + }
125 + getpreAudit(this.pageOption).then(res => {
126 + this.tableLoading = false
127 + if (res.code === 200) {
128 + this.flightData = res.data.list
129 + this.total = res.data.total
130 + } else {
131 + this.msgWarning(res.msg)
132 + }
133 + }).catch(err => {
134 + this.tableLoading = false
135 + console.log(err)
136 + })
137 + },
138 + //保存
139 + submit() {
140 + this.$refs["addForm"].validate(val => {
141 + if (val) {
142 + this.loading = true
143 + let fltList = []
144 + this.newPre.addFlitNo.split(';').forEach(item => {
145 + if (item != '') {
146 + fltList.push(item)
147 + }
148 + })
149 + addPreFlight(fltList).then(res => {
150 + this.loading = false
151 + if (res.code === 200) {
152 + this.msgSuccess('添加成功')
153 + this.close()
154 + this.preQuery(1)
155 + } else {
156 + this.msgWarning(res.msg)
157 + }
158 + }).catch(err => {
159 + this.loading = false
160 + console.log(err)
161 + })
162 + }
163 + })
164 + },
165 + //预审状态修改
166 + preOption(val) {
167 + this.$confirm(val === 2 ? '是否要删除?' : val === 0 ? '是否要关闭预审' : '是否要开启预审', '系统提示', {
168 + closeOnClickModal: false,
169 + confirmButtonText: '确定',
170 + cancelButtonText: "取消",
171 + type: 'warning'
172 + }).then(() => {
173 + let idList = []
174 + this.selectData.forEach(item => {
175 + idList.push(item.id)
176 + })
177 + updatePreStatus({ ids: idList, status: val }).then(res => {
178 + if (res.code === 200) {
179 + this.msgSuccess(val === 2 ? '删除成功' : val === 0 ? '关闭成功' : '开启成功')
180 + this.preQuery(1)
181 + } else {
182 + this.msgWarning(res.msg)
183 + }
184 + }).catch(err => {
185 + console.log(err)
186 + })
187 + }).catch()
188 + },
189 + //关闭弹窗
190 + close() {
191 + this.dialogVisible = false
192 + this.newPre.addFlitNo = ''
193 + },
194 + //翻页
195 + currentChange(val) {
196 + this.pageOption.page = val.page
197 + },
198 + //多选
199 + tableSelection(val) {
200 + this.selectData = val.selection
201 + },
202 + //全选
203 + tableSelectAll(val) {
204 + this.selectData = val
205 + },
206 + },
207 + computed: {
208 + queryfltNo: {
209 + get: function () {
210 + return this.pageOption.fltNo;
211 + },
212 + set: function (val) {
213 + this.pageOption.fltNo = this.upCase(val);
214 + },
215 + },
216 + fltNo: {
217 + get: function () {
218 + return this.newPre.addFlitNo;
219 + },
220 + set: function (val) {
221 + let reg = /^([0-9A-Za-z]{0,50}(\;[0-9a-zA-Z]{0,50})*)$/
222 + if (reg.test(val)) {
223 + this.newPre.addFlitNo = this.upCase(val);
224 + }
225 + },
226 + }
227 + }
228 +};
229 +</script>
230 +<style rel="stylesheet/scss" lang="scss">
231 +</style>
...@@ -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,7 +15,7 @@ ...@@ -14,7 +15,7 @@
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>
......
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="用户姓名">
...@@ -211,7 +211,7 @@ export default { ...@@ -211,7 +211,7 @@ export default {
211 .catch((err) => { 211 .catch((err) => {
212 console.log(err); 212 console.log(err);
213 }) 213 })
214 - .catch(() => {}); 214 + .catch(() => { });
215 }, 215 },
216 //删除用户 216 //删除用户
217 removeUser(row) { 217 removeUser(row) {
...@@ -233,7 +233,7 @@ export default { ...@@ -233,7 +233,7 @@ export default {
233 .catch((err) => { 233 .catch((err) => {
234 console.log(err); 234 console.log(err);
235 }) 235 })
236 - .catch(() => {}); 236 + .catch(() => { });
237 }, 237 },
238 handleClose(val) { 238 handleClose(val) {
239 this.drawer = val; 239 this.drawer = val;
......
1 -<template>
2 - <div>
3 - <el-form ref="dmLogForm" class="form-header" :model="selectForm" label-width="auto" size="small" :rules="rules">
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="false">
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="0-未处理" value="0"></el-option>
26 - <el-option label="1-已处理" value="1"></el-option>
27 - <el-option label="2-无需处理" value="2"></el-option>
28 - <el-option label="3-处理失败" value="3"></el-option>
29 - <el-option label="4-校验不通过" value="4"></el-option>
30 - <el-option label="5-数据不能被多次处理" value="5"></el-option>
31 - <el-option label="9-处理中" value="9"></el-option>
32 - </el-select>
33 - </el-form-item>
34 - </el-col>
35 - <el-col :span="6">
36 - <el-form-item label="航班日期">
37 - <el-date-picker v-model="selectForm.fltDate" class="formItem" type="date" placeholder="选择日期"
38 - :value-format="valueFormat" clearable>
39 - </el-date-picker>
40 - </el-form-item>
41 - </el-col>
42 - <el-col :span="6">
43 - <el-form-item label="口岸代码">
44 - <el-select v-model="selectForm.portName" class="formItem" placeholder="不限" clearable>
45 - <el-option v-for="item in portList" :label="item.englishName" :value="item.englishName" :key="item.id">
46 - </el-option>
47 - </el-select>
48 - </el-form-item>
49 - </el-col>
50 - </el-row>
51 - <div style="display: flex">
52 - <el-button type="primary" size="small" icon="el-icon-search" :loading="loading"
53 - :disabled="!selectForm.createTime" @click="selectDMData(0)">查询</el-button>
54 - <!-- <div class="tags">
55 - <div>状态说明:</div> -->
56 - <!-- <el-tooltip
57 - class="tagTip"
58 - effect="dark"
59 - content="123"
60 - placement="top"
61 - >
62 - <el-tag size="medium">未处理</el-tag>
63 - </el-tooltip> -->
64 - <!-- <el-tooltip
65 - class="tagTip"
66 - effect="dark"
67 - content="123"
68 - placement="top"
69 - >
70 - <el-tag size="medium" type="success">已处理</el-tag>
71 - </el-tooltip> -->
72 - <!-- <el-tooltip class="tagTip" effect="dark" placement="top">
73 - <div slot="content">
74 - 1.判断配舱类型失败<br />2.数据初始化失败<br />3.配舱失败
75 - </div>
76 - <el-tag size="medium" type="danger">处理失败</el-tag>
77 - </el-tooltip>
78 - <el-tooltip class="tagTip" effect="dark" placement="top">
79 - <div slot="content">
80 - 1.货物状态为OSPR、配舱航班ID不为空、是手动配舱,不做处理<br />
81 - 2.ACCS发送时间早于货物上一次得ACCS发送时间
82 - </div>
83 - <el-tag size="medium" type="warning">无需处理</el-tag>
84 - </el-tooltip>
85 - <el-tooltip class="tagTip" effect="dark" content="缺少必填得数据或数据超长" placement="top">
86 - <el-tag size="medium" type="warning">校验不通过</el-tag>
87 - </el-tooltip>
88 - <el-tooltip class="tagTip" effect="dark" content="同一条数据只能处理一次" placement="top">
89 - <el-tag size="medium" type="warning">数据不能被多次处理</el-tag>
90 - </el-tooltip> -->
91 - <!-- <el-tooltip
92 - class="tagTip"
93 - effect="dark"
94 - content="123"
95 - placement="top"
96 - >
97 - <el-tag size="medium">处理中</el-tag>
98 - </el-tooltip> -->
99 - <!-- </div> -->
100 - </div>
101 - </el-form>
102 - <Tables ref="dmLogTables" ductName="logDmData" :data="data" :headerData="tableHeader" :height="tableHeight"
103 - :page="selectForm.page" :pageSizes="[100]" :totalCount="total" :loading="loading" @currentChange="currentChange"
104 - @sortChange="sortChange">
105 - <template v-slot:status="scope">
106 - <el-tag :type="
107 - scope.row.status == 1
108 - ? 'success'
109 - : scope.row.status == 2
110 - ? 'warning'
111 - : scope.row.status == 3
112 - ? 'danger'
113 - : scope.row.status == 4
114 - ? 'warning'
115 - : scope.row.status == 5
116 - ? 'warning'
117 - : ''
118 - "><span>{{ statusData(scope.row.status) }}</span></el-tag>
119 - </template>
120 - </Tables>
121 - </div>
122 -</template>
123 -
124 -<script>
125 -import dictLabels from "../../../assets/languages/dictLabels.js";
126 -import { portNameList } from "@/api/system/user.js";
127 -import { getDmDataList } from "@/api/system/logConfig.js";
128 -import { upCase } from "@/utils/FedEx";
129 -
130 -export default {
131 - name: "DmLog",
132 - data() {
133 - return {
134 - selectForm: {
135 - fltNo: undefined,
136 - createTime: undefined,
137 - page: 1,
138 - size: 100,
139 - },
140 - data: [],
141 - tableHeader: [
142 - {
143 - name: "配舱结果",
144 - value: "status",
145 - width: "120",
146 - align: "center",
147 - sorTable: true,
148 - fixed: false,
149 - disabled: true,
150 - slot: true,
151 - },
152 - {
153 - name: "处理结果",
154 - value: "processResult",
155 - width: "100",
156 - align: "center",
157 - sorTable: true,
158 - fixed: false,
159 - disabled: true,
160 - },
161 - {
162 - name: "异常代码",
163 - value: "exceptionCode",
164 - width: "100",
165 - align: "center",
166 - sorTable: true,
167 - fixed: false,
168 - disabled: true,
169 - },
170 - {
171 - name: "运单ID",
172 - value: "accsId",
173 - width: "100",
174 - align: "center",
175 - sorTable: true,
176 - fixed: false,
177 - disabled: true,
178 - },
179 - {
180 - name: "运单号",
181 - value: "awbNbr",
182 - width: "100",
183 - align: "center",
184 - sorTable: true,
185 - fixed: false,
186 - disabled: true,
187 - },
188 - {
189 - name: "口岸代码",
190 - value: "routeDest",
191 - width: "100",
192 - align: "center",
193 - sorTable: true,
194 - fixed: false,
195 - disabled: true,
196 - },
197 - {
198 - name: "ACCS航班号",
199 - value: "flightNbr",
200 - width: "130",
201 - align: "center",
202 - sorTable: true,
203 - fixed: false,
204 - disabled: true,
205 - },
206 - {
207 - name: "ACCS航班日期",
208 - value: "flightDate",
209 - width: "140",
210 - align: "center",
211 - sorTable: true,
212 - fixed: false,
213 - disabled: true,
214 - },
215 - {
216 - name: "ACCS航线",
217 - value: "flightRoute",
218 - width: "120",
219 - align: "center",
220 - sorTable: true,
221 - fixed: false,
222 - disabled: true,
223 - },
224 - {
225 - name: "ACCS Pool",
226 - value: "accsPool",
227 - width: "120",
228 - align: "center",
229 - sorTable: true,
230 - fixed: false,
231 - disabled: true,
232 - },
233 - {
234 - name: "消息代码",
235 - value: "messageCode",
236 - width: "120",
237 - align: "center",
238 - sorTable: true,
239 - fixed: false,
240 - disabled: true,
241 - },
242 - {
243 - name: "消息发送时间",
244 - value: "sendTime",
245 - width: "140",
246 - align: "center",
247 - sorTable: true,
248 - fixed: false,
249 - disabled: true,
250 - },
251 - {
252 - name: "消息落地时间",
253 - value: "createTime",
254 - width: "140",
255 - align: "center",
256 - sorTable: true,
257 - fixed: false,
258 - disabled: true,
259 - },
260 - {
261 - name: "总单号",
262 - value: "mawb",
263 - width: "100",
264 - align: "center",
265 - sorTable: true,
266 - fixed: false,
267 - disabled: true,
268 - },
269 - {
270 - name: "运单类型",
271 - value: "classification",
272 - width: "100",
273 - align: "center",
274 - sorTable: true,
275 - fixed: false,
276 - disabled: true,
277 - },
278 - {
279 - name: "报关方式",
280 - value: "portName",
281 - width: "100",
282 - align: "center",
283 - sorTable: true,
284 - fixed: false,
285 - disabled: true,
286 - },
287 - {
288 - name: "总件数",
289 - value: "totalPcs",
290 - width: "100",
291 - align: "center",
292 - sorTable: true,
293 - fixed: false,
294 - disabled: true,
295 - },
296 - {
297 - name: "总重量",
298 - value: "weight",
299 - width: "100",
300 - align: "center",
301 - sorTable: true,
302 - fixed: false,
303 - disabled: true,
304 - },
305 - {
306 - name: "取件日期",
307 - value: "pickUpDate",
308 - width: "100",
309 - align: "center",
310 - sorTable: true,
311 - fixed: false,
312 - disabled: true,
313 - },
314 - {
315 - name: "URSA",
316 - value: "ursa",
317 - width: "100",
318 - align: "center",
319 - sorTable: true,
320 - fixed: false,
321 - disabled: true,
322 - },
323 - {
324 - name: "海关回执代码",
325 - value: "ent",
326 - width: "130",
327 - align: "center",
328 - sorTable: true,
329 - fixed: false,
330 - disabled: true,
331 - },
332 - {
333 - name: "Handing Code",
334 - value: "handlingCode",
335 - width: "140",
336 - align: "center",
337 - sorTable: true,
338 - fixed: false,
339 - disabled: true,
340 - },
341 - {
342 - name: "subCategory",
343 - value: "subCategory",
344 - width: "140",
345 - align: "center",
346 - sorTable: true,
347 - fixed: false,
348 - disabled: true,
349 - },
350 - {
351 - name: "intercept Code",
352 - value: "interceptCode",
353 - width: "140",
354 - align: "center",
355 - sorTable: true,
356 - fixed: false,
357 - disabled: true,
358 - },
359 - {
360 - name: "ACCS发送时间",
361 - value: "accsSendTime",
362 - width: "140",
363 - align: "center",
364 - sorTable: true,
365 - fixed: false,
366 - disabled: true,
367 - },
368 - {
369 - name: "品名描述",
370 - value: "description",
371 - width: "100",
372 - align: "center",
373 - sorTable: true,
374 - fixed: false,
375 - disabled: true,
376 - },
377 - {
378 - name: "PUPOrPUX",
379 - value: "pupOrPux",
380 - width: "120",
381 - align: "center",
382 - sorTable: true,
383 - fixed: false,
384 - disabled: true,
385 - },
386 -
387 - {
388 - name: "始发地站点",
389 - value: "originLocationCode",
390 - width: "120",
391 - align: "center",
392 - sorTable: false,
393 - fixed: false,
394 - disabled: true,
395 - },
396 - {
397 - name: "始发地城市名称",
398 - value: "originCity",
399 - width: "140",
400 - align: "center",
401 - sorTable: false,
402 - fixed: false,
403 - disabled: true,
404 - },
405 - {
406 - name: "收件人国家代码",
407 - value: "consigneeCountry",
408 - width: "140",
409 - align: "center",
410 - sorTable: false,
411 - fixed: false,
412 - disabled: true,
413 - },
414 - {
415 - name: "服务类型名称",
416 - value: "serviceCode",
417 - width: "130",
418 - align: "center",
419 - sorTable: true,
420 - fixed: false,
421 - disabled: true,
422 - },
423 - {
424 - name: "货物ID",
425 - value: "portName",
426 - width: "100",
427 - align: "center",
428 - sorTable: true,
429 - fixed: false,
430 - disabled: true,
431 - },
432 - {
433 - name: "是否RDE手动录入",
434 - value: "manualRde",
435 - width: "160",
436 - align: "center",
437 - sorTable: false,
438 - fixed: false,
439 - disabled: true,
440 - },
441 - {
442 - name: "发件人账号",
443 - value: "shipperAccount",
444 - width: "120",
445 - align: "center",
446 - sorTable: false,
447 - fixed: false,
448 - disabled: true,
449 - },
450 - {
451 - name: "发件公司中文名称",
452 - value: "shipperCompany",
453 - width: "150",
454 - align: "center",
455 - sorTable: true,
456 - fixed: false,
457 - disabled: true,
458 - },
459 - {
460 - name: "修改时间",
461 - value: "updateTime",
462 - width: "100",
463 - align: "center",
464 - sorTable: true,
465 - fixed: false,
466 - disabled: true,
467 - },
468 - {
469 - name: "消息发送程序ID",
470 - value: "senderId",
471 - width: "140",
472 - align: "center",
473 - sorTable: false,
474 - fixed: false,
475 - disabled: true,
476 - },
477 - {
478 - name: "消息接收程序ID",
479 - value: "receiverId",
480 - width: "140",
481 - align: "center",
482 - sorTable: false,
483 - fixed: false,
484 - disabled: true,
485 - },
486 - ],
487 - portList: [],
488 - rules: {
489 - createTime: [
490 - {
491 - required: true,
492 - message: "创建日期不能为空",
493 - trigger: "blur",
494 - },
495 - ],
496 - },
497 - total: 0,
498 - tableHeight: null,
499 - loading: false,
500 - valueFormat: "yyyy-MM-dd",
501 - };
502 - },
503 - created() {
504 - this.nowDate();
505 - portNameList().then((res) => {
506 - if (res.code === 200) {
507 - this.portList = res.data;
508 - } else {
509 - this.msgWarning("查询条件" + res.msg)
510 - }
511 - });
512 - if (this.$store.state.tagsView.cachedViews.length == 0) {
513 - this.selectDMData();
514 - }
515 - },
516 - activated() {
517 - this.selectDMData();
518 - },
519 - deactivated() {
520 - this.data = [];
521 - },
522 - mounted() {
523 - this.tableHeight =
524 - window.innerHeight - this.$refs.dmLogForm.$el.offsetHeight - 150;
525 - },
526 - methods: {
527 - //当前日期格式化
528 - nowDate() {
529 - let date = new Date();
530 - this.selectForm.createTime = `${date.getFullYear()}-${(date.getMonth() + 1) > 9
531 - ? date.getMonth() + 1
532 - : "0" + (date.getMonth() + 1)
533 - }-${date.getDate() > 9 ? date.getDate() : '0' + date.getDate()
534 - }`;
535 - },
536 - //数据查询
537 - selectDMData(val) {
538 - this.data = [];
539 - this.loading = true;
540 - if (val === 0) {
541 - this.selectForm.page = 1;
542 - }
543 - if (this.selectForm.createTime) {
544 - getDmDataList(this.selectForm).then((res) => {
545 - this.loading = false;
546 - if (res.code === 200) {
547 - if (res.data.total === 0) {
548 - this.msgWarning('未查询到数据')
549 - } else {
550 - this.data = res.data.list;
551 - this.total = res.data.total;
552 - }
553 - } else {
554 - this.msgWarning(res.msg)
555 - }
556 - });
557 - } else {
558 - this.loading = false;
559 - this.msgWarning('创建日期不能为空')
560 - }
561 - },
562 - //分页
563 - currentChange(val) {
564 - this.selectForm.page = val.page;
565 - this.selectDMData();
566 - },
567 - //数据处理
568 - statusData(val) {
569 - if (dictLabels["logDmData"]["status"][val]) {
570 - return dictLabels["logDmData"]["status"][val];
571 - } else {
572 - return val;
573 - }
574 - },
575 - //排序
576 - sortChange(val) {
577 - let data = [];
578 - let nullData = [];
579 - this.data.forEach((item) => {
580 - if (item[val.prop]) {
581 - data.push(item);
582 - } else {
583 - nullData.push(item);
584 - }
585 - });
586 - data = data.sort(this.$refs.dmLogTables.compare(val.prop, val.order));
587 - if (val.order != "ascending") {
588 - this.data = nullData.concat(data);
589 - } else {
590 - this.data = data.concat(nullData);
591 - }
592 - this.data.forEach((item, index = 0) => {
593 - item.index = index;
594 - });
595 - },
596 - },
597 - computed: {
598 - fltNo: {
599 - get: function () {
600 - return this.selectForm.fltNo;
601 - },
602 - set: function (val) {
603 - this.selectForm.fltNo = upCase(val);
604 - },
605 - },
606 - },
607 -};
608 -</script>
609 -
610 -<style scoped>
611 -.tags {
612 - display: flex;
613 - margin: 0 20px 0 auto;
614 - color: black;
615 - line-height: 32px;
616 -}
617 -
618 -.tagTip {
619 - margin: 0 5px;
620 -}
621 -</style>
...\ No newline at end of file ...\ No newline at end of file