Showing
44 changed files
with
1515 additions
and
666 deletions
package - 副本.json
deleted
100644 → 0
| 1 | -{ | ||
| 2 | - "name": "IMAC", | ||
| 3 | - "version": "3.5.0", | ||
| 4 | - "description": "IMAC管理系统", | ||
| 5 | - "author": "IMAC", | ||
| 6 | - "license": "MIT", | ||
| 7 | - "scripts": { | ||
| 8 | - "dev": "vue-cli-service serve", | ||
| 9 | - "build:prod": "vue-cli-service build", | ||
| 10 | - "build:stage": "vue-cli-service build --mode staging", | ||
| 11 | - "preview": "node build/index.js --preview", | ||
| 12 | - "lint": "eslint --ext .js,.vue src" | ||
| 13 | - }, | ||
| 14 | - "husky": { | ||
| 15 | - "hooks": { | ||
| 16 | - "pre-commit": "lint-staged" | ||
| 17 | - } | ||
| 18 | - }, | ||
| 19 | - "lint-staged": { | ||
| 20 | - "src/**/*.{js,vue}": [ | ||
| 21 | - "eslint --fix", | ||
| 22 | - "git add" | ||
| 23 | - ] | ||
| 24 | - }, | ||
| 25 | - "keywords": [ | ||
| 26 | - "vue", | ||
| 27 | - "admin", | ||
| 28 | - "dashboard", | ||
| 29 | - "element-ui", | ||
| 30 | - "boilerplate", | ||
| 31 | - "admin-template", | ||
| 32 | - "management-system" | ||
| 33 | - ], | ||
| 34 | - "repository": { | ||
| 35 | - "type": "git", | ||
| 36 | - "url": "https://gitee.com/y_project/RuoYi-Vue.git" | ||
| 37 | - }, | ||
| 38 | - "dependencies": { | ||
| 39 | - "@riophae/vue-treeselect": "0.4.0", | ||
| 40 | - "axios": "0.21.1", | ||
| 41 | - "clipboard": "2.0.8", | ||
| 42 | - "core-js": "3.8.3", | ||
| 43 | - "echarts": "4.9.0", | ||
| 44 | - "element-ui": "2.15.3", | ||
| 45 | - "file-saver": "2.0.5", | ||
| 46 | - "fuse.js": "6.4.6", | ||
| 47 | - "highlight.js": "9.18.5", | ||
| 48 | - "js-beautify": "1.13.13", | ||
| 49 | - "js-cookie": "2.2.1", | ||
| 50 | - "jsencrypt": "3.0.3", | ||
| 51 | - "nprogress": "0.2.0", | ||
| 52 | - "quill": "1.3.7", | ||
| 53 | - "screenfull": "5.0.2", | ||
| 54 | - "sortablejs": "1.10.2", | ||
| 55 | - "vue": "2.6.14", | ||
| 56 | - "vue-count-to": "1.0.13", | ||
| 57 | - "vue-cropper": "0.5.6", | ||
| 58 | - "vue-router": "3.5.2", | ||
| 59 | - "vuedraggable": "2.24.3", | ||
| 60 | - "vuex": "3.6.2" | ||
| 61 | - }, | ||
| 62 | - "devDependencies": { | ||
| 63 | - "@vue/cli-plugin-babel": "4.5.13", | ||
| 64 | - "@vue/cli-plugin-eslint": "4.5.13", | ||
| 65 | - "@vue/cli-service": "4.5.13", | ||
| 66 | - "babel-eslint": "10.1.0", | ||
| 67 | - "chalk": "4.1.1", | ||
| 68 | - "connect": "3.6.6", | ||
| 69 | - "eslint": "7.30.0", | ||
| 70 | - "eslint-plugin-vue": "7.12.1", | ||
| 71 | - "lint-staged": "10.5.4", | ||
| 72 | - "runjs": "4.4.2", | ||
| 73 | - "sass": "1.35.1", | ||
| 74 | - "sass-loader": "10.2.0", | ||
| 75 | - "script-ext-html-webpack-plugin": "2.1.5", | ||
| 76 | - "svg-sprite-loader": "5.2.1", | ||
| 77 | - "vue-template-compiler": "2.6.14" | ||
| 78 | - }, | ||
| 79 | - "engines": { | ||
| 80 | - "node": ">=8.9", | ||
| 81 | - "npm": ">= 3.0.0" | ||
| 82 | - }, | ||
| 83 | - "browserslist": [ | ||
| 84 | - "> 1%", | ||
| 85 | - "last 2 versions" | ||
| 86 | - ] | ||
| 87 | -} |
| ... | @@ -6,4 +6,12 @@ export const getRouters = () => { | ... | @@ -6,4 +6,12 @@ export const getRouters = () => { |
| 6 | url: '/auth/getRouters', | 6 | url: '/auth/getRouters', |
| 7 | method: 'post' | 7 | method: 'post' |
| 8 | }) | 8 | }) |
| 9 | +} | ||
| 10 | + | ||
| 11 | +// 获取tableHeader | ||
| 12 | +export const getTableHeader = () => { | ||
| 13 | + return request({ | ||
| 14 | + url: '/table/getTableHeader', | ||
| 15 | + method: 'get' | ||
| 16 | + }) | ||
| 9 | } | 17 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/api/system/dictionary.js
0 → 100644
| 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 |
| ... | @@ -16,4 +16,15 @@ export function getDmDataList(data) { | ... | @@ -16,4 +16,15 @@ export function getDmDataList(data) { |
| 16 | method: 'post', | 16 | method: 'post', |
| 17 | data: data | 17 | data: data |
| 18 | }) | 18 | }) |
| 19 | -} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 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 | +} | ... | ... |
src/api/system/preReview.js
0 → 100644
| 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 页码 * |
| ... | @@ -258,4 +167,28 @@ export function changeCurrentPort(data) { | ... | @@ -258,4 +167,28 @@ export function changeCurrentPort(data) { |
| 258 | method: 'post', | 167 | method: 'post', |
| 259 | data: data | 168 | data: data |
| 260 | }) | 169 | }) |
| 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 | + }) | ||
| 261 | } | 194 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/assets/icons/svg/processing.svg
0 → 100644
| 1 | +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1650528704724" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2035" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); } | ||
| 2 | +</style></defs><path d="M396.00128 892.68224c-130.6624-16.62976-247.6032-63.52896-247.6032-122.38336V692.8384c51.48672 38.62528 131.8912 66.23232 225.64864 79.33952 0.4096-20.84864 2.8672-41.21088 7.24992-60.87168-124.60032-18.14528-232.89856-63.7696-232.89856-120.34048v-77.45536c61.80864 46.36672 165.0688 77.08672 283.4432 85.44256a310.12864 310.12864 0 0 1 54.84544-58.61376c-161.792-2.176-338.28864-56.44288-338.28864-128.77824V354.05824C221.30688 408.69888 351.55968 442.04032 496.64 442.04032c145.03936 0 275.328-33.30048 348.24192-87.98208v57.50784c0 28.22144-27.02848 53.69856-69.4272 74.42432a307.38944 307.38944 0 0 1 65.29024 30.22848c1.26976-0.94208 2.8672-1.76128 4.1728-2.70336v5.24288a307.26144 307.26144 0 0 1 60.87168 50.5856V252.1088c0-108.25728-175.88224-189.89056-409.10848-189.89056s-409.1904 81.63328-409.1904 189.89056v518.18496c0 98.01728 144.26112 173.95712 344.55552 187.51488a306.62144 306.62144 0 0 1-36.0448-65.1264zM496.64 123.12576c164.40832 0 348.24192 55.17312 348.24192 128.98304S661.04832 381.09184 496.64 381.09184c-164.37248 0-348.20096-55.17312-348.20096-128.98304S332.26752 123.12576 496.64 123.12576z" p-id="2036"></path><path d="M731.4176 907.264l-95.0272-72.25344h-11.1872c-5.57056 0-5.57056 5.61152-5.57056 11.10016v38.87104c-39.15264-22.20032-67.09248-61.07136-72.65792-105.50784 0-11.10016-16.7936-22.24128-27.97568-22.24128-11.18208 0-22.36416 16.74752-22.36416 27.84768 5.61152 44.4416 27.97568 83.30752 55.9104 111.08352 22.36416 16.62976 44.72832 33.30048 67.09248 44.4416v44.44672c0 5.5296 0 5.5296 5.57056 5.5296 5.61664 5.61152 5.61664 5.61152 11.1872 5.61152l95.0272-72.25344s5.61664-5.5296 5.61664-11.10016c-0.00512-0.04608-0.00512-5.57568-5.62176-5.57568z m162.16064-183.25504l39.12192-22.24128c5.61152 0 5.61152-5.57056 5.61152-11.10016s0-5.5296-5.61152-11.10016l-111.8208-44.40064h-11.14112c-5.57056 0-5.57056 5.52448-5.57056 5.52448l-5.61664 122.22464c0 5.5296 0 5.5296 5.61664 5.5296h11.14112l33.54624-22.20032c0 44.4416-16.7936 88.84224-55.9104 116.65408-11.1872 11.10016-11.1872 22.20032-5.61664 33.30048 11.1872 11.10016 22.36928 11.10016 33.5104 0 55.95136-33.37728 83.97312-105.5488 72.73984-172.19072z m-234.7776-72.25344c0-5.5296 0-5.5296-5.61152-11.10016l-33.55136-16.62976c39.15776-22.20032 83.8912-27.77088 128.61952-11.10016 11.14112 5.61664 27.9296 0 33.50016-16.62976 5.61664-11.10016 0-27.77088-16.74752-33.30048-61.48096-22.20032-139.8016-5.57056-190.09536 33.30048l-44.72832-22.24128h-11.18208c0 5.61152-5.57056 5.61152 0 11.10016l11.18208 116.65408s0 5.57056 5.61664 5.57056h11.18208l111.8208-50.01216v-5.61152h-0.00512z" p-id="2037"></path></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -7,16 +7,6 @@ let ductLabels = { | ... | @@ -7,16 +7,6 @@ let ductLabels = { |
| 7 | "releasing": { | 7 | "releasing": { |
| 8 | "1": "正在释放" | 8 | "1": "正在释放" |
| 9 | }, | 9 | }, |
| 10 | - "cargoAllocationDataStatus": { | ||
| 11 | - "已推送": "已推送", | ||
| 12 | - "不推送": "不推送", | ||
| 13 | - "已配": " ", | ||
| 14 | - "待推送": "待推送", | ||
| 15 | - "手动配舱": ' ', | ||
| 16 | - "已释放": ' ', | ||
| 17 | - "原航班配舱": ' ', | ||
| 18 | - "顺位配舱": ' ', | ||
| 19 | - }, | ||
| 20 | }, | 10 | }, |
| 21 | "menu": {//菜单设置 | 11 | "menu": {//菜单设置 |
| 22 | "menuType": { | 12 | "menuType": { |
| ... | @@ -59,16 +49,78 @@ let ductLabels = { | ... | @@ -59,16 +49,78 @@ let ductLabels = { |
| 59 | "2": "否", | 49 | "2": "否", |
| 60 | }, | 50 | }, |
| 61 | }, | 51 | }, |
| 52 | + "flightRand": {//航班顺位设置 | ||
| 53 | + "status": { | ||
| 54 | + "0": "执行中", | ||
| 55 | + "1": "有效", | ||
| 56 | + "3": "停用" | ||
| 57 | + } | ||
| 58 | + }, | ||
| 59 | + "FlightAlloc": {//航班配舱设置 | ||
| 60 | + "status": { | ||
| 61 | + "0": "无效", | ||
| 62 | + "1": "有效", | ||
| 63 | + "2": "配置中", | ||
| 64 | + "3": "停用" | ||
| 65 | + } | ||
| 66 | + }, | ||
| 62 | "logDmData": {//DM数据 | 67 | "logDmData": {//DM数据 |
| 68 | + "statusDetailCode": { | ||
| 69 | + "0": "未处理", | ||
| 70 | + "1": "处理成功", | ||
| 71 | + "2_1": "已处理(数据丢弃)", | ||
| 72 | + "2_2": "已处理(数据丢弃)", | ||
| 73 | + "2_3": "已处理(数据丢弃)", | ||
| 74 | + "2_4": "已处理(数据丢弃)", | ||
| 75 | + "3_1": "已处理(异常处理)", | ||
| 76 | + "3_2": "处理失败(系统异常)", | ||
| 77 | + "3_3": "处理失败(系统异常)", | ||
| 78 | + "3_4": "处理失败(系统异常)", | ||
| 79 | + "4_1": "处理失败(数据异常)", | ||
| 80 | + "4_2": "处理失败(数据异常)", | ||
| 81 | + "4_3": "处理失败(其他系统异常)", | ||
| 82 | + // "5": "处理失败(系统异常)", | ||
| 83 | + "9": "处理中", | ||
| 84 | + }, | ||
| 85 | + "weatherGenerateWater": { | ||
| 86 | + "1": "是", | ||
| 87 | + "0": "否" | ||
| 88 | + }, | ||
| 89 | + "sendLogSendResult": { | ||
| 90 | + "0": "未推", | ||
| 91 | + "1": "推送成功", | ||
| 92 | + "2": "推送失败" | ||
| 93 | + }, | ||
| 63 | "status": { | 94 | "status": { |
| 64 | "0": "未处理", | 95 | "0": "未处理", |
| 65 | "1": "已处理", | 96 | "1": "已处理", |
| 66 | "2": "无需处理", | 97 | "2": "无需处理", |
| 67 | "3": "处理失败", | 98 | "3": "处理失败", |
| 68 | "4": "校验不通过", | 99 | "4": "校验不通过", |
| 69 | - "5": "数据不能被多次处理", | 100 | + "9": "处理中" |
| 70 | - "9": "处理中", | 101 | + } |
| 102 | + }, | ||
| 103 | + "weatherTable": { | ||
| 104 | + "highLowPriceFlg": { | ||
| 105 | + "1": "开启", | ||
| 106 | + "0": "关闭" | ||
| 107 | + }, | ||
| 108 | + "operationSource": { | ||
| 109 | + "1": "pre-MD cutoff", | ||
| 110 | + "2": "航班迁转手动释放", | ||
| 111 | + "3": "预审不通过定时任务", | ||
| 112 | + "4": "自动配舱" | ||
| 71 | }, | 113 | }, |
| 114 | + "weightMark": { | ||
| 115 | + "1": "增加", | ||
| 116 | + "-1": "减少" | ||
| 117 | + } | ||
| 118 | + }, | ||
| 119 | + "preFlight": {//航班预审 | ||
| 120 | + "status": { | ||
| 121 | + "0": "关闭", | ||
| 122 | + "1": "开启" | ||
| 123 | + } | ||
| 72 | } | 124 | } |
| 73 | } | 125 | } |
| 74 | 126 | ... | ... |
This diff is collapsed. Click to expand it.
| ... | @@ -9,8 +9,8 @@ | ... | @@ -9,8 +9,8 @@ |
| 9 | } | 9 | } |
| 10 | 10 | ||
| 11 | .wid95 { | 11 | .wid95 { |
| 12 | - width: 95% !important; | 12 | + width: 95% !important; |
| 13 | - } | 13 | +} |
| 14 | 14 | ||
| 15 | .wid90 { | 15 | .wid90 { |
| 16 | width: 90% !important; | 16 | width: 90% !important; |
| ... | @@ -80,13 +80,13 @@ | ... | @@ -80,13 +80,13 @@ |
| 80 | margin-bottom: 20px; | 80 | margin-bottom: 20px; |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | - .m20 { | 83 | + .ml20 { |
| 84 | margin-left: 20px; | 84 | margin-left: 20px; |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | - // .el-dialog:not(.is-fullscreen) { | 87 | +// .el-dialog:not(.is-fullscreen) { |
| 88 | - // margin-top: 6vh !important; | 88 | +// margin-top: 6vh !important; |
| 89 | - // } | 89 | +// } |
| 90 | 90 | ||
| 91 | .el-table { | 91 | .el-table { |
| 92 | 92 | ||
| ... | @@ -113,7 +113,7 @@ | ... | @@ -113,7 +113,7 @@ |
| 113 | font-size: 15px; | 113 | font-size: 15px; |
| 114 | color: #6379bb; | 114 | color: #6379bb; |
| 115 | // border-bottom: 1px solid #ddd; | 115 | // border-bottom: 1px solid #ddd; |
| 116 | - margin: 8px 10px 25px 10px; | 116 | + margin: 8px 10px 15px 10px; |
| 117 | padding-top: 15px; | 117 | padding-top: 15px; |
| 118 | padding-bottom: 5px; | 118 | padding-bottom: 5px; |
| 119 | 119 | ... | ... |
| ... | @@ -26,9 +26,9 @@ html { | ... | @@ -26,9 +26,9 @@ html { |
| 26 | height: 100%; | 26 | height: 100%; |
| 27 | } | 27 | } |
| 28 | 28 | ||
| 29 | -input { | 29 | +// input { |
| 30 | - background-color: #fff !important; | 30 | +// background-color: #fff !important; |
| 31 | -} | 31 | +// } |
| 32 | 32 | ||
| 33 | *, | 33 | *, |
| 34 | *:before, | 34 | *:before, |
| ... | @@ -194,11 +194,12 @@ aside { | ... | @@ -194,11 +194,12 @@ aside { |
| 194 | z-index: 1000 !important; | 194 | z-index: 1000 !important; |
| 195 | } | 195 | } |
| 196 | 196 | ||
| 197 | - | 197 | +.el-table__body-wrapper, |
| 198 | -.el-table__body-wrapper { | 198 | +.el-textarea__inner, |
| 199 | +body { | ||
| 199 | &::-webkit-scrollbar { | 200 | &::-webkit-scrollbar { |
| 200 | - height: 7px; | ||
| 201 | width: 7px; | 201 | width: 7px; |
| 202 | + height: 7px; | ||
| 202 | } | 203 | } |
| 203 | 204 | ||
| 204 | &::-webkit-scrollbar-track { | 205 | &::-webkit-scrollbar-track { |
| ... | @@ -207,20 +208,33 @@ aside { | ... | @@ -207,20 +208,33 @@ aside { |
| 207 | 208 | ||
| 208 | &::-webkit-scrollbar-thumb { | 209 | &::-webkit-scrollbar-thumb { |
| 209 | background-color: #ccc; | 210 | background-color: #ccc; |
| 211 | + border-radius: 20px; | ||
| 210 | } | 212 | } |
| 211 | 213 | ||
| 212 | &::-webkit-scrollbar-thumb:hover { | 214 | &::-webkit-scrollbar-thumb:hover { |
| 213 | background-color: #409eff; | 215 | background-color: #409eff; |
| 214 | } | 216 | } |
| 217 | + | ||
| 218 | + &::-webkit-scrollbar-track-piece { | ||
| 219 | + background: #F2F6FC; | ||
| 220 | + } | ||
| 215 | } | 221 | } |
| 216 | 222 | ||
| 217 | -.el-scrollbar__wrap { | 223 | +.el-table__header-wrapper { |
| 218 | - &::-webkit-scrollbar { | 224 | + .has-gutter { |
| 219 | - height: 0px; | 225 | + .gutter { |
| 220 | - width: 0px; | 226 | + display: none !important; |
| 227 | + } | ||
| 221 | } | 228 | } |
| 222 | } | 229 | } |
| 223 | 230 | ||
| 231 | +// .el-scrollbar__wrap { | ||
| 232 | +// &::-webkit-scrollbar { | ||
| 233 | +// height: 7px; | ||
| 234 | +// width: 7px; | ||
| 235 | +// } | ||
| 236 | +// } | ||
| 237 | + | ||
| 224 | // 解决表格固定列问题 | 238 | // 解决表格固定列问题 |
| 225 | .el-table__fixed, | 239 | .el-table__fixed, |
| 226 | .el-table__fixed-right { | 240 | .el-table__fixed-right { |
| ... | @@ -247,4 +261,35 @@ aside { | ... | @@ -247,4 +261,35 @@ aside { |
| 247 | // 当表格只有横向滚动条,没有纵向滚动条时 | 261 | // 当表格只有横向滚动条,没有纵向滚动条时 |
| 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; |
| 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; | ||
| 250 | } | 295 | } |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
src/components/HeaderSetting/index.vue
0 → 100644
| 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 |
This diff is collapsed. Click to expand it.
src/components/Tooltip/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="text-tooltip"> | ||
| 3 | + <el-tooltip class="item" effect="dark" :disabled="isShowTooltip" :content="content" :placement="placement"> | ||
| 4 | + <div class="over-flow" @mouseover="onMouseOver(refName)"> | ||
| 5 | + <span :ref="refName">{{ content }}</span> | ||
| 6 | + </div> | ||
| 7 | + </el-tooltip> | ||
| 8 | + </div> | ||
| 9 | +</template> | ||
| 10 | + | ||
| 11 | +<script> | ||
| 12 | +export default { | ||
| 13 | + name: 'textTooltip', | ||
| 14 | + props: { | ||
| 15 | + // 显示的文字内容 | ||
| 16 | + content: { | ||
| 17 | + type: String, | ||
| 18 | + default: () => { | ||
| 19 | + return '' | ||
| 20 | + } | ||
| 21 | + }, | ||
| 22 | + refName: { | ||
| 23 | + type: String, | ||
| 24 | + default: () => { | ||
| 25 | + return '' | ||
| 26 | + } | ||
| 27 | + }, | ||
| 28 | + placement: { | ||
| 29 | + type: String, | ||
| 30 | + default: 'top' | ||
| 31 | + } | ||
| 32 | + }, | ||
| 33 | + data() { | ||
| 34 | + return { | ||
| 35 | + isShowTooltip: true | ||
| 36 | + } | ||
| 37 | + }, | ||
| 38 | + methods: { | ||
| 39 | + onMouseOver(str) { | ||
| 40 | + if (this.$refs[str]) { | ||
| 41 | + const parentWidth = this.$refs[str].parentNode.offsetWidth; | ||
| 42 | + const contentWidth = this.$refs[str].offsetWidth; | ||
| 43 | + // 判断是否开启tooltip功能 | ||
| 44 | + if (contentWidth > parentWidth) { | ||
| 45 | + this.isShowTooltip = false; | ||
| 46 | + } else { | ||
| 47 | + this.isShowTooltip = true; | ||
| 48 | + } | ||
| 49 | + } | ||
| 50 | + } | ||
| 51 | + } | ||
| 52 | +} | ||
| 53 | +</script> | ||
| 54 | + | ||
| 55 | +<style scoped> | ||
| 56 | +.over-flow { | ||
| 57 | + overflow: hidden; | ||
| 58 | + white-space: nowrap; | ||
| 59 | + text-overflow: ellipsis; | ||
| 60 | +} | ||
| 61 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -11,16 +11,20 @@ import App from './App' | ... | @@ -11,16 +11,20 @@ import App from './App' |
| 11 | import store from './store' | 11 | import store from './store' |
| 12 | import router from './router' | 12 | import router from './router' |
| 13 | import permission from './directive/permission' | 13 | import permission from './directive/permission' |
| 14 | -// import i18n from './i18n/index' | ||
| 15 | 14 | ||
| 16 | import './assets/icons' // icon | 15 | import './assets/icons' // icon |
| 17 | import './permission' // permission control | 16 | import './permission' // permission control |
| 18 | import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, upCase, nowDate } from "@/utils/FedEx"; | 17 | import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, upCase, nowDate } from "@/utils/FedEx"; |
| 18 | +import { isArray } from "@/utils/validate"; | ||
| 19 | import Pagination from "@/components/Pagination"; | 19 | import Pagination from "@/components/Pagination"; |
| 20 | // 自定义表格工具扩展 | 20 | // 自定义表格工具扩展 |
| 21 | import RightToolbar from "@/components/RightToolbar" | 21 | import RightToolbar from "@/components/RightToolbar" |
| 22 | import Table from "@/components/Table" | 22 | import Table from "@/components/Table" |
| 23 | +import Tooltip from "@/components/Tooltip" | ||
| 24 | +import HeaderSetting from "@/components/HeaderSetting" | ||
| 23 | import tableHeaders from '@/assets/languages/tableHeaders' | 25 | import tableHeaders from '@/assets/languages/tableHeaders' |
| 26 | +import dictLabels from "@/assets/languages/dictLabels.js"; | ||
| 27 | +import settings from './settings.js' | ||
| 24 | 28 | ||
| 25 | // 全局方法挂载 | 29 | // 全局方法挂载 |
| 26 | Vue.prototype.parseTime = parseTime | 30 | Vue.prototype.parseTime = parseTime |
| ... | @@ -32,7 +36,10 @@ Vue.prototype.download = download | ... | @@ -32,7 +36,10 @@ Vue.prototype.download = download |
| 32 | Vue.prototype.handleTree = handleTree | 36 | Vue.prototype.handleTree = handleTree |
| 33 | Vue.prototype.upCase = upCase | 37 | Vue.prototype.upCase = upCase |
| 34 | Vue.prototype.nowDate = nowDate | 38 | Vue.prototype.nowDate = nowDate |
| 39 | +Vue.prototype.isArray = isArray | ||
| 35 | Vue.prototype.tableHeaders = tableHeaders | 40 | Vue.prototype.tableHeaders = tableHeaders |
| 41 | +Vue.prototype.dictLabels = dictLabels | ||
| 42 | +Vue.prototype.settings = settings | ||
| 36 | 43 | ||
| 37 | Vue.prototype.msgSuccess = function (msg) { | 44 | Vue.prototype.msgSuccess = function (msg) { |
| 38 | this.$message({ showClose: true, message: msg, type: "success" }); | 45 | this.$message({ showClose: true, message: msg, type: "success" }); |
| ... | @@ -54,6 +61,8 @@ Vue.prototype.msgInfo = function (msg) { | ... | @@ -54,6 +61,8 @@ Vue.prototype.msgInfo = function (msg) { |
| 54 | Vue.component('Pagination', Pagination) | 61 | Vue.component('Pagination', Pagination) |
| 55 | Vue.component('RightToolbar', RightToolbar) | 62 | Vue.component('RightToolbar', RightToolbar) |
| 56 | Vue.component('Tables', Table) | 63 | Vue.component('Tables', Table) |
| 64 | +Vue.component('Tooltips', Tooltip) | ||
| 65 | +Vue.component('HeaderSetting', HeaderSetting) | ||
| 57 | 66 | ||
| 58 | Vue.use(permission) | 67 | Vue.use(permission) |
| 59 | /** | 68 | /** |
| ... | @@ -65,6 +74,13 @@ Vue.use(permission) | ... | @@ -65,6 +74,13 @@ Vue.use(permission) |
| 65 | * please remove it before going online! ! ! | 74 | * please remove it before going online! ! ! |
| 66 | */ | 75 | */ |
| 67 | 76 | ||
| 77 | +window.addEventListener("keydown", (code) => { | ||
| 78 | + if (code.keyCode === 13) { | ||
| 79 | + return false | ||
| 80 | + } | ||
| 81 | +}); | ||
| 82 | + | ||
| 83 | + | ||
| 68 | Vue.use(Element, { | 84 | Vue.use(Element, { |
| 69 | //size: Cookies.get('size') || 'medium' // set element-ui default size | 85 | //size: Cookies.get('size') || 'medium' // set element-ui default size |
| 70 | // size: localStorage.getItem('size') || 'medium' // set element-ui default size | 86 | // size: localStorage.getItem('size') || 'medium' // set element-ui default size |
| ... | @@ -76,6 +92,5 @@ new Vue({ | ... | @@ -76,6 +92,5 @@ new Vue({ |
| 76 | el: '#app', | 92 | el: '#app', |
| 77 | router, | 93 | router, |
| 78 | store, | 94 | store, |
| 79 | - // i18n, | ||
| 80 | render: h => h(App) | 95 | render: h => h(App) |
| 81 | }) | 96 | }) | ... | ... |
| ... | @@ -16,10 +16,12 @@ router.beforeEach((to, from, next) => { | ... | @@ -16,10 +16,12 @@ router.beforeEach((to, from, next) => { |
| 16 | if (store.getters.roles.length === 0) { | 16 | if (store.getters.roles.length === 0) { |
| 17 | // 判断当前用户是否已拉取完user_info信息 | 17 | // 判断当前用户是否已拉取完user_info信息 |
| 18 | store.dispatch('GetInfo').then(() => { | 18 | store.dispatch('GetInfo').then(() => { |
| 19 | - store.dispatch('GenerateRoutes').then(accessRoutes => { | 19 | + store.dispatch('GetTableHeaders').then(() => { |
| 20 | - // 根据roles权限生成可访问的路由表 | 20 | + store.dispatch('GenerateRoutes').then(accessRoutes => { |
| 21 | - router.addRoutes(accessRoutes) // 动态添加可访问路由表 | 21 | + // 根据roles权限生成可访问的路由表 |
| 22 | - next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 | 22 | + router.addRoutes(accessRoutes) // 动态添加可访问路由表 |
| 23 | + next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 | ||
| 24 | + }) | ||
| 23 | }) | 25 | }) |
| 24 | }).catch(err => { | 26 | }).catch(err => { |
| 25 | Message.error(err) | 27 | Message.error(err) |
| ... | @@ -48,7 +50,6 @@ router.beforeEach((to, from, next) => { | ... | @@ -48,7 +50,6 @@ router.beforeEach((to, from, next) => { |
| 48 | window.location.href = settings.logoutURL;//wsso系统跳转 | 50 | window.location.href = settings.logoutURL;//wsso系统跳转 |
| 49 | } | 51 | } |
| 50 | } | 52 | } |
| 51 | - | ||
| 52 | } | 53 | } |
| 53 | }) | 54 | }) |
| 54 | 55 | ... | ... |
| ... | @@ -84,7 +84,13 @@ export const constantRoutes = [ | ... | @@ -84,7 +84,13 @@ export const constantRoutes = [ |
| 84 | component: (resolve) => require(['@/views/allocationConfig/flightAllocConfig/info'], resolve), | 84 | component: (resolve) => require(['@/views/allocationConfig/flightAllocConfig/info'], resolve), |
| 85 | name: 'FlightAllocConfigAdd', | 85 | name: 'FlightAllocConfigAdd', |
| 86 | meta: { title: '添加航班配舱', icon: 'user', breadcrumb: false } | 86 | meta: { title: '添加航班配舱', icon: 'user', breadcrumb: false } |
| 87 | - } | 87 | + }, |
| 88 | + { | ||
| 89 | + path: '/weatherTable', | ||
| 90 | + component: (resolve) => require(['@/views/systemLog/dmLog/weatherTable'], resolve), | ||
| 91 | + name: 'weatherTable', | ||
| 92 | + meta: { title: '流水表', icon: 'user' } | ||
| 93 | + }, | ||
| 88 | ] | 94 | ] |
| 89 | } | 95 | } |
| 90 | ] | 96 | ] | ... | ... |
| ... | @@ -17,5 +17,6 @@ const getters = { | ... | @@ -17,5 +17,6 @@ const getters = { |
| 17 | defaultRoutes: state => state.permission.defaultRoutes, | 17 | defaultRoutes: state => state.permission.defaultRoutes, |
| 18 | sidebarRouters: state => state.permission.sidebarRouters, | 18 | sidebarRouters: state => state.permission.sidebarRouters, |
| 19 | filghtAllData: state => state.permission.filghtAllData, | 19 | filghtAllData: state => state.permission.filghtAllData, |
| 20 | + tableHeader: state => state.user.tableHeader | ||
| 20 | } | 21 | } |
| 21 | export default getters | 22 | export default getters | ... | ... |
| 1 | import { login, logout, getInfo } from '@/api/login' | 1 | import { login, logout, getInfo } from '@/api/login' |
| 2 | +import { getTableHeader } from '@/api/menu' | ||
| 2 | import { changeCurrentPort } from "@/api/system/user.js"; | 3 | import { changeCurrentPort } from "@/api/system/user.js"; |
| 3 | import { getToken, setToken, removeToken } from '@/utils/auth' | 4 | import { getToken, setToken, removeToken } from '@/utils/auth' |
| 4 | import { Message } from 'element-ui' | 5 | import { Message } from 'element-ui' |
| ... | @@ -9,9 +10,10 @@ const user = { | ... | @@ -9,9 +10,10 @@ const user = { |
| 9 | name: '', | 10 | name: '', |
| 10 | avatar: '', | 11 | avatar: '', |
| 11 | activePortName: '', | 12 | activePortName: '', |
| 12 | - portNames:[], | 13 | + portNames: [], |
| 13 | roles: [], | 14 | roles: [], |
| 14 | - permissions: [] | 15 | + permissions: [], |
| 16 | + tableHeader: null | ||
| 15 | }, | 17 | }, |
| 16 | 18 | ||
| 17 | mutations: { | 19 | mutations: { |
| ... | @@ -28,7 +30,7 @@ const user = { | ... | @@ -28,7 +30,7 @@ const user = { |
| 28 | state.activePortName = activePortName | 30 | state.activePortName = activePortName |
| 29 | sessionStorage.setItem('portName', activePortName) | 31 | sessionStorage.setItem('portName', activePortName) |
| 30 | }, | 32 | }, |
| 31 | - SET_PORTNAMES:(state,portNames)=>{ | 33 | + SET_PORTNAMES: (state, portNames) => { |
| 32 | state.portNames = portNames | 34 | state.portNames = portNames |
| 33 | }, | 35 | }, |
| 34 | SET_ROLES: (state, roles) => { | 36 | SET_ROLES: (state, roles) => { |
| ... | @@ -36,7 +38,10 @@ const user = { | ... | @@ -36,7 +38,10 @@ const user = { |
| 36 | }, | 38 | }, |
| 37 | SET_PERMISSIONS: (state, permissions) => { | 39 | SET_PERMISSIONS: (state, permissions) => { |
| 38 | state.permissions = permissions | 40 | state.permissions = permissions |
| 39 | - } | 41 | + }, |
| 42 | + SAVE_TABLEHEADER: (state, table) => { | ||
| 43 | + state.tableHeader = table | ||
| 44 | + }, | ||
| 40 | }, | 45 | }, |
| 41 | 46 | ||
| 42 | actions: { | 47 | actions: { |
| ... | @@ -49,7 +54,7 @@ const user = { | ... | @@ -49,7 +54,7 @@ const user = { |
| 49 | 54 | ||
| 50 | return new Promise((resolve, reject) => { | 55 | return new Promise((resolve, reject) => { |
| 51 | login(username, password, rememberMe).then(res => { | 56 | login(username, password, rememberMe).then(res => { |
| 52 | - if(res.code === 200){ | 57 | + if (res.code === 200) { |
| 53 | setToken(res.data) | 58 | setToken(res.data) |
| 54 | commit('SET_TOKEN', res.data) | 59 | commit('SET_TOKEN', res.data) |
| 55 | } | 60 | } |
| ... | @@ -60,6 +65,25 @@ const user = { | ... | @@ -60,6 +65,25 @@ const user = { |
| 60 | }) | 65 | }) |
| 61 | }, | 66 | }, |
| 62 | 67 | ||
| 68 | + //获取表头 | ||
| 69 | + GetTableHeaders({ commit, state }) { | ||
| 70 | + return new Promise((resolve, reject) => { | ||
| 71 | + getTableHeader().then(res => { | ||
| 72 | + if (res.code === 200) { | ||
| 73 | + commit('SAVE_TABLEHEADER', res.data) | ||
| 74 | + } | ||
| 75 | + resolve(res) | ||
| 76 | + }).catch(err => { | ||
| 77 | + reject(err) | ||
| 78 | + }) | ||
| 79 | + }) | ||
| 80 | + }, | ||
| 81 | + | ||
| 82 | + //保存表头 | ||
| 83 | + SavetableHeader({ commit, state }, data) { | ||
| 84 | + commit('SAVE_TABLEHEADER', data) | ||
| 85 | + }, | ||
| 86 | + | ||
| 63 | // 获取用户信息 | 87 | // 获取用户信息 |
| 64 | GetInfo({ commit, state }) { | 88 | GetInfo({ commit, state }) { |
| 65 | return new Promise((resolve, reject) => { | 89 | return new Promise((resolve, reject) => { |
| ... | @@ -67,16 +91,16 @@ const user = { | ... | @@ -67,16 +91,16 @@ const user = { |
| 67 | const user = res.data.user | 91 | const user = res.data.user |
| 68 | const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; | 92 | const avatar = user.avatar == "" ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; |
| 69 | let ports = []; | 93 | let ports = []; |
| 70 | - if(user.portName){ | 94 | + if (user.portName) { |
| 71 | ports = user.portName.split(','); | 95 | ports = user.portName.split(','); |
| 72 | - commit('SET_PORTNAMES',ports) | 96 | + commit('SET_PORTNAMES', ports) |
| 73 | - commit('SET_ACTIVEPORTNAME', sessionStorage.getItem('portName')?sessionStorage.getItem('portName'):state.portNames[0]) | 97 | + commit('SET_ACTIVEPORTNAME', sessionStorage.getItem('portName') ? sessionStorage.getItem('portName') : state.portNames[0]) |
| 74 | - }else{ | 98 | + } else { |
| 75 | Message({ | 99 | Message({ |
| 76 | message: "未找到口岸信息!请确认后再登录", | 100 | message: "未找到口岸信息!请确认后再登录", |
| 77 | type: 'error' | 101 | type: 'error' |
| 78 | }) | 102 | }) |
| 79 | - this.LogOut().then(()=>{ | 103 | + this.LogOut().then(() => { |
| 80 | window.location.href = "https://test-myapps.secure.fedex.com/purpleid/signout/";//wsso系统跳转 | 104 | window.location.href = "https://test-myapps.secure.fedex.com/purpleid/signout/";//wsso系统跳转 |
| 81 | }) | 105 | }) |
| 82 | } | 106 | } |
| ... | @@ -98,12 +122,12 @@ const user = { | ... | @@ -98,12 +122,12 @@ const user = { |
| 98 | //切换口岸 | 122 | //切换口岸 |
| 99 | changePort({ commit }, portName) { | 123 | changePort({ commit }, portName) { |
| 100 | return new Promise((resolve, reject) => { | 124 | return new Promise((resolve, reject) => { |
| 101 | - changeCurrentPort({ portName: portName }).then(res=>{ | 125 | + changeCurrentPort({ portName: portName }).then(res => { |
| 102 | - if(res.code === 200){ | 126 | + if (res.code === 200) { |
| 103 | - commit('SET_ACTIVEPORTNAME',portName) | 127 | + commit('SET_ACTIVEPORTNAME', portName) |
| 104 | } | 128 | } |
| 105 | resolve(res) | 129 | resolve(res) |
| 106 | - }).catch(err=>{ | 130 | + }).catch(err => { |
| 107 | reject(err) | 131 | reject(err) |
| 108 | }) | 132 | }) |
| 109 | }) | 133 | }) | ... | ... |
| ... | @@ -177,7 +177,7 @@ export function handleTree(data, id, parentId, children) { | ... | @@ -177,7 +177,7 @@ export function handleTree(data, id, parentId, children) { |
| 177 | 177 | ||
| 178 | //字符串英文转大写,;转英文; | 178 | //字符串英文转大写,;转英文; |
| 179 | export function upCase(str) { | 179 | export function upCase(str) { |
| 180 | - let newStr = str.replace(/;/g, ";").toUpperCase(); | 180 | + let newStr = str.replace(/;/g, ";").toUpperCase().trim(); |
| 181 | return newStr; | 181 | return newStr; |
| 182 | } | 182 | } |
| 183 | 183 | ... | ... |
| ... | @@ -5,12 +5,12 @@ import { parseTime } from './FedEx' | ... | @@ -5,12 +5,12 @@ import { parseTime } from './FedEx' |
| 5 | */ | 5 | */ |
| 6 | export function formatDate(cellValue) { | 6 | export function formatDate(cellValue) { |
| 7 | if (cellValue == null || cellValue == "") return ""; | 7 | if (cellValue == null || cellValue == "") return ""; |
| 8 | - var date = new Date(cellValue) | 8 | + var date = new Date(cellValue) |
| 9 | var year = date.getFullYear() | 9 | var year = date.getFullYear() |
| 10 | var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 | 10 | var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 |
| 11 | - var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() | 11 | + var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() |
| 12 | - var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() | 12 | + var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() |
| 13 | - var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() | 13 | + var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() |
| 14 | var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() | 14 | var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() |
| 15 | return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds | 15 | return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds |
| 16 | } | 16 | } |
| ... | @@ -218,7 +218,7 @@ export function getTime(type) { | ... | @@ -218,7 +218,7 @@ export function getTime(type) { |
| 218 | export function debounce(func, wait, immediate) { | 218 | export function debounce(func, wait, immediate) { |
| 219 | let timeout, args, context, timestamp, result | 219 | let timeout, args, context, timestamp, result |
| 220 | 220 | ||
| 221 | - const later = function() { | 221 | + const later = function () { |
| 222 | // 据上一次触发时间间隔 | 222 | // 据上一次触发时间间隔 |
| 223 | const last = +new Date() - timestamp | 223 | const last = +new Date() - timestamp |
| 224 | 224 | ||
| ... | @@ -235,7 +235,7 @@ export function debounce(func, wait, immediate) { | ... | @@ -235,7 +235,7 @@ export function debounce(func, wait, immediate) { |
| 235 | } | 235 | } |
| 236 | } | 236 | } |
| 237 | 237 | ||
| 238 | - return function(...args) { | 238 | + return function (...args) { |
| 239 | context = this | 239 | context = this |
| 240 | timestamp = +new Date() | 240 | timestamp = +new Date() |
| 241 | const callNow = immediate && !timeout | 241 | const callNow = immediate && !timeout |
| ... | @@ -330,7 +330,7 @@ export function makeMap(str, expectsLowerCase) { | ... | @@ -330,7 +330,7 @@ export function makeMap(str, expectsLowerCase) { |
| 330 | ? val => map[val.toLowerCase()] | 330 | ? val => map[val.toLowerCase()] |
| 331 | : val => map[val] | 331 | : val => map[val] |
| 332 | } | 332 | } |
| 333 | - | 333 | + |
| 334 | export const exportDefault = 'export default ' | 334 | export const exportDefault = 'export default ' |
| 335 | 335 | ||
| 336 | export const beautifierConf = { | 336 | export const beautifierConf = { |
| ... | @@ -387,4 +387,4 @@ export function camelCase(str) { | ... | @@ -387,4 +387,4 @@ export function camelCase(str) { |
| 387 | export function isNumberStr(str) { | 387 | export function isNumberStr(str) { |
| 388 | return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) | 388 | return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str) |
| 389 | } | 389 | } |
| 390 | - | 390 | + | ... | ... |
This diff is collapsed. Click to expand it.
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div> |
| 3 | - <el-dialog title="货物配舱" width="80%" :visible.sync="dialogVisible" :close-on-click-modal="false" | 3 | + <el-dialog title="货物配舱" width="80%" :visible.sync="dialogVisible" :close-on-click-modal="false" :show-close="false" |
| 4 | :append-to-body="true"> | 4 | :append-to-body="true"> |
| 5 | <el-divider content-position="left">已选货物信息</el-divider> | 5 | <el-divider content-position="left">已选货物信息</el-divider> |
| 6 | <el-table :data="tableData" size="mini" height="200" max-height="200" border stripe highlight-current-row | 6 | <el-table :data="tableData" size="mini" height="200" max-height="200" border stripe highlight-current-row |
| ... | @@ -32,7 +32,7 @@ | ... | @@ -32,7 +32,7 @@ |
| 32 | 32 | ||
| 33 | <script> | 33 | <script> |
| 34 | import { allocationFlight } from "@/api/cargoSelect"; | 34 | import { allocationFlight } from "@/api/cargoSelect"; |
| 35 | -import { MessageBox } from "element-ui"; | 35 | + |
| 36 | export default { | 36 | export default { |
| 37 | props: { | 37 | props: { |
| 38 | dialogVisible: { | 38 | dialogVisible: { |
| ... | @@ -109,14 +109,11 @@ export default { | ... | @@ -109,14 +109,11 @@ export default { |
| 109 | this.loading = false; | 109 | this.loading = false; |
| 110 | //code 200 配舱成功 202 重量已满需要确认 其余code直接输出msg | 110 | //code 200 配舱成功 202 重量已满需要确认 其余code直接输出msg |
| 111 | if (res.code === 200) { | 111 | if (res.code === 200) { |
| 112 | - this.$message({ | 112 | + this.msgSuccess('货物配舱成功') |
| 113 | - message: "货物配舱成功", | ||
| 114 | - type: "success", | ||
| 115 | - }); | ||
| 116 | this.cleaerForm(); | 113 | this.cleaerForm(); |
| 117 | this.$emit("dialogBeforeClose", { close: false, reload: true }); | 114 | this.$emit("dialogBeforeClose", { close: false, reload: true }); |
| 118 | } else if (res.code === 202) { | 115 | } else if (res.code === 202) { |
| 119 | - MessageBox.confirm(res.msg, "提示", { | 116 | + this.$confirm(res.msg, "提示", { |
| 120 | confirmButtonText: "确定", | 117 | confirmButtonText: "确定", |
| 121 | cancelButtonText: "取消", | 118 | cancelButtonText: "取消", |
| 122 | type: "warning", | 119 | type: "warning", |
| ... | @@ -125,15 +122,9 @@ export default { | ... | @@ -125,15 +122,9 @@ export default { |
| 125 | this.formData.overweight = true; //确定继续overweight变为true再次请求接口 | 122 | this.formData.overweight = true; //确定继续overweight变为true再次请求接口 |
| 126 | allocationFlight(this.formData).then((res) => { | 123 | allocationFlight(this.formData).then((res) => { |
| 127 | if (res.code === 200) { | 124 | if (res.code === 200) { |
| 128 | - this.$message({ | 125 | + this.msgSuccess('货物配舱成功') |
| 129 | - message: "货物配舱成功", | ||
| 130 | - type: "success", | ||
| 131 | - }); | ||
| 132 | } else { | 126 | } else { |
| 133 | - this.$message({ | 127 | + this.msgWarning(res.msg) |
| 134 | - message: res.msg, | ||
| 135 | - type: "warning", | ||
| 136 | - }); | ||
| 137 | } | 128 | } |
| 138 | }); | 129 | }); |
| 139 | this.cleaerForm(); | 130 | this.cleaerForm(); |
| ... | @@ -141,10 +132,7 @@ export default { | ... | @@ -141,10 +132,7 @@ export default { |
| 141 | }) | 132 | }) |
| 142 | .catch(() => { | 133 | .catch(() => { |
| 143 | //取消 取消当前配舱 | 134 | //取消 取消当前配舱 |
| 144 | - this.$message({ | 135 | + this.msgSuccess('配舱已取消') |
| 145 | - message: "配舱已取消", | ||
| 146 | - type: "success", | ||
| 147 | - }); | ||
| 148 | this.cleaerForm(); | 136 | this.cleaerForm(); |
| 149 | this.$emit("dialogBeforeClose", { | 137 | this.$emit("dialogBeforeClose", { |
| 150 | close: false, | 138 | close: false, |
| ... | @@ -153,20 +141,14 @@ export default { | ... | @@ -153,20 +141,14 @@ export default { |
| 153 | }); | 141 | }); |
| 154 | } else { | 142 | } else { |
| 155 | this.loading = false; | 143 | this.loading = false; |
| 156 | - this.$message({ | 144 | + this.msgWarning(res.msg) |
| 157 | - message: res.msg, | ||
| 158 | - type: "warning", | ||
| 159 | - }); | ||
| 160 | } | 145 | } |
| 161 | }).catch(() => { | 146 | }).catch(() => { |
| 162 | this.loading = false; | 147 | this.loading = false; |
| 163 | }); | 148 | }); |
| 164 | } else { | 149 | } else { |
| 165 | this.loading = false; | 150 | this.loading = false; |
| 166 | - this.$message({ | 151 | + this.msgWarning('航班号或航班日期不能为空') |
| 167 | - message: "航班号或航班日期不能为空", | ||
| 168 | - type: "warning", | ||
| 169 | - }); | ||
| 170 | } | 152 | } |
| 171 | }, | 153 | }, |
| 172 | dialogBeforeClose() { | 154 | dialogBeforeClose() { |
| ... | @@ -191,7 +173,7 @@ export default { | ... | @@ -191,7 +173,7 @@ export default { |
| 191 | return this.formData.fltNo; | 173 | return this.formData.fltNo; |
| 192 | }, | 174 | }, |
| 193 | set: function (val) { | 175 | set: function (val) { |
| 194 | - this.formData.fltNo = val.toUpperCase(); | 176 | + this.formData.fltNo = this.upCase(val); |
| 195 | }, | 177 | }, |
| 196 | }, | 178 | }, |
| 197 | }, | 179 | }, | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div> |
| 3 | - <el-form :inline="true" :model="queryParams" class="form-header" size="medium" label-position="right" | 3 | + <el-form ref="flightAllocForm" :inline="true" :model="queryParams" class="form-header" size="medium" |
| 4 | - label-width="auto"> | 4 | + label-position="right" label-width="auto"> |
| 5 | <el-form-item label="航班号"> | 5 | <el-form-item label="航班号"> |
| 6 | - <el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList" clearable></el-input> | 6 | + <el-input v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList"></el-input> |
| 7 | </el-form-item> | 7 | </el-form-item> |
| 8 | <el-form-item label="状态"> | 8 | <el-form-item label="状态"> |
| 9 | - <el-select v-model="queryParams.status" placeholder="状态" clearable> | 9 | + <el-select v-model="queryParams.status" placeholder="状态"> |
| 10 | <el-option label="有效" value="1"></el-option> | 10 | <el-option label="有效" value="1"></el-option> |
| 11 | <el-option label="停用" value="3"></el-option> | 11 | <el-option label="停用" value="3"></el-option> |
| 12 | </el-select> | 12 | </el-select> |
| 13 | </el-form-item> | 13 | </el-form-item> |
| 14 | <el-form-item> | 14 | <el-form-item> |
| 15 | - <el-button type="primary" icon="el-icon-search" @click="getList" size="mini">查询</el-button> | 15 | + <el-button type="primary" icon="el-icon-search" :loading="loading" @click="getList" size="mini">查询</el-button> |
| 16 | </el-form-item> | 16 | </el-form-item> |
| 17 | <div> | 17 | <div> |
| 18 | - <el-button style="margin-bottom: 20px" type="primary" icon="el-icon-plus" size="mini" | 18 | + <el-button class="mb20" type="primary" icon="el-icon-plus" size="mini" v-hasPermi="['allocation:alloc:add']" |
| 19 | - v-hasPermi="['allocation:alloc:add']" @click=" | 19 | + @click=" |
| 20 | $router.push({ | 20 | $router.push({ |
| 21 | name: 'FlightAllocConfigAdd', | 21 | name: 'FlightAllocConfigAdd', |
| 22 | params: { handle: 'add' }, | 22 | params: { handle: 'add' }, |
| ... | @@ -24,44 +24,27 @@ | ... | @@ -24,44 +24,27 @@ |
| 24 | ">添加</el-button> | 24 | ">添加</el-button> |
| 25 | </div> | 25 | </div> |
| 26 | </el-form> | 26 | </el-form> |
| 27 | - | 27 | + <Tables ref="newTables" ductName="FlightAlloc" :data="flyList" :headerData="tableHeaders['flightAlloc']" |
| 28 | - <el-table :data="flyList" v-loading="loading" size="small" highlight-current-row border stripe> | 28 | + :order="true" :totalCount="total" :loading="loading" :limitSize="queryParams.limit" |
| 29 | - <el-table-column prop="purposeOfFlightNo" label="航班号" align="center"></el-table-column> | 29 | + :limitStart="queryParams.start" :page="curPage" :pageSizes="[20]" :height="tableHeight" |
| 30 | - | 30 | + @currentChange="currentChange"> |
| 31 | - <el-table-column prop="status" label="状态" align="center"> | 31 | + <template slot="optionColumn"> |
| 32 | - <template slot-scope="scope"> | 32 | + <el-table-column label="操作" prop="id" align="center"> |
| 33 | - <span v-if="scope.row.status === '0'">无效</span> | 33 | + <template slot-scope="scope"> |
| 34 | - <span v-if="scope.row.status === '1'">有效</span> | 34 | + <el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看 |
| 35 | - <span v-if="scope.row.status === '2'">配置中</span> | 35 | + </el-button> |
| 36 | - <span v-if="scope.row.status === '3'">停用</span> | 36 | + <el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']" |
| 37 | - </template> | 37 | + @click="handleClick(scope.row.id, 'update')">修改</el-button> |
| 38 | - </el-table-column> | 38 | + <el-button type="text" size="mini" icon="el-icon-delete" style="color:#ff4949" |
| 39 | - | 39 | + v-hasPermi="['allocation:alloc:delete']" @click="del(scope.row.id, scope.row.status)">删除</el-button> |
| 40 | - <el-table-column prop="createUserName" label="操作人" align="center"> | 40 | + <el-button type="text" size="mini" icon="el-icon-video-pause" v-hasPermi="['allocation:alloc:openClose']" |
| 41 | - </el-table-column> | 41 | + @click="changeStatus(scope.row.id, 3)" v-if="scope.row.status == '1'">停用</el-button> |
| 42 | - | 42 | + <el-button type="text" size="mini" icon="el-icon-video-play" v-hasPermi="['allocation:alloc:openClose']" |
| 43 | - <el-table-column prop="createTime" label="更新时间" align="center"> | 43 | + @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button> |
| 44 | - </el-table-column> | 44 | + </template> |
| 45 | - | 45 | + </el-table-column> |
| 46 | - <el-table-column label="操作" prop="id" align="center"> | 46 | + </template> |
| 47 | - <template slot-scope="scope"> | 47 | + </Tables> |
| 48 | - <el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看 | ||
| 49 | - </el-button> | ||
| 50 | - <el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']" | ||
| 51 | - @click="handleClick(scope.row.id, 'update')">修改</el-button> | ||
| 52 | - <el-button type="text" size="mini" icon="el-icon-delete" v-hasPermi="['allocation:alloc:delete']" | ||
| 53 | - @click="del(scope.row.id, scope.row.status)" style="color:#ff4949">删除</el-button> | ||
| 54 | - <el-button type="text" size="mini" icon="el-icon-video-pause" v-hasPermi="['allocation:alloc:openClose']" | ||
| 55 | - @click="changeStatus(scope.row.id, 3)" v-if="scope.row.status == '1'">停用</el-button> | ||
| 56 | - <el-button type="text" size="mini" icon="el-icon-video-play" v-hasPermi="['allocation:alloc:openClose']" | ||
| 57 | - @click="changeStatus(scope.row.id, 1)" v-else>启用</el-button> | ||
| 58 | - </template> | ||
| 59 | - </el-table-column> | ||
| 60 | - </el-table> | ||
| 61 | - <el-pagination @size-change="getList" @current-change="getList" :current-page.sync="curPage" | ||
| 62 | - :page-sizes="[10, 20, 30, 40]" :page-size.sync="limit" layout="prev, pager, next, jumper, sizes, total" | ||
| 63 | - :total="total" background :hide-on-single-page="true" style="margin-top: 40px; text-align: right"> | ||
| 64 | - </el-pagination> | ||
| 65 | </div> | 48 | </div> |
| 66 | </template> | 49 | </template> |
| 67 | 50 | ||
| ... | @@ -80,12 +63,12 @@ export default { | ... | @@ -80,12 +63,12 @@ export default { |
| 80 | purposeOfFlightNo: "", | 63 | purposeOfFlightNo: "", |
| 81 | status: "1", | 64 | status: "1", |
| 82 | start: 0, | 65 | start: 0, |
| 83 | - limit: 10, | 66 | + limit: 20, |
| 84 | }, | 67 | }, |
| 85 | flyList: [], | 68 | flyList: [], |
| 86 | curPage: 1, | 69 | curPage: 1, |
| 87 | - limit: 10, | ||
| 88 | total: 0, | 70 | total: 0, |
| 71 | + tableHeight: null, | ||
| 89 | loading: false, | 72 | loading: false, |
| 90 | }; | 73 | }; |
| 91 | }, | 74 | }, |
| ... | @@ -94,6 +77,9 @@ export default { | ... | @@ -94,6 +77,9 @@ export default { |
| 94 | this.getList(); | 77 | this.getList(); |
| 95 | } | 78 | } |
| 96 | }, | 79 | }, |
| 80 | + mounted() { | ||
| 81 | + this.tableHeight = window.innerHeight - this.$refs.flightAllocForm.$el.offsetHeight - 200 | ||
| 82 | + }, | ||
| 97 | activated() { | 83 | activated() { |
| 98 | this.getList() | 84 | this.getList() |
| 99 | }, | 85 | }, |
| ... | @@ -102,7 +88,6 @@ export default { | ... | @@ -102,7 +88,6 @@ export default { |
| 102 | }, | 88 | }, |
| 103 | methods: { | 89 | methods: { |
| 104 | getList() { | 90 | getList() { |
| 105 | - this.queryParams.limit = this.limit; | ||
| 106 | if (this.curPage > 1) { | 91 | if (this.curPage > 1) { |
| 107 | this.queryParams.start = (this.curPage - 1) * this.queryParams.limit; | 92 | this.queryParams.start = (this.curPage - 1) * this.queryParams.limit; |
| 108 | } else { | 93 | } else { |
| ... | @@ -111,11 +96,7 @@ export default { | ... | @@ -111,11 +96,7 @@ export default { |
| 111 | this.loading = true; | 96 | this.loading = true; |
| 112 | findFlightNo(this.queryParams).then((response) => { | 97 | findFlightNo(this.queryParams).then((response) => { |
| 113 | if (response.code != 200) { | 98 | if (response.code != 200) { |
| 114 | - this.$message({ | 99 | + this.msgWarning(response.msg) |
| 115 | - showClose: true, | ||
| 116 | - message: response.msg, | ||
| 117 | - type: "error", | ||
| 118 | - }); | ||
| 119 | return; | 100 | return; |
| 120 | } | 101 | } |
| 121 | this.flyList = response.data.list; | 102 | this.flyList = response.data.list; |
| ... | @@ -147,11 +128,8 @@ export default { | ... | @@ -147,11 +128,8 @@ export default { |
| 147 | }).then(() => { | 128 | }).then(() => { |
| 148 | delFlightId(id) | 129 | delFlightId(id) |
| 149 | .then((res) => { | 130 | .then((res) => { |
| 150 | - this.$message({ | 131 | + res.code === 200 ? this.msgSuccess(res.msg) : this.msgWarning(res.msg) |
| 151 | - message: res.msg, | 132 | + this.getList() |
| 152 | - type: res.code === 200 ? "success" : "warning", | ||
| 153 | - }); | ||
| 154 | - this.getList(); | ||
| 155 | }) | 133 | }) |
| 156 | .catch(() => { }); | 134 | .catch(() => { }); |
| 157 | }); | 135 | }); |
| ... | @@ -177,6 +155,12 @@ export default { | ... | @@ -177,6 +155,12 @@ export default { |
| 177 | .catch(() => { }); | 155 | .catch(() => { }); |
| 178 | }); | 156 | }); |
| 179 | }, | 157 | }, |
| 158 | + //翻页 | ||
| 159 | + currentChange(val) { | ||
| 160 | + this.curPage = val.page | ||
| 161 | + this.queryParams.start = val.start; | ||
| 162 | + this.getList(); | ||
| 163 | + } | ||
| 180 | }, | 164 | }, |
| 181 | computed: { | 165 | computed: { |
| 182 | purposeOfFlightNo: { | 166 | purposeOfFlightNo: { |
| ... | @@ -184,7 +168,7 @@ export default { | ... | @@ -184,7 +168,7 @@ export default { |
| 184 | return this.queryParams.purposeOfFlightNo; | 168 | return this.queryParams.purposeOfFlightNo; |
| 185 | }, | 169 | }, |
| 186 | set: function (val) { | 170 | set: function (val) { |
| 187 | - this.queryParams.purposeOfFlightNo = val.toUpperCase(); | 171 | + this.queryParams.purposeOfFlightNo = this.upCase(val); |
| 188 | }, | 172 | }, |
| 189 | }, | 173 | }, |
| 190 | }, | 174 | }, | ... | ... |
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
| 1 | +<template> | ||
| 2 | + <div style="margin:30px 20px 20px"> | ||
| 3 | + <el-form class="form-header" :model="pageOption" ref="queryForm" label-position="right" label-width="auto" | ||
| 4 | + size="small"> | ||
| 5 | + <el-row> | ||
| 6 | + <el-col :span="6"> | ||
| 7 | + <el-form-item label="航班号" prop="fltNo"> | ||
| 8 | + <el-input class="wid80" v-model="queryfltNo" placeholder="请输入航班号" maxlength="50" /> | ||
| 9 | + </el-form-item> | ||
| 10 | + </el-col> | ||
| 11 | + <el-col :span="6"> | ||
| 12 | + <el-form-item label="预审状态" prop="status"> | ||
| 13 | + <el-select class="wid80" v-model="pageOption.status" clearable placeholder="不限"> | ||
| 14 | + <el-option label="关闭" :value="0"> | ||
| 15 | + </el-option> | ||
| 16 | + <el-option label="开启" :value="1"> | ||
| 17 | + </el-option> | ||
| 18 | + </el-select> | ||
| 19 | + </el-form-item> | ||
| 20 | + </el-col> | ||
| 21 | + </el-row> | ||
| 22 | + </el-form> | ||
| 23 | + <div class="mb20" ref="preReviewOptions" style="font-size: 12px; font-weight: 700"> | ||
| 24 | + <el-button type="primary" icon="el-icon-search" size="small" :loading="tableLoading" @click="preQuery(1)">搜 索 | ||
| 25 | + </el-button> | ||
| 26 | + <el-button type="primary" icon="el-icon-plus" size="small" @click="dialogVisible = true" | ||
| 27 | + v-hasPermi="['allocation:preReview:add']">新增预审航班</el-button> | ||
| 28 | + <el-button type="primary" size="small" icon="el-icon-check" :disabled="selectData.length == 0" | ||
| 29 | + @click="preOption(1)" v-hasPermi="['allocation:preReview:open']"> | ||
| 30 | + 预审开启</el-button> | ||
| 31 | + <el-button type="primary" size="small" icon="el-icon-close" :disabled="selectData.length == 0" | ||
| 32 | + @click="preOption(0)" v-hasPermi="['allocation:preReview:close']"> | ||
| 33 | + 预审关闭</el-button> | ||
| 34 | + <el-button type="danger" icon="el-icon-delete" size="small" :disabled="selectData.length == 0" | ||
| 35 | + @click="preOption(2)" v-hasPermi="['allocation:preReview:delete']">删 除 | ||
| 36 | + </el-button> | ||
| 37 | + </div> | ||
| 38 | + <Tables ref="preFlight" ductName="preFlight" :selection="true" :selectFixed="false" :order='true' | ||
| 39 | + :height="tableHeight" :data="flightData" :headerData="tableHeaders" :page="pageOption.page" :pageSizes="[20]" | ||
| 40 | + :totalCount="total" :loading="tableLoading" @currentChange="currentChange" | ||
| 41 | + layout="total,prev, pager, next, jumper, ->" @tableSelect="tableSelection" @tableSelectAll="tableSelectAll"> | ||
| 42 | + </Tables> | ||
| 43 | + <el-dialog title="新增预审航班" width="20%" :visible.sync="dialogVisible" :close-on-click-modal="false" | ||
| 44 | + :show-close="false" :append-to-body="true"> | ||
| 45 | + <el-form ref="addForm" :model="newPre" label-width="auto" label-position="left" size="small" :rules="rules" | ||
| 46 | + @submit.native.prevent> | ||
| 47 | + <el-form-item label="航班号" prop="addFlitNo"> | ||
| 48 | + <el-input type="textarea" v-model="fltNo" :rows="7" maxlength="255" show-word-limit placeholder="请输入航班号,用;分隔"> | ||
| 49 | + </el-input> | ||
| 50 | + </el-form-item> | ||
| 51 | + </el-form> | ||
| 52 | + <div slot="footer"> | ||
| 53 | + <el-button type="primary" :loading="loading" @click="submit">确 定</el-button> | ||
| 54 | + <el-button @click="close">取 消</el-button> | ||
| 55 | + </div> | ||
| 56 | + </el-dialog> | ||
| 57 | + </div> | ||
| 58 | +</template> | ||
| 59 | + | ||
| 60 | +<script> | ||
| 61 | +import { getpreAudit, addPreFlight, updatePreStatus } from '@/api/system/preReview.js' | ||
| 62 | + | ||
| 63 | +export default { | ||
| 64 | + name: "PreReviewFlight", | ||
| 65 | + data() { | ||
| 66 | + return { | ||
| 67 | + pageOption: { | ||
| 68 | + fltNo: undefined, | ||
| 69 | + page: 1, | ||
| 70 | + size: 20 | ||
| 71 | + },//查询条件 | ||
| 72 | + tableHeaders: [ | ||
| 73 | + { | ||
| 74 | + columnChineseName: "航班号", | ||
| 75 | + columnName: "fltNo", | ||
| 76 | + columnWidth: "", | ||
| 77 | + status: 1 | ||
| 78 | + }, | ||
| 79 | + { | ||
| 80 | + columnChineseName: "预审状态", | ||
| 81 | + columnName: "status", | ||
| 82 | + columnWidth: "", | ||
| 83 | + status: 1 | ||
| 84 | + }, | ||
| 85 | + ],//表头 | ||
| 86 | + flightData: [],//表格数据 | ||
| 87 | + selectData: [],//选中数据 | ||
| 88 | + newPre: { | ||
| 89 | + addFlitNo: '', | ||
| 90 | + },//新增航班 | ||
| 91 | + rules: { | ||
| 92 | + fltNo: [ | ||
| 93 | + { | ||
| 94 | + required: true, | ||
| 95 | + message: "航班号不能为空", | ||
| 96 | + trigger: "blur", | ||
| 97 | + } | ||
| 98 | + ] | ||
| 99 | + },//表单规则 | ||
| 100 | + dialogVisible: false, | ||
| 101 | + total: 0, | ||
| 102 | + tableHeight: null, | ||
| 103 | + loading: false, | ||
| 104 | + tableLoading: false, | ||
| 105 | + }; | ||
| 106 | + }, | ||
| 107 | + created() { | ||
| 108 | + this.preQuery(1) | ||
| 109 | + }, | ||
| 110 | + activated() { | ||
| 111 | + if (this.flightData.length > 0) { | ||
| 112 | + this.preQuery() | ||
| 113 | + } | ||
| 114 | + }, | ||
| 115 | + mounted() { | ||
| 116 | + this.tableHeight = window.innerHeight - this.$refs.preReviewOptions.offsetHeight - 300 | ||
| 117 | + }, | ||
| 118 | + methods: { | ||
| 119 | + //搜索 | ||
| 120 | + preQuery(val) { | ||
| 121 | + this.tableLoading = true | ||
| 122 | + this.selectData = [] | ||
| 123 | + if (val === 1) { | ||
| 124 | + this.pageOption.page = 1 | ||
| 125 | + } | ||
| 126 | + getpreAudit(this.pageOption).then(res => { | ||
| 127 | + this.tableLoading = false | ||
| 128 | + if (res.code === 200) { | ||
| 129 | + this.flightData = res.data.list | ||
| 130 | + this.total = res.data.total | ||
| 131 | + } else { | ||
| 132 | + this.msgWarning(res.msg) | ||
| 133 | + } | ||
| 134 | + }).catch(err => { | ||
| 135 | + this.tableLoading = false | ||
| 136 | + console.log(err) | ||
| 137 | + }) | ||
| 138 | + }, | ||
| 139 | + //保存 | ||
| 140 | + submit() { | ||
| 141 | + this.$refs["addForm"].validate(val => { | ||
| 142 | + if (val) { | ||
| 143 | + this.loading = true | ||
| 144 | + let fltList = [] | ||
| 145 | + this.newPre.addFlitNo.split(';').forEach(item => { | ||
| 146 | + if (item != '') { | ||
| 147 | + fltList.push(item) | ||
| 148 | + } | ||
| 149 | + }) | ||
| 150 | + addPreFlight(fltList).then(res => { | ||
| 151 | + this.loading = false | ||
| 152 | + if (res.code === 200) { | ||
| 153 | + this.msgSuccess(res.msg) | ||
| 154 | + this.close() | ||
| 155 | + this.preQuery(1) | ||
| 156 | + } else { | ||
| 157 | + this.msgWarning(res.msg) | ||
| 158 | + } | ||
| 159 | + }).catch(err => { | ||
| 160 | + this.loading = false | ||
| 161 | + console.log(err) | ||
| 162 | + }) | ||
| 163 | + } | ||
| 164 | + }) | ||
| 165 | + }, | ||
| 166 | + //预审状态修改 | ||
| 167 | + preOption(val) { | ||
| 168 | + this.$confirm(val === 2 ? '是否要删除?' : val === 0 ? '是否要关闭预审' : '是否要开启预审', '系统提示', { | ||
| 169 | + closeOnClickModal: false, | ||
| 170 | + confirmButtonText: '确定', | ||
| 171 | + cancelButtonText: "取消", | ||
| 172 | + type: 'warning' | ||
| 173 | + }).then(() => { | ||
| 174 | + let idList = [] | ||
| 175 | + this.selectData.forEach(item => { | ||
| 176 | + idList.push(item.id) | ||
| 177 | + }) | ||
| 178 | + updatePreStatus({ ids: idList, status: val }).then(res => { | ||
| 179 | + if (res.code === 200) { | ||
| 180 | + this.msgSuccess(val === 2 ? '删除成功' : val === 0 ? '关闭成功' : '开启成功') | ||
| 181 | + this.preQuery(1) | ||
| 182 | + } else { | ||
| 183 | + this.msgWarning(res.msg) | ||
| 184 | + } | ||
| 185 | + }).catch(err => { | ||
| 186 | + console.log(err) | ||
| 187 | + }) | ||
| 188 | + }).catch() | ||
| 189 | + }, | ||
| 190 | + //关闭弹窗 | ||
| 191 | + close() { | ||
| 192 | + this.dialogVisible = false | ||
| 193 | + this.newPre.addFlitNo = '' | ||
| 194 | + }, | ||
| 195 | + //翻页 | ||
| 196 | + currentChange(val) { | ||
| 197 | + this.pageOption.page = val.page | ||
| 198 | + this.preQuery() | ||
| 199 | + }, | ||
| 200 | + //多选 | ||
| 201 | + tableSelection(val) { | ||
| 202 | + this.selectData = val.selection | ||
| 203 | + }, | ||
| 204 | + //全选 | ||
| 205 | + tableSelectAll(val) { | ||
| 206 | + this.selectData = val | ||
| 207 | + }, | ||
| 208 | + }, | ||
| 209 | + computed: { | ||
| 210 | + queryfltNo: { | ||
| 211 | + get: function () { | ||
| 212 | + return this.pageOption.fltNo; | ||
| 213 | + }, | ||
| 214 | + set: function (val) { | ||
| 215 | + this.pageOption.fltNo = this.upCase(val); | ||
| 216 | + }, | ||
| 217 | + }, | ||
| 218 | + fltNo: { | ||
| 219 | + get: function () { | ||
| 220 | + return this.newPre.addFlitNo; | ||
| 221 | + }, | ||
| 222 | + set: function (val) { | ||
| 223 | + let reg = /^([0-9A-Za-z]{0,50}(\;[0-9a-zA-Z]{0,50})*)$/ | ||
| 224 | + if (reg.test(val)) { | ||
| 225 | + this.newPre.addFlitNo = this.upCase(val); | ||
| 226 | + } | ||
| 227 | + }, | ||
| 228 | + } | ||
| 229 | + } | ||
| 230 | +}; | ||
| 231 | +</script> | ||
| 232 | +<style rel="stylesheet/scss" lang="scss"> | ||
| 233 | +</style> |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div> |
| 3 | - <el-form class="form-header" :model="queryParams" label-position="right" label-width="auto" size="medium"> | 3 | + <el-form class="form-header" :model="queryParams" label-position="right" label-width="auto" size="small"> |
| 4 | <el-row> | 4 | <el-row> |
| 5 | <el-col :span="6"> | 5 | <el-col :span="6"> |
| 6 | <el-form-item label="航班日期从" prop="fltDateStart"> | 6 | <el-form-item label="航班日期从" prop="fltDateStart"> |
| ... | @@ -23,25 +23,25 @@ | ... | @@ -23,25 +23,25 @@ |
| 23 | </el-form-item> | 23 | </el-form-item> |
| 24 | </el-col> | 24 | </el-col> |
| 25 | <el-col :span="6"> | 25 | <el-col :span="6"> |
| 26 | - <el-form-item label="运单号"> | ||
| 27 | - <el-input clearable type="textarea" v-model="queryParams.waybillNo" class="formItem" | ||
| 28 | - placeholder="请输入运单号(回车间隔)" :rows="1" :maxlength="12000"></el-input> | ||
| 29 | - </el-form-item> | ||
| 30 | - </el-col> | ||
| 31 | - </el-row> | ||
| 32 | - <el-row> | ||
| 33 | - <el-col :span="6"> | ||
| 34 | <el-form-item label="站点"> | 26 | <el-form-item label="站点"> |
| 35 | <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" clearable :rows="1"> | 27 | <el-input type="textarea" v-model="siteName" class="formItem" placeholder="PVG;PEK" clearable :rows="1"> |
| 36 | </el-input> | 28 | </el-input> |
| 37 | </el-form-item> | 29 | </el-form-item> |
| 38 | </el-col> | 30 | </el-col> |
| 31 | + </el-row> | ||
| 32 | + <el-row> | ||
| 39 | <el-col :span="6"> | 33 | <el-col :span="6"> |
| 40 | <el-form-item label="URSA"> | 34 | <el-form-item label="URSA"> |
| 41 | <el-input clearable type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1"> | 35 | <el-input clearable type="textarea" v-model="ursa" class="formItem" placeholder="S_;P_;E2" :rows="1"> |
| 42 | </el-input> | 36 | </el-input> |
| 43 | </el-form-item> | 37 | </el-form-item> |
| 44 | </el-col> | 38 | </el-col> |
| 39 | + <el-col :span="6"> | ||
| 40 | + <el-form-item label="运单号"> | ||
| 41 | + <el-input clearable type="textarea" v-model="queryParams.waybillNo" class="formItem" | ||
| 42 | + placeholder="请输入运单号(回车间隔)" :rows="4"></el-input> | ||
| 43 | + </el-form-item> | ||
| 44 | + </el-col> | ||
| 45 | </el-row> | 45 | </el-row> |
| 46 | <el-switch v-model="queryParams.reExport" active-color="#13ce66" active-text="重新导出" style="padding-left: 35px"> | 46 | <el-switch v-model="queryParams.reExport" active-color="#13ce66" active-text="重新导出" style="padding-left: 35px"> |
| 47 | </el-switch> | 47 | </el-switch> |
| ... | @@ -53,7 +53,6 @@ | ... | @@ -53,7 +53,6 @@ |
| 53 | }}</el-button> | 53 | }}</el-button> |
| 54 | </div> | 54 | </div> |
| 55 | </el-form> | 55 | </el-form> |
| 56 | - | ||
| 57 | <el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="tableData"> | 56 | <el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="tableData"> |
| 58 | <el-table-column label="运单号" align="center" prop="waybillNo" /> | 57 | <el-table-column label="运单号" align="center" prop="waybillNo" /> |
| 59 | <el-table-column :show-overflow-tooltip="true" label="品牌描述" align="center" prop="nameDescription" /> | 58 | <el-table-column :show-overflow-tooltip="true" label="品牌描述" align="center" prop="nameDescription" /> |
| ... | @@ -159,10 +158,7 @@ export default { | ... | @@ -159,10 +158,7 @@ export default { |
| 159 | this.total = response.data.totalCount; | 158 | this.total = response.data.totalCount; |
| 160 | this.loading = false; | 159 | this.loading = false; |
| 161 | if (response.data.list.length == 0) { | 160 | if (response.data.list.length == 0) { |
| 162 | - this.$message({ | 161 | + this.msgWarning('未查询到数据') |
| 163 | - message: "未查询到数据", | ||
| 164 | - type: "warning", | ||
| 165 | - }); | ||
| 166 | } | 162 | } |
| 167 | } else { | 163 | } else { |
| 168 | this.msgError(response.msg); | 164 | this.msgError(response.msg); |
| ... | @@ -176,7 +172,7 @@ export default { | ... | @@ -176,7 +172,7 @@ export default { |
| 176 | return this.queryParams.fltNo; | 172 | return this.queryParams.fltNo; |
| 177 | }, | 173 | }, |
| 178 | set: function (val) { | 174 | set: function (val) { |
| 179 | - this.queryParams.fltNo = val.toUpperCase(); | 175 | + this.queryParams.fltNo = this.upCase(val); |
| 180 | }, | 176 | }, |
| 181 | }, | 177 | }, |
| 182 | siteName: { | 178 | siteName: { |
| ... | @@ -184,7 +180,7 @@ export default { | ... | @@ -184,7 +180,7 @@ export default { |
| 184 | return this.queryParams.siteName; | 180 | return this.queryParams.siteName; |
| 185 | }, | 181 | }, |
| 186 | set: function (val) { | 182 | set: function (val) { |
| 187 | - this.queryParams.siteName = val.toUpperCase(); | 183 | + this.queryParams.siteName = this.upCase(val); |
| 188 | }, | 184 | }, |
| 189 | }, | 185 | }, |
| 190 | ursa: { | 186 | ursa: { |
| ... | @@ -192,7 +188,7 @@ export default { | ... | @@ -192,7 +188,7 @@ export default { |
| 192 | return this.queryParams.ursa; | 188 | return this.queryParams.ursa; |
| 193 | }, | 189 | }, |
| 194 | set: function (val) { | 190 | set: function (val) { |
| 195 | - this.queryParams.ursa = val.toUpperCase(); | 191 | + this.queryParams.ursa = this.upCase(val); |
| 196 | }, | 192 | }, |
| 197 | }, | 193 | }, |
| 198 | }, | 194 | }, | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div style="margin: 20px"> | 2 | <div style="margin: 20px"> |
| 3 | - <el-form :inline="true" :model="form" class="demo-form-inline" size="small"> | 3 | + <el-form :inline="true" class="demo-form-inline" size="small"> |
| 4 | <el-form-item> | 4 | <el-form-item> |
| 5 | <el-upload action="/caPreReviewImport/importFlight" name="file" :http-request="uploadExcel" | 5 | <el-upload action="/caPreReviewImport/importFlight" name="file" :http-request="uploadExcel" |
| 6 | :on-remove="handleRemove" :limit="1" :on-exceed="handleExceed" :file-list="fileList" accept=".xlsx" | 6 | :on-remove="handleRemove" :limit="1" :on-exceed="handleExceed" :file-list="fileList" accept=".xlsx" |
| ... | @@ -15,7 +15,7 @@ | ... | @@ -15,7 +15,7 @@ |
| 15 | <div style="font-size: 12px; font-weight: 700"> | 15 | <div style="font-size: 12px; font-weight: 700"> |
| 16 | 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span> | 16 | 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span> |
| 17 | </div> | 17 | </div> |
| 18 | - <el-table ref="filterTable" :data="tableData" v-loading="loading" style="width: 100%; margin-top: 20px" size="small" | 18 | + <el-table ref="filterTable" class="mt20" :data="tableData" v-loading="loading" style="width: 100%" size="small" |
| 19 | border> | 19 | border> |
| 20 | <el-table-column label="行号" prop="line" width="50" align="center"> | 20 | <el-table-column label="行号" prop="line" width="50" align="center"> |
| 21 | </el-table-column> | 21 | </el-table-column> |
| ... | @@ -49,19 +49,13 @@ export default { | ... | @@ -49,19 +49,13 @@ export default { |
| 49 | return { | 49 | return { |
| 50 | // 遮罩层 | 50 | // 遮罩层 |
| 51 | loading: false, | 51 | loading: false, |
| 52 | - flightType: [], | ||
| 53 | - form: { | ||
| 54 | - type: "", | ||
| 55 | - region: "", | ||
| 56 | - }, | ||
| 57 | fileList: [], | 52 | fileList: [], |
| 58 | tableData: [], | 53 | tableData: [], |
| 59 | }; | 54 | }; |
| 60 | }, | 55 | }, |
| 61 | methods: { | 56 | methods: { |
| 62 | downloadTempleate() { | 57 | downloadTempleate() { |
| 63 | - | 58 | + let fileName = "航班预审回执导入模板.xlsx"; |
| 64 | - let fileName = "航班预审导入模板.xlsx"; | ||
| 65 | downLoadTemplate().then((res) => { | 59 | downLoadTemplate().then((res) => { |
| 66 | if (res) { | 60 | if (res) { |
| 67 | const blob = new Blob([res]); | 61 | const blob = new Blob([res]); |
| ... | @@ -83,7 +77,7 @@ export default { | ... | @@ -83,7 +77,7 @@ export default { |
| 83 | //上传excel | 77 | //上传excel |
| 84 | const file = option.file; | 78 | const file = option.file; |
| 85 | this.loading = true; | 79 | this.loading = true; |
| 86 | - importcaPreReview(file, this.form.type).then((res) => { | 80 | + importcaPreReview(file, '').then((res) => { |
| 87 | this.loading = false; | 81 | this.loading = false; |
| 88 | if (res.code != 200) { | 82 | if (res.code != 200) { |
| 89 | if (res.code == 603) { | 83 | if (res.code == 603) { |
| ... | @@ -92,7 +86,7 @@ export default { | ... | @@ -92,7 +86,7 @@ export default { |
| 92 | type: "warning", | 86 | type: "warning", |
| 93 | }); | 87 | }); |
| 94 | } else { | 88 | } else { |
| 95 | - this.$message.error(res.msg); | 89 | + this.$message.warning(res.msg); |
| 96 | this.tableData = res.data; | 90 | this.tableData = res.data; |
| 97 | } | 91 | } |
| 98 | } else { | 92 | } else { | ... | ... |
| ... | @@ -23,7 +23,7 @@ | ... | @@ -23,7 +23,7 @@ |
| 23 | <div style="font-size: 12px; font-weight: 700"> | 23 | <div style="font-size: 12px; font-weight: 700"> |
| 24 | 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span> | 24 | 提示:<span style="color: #1890ff">以下为所提交的数据或出错信息</span> |
| 25 | </div> | 25 | </div> |
| 26 | - <el-table ref="filterTable" :data="tableData" style="margin-top: 20px" size="small" border> | 26 | + <el-table ref="filterTable" class="mt20" :data="tableData" size="small" border> |
| 27 | <el-table-column label="行号" prop="line" width="50" align="center"> | 27 | <el-table-column label="行号" prop="line" width="50" align="center"> |
| 28 | </el-table-column> | 28 | </el-table-column> |
| 29 | <el-table-column label="错误信息" prop="errorMessage" width="200"> | 29 | <el-table-column label="错误信息" prop="errorMessage" width="200"> |
| ... | @@ -60,6 +60,15 @@ export default { | ... | @@ -60,6 +60,15 @@ export default { |
| 60 | }; | 60 | }; |
| 61 | }, | 61 | }, |
| 62 | methods: { | 62 | methods: { |
| 63 | + typeData() { | ||
| 64 | + filghtKindData().then((response) => { | ||
| 65 | + if (response.code != 200) { | ||
| 66 | + this.msgError(response.msg) | ||
| 67 | + } | ||
| 68 | + this.flightType = response.data; | ||
| 69 | + this.form.type = response.data[0].code; | ||
| 70 | + }); | ||
| 71 | + }, | ||
| 63 | downloadTempleate() { | 72 | downloadTempleate() { |
| 64 | let downloadType = ""; | 73 | let downloadType = ""; |
| 65 | let fileName = ""; | 74 | let fileName = ""; |
| ... | @@ -108,7 +117,7 @@ export default { | ... | @@ -108,7 +117,7 @@ export default { |
| 108 | type: "warning", | 117 | type: "warning", |
| 109 | }); | 118 | }); |
| 110 | } else { | 119 | } else { |
| 111 | - this.$message.error(res.msg); | 120 | + this.$message.warning(res.msg); |
| 112 | this.tableData = res.data; | 121 | this.tableData = res.data; |
| 113 | } | 122 | } |
| 114 | } else { | 123 | } else { |
| ... | @@ -133,17 +142,11 @@ export default { | ... | @@ -133,17 +142,11 @@ export default { |
| 133 | }, | 142 | }, |
| 134 | }, | 143 | }, |
| 135 | created() { | 144 | created() { |
| 136 | - filghtKindData().then((response) => { | 145 | + this.typeData() |
| 137 | - if (response.code != 200) { | ||
| 138 | - this.$message({ | ||
| 139 | - message: response.msg, | ||
| 140 | - type: "error", | ||
| 141 | - }); | ||
| 142 | - } | ||
| 143 | - this.flightType = response.data; | ||
| 144 | - this.form.type = response.data[0].code; | ||
| 145 | - }); | ||
| 146 | }, | 146 | }, |
| 147 | + activated() { | ||
| 148 | + this.typeData() | ||
| 149 | + } | ||
| 147 | }; | 150 | }; |
| 148 | </script> | 151 | </script> |
| 149 | <style rel="stylesheet/scss" lang="scss"> | 152 | <style rel="stylesheet/scss" lang="scss"> | ... | ... |
| ... | @@ -47,7 +47,8 @@ | ... | @@ -47,7 +47,8 @@ |
| 47 | </el-form-item> | 47 | </el-form-item> |
| 48 | </el-col> | 48 | </el-col> |
| 49 | </el-row> | 49 | </el-row> |
| 50 | - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | 50 | + <el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="handleQuery">搜索 |
| 51 | + </el-button> | ||
| 51 | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | 52 | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| 52 | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['base:flightInfo:add']"> | 53 | <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['base:flightInfo:add']"> |
| 53 | 新增</el-button> | 54 | 新增</el-button> |
| ... | @@ -70,7 +71,7 @@ | ... | @@ -70,7 +71,7 @@ |
| 70 | @sortChange="sortChange" @sizeChange="sizeChange"> | 71 | @sortChange="sortChange" @sizeChange="sizeChange"> |
| 71 | <template slot="optionColumn"> | 72 | <template slot="optionColumn"> |
| 72 | <el-table-column v-if="findAllFltDatList.length > 0" label="操作" align="center" | 73 | <el-table-column v-if="findAllFltDatList.length > 0" label="操作" align="center" |
| 73 | - class-name="small-padding fixed-width" fixed="right"> | 74 | + class-name="small-padding fixed-width" :fixed="tableHeader.length > 10 ? 'right' : false"> |
| 74 | <template slot-scope="scope"> | 75 | <template slot-scope="scope"> |
| 75 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" | 76 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
| 76 | v-hasPermi="['base:flightInfo:update']">修改</el-button> | 77 | v-hasPermi="['base:flightInfo:update']">修改</el-button> |
| ... | @@ -109,7 +110,7 @@ | ... | @@ -109,7 +110,7 @@ |
| 109 | </el-col> | 110 | </el-col> |
| 110 | <el-col :span="12"> | 111 | <el-col :span="12"> |
| 111 | <el-form-item label="航班路线" prop="route"> | 112 | <el-form-item label="航班路线" prop="route"> |
| 112 | - <el-input class="wid80" v-model="form.route" placeholder="请输入航班路线(XXX-XXX字母大写)" /> | 113 | + <el-input class="wid80" v-model="form.route" placeholder="请输入航班路线(XXX-XXX字母大写,多组用;分割)" /> |
| 113 | </el-form-item> | 114 | </el-form-item> |
| 114 | </el-col> | 115 | </el-col> |
| 115 | </el-row> | 116 | </el-row> |
| ... | @@ -157,20 +158,31 @@ | ... | @@ -157,20 +158,31 @@ |
| 157 | v-model="form.extraWeightPercent"></el-input-number> | 158 | v-model="form.extraWeightPercent"></el-input-number> |
| 158 | </el-form-item> | 159 | </el-form-item> |
| 159 | </el-col> | 160 | </el-col> |
| 160 | - <el-col :span="12"> | 161 | + <el-col :span="6"> |
| 161 | <el-form-item label="是否开启高低价" prop="highLowPriceFlg"> | 162 | <el-form-item label="是否开启高低价" prop="highLowPriceFlg"> |
| 162 | <el-switch class="wid80" @change="LowHighAvailable" v-model="form.highLowPriceFlg" :active-value="1" | 163 | <el-switch class="wid80" @change="LowHighAvailable" v-model="form.highLowPriceFlg" :active-value="1" |
| 163 | :inactive-value="0" active-color="#13ce66"> | 164 | :inactive-value="0" active-color="#13ce66"> |
| 164 | </el-switch> | 165 | </el-switch> |
| 165 | </el-form-item> | 166 | </el-form-item> |
| 166 | </el-col> | 167 | </el-col> |
| 168 | + <el-col :span="6"> | ||
| 169 | + <el-form-item label="该航班预审状态:"> | ||
| 170 | + <el-tag v-if="preAudit" :type="preAudit == '开启' ? 'success' : 'info'" effect="dark">{{ preAudit }} | ||
| 171 | + </el-tag> | ||
| 172 | + </el-form-item> | ||
| 173 | + </el-col> | ||
| 167 | </el-row> | 174 | </el-row> |
| 168 | <el-row> | 175 | <el-row> |
| 169 | <el-col :span="12"> | 176 | <el-col :span="12"> |
| 170 | - <el-form-item label="是否预审" prop="isNeedRequired"> | 177 | + <el-form-item label="今日航班预审状态" prop="isNeedRequired"> |
| 171 | - <el-switch class="wid80" :disabled="true" v-model="form.isNeedRequired" :active-value="1" | 178 | + <el-select class="wid80" v-model="form.isNeedRequired" placeholder=""> |
| 172 | - :inactive-value="0" active-color="#13ce66"> | 179 | + <el-option label="未设置" :value="2"> |
| 173 | - </el-switch> | 180 | + </el-option> |
| 181 | + <el-option label="开启" :value="1"> | ||
| 182 | + </el-option> | ||
| 183 | + <el-option label="关闭" :value="0"> | ||
| 184 | + </el-option> | ||
| 185 | + </el-select> | ||
| 174 | </el-form-item> | 186 | </el-form-item> |
| 175 | </el-col> | 187 | </el-col> |
| 176 | <el-col :span="12"> | 188 | <el-col :span="12"> |
| ... | @@ -250,6 +262,7 @@ import { | ... | @@ -250,6 +262,7 @@ import { |
| 250 | updateStatusBatch, | 262 | updateStatusBatch, |
| 251 | updateAutoPushBatch, | 263 | updateAutoPushBatch, |
| 252 | } from "@/api/findAllFltData"; | 264 | } from "@/api/findAllFltData"; |
| 265 | +import { getpreAudit } from '@/api/system/preReview.js' | ||
| 253 | 266 | ||
| 254 | export default { | 267 | export default { |
| 255 | name: "FlightInformationMaintenance", | 268 | name: "FlightInformationMaintenance", |
| ... | @@ -268,7 +281,9 @@ export default { | ... | @@ -268,7 +281,9 @@ export default { |
| 268 | fltNo: undefined, //航班号,要大写 | 281 | fltNo: undefined, //航班号,要大写 |
| 269 | }, | 282 | }, |
| 270 | //表单参数 | 283 | //表单参数 |
| 271 | - form: {}, | 284 | + form: { |
| 285 | + isNeedRequired: 2 | ||
| 286 | + }, | ||
| 272 | //表单校验 | 287 | //表单校验 |
| 273 | rules: { | 288 | rules: { |
| 274 | fltNo: [ | 289 | fltNo: [ |
| ... | @@ -306,7 +321,7 @@ export default { | ... | @@ -306,7 +321,7 @@ export default { |
| 306 | // trigger: "blur", | 321 | // trigger: "blur", |
| 307 | // }, | 322 | // }, |
| 308 | // { | 323 | // { |
| 309 | - // pattern: /^([A-Z]{3,4})(\-[A-Z]{3,4})+$/, | 324 | + // pattern: /^(([\~A-Z]{3,4})(\-[A-Z]{3,4})+)(;{1,1}(([\~A-Z]{3,4})(\-[A-Z]{3,4})+)){0,}$/, |
| 310 | // message: "请输入正确得航班线路" | 325 | // message: "请输入正确得航班线路" |
| 311 | // } | 326 | // } |
| 312 | // ] | 327 | // ] |
| ... | @@ -396,6 +411,8 @@ export default { | ... | @@ -396,6 +411,8 @@ export default { |
| 396 | ids: [], | 411 | ids: [], |
| 397 | //目的航班数据 | 412 | //目的航班数据 |
| 398 | sourceFlightAndFlightDate: [], | 413 | sourceFlightAndFlightDate: [], |
| 414 | + //航班预审状态 | ||
| 415 | + preAudit: null, | ||
| 399 | //高价百分比是否打开 | 416 | //高价百分比是否打开 |
| 400 | ishighPriceWeightPercent: true, | 417 | ishighPriceWeightPercent: true, |
| 401 | //遮罩层 | 418 | //遮罩层 |
| ... | @@ -456,6 +473,7 @@ export default { | ... | @@ -456,6 +473,7 @@ export default { |
| 456 | this.form.fltNo != "" | 473 | this.form.fltNo != "" |
| 457 | ) { | 474 | ) { |
| 458 | this.form.fltNo = this.form.fltNo.toUpperCase(); | 475 | this.form.fltNo = this.form.fltNo.toUpperCase(); |
| 476 | + this.perStatus(this.form.fltNo) | ||
| 459 | findFltCommonConf(this.form).then((response) => { | 477 | findFltCommonConf(this.form).then((response) => { |
| 460 | if (response.code == 200) { | 478 | if (response.code == 200) { |
| 461 | //额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑 | 479 | //额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑 |
| ... | @@ -486,15 +504,6 @@ export default { | ... | @@ -486,15 +504,6 @@ export default { |
| 486 | //this.form.highLowPriceFlg = true; | 504 | //this.form.highLowPriceFlg = true; |
| 487 | } | 505 | } |
| 488 | //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑; | 506 | //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑; |
| 489 | - if ( | ||
| 490 | - response.data != null && | ||
| 491 | - response.data.isNeedRequired != null && | ||
| 492 | - response.data.isNeedRequired != undefined | ||
| 493 | - ) { | ||
| 494 | - this.form.isNeedRequired = response.data.isNeedRequired; | ||
| 495 | - } else { | ||
| 496 | - this.form.isNeedRequired = 0; | ||
| 497 | - } | ||
| 498 | //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑 | 507 | //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑 |
| 499 | if ( | 508 | if ( |
| 500 | response.data != null && | 509 | response.data != null && |
| ... | @@ -538,6 +547,18 @@ export default { | ... | @@ -538,6 +547,18 @@ export default { |
| 538 | } | 547 | } |
| 539 | }); | 548 | }); |
| 540 | }, | 549 | }, |
| 550 | + //获取航班预审状态 | ||
| 551 | + perStatus(val) { | ||
| 552 | + getpreAudit({ fltNo: val, page: 1, size: 20 }).then(res => { | ||
| 553 | + if (res.code === 200) { | ||
| 554 | + this.preAudit = res.data.list.length == 0 ? '关闭' : res.data.list[0].status == 0 ? '关闭' : res.data.list[0].status == 1 ? '开启' : '' | ||
| 555 | + } else { | ||
| 556 | + this.msgWarning(res.msg) | ||
| 557 | + } | ||
| 558 | + }).catch(err => { | ||
| 559 | + console.log(err) | ||
| 560 | + }) | ||
| 561 | + }, | ||
| 541 | /** 航班信息维护查询*/ | 562 | /** 航班信息维护查询*/ |
| 542 | findAllFltData() { | 563 | findAllFltData() { |
| 543 | this.ids = []; | 564 | this.ids = []; |
| ... | @@ -569,6 +590,7 @@ export default { | ... | @@ -569,6 +590,7 @@ export default { |
| 569 | handleAdd() { | 590 | handleAdd() { |
| 570 | this.reset(); | 591 | this.reset(); |
| 571 | this.findFltConditionData(); | 592 | this.findFltConditionData(); |
| 593 | + this.preAudit = null; | ||
| 572 | this.open = true; | 594 | this.open = true; |
| 573 | this.title = "添加航班信息"; | 595 | this.title = "添加航班信息"; |
| 574 | this.form.id = null; | 596 | this.form.id = null; |
| ... | @@ -685,6 +707,7 @@ export default { | ... | @@ -685,6 +707,7 @@ export default { |
| 685 | handleUpdate(row) { | 707 | handleUpdate(row) { |
| 686 | this.reset(); | 708 | this.reset(); |
| 687 | this.findFltConditionData(); | 709 | this.findFltConditionData(); |
| 710 | + this.perStatus(row.fltNo) | ||
| 688 | this.open = true; | 711 | this.open = true; |
| 689 | this.title = "修改航班信息"; | 712 | this.title = "修改航班信息"; |
| 690 | //航班号 | 713 | //航班号 |
| ... | @@ -789,7 +812,7 @@ export default { | ... | @@ -789,7 +812,7 @@ export default { |
| 789 | }, | 812 | }, |
| 790 | //表单重置 | 813 | //表单重置 |
| 791 | reset() { | 814 | reset() { |
| 792 | - this.form = {}; | 815 | + this.form = { isNeedRequired: 2 }; |
| 793 | this.resetForm("form"); | 816 | this.resetForm("form"); |
| 794 | }, | 817 | }, |
| 795 | //取消按钮 | 818 | //取消按钮 |
| ... | @@ -896,6 +919,7 @@ export default { | ... | @@ -896,6 +919,7 @@ export default { |
| 896 | //每页长度 | 919 | //每页长度 |
| 897 | sizeChange(val) { | 920 | sizeChange(val) { |
| 898 | this.queryParams.limitSize = val; | 921 | this.queryParams.limitSize = val; |
| 922 | + this.queryParams.pageNum = 1 | ||
| 899 | this.findAllFltData(); | 923 | this.findAllFltData(); |
| 900 | }, | 924 | }, |
| 901 | setClose() { | 925 | setClose() { | ... | ... |
This diff is collapsed. Click to expand it.
| 1 | <template> | 1 | <template> |
| 2 | <div class="login" :style="display"> | 2 | <div class="login" :style="display"> |
| 3 | - <el-form | 3 | + <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> |
| 4 | - ref="loginForm" | ||
| 5 | - :model="loginForm" | ||
| 6 | - :rules="loginRules" | ||
| 7 | - class="login-form" | ||
| 8 | - > | ||
| 9 | <h3 class="title">IMAC后台管理系统</h3> | 4 | <h3 class="title">IMAC后台管理系统</h3> |
| 10 | <el-form-item prop="username"> | 5 | <el-form-item prop="username"> |
| 11 | - <el-input | 6 | + <el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号"> |
| 12 | - v-model="loginForm.username" | 7 | + <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" /> |
| 13 | - type="text" | ||
| 14 | - auto-complete="off" | ||
| 15 | - placeholder="账号" | ||
| 16 | - > | ||
| 17 | - <svg-icon | ||
| 18 | - slot="prefix" | ||
| 19 | - icon-class="user" | ||
| 20 | - class="el-input__icon input-icon" | ||
| 21 | - /> | ||
| 22 | </el-input> | 8 | </el-input> |
| 23 | </el-form-item> | 9 | </el-form-item> |
| 24 | <el-form-item prop="password"> | 10 | <el-form-item prop="password"> |
| 25 | - <el-input | 11 | + <el-input v-model="loginForm.password" type="password" auto-complete="off" placeholder="密码" |
| 26 | - v-model="loginForm.password" | 12 | + @keyup.enter.native="handleLogin"> |
| 27 | - type="password" | 13 | + <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> |
| 28 | - auto-complete="off" | ||
| 29 | - placeholder="密码" | ||
| 30 | - @keyup.enter.native="handleLogin" | ||
| 31 | - > | ||
| 32 | - <svg-icon | ||
| 33 | - slot="prefix" | ||
| 34 | - icon-class="password" | ||
| 35 | - class="el-input__icon input-icon" | ||
| 36 | - /> | ||
| 37 | </el-input> | 14 | </el-input> |
| 38 | </el-form-item> | 15 | </el-form-item> |
| 39 | <!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> --> | 16 | <!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> --> |
| 40 | <el-form-item style="width: 100%; marginTop: 44px"> | 17 | <el-form-item style="width: 100%; marginTop: 44px"> |
| 41 | - <el-button | 18 | + <el-button :loading="loading" size="medium" type="primary" style="width: 100%" |
| 42 | - :loading="loading" | 19 | + @click.native.prevent="handleLogin"> |
| 43 | - size="medium" | ||
| 44 | - type="primary" | ||
| 45 | - style="width: 100%" | ||
| 46 | - @click.native.prevent="handleLogin" | ||
| 47 | - > | ||
| 48 | <span v-if="!loading">登 录</span> | 20 | <span v-if="!loading">登 录</span> |
| 49 | <span v-else>登 录 中...</span> | 21 | <span v-else>登 录 中...</span> |
| 50 | </el-button> | 22 | </el-button> |
| ... | @@ -83,17 +55,17 @@ export default { | ... | @@ -83,17 +55,17 @@ export default { |
| 83 | }, | 55 | }, |
| 84 | loading: false, | 56 | loading: false, |
| 85 | redirect: undefined, | 57 | redirect: undefined, |
| 86 | - display: "display:none", | 58 | + display: "display:flex", |
| 87 | }; | 59 | }; |
| 88 | }, | 60 | }, |
| 89 | watch: { | 61 | watch: { |
| 90 | $route: { | 62 | $route: { |
| 91 | - handler: function(route) { | 63 | + handler: function (route) { |
| 92 | this.redirect = route.query && route.query.redirect; | 64 | this.redirect = route.query && route.query.redirect; |
| 93 | }, | 65 | }, |
| 94 | immediate: true | 66 | immediate: true |
| 95 | } | 67 | } |
| 96 | - }, | 68 | + }, |
| 97 | created() { | 69 | created() { |
| 98 | this.getCookie(); | 70 | this.getCookie(); |
| 99 | }, | 71 | }, |
| ... | @@ -130,7 +102,7 @@ export default { | ... | @@ -130,7 +102,7 @@ export default { |
| 130 | this.$store | 102 | this.$store |
| 131 | .dispatch("Login", this.loginForm) | 103 | .dispatch("Login", this.loginForm) |
| 132 | .then(() => { | 104 | .then(() => { |
| 133 | - this.$router.push({ path: this.redirect || "/" }).catch(() => {}); | 105 | + this.$router.push({ path: this.redirect || "/" }).catch(() => { }); |
| 134 | }) | 106 | }) |
| 135 | .catch(() => { | 107 | .catch(() => { |
| 136 | this.loading = false; | 108 | this.loading = false; |
| ... | @@ -145,13 +117,14 @@ export default { | ... | @@ -145,13 +117,14 @@ export default { |
| 145 | 117 | ||
| 146 | <style rel="stylesheet/scss" lang="scss"> | 118 | <style rel="stylesheet/scss" lang="scss"> |
| 147 | .login { | 119 | .login { |
| 148 | - display: none; | 120 | + display: flex; |
| 149 | justify-content: center; | 121 | justify-content: center; |
| 150 | align-items: center; | 122 | align-items: center; |
| 151 | height: 100%; | 123 | height: 100%; |
| 152 | background-image: url("../assets/images/login-background.jpg"); | 124 | background-image: url("../assets/images/login-background.jpg"); |
| 153 | background-size: cover; | 125 | background-size: cover; |
| 154 | } | 126 | } |
| 127 | + | ||
| 155 | .title { | 128 | .title { |
| 156 | margin: 0px auto 30px auto; | 129 | margin: 0px auto 30px auto; |
| 157 | text-align: center; | 130 | text-align: center; |
| ... | @@ -163,32 +136,39 @@ export default { | ... | @@ -163,32 +136,39 @@ export default { |
| 163 | background: #ffffff; | 136 | background: #ffffff; |
| 164 | width: 400px; | 137 | width: 400px; |
| 165 | padding: 25px 25px 5px 25px; | 138 | padding: 25px 25px 5px 25px; |
| 139 | + | ||
| 166 | .el-input { | 140 | .el-input { |
| 167 | height: 38px; | 141 | height: 38px; |
| 142 | + | ||
| 168 | input { | 143 | input { |
| 169 | height: 38px; | 144 | height: 38px; |
| 170 | } | 145 | } |
| 171 | } | 146 | } |
| 147 | + | ||
| 172 | .input-icon { | 148 | .input-icon { |
| 173 | height: 39px; | 149 | height: 39px; |
| 174 | width: 14px; | 150 | width: 14px; |
| 175 | margin-left: 2px; | 151 | margin-left: 2px; |
| 176 | } | 152 | } |
| 177 | } | 153 | } |
| 154 | + | ||
| 178 | .login-tip { | 155 | .login-tip { |
| 179 | font-size: 13px; | 156 | font-size: 13px; |
| 180 | text-align: center; | 157 | text-align: center; |
| 181 | color: #bfbfbf; | 158 | color: #bfbfbf; |
| 182 | } | 159 | } |
| 160 | + | ||
| 183 | .login-code { | 161 | .login-code { |
| 184 | width: 33%; | 162 | width: 33%; |
| 185 | height: 38px; | 163 | height: 38px; |
| 186 | float: right; | 164 | float: right; |
| 165 | + | ||
| 187 | img { | 166 | img { |
| 188 | cursor: pointer; | 167 | cursor: pointer; |
| 189 | vertical-align: middle; | 168 | vertical-align: middle; |
| 190 | } | 169 | } |
| 191 | } | 170 | } |
| 171 | + | ||
| 192 | .el-login-footer { | 172 | .el-login-footer { |
| 193 | height: 40px; | 173 | height: 40px; |
| 194 | line-height: 40px; | 174 | line-height: 40px; |
| ... | @@ -201,6 +181,7 @@ export default { | ... | @@ -201,6 +181,7 @@ export default { |
| 201 | font-size: 12px; | 181 | font-size: 12px; |
| 202 | letter-spacing: 1px; | 182 | letter-spacing: 1px; |
| 203 | } | 183 | } |
| 184 | + | ||
| 204 | .login-code-img { | 185 | .login-code-img { |
| 205 | height: 38px; | 186 | height: 38px; |
| 206 | } | 187 | } | ... | ... |
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
| 1 | -<template> | ||
| 2 | - <div class="menuDrawer"> | ||
| 3 | - <el-dialog :title="drawerTitle" width="50%" :visible.sync="dialogVisible" :close-on-click-modal="false" | ||
| 4 | - :append-to-body="true"> | ||
| 5 | - <el-form ref="userForm" :model="menuForm" :disabled="menuFormDisabled" :rules="rules" label-width="auto" | ||
| 6 | - style="margin: 10px"> | ||
| 7 | - <el-row> | ||
| 8 | - <el-col :span="12"> | ||
| 9 | - <el-form-item label="菜单名称" prop=""> | ||
| 10 | - <!-- <el-input | ||
| 11 | - placeholder="请输入权限名" | ||
| 12 | - :disabled="menuFormDisabled" | ||
| 13 | - v-model="menuData.userName" | ||
| 14 | - size="mini" | ||
| 15 | - ></el-input> --> | ||
| 16 | - </el-form-item> | ||
| 17 | - </el-col> | ||
| 18 | - <el-col :span="12"> | ||
| 19 | - <el-form-item label="菜单路由" prop=""> | ||
| 20 | - <!-- <el-input | ||
| 21 | - placeholder="请输入权限名" | ||
| 22 | - :disabled="menuFormDisabled" | ||
| 23 | - v-model="menuData.userName" | ||
| 24 | - size="mini" | ||
| 25 | - ></el-input> --> | ||
| 26 | - </el-form-item> | ||
| 27 | - </el-col> | ||
| 28 | - <el-col :span="12"> | ||
| 29 | - <el-form-item label="组件名称" prop=""> | ||
| 30 | - <!-- <el-input | ||
| 31 | - placeholder="请输入权限名" | ||
| 32 | - :disabled="menuFormDisabled" | ||
| 33 | - v-model="menuData.userName" | ||
| 34 | - size="mini" | ||
| 35 | - ></el-input> --> | ||
| 36 | - </el-form-item> | ||
| 37 | - </el-col> | ||
| 38 | - <el-col :span="24"> | ||
| 39 | - <el-form-item label="菜单状态" prop=""> | ||
| 40 | - <el-switch v-model="menuData.menuStatus" active-color="#13ce66" inactive-color="#ff4949" | ||
| 41 | - :disabled="menuFormDisabled"></el-switch> | ||
| 42 | - </el-form-item> | ||
| 43 | - </el-col> | ||
| 44 | - <el-col :span="24"> | ||
| 45 | - <el-form-item label="图标选择" prop=""> | ||
| 46 | - <iconSelect @selected="selected"></iconSelect> | ||
| 47 | - </el-form-item> | ||
| 48 | - </el-col> | ||
| 49 | - <el-col :span="24"> | ||
| 50 | - <el-form-item label="权限设置" prop=""> | ||
| 51 | - <el-col :span="6"> | ||
| 52 | - <el-radio label="页面" size="medium"></el-radio> | ||
| 53 | - </el-col> | ||
| 54 | - <el-col :span="6"> | ||
| 55 | - <el-radio label="按钮" size="medium"></el-radio> | ||
| 56 | - </el-col> | ||
| 57 | - <el-col :span="24"> | ||
| 58 | - <el-card shadow="never"> | ||
| 59 | - <el-input placeholder=""></el-input> | ||
| 60 | - </el-card> | ||
| 61 | - </el-col> | ||
| 62 | - </el-form-item> | ||
| 63 | - </el-col> | ||
| 64 | - </el-row> | ||
| 65 | - </el-form> | ||
| 66 | - | ||
| 67 | - <div slot="footer"> | ||
| 68 | - <el-button @click="handleClose">取 消</el-button> | ||
| 69 | - <el-button type="primary" @click="submit">确 定</el-button> | ||
| 70 | - </div> | ||
| 71 | - </el-dialog> | ||
| 72 | - </div> | ||
| 73 | -</template> | ||
| 74 | - | ||
| 75 | -<script> | ||
| 76 | -import iconSelect from "@/components/IconSelect"; | ||
| 77 | -export default { | ||
| 78 | - components: { | ||
| 79 | - iconSelect, | ||
| 80 | - }, | ||
| 81 | - props: { | ||
| 82 | - drawerTitle: { | ||
| 83 | - type: String, | ||
| 84 | - default: "", | ||
| 85 | - }, | ||
| 86 | - menuFormDisabled: { | ||
| 87 | - type: Boolean, | ||
| 88 | - default: false, | ||
| 89 | - }, | ||
| 90 | - dialogVisible: { | ||
| 91 | - type: Boolean, | ||
| 92 | - default: false, | ||
| 93 | - }, | ||
| 94 | - menuData: { | ||
| 95 | - type: Object, | ||
| 96 | - default: null, | ||
| 97 | - }, | ||
| 98 | - }, | ||
| 99 | - data() { | ||
| 100 | - return { | ||
| 101 | - menuForm: {}, | ||
| 102 | - rules: {} | ||
| 103 | - }; | ||
| 104 | - }, | ||
| 105 | - updated() { | ||
| 106 | - this.menuForm = this.menuData; | ||
| 107 | - }, | ||
| 108 | - watch: { | ||
| 109 | - dialogVisible(val, oldVal) { | ||
| 110 | - if (val) { | ||
| 111 | - this.menuForm = this.menuData; | ||
| 112 | - } | ||
| 113 | - } | ||
| 114 | - }, | ||
| 115 | - methods: { | ||
| 116 | - handleClose() { | ||
| 117 | - this.$emit("handleClose", false); | ||
| 118 | - }, | ||
| 119 | - selected(val) { | ||
| 120 | - console.log(val); | ||
| 121 | - }, | ||
| 122 | - submit() { }, | ||
| 123 | - }, | ||
| 124 | -}; | ||
| 125 | -</script> | ||
| 126 | - | ||
| 127 | -<style> | ||
| 128 | -</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -12,7 +12,7 @@ | ... | @@ -12,7 +12,7 @@ |
| 12 | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> | 12 | :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> |
| 13 | <template v-for="(item, index) in tableHeader"> | 13 | <template v-for="(item, index) in tableHeader"> |
| 14 | <el-table-column v-if="item.value === 'menuType'" :prop="item.value" :label="item.name" :key="index" | 14 | <el-table-column v-if="item.value === 'menuType'" :prop="item.value" :label="item.name" :key="index" |
| 15 | - :align="item.align" header-align="center" showOverflowTooltip :width="item.width" :formatter="formatter"> | 15 | + :align="item.align" header-align="center" :width="item.width" :formatter="formatter"> |
| 16 | <template slot-scope="scope"> | 16 | <template slot-scope="scope"> |
| 17 | <el-tag :type="scope.row.menuType === 'B' ? '' : 'success'" disable-transitions>{{ scope.row.menuType === | 17 | <el-tag :type="scope.row.menuType === 'B' ? '' : 'success'" disable-transitions>{{ scope.row.menuType === |
| 18 | "B" ? "按钮" : "菜单" | 18 | "B" ? "按钮" : "菜单" |
| ... | @@ -20,10 +20,9 @@ | ... | @@ -20,10 +20,9 @@ |
| 20 | </template> | 20 | </template> |
| 21 | </el-table-column> | 21 | </el-table-column> |
| 22 | <el-table-column v-else :prop="item.value" :label="item.name" :key="index" :align="item.align" | 22 | <el-table-column v-else :prop="item.value" :label="item.name" :key="index" :align="item.align" |
| 23 | - header-align="center" showOverflowTooltip :width="item.width" :formatter="formatter"> | 23 | + header-align="center" :width="item.width" :formatter="formatter"> |
| 24 | </el-table-column> | 24 | </el-table-column> |
| 25 | </template> | 25 | </template> |
| 26 | - | ||
| 27 | <el-table-column header-align="center" align="center" label="操作" width="auto"> | 26 | <el-table-column header-align="center" align="center" label="操作" width="auto"> |
| 28 | <template slot-scope="scope"> | 27 | <template slot-scope="scope"> |
| 29 | <!-- <el-button type="success" size="mini" @click="buttonClick(scope)">修改</el-button> | 28 | <!-- <el-button type="success" size="mini" @click="buttonClick(scope)">修改</el-button> |
| ... | @@ -39,55 +38,15 @@ | ... | @@ -39,55 +38,15 @@ |
| 39 | </template> | 38 | </template> |
| 40 | </el-table-column> | 39 | </el-table-column> |
| 41 | </el-table> | 40 | </el-table> |
| 42 | - | ||
| 43 | - <!-- <Tables | ||
| 44 | - ref="newTable" | ||
| 45 | - :data="data" | ||
| 46 | - :headerData="tableHeader" | ||
| 47 | - size="medium" | ||
| 48 | - rowKey="id" | ||
| 49 | - :defaultExpandAll="true" | ||
| 50 | - height="auto" | ||
| 51 | - @tableSelect="tableSelect" | ||
| 52 | - @tableSelectAll="tableSelectAll" | ||
| 53 | - @SelectChange="SelectChange" | ||
| 54 | - > | ||
| 55 | - <el-table-column | ||
| 56 | - header-align="center" | ||
| 57 | - align="center" | ||
| 58 | - label="操作" | ||
| 59 | - width="auto" | ||
| 60 | - > | ||
| 61 | - <template slot-scope="scope"> | ||
| 62 | - <el-button type="primary" size="mini" @click="menuStatus(scope)">{{ | ||
| 63 | - scope.menuStatus == 0 ? "停用" : "启用" | ||
| 64 | - }}</el-button> | ||
| 65 | - <el-button type="danger" size="mini" @click="removeMenu(scope)" | ||
| 66 | - >删除菜单</el-button | ||
| 67 | - > | ||
| 68 | - </template> | ||
| 69 | - </el-table-column> | ||
| 70 | - </Tables> --> | ||
| 71 | - <!-- <Drawer | ||
| 72 | - :dialogVisible="drawer" | ||
| 73 | - :drawerTitle="drawerTitle" | ||
| 74 | - :menuFormDisabled="menuFormDisabled" | ||
| 75 | - :menuData="menuData" | ||
| 76 | - @handleClose="handleClose" | ||
| 77 | - ></Drawer> --> | ||
| 78 | </div> | 41 | </div> |
| 79 | </template> | 42 | </template> |
| 80 | 43 | ||
| 81 | <script> | 44 | <script> |
| 82 | import { getAllAuth, updateStatus } from "@/api/system/user.js"; | 45 | import { getAllAuth, updateStatus } from "@/api/system/user.js"; |
| 83 | import dictLabels from "@/assets/languages/dictLabels.js"; | 46 | import dictLabels from "@/assets/languages/dictLabels.js"; |
| 84 | -import Drawer from "./drawer.vue"; | 47 | + |
| 85 | -import { MessageBox } from "element-ui"; | ||
| 86 | export default { | 48 | export default { |
| 87 | name: "MenuConfig", | 49 | name: "MenuConfig", |
| 88 | - components: { | ||
| 89 | - Drawer, | ||
| 90 | - }, | ||
| 91 | data() { | 50 | data() { |
| 92 | return { | 51 | return { |
| 93 | drawer: false, | 52 | drawer: false, |
| ... | @@ -102,35 +61,30 @@ export default { | ... | @@ -102,35 +61,30 @@ export default { |
| 102 | value: "title", | 61 | value: "title", |
| 103 | width: "", | 62 | width: "", |
| 104 | align: "left", | 63 | align: "left", |
| 105 | - sorTable: false, | ||
| 106 | }, | 64 | }, |
| 107 | { | 65 | { |
| 108 | name: "菜单类型", | 66 | name: "菜单类型", |
| 109 | value: "menuType", | 67 | value: "menuType", |
| 110 | width: "100", | 68 | width: "100", |
| 111 | align: "center", | 69 | align: "center", |
| 112 | - sortable: false, | ||
| 113 | }, | 70 | }, |
| 114 | { | 71 | { |
| 115 | name: "权限标识", | 72 | name: "权限标识", |
| 116 | value: "permissionKey", | 73 | value: "permissionKey", |
| 117 | width: "auto", | 74 | width: "auto", |
| 118 | align: "left", | 75 | align: "left", |
| 119 | - sortable: false, | ||
| 120 | }, | 76 | }, |
| 121 | { | 77 | { |
| 122 | name: "菜单状态", | 78 | name: "菜单状态", |
| 123 | value: "status", | 79 | value: "status", |
| 124 | width: "100", | 80 | width: "100", |
| 125 | align: "center", | 81 | align: "center", |
| 126 | - sorTable: false, | ||
| 127 | }, | 82 | }, |
| 128 | { | 83 | { |
| 129 | name: "菜单路由", | 84 | name: "菜单路由", |
| 130 | value: "path", | 85 | value: "path", |
| 131 | width: "auto", | 86 | width: "auto", |
| 132 | align: "left", | 87 | align: "left", |
| 133 | - sorTable: false, | ||
| 134 | }, | 88 | }, |
| 135 | ], | 89 | ], |
| 136 | }; | 90 | }; |
| ... | @@ -153,19 +107,16 @@ export default { | ... | @@ -153,19 +107,16 @@ export default { |
| 153 | this.drawerTitle = "新增菜单"; | 107 | this.drawerTitle = "新增菜单"; |
| 154 | this.menuFormDisabled = false; | 108 | this.menuFormDisabled = false; |
| 155 | }, | 109 | }, |
| 156 | - | ||
| 157 | //关闭 | 110 | //关闭 |
| 158 | handleClose(val) { | 111 | handleClose(val) { |
| 159 | this.drawer = val; | 112 | this.drawer = val; |
| 160 | }, | 113 | }, |
| 161 | - | ||
| 162 | buttonClick(row) { | 114 | buttonClick(row) { |
| 163 | this.menuData = row.row; | 115 | this.menuData = row.row; |
| 164 | this.drawer = true; | 116 | this.drawer = true; |
| 165 | this.drawerTitle = "查看/修改"; | 117 | this.drawerTitle = "查看/修改"; |
| 166 | this.menuFormDisabled = true; | 118 | this.menuFormDisabled = true; |
| 167 | }, | 119 | }, |
| 168 | - | ||
| 169 | //表格数据 | 120 | //表格数据 |
| 170 | menuAll() { | 121 | menuAll() { |
| 171 | this.loading = true; | 122 | this.loading = true; |
| ... | @@ -175,48 +126,34 @@ export default { | ... | @@ -175,48 +126,34 @@ export default { |
| 175 | if (res.code === 200) { | 126 | if (res.code === 200) { |
| 176 | res.data.length > 0 | 127 | res.data.length > 0 |
| 177 | ? (this.data = res.data) | 128 | ? (this.data = res.data) |
| 178 | - : this.$message({ | 129 | + : this.msgWarning('数据为空') |
| 179 | - message: "数据为空", | ||
| 180 | - type: "warning", | ||
| 181 | - }); | ||
| 182 | } else { | 130 | } else { |
| 183 | - this.$message({ | 131 | + this.msgWarning(res.msg) |
| 184 | - message: res.msg, | ||
| 185 | - type: "warning", | ||
| 186 | - }); | ||
| 187 | } | 132 | } |
| 188 | }) | 133 | }) |
| 189 | .catch(() => { | 134 | .catch(() => { |
| 190 | this.loading = false; | 135 | this.loading = false; |
| 191 | }); | 136 | }); |
| 192 | }, | 137 | }, |
| 193 | - | ||
| 194 | //菜单状态改变 | 138 | //菜单状态改变 |
| 195 | statusUpdate(data) { | 139 | statusUpdate(data) { |
| 196 | updateStatus(data) | 140 | updateStatus(data) |
| 197 | .then((res) => { | 141 | .then((res) => { |
| 198 | if (res.code === 200) { | 142 | if (res.code === 200) { |
| 199 | this.menuAll(); | 143 | this.menuAll(); |
| 200 | - this.$message({ | 144 | + this.msgSuccess('操作成功') |
| 201 | - message: "操作成功", | ||
| 202 | - type: "success", | ||
| 203 | - }); | ||
| 204 | location.reload(); | 145 | location.reload(); |
| 205 | } else { | 146 | } else { |
| 206 | - this.$message({ | 147 | + this.msgWarning(res.msg) |
| 207 | - message: res.msg, | ||
| 208 | - type: "warning", | ||
| 209 | - }); | ||
| 210 | } | 148 | } |
| 211 | }) | 149 | }) |
| 212 | .catch((err) => { | 150 | .catch((err) => { |
| 213 | console.log(err); | 151 | console.log(err); |
| 214 | }); | 152 | }); |
| 215 | }, | 153 | }, |
| 216 | - | ||
| 217 | //菜单开启关闭 | 154 | //菜单开启关闭 |
| 218 | menuStatus(row) { | 155 | menuStatus(row) { |
| 219 | - MessageBox.confirm( | 156 | + this.$confirm( |
| 220 | row.row.status == 1 ? "是否要关闭此菜单" : "是否要启用此菜单", | 157 | row.row.status == 1 ? "是否要关闭此菜单" : "是否要启用此菜单", |
| 221 | "提示", | 158 | "提示", |
| 222 | { | 159 | { |
| ... | @@ -233,10 +170,9 @@ export default { | ... | @@ -233,10 +170,9 @@ export default { |
| 233 | }) | 170 | }) |
| 234 | .catch(() => { }); | 171 | .catch(() => { }); |
| 235 | }, | 172 | }, |
| 236 | - | ||
| 237 | //菜单删除 | 173 | //菜单删除 |
| 238 | removeMenu(row) { | 174 | removeMenu(row) { |
| 239 | - MessageBox.confirm("是否要删除此菜单", "提示", { | 175 | + this.$confirm("是否要删除此菜单", "提示", { |
| 240 | confirmButtonText: "确定删除", | 176 | confirmButtonText: "确定删除", |
| 241 | cancelButtonText: "取消", | 177 | cancelButtonText: "取消", |
| 242 | type: "warning", | 178 | type: "warning", |
| ... | @@ -249,7 +185,6 @@ export default { | ... | @@ -249,7 +185,6 @@ export default { |
| 249 | }) | 185 | }) |
| 250 | .catch(() => { }); | 186 | .catch(() => { }); |
| 251 | }, | 187 | }, |
| 252 | - | ||
| 253 | formatter(row, column, cellValue, index) { | 188 | formatter(row, column, cellValue, index) { |
| 254 | if (dictLabels["menu"][column.property]) { | 189 | if (dictLabels["menu"][column.property]) { |
| 255 | if (dictLabels["menu"][column.property][cellValue]) { | 190 | if (dictLabels["menu"][column.property][cellValue]) { | ... | ... |
| ... | @@ -2,7 +2,8 @@ | ... | @@ -2,7 +2,8 @@ |
| 2 | <div class="roleDrawer"> | 2 | <div class="roleDrawer"> |
| 3 | <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" destroy-on-close | 3 | <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" destroy-on-close |
| 4 | :close-on-click-modal="false" :wrapperClosable="false" :show-close="false"> | 4 | :close-on-click-modal="false" :wrapperClosable="false" :show-close="false"> |
| 5 | - <el-form ref="roleForm" :model="roleForm" label-width="auto" :rules="rules" size="mini" style="margin: 10px"> | 5 | + <el-form ref="roleForm" :model="roleForm" label-width="auto" :rules="rules" size="mini" style="margin: 10px" |
| 6 | + @submit.native.prevent> | ||
| 6 | <el-row :gutter="10"> | 7 | <el-row :gutter="10"> |
| 7 | <el-col :span="12"> | 8 | <el-col :span="12"> |
| 8 | <el-form-item label="角色名:" prop="name"> | 9 | <el-form-item label="角色名:" prop="name"> |
| ... | @@ -14,22 +15,10 @@ | ... | @@ -14,22 +15,10 @@ |
| 14 | <el-col :span="24"> | 15 | <el-col :span="24"> |
| 15 | <el-form-item label="角色描述:" prop="remark"> | 16 | <el-form-item label="角色描述:" prop="remark"> |
| 16 | <el-input v-model="roleForm.remark" type="textarea" placeholder="请输入角色描述" :disabled="roleFormDisabled" | 17 | <el-input v-model="roleForm.remark" type="textarea" placeholder="请输入角色描述" :disabled="roleFormDisabled" |
| 17 | - v-if="!roleFormDisabled" clearable></el-input> | 18 | + v-if="!roleFormDisabled" clearable maxlength="255" show-word-limit></el-input> |
| 18 | <div v-else>{{ roleData.remark }}</div> | 19 | <div v-else>{{ roleData.remark }}</div> |
| 19 | </el-form-item> | 20 | </el-form-item> |
| 20 | </el-col> | 21 | </el-col> |
| 21 | - <!-- <el-col :span="24"> | ||
| 22 | - <el-form-item label="角色状态:" prop="valid"> | ||
| 23 | - <el-switch | ||
| 24 | - v-model="roleForm.valid" | ||
| 25 | - :active-value="1" | ||
| 26 | - :inactive-value="2" | ||
| 27 | - active-color="#13ce66" | ||
| 28 | - inactive-color="#ff4949" | ||
| 29 | - :disabled="roleFormDisabled" | ||
| 30 | - ></el-switch> | ||
| 31 | - </el-form-item> | ||
| 32 | - </el-col> --> | ||
| 33 | <el-col :span="24"> | 22 | <el-col :span="24"> |
| 34 | <el-form-item label="角色权限:" prop="menuIdList"> | 23 | <el-form-item label="角色权限:" prop="menuIdList"> |
| 35 | <el-tree ref="tree" :data="treeData" node-key="id" :props="defaultProps" :show-checkbox="true" | 24 | <el-tree ref="tree" :data="treeData" node-key="id" :props="defaultProps" :show-checkbox="true" |
| ... | @@ -91,26 +80,13 @@ export default { | ... | @@ -91,26 +80,13 @@ export default { |
| 91 | }, | 80 | }, |
| 92 | }; | 81 | }; |
| 93 | }, | 82 | }, |
| 94 | - created() { | ||
| 95 | - //权限列表 | ||
| 96 | - getAllAuth() | ||
| 97 | - .then((res) => { | ||
| 98 | - if (res.code === 200) { | ||
| 99 | - this.treeData = this.treeDataInfo(res.data); | ||
| 100 | - } else { | ||
| 101 | - this.msgWarning(res.msg) | ||
| 102 | - } | ||
| 103 | - }) | ||
| 104 | - .catch((err) => { | ||
| 105 | - console.log(err); | ||
| 106 | - }); | ||
| 107 | - }, | ||
| 108 | watch: { | 83 | watch: { |
| 109 | roleFormDisabled() { | 84 | roleFormDisabled() { |
| 110 | this.treeData = this.treeDisabled(this.treeData); | 85 | this.treeData = this.treeDisabled(this.treeData); |
| 111 | }, | 86 | }, |
| 112 | drawer(val, oldVal) { | 87 | drawer(val, oldVal) { |
| 113 | if (val) { | 88 | if (val) { |
| 89 | + this.allAuth() | ||
| 114 | this.roleForm = this.roleData; | 90 | this.roleForm = this.roleData; |
| 115 | } else { | 91 | } else { |
| 116 | this.loading = false; | 92 | this.loading = false; |
| ... | @@ -118,12 +94,25 @@ export default { | ... | @@ -118,12 +94,25 @@ export default { |
| 118 | }, | 94 | }, |
| 119 | }, | 95 | }, |
| 120 | methods: { | 96 | methods: { |
| 97 | + //权限列表 | ||
| 98 | + allAuth() { | ||
| 99 | + getAllAuth() | ||
| 100 | + .then((res) => { | ||
| 101 | + if (res.code === 200) { | ||
| 102 | + this.treeData = this.treeDataInfo(res.data); | ||
| 103 | + } else { | ||
| 104 | + this.msgWarning(res.msg) | ||
| 105 | + } | ||
| 106 | + }) | ||
| 107 | + .catch((err) => { | ||
| 108 | + console.log(err); | ||
| 109 | + }); | ||
| 110 | + }, | ||
| 121 | //关闭 | 111 | //关闭 |
| 122 | handleClose() { | 112 | handleClose() { |
| 123 | this.$refs["roleForm"].clearValidate(); | 113 | this.$refs["roleForm"].clearValidate(); |
| 124 | this.$emit("handleClose", false); | 114 | this.$emit("handleClose", false); |
| 125 | }, | 115 | }, |
| 126 | - | ||
| 127 | //提交 | 116 | //提交 |
| 128 | submit() { | 117 | submit() { |
| 129 | let formData = {}; | 118 | let formData = {}; |
| ... | @@ -151,7 +140,6 @@ export default { | ... | @@ -151,7 +140,6 @@ export default { |
| 151 | console.log(err); | 140 | console.log(err); |
| 152 | }); | 141 | }); |
| 153 | }, | 142 | }, |
| 154 | - | ||
| 155 | //权限结构禁用 | 143 | //权限结构禁用 |
| 156 | treeDisabled(val) { | 144 | treeDisabled(val) { |
| 157 | let data = []; | 145 | let data = []; |
| ... | @@ -164,7 +152,7 @@ export default { | ... | @@ -164,7 +152,7 @@ export default { |
| 164 | }); | 152 | }); |
| 165 | return data; | 153 | return data; |
| 166 | }, | 154 | }, |
| 167 | - | 155 | + //权限结构数据整理 |
| 168 | treeDataInfo(val) { | 156 | treeDataInfo(val) { |
| 169 | let data = []; | 157 | let data = []; |
| 170 | val.forEach((item) => { | 158 | val.forEach((item) => { | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div class="roleConfig"> | 2 | <div class="roleConfig"> |
| 3 | - <el-form ref="selectionRoleForm" label-width="auto" style="margin: 20px"> | 3 | + <el-form ref="selectionRoleForm" label-width="auto" style="margin: 20px" @submit.native.prevent> |
| 4 | <el-row :gutter="50"> | 4 | <el-row :gutter="50"> |
| 5 | <el-col :span="6"> | 5 | <el-col :span="6"> |
| 6 | <el-form-item label="角色名称"> | 6 | <el-form-item label="角色名称"> | ... | ... |
| ... | @@ -2,7 +2,8 @@ | ... | @@ -2,7 +2,8 @@ |
| 2 | <div class="userDrawer"> | 2 | <div class="userDrawer"> |
| 3 | <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" :close-on-click-modal="false" | 3 | <el-drawer :title="drawerTitle" :visible.sync="drawer" direction="rtl" size="40%" :close-on-click-modal="false" |
| 4 | :wrapperClosable="false" :show-close="false"> | 4 | :wrapperClosable="false" :show-close="false"> |
| 5 | - <el-form ref="userForm" :model="userForm" label-width="auto" :rules="rules" style="margin: 10px"> | 5 | + <el-form ref="userForm" :model="userForm" label-width="auto" :rules="rules" style="margin: 10px" |
| 6 | + @submit.native.prevent> | ||
| 6 | <el-row :gutter="10"> | 7 | <el-row :gutter="10"> |
| 7 | <el-col :span="12"> | 8 | <el-col :span="12"> |
| 8 | <el-form-item label="员工号:" prop="loginName"> | 9 | <el-form-item label="员工号:" prop="loginName"> |
| ... | @@ -63,6 +64,7 @@ | ... | @@ -63,6 +64,7 @@ |
| 63 | style="width: 100%" multiple clearable> | 64 | style="width: 100%" multiple clearable> |
| 64 | <el-option v-for="item in portNameList" :label="item.englishName" :value="item.englishName" | 65 | <el-option v-for="item in portNameList" :label="item.englishName" :value="item.englishName" |
| 65 | :key="item.id"> | 66 | :key="item.id"> |
| 67 | + <Tooltips :content="item.englishName" :refName="item.code"></Tooltips> | ||
| 66 | </el-option> | 68 | </el-option> |
| 67 | </el-select> | 69 | </el-select> |
| 68 | </el-form-item> | 70 | </el-form-item> |
| ... | @@ -70,14 +72,21 @@ | ... | @@ -70,14 +72,21 @@ |
| 70 | <el-col :span="24"> | 72 | <el-col :span="24"> |
| 71 | <el-form-item label="所属角色:" prop="roleIds"> | 73 | <el-form-item label="所属角色:" prop="roleIds"> |
| 72 | <el-checkbox-group v-model="roleid" :disabled="userFormDisabled" @change="change"> | 74 | <el-checkbox-group v-model="roleid" :disabled="userFormDisabled" @change="change"> |
| 73 | - <el-checkbox v-for="item in roleList" :label="item.id" :key="item.id">{{ item.name }}</el-checkbox> | 75 | + <el-row> |
| 76 | + <el-col :span="4" v-for="item in roleList" :key="item.id"> | ||
| 77 | + <el-checkbox :label="item.id"> | ||
| 78 | + {{ item.name }} | ||
| 79 | + <Tooltips :content="item.englishName" :refName="item.code"></Tooltips> | ||
| 80 | + </el-checkbox> | ||
| 81 | + </el-col> | ||
| 82 | + </el-row> | ||
| 74 | </el-checkbox-group> | 83 | </el-checkbox-group> |
| 75 | </el-form-item> | 84 | </el-form-item> |
| 76 | </el-col> | 85 | </el-col> |
| 77 | <el-col :span="24"> | 86 | <el-col :span="24"> |
| 78 | <el-form-item label="备注:" prop="remark"> | 87 | <el-form-item label="备注:" prop="remark"> |
| 79 | <el-input type="textarea" v-model="userForm.remark" placeholder="备注" :disabled="userFormDisabled" | 88 | <el-input type="textarea" v-model="userForm.remark" placeholder="备注" :disabled="userFormDisabled" |
| 80 | - v-if="!userFormDisabled" size="small" clearable></el-input> | 89 | + v-if="!userFormDisabled" size="small" clearable maxlength="255" show-word-limit></el-input> |
| 81 | <div v-else>{{ userForm.remark }}</div> | 90 | <div v-else>{{ userForm.remark }}</div> |
| 82 | </el-form-item> | 91 | </el-form-item> |
| 83 | </el-col> | 92 | </el-col> | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | <div> | 2 | <div> |
| 3 | - <el-form ref="selectionUserForm" label-width="auto" style="margin: 20px"> | 3 | + <el-form ref="selectionUserForm" label-width="auto" style="margin: 20px" @submit.native.prevent> |
| 4 | <el-row :gutter="50"> | 4 | <el-row :gutter="50"> |
| 5 | <el-col :span="6"> | 5 | <el-col :span="6"> |
| 6 | <el-form-item label="用户姓名"> | 6 | <el-form-item label="用户姓名"> | ... | ... |
src/views/systemLog/dmLog/index.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-form ref="dmLogForm" class="form-header" :model="selectForm" label-width="auto" size="small"> | ||
| 4 | + <el-row type="flex" style="flex-wrap: wrap !important"> | ||
| 5 | + <el-col :span="6"> | ||
| 6 | + <el-form-item label="ACCS原航班号"> | ||
| 7 | + <el-input v-model.trim="fltNo" class="formItem" placeholder="请输入航班号" clearable></el-input> | ||
| 8 | + </el-form-item> | ||
| 9 | + </el-col> | ||
| 10 | + <el-col :span="6"> | ||
| 11 | + <el-form-item label="数据接收日期" prop="createTime"> | ||
| 12 | + <el-date-picker v-model="selectForm.createTime" class="formItem" type="date" placeholder="选择日期" | ||
| 13 | + :value-format="valueFormat" clearable> | ||
| 14 | + </el-date-picker> | ||
| 15 | + </el-form-item> | ||
| 16 | + </el-col> | ||
| 17 | + <el-col :span="6"> | ||
| 18 | + <el-form-item label="运单号"> | ||
| 19 | + <el-input v-model="selectForm.awbNbr" class="formItem" placeholder="请输入运单号" clearable></el-input> | ||
| 20 | + </el-form-item> | ||
| 21 | + </el-col> | ||
| 22 | + <el-col :span="6"> | ||
| 23 | + <el-form-item label="处理状态级别"> | ||
| 24 | + <el-select v-model="selectForm.status" class="formItem" placeholder="不限" clearable> | ||
| 25 | + <el-option label="未处理" value="0"></el-option> | ||
| 26 | + <el-option label="处理成功" value="1"></el-option> | ||
| 27 | + <el-option label="已处理" value="2"></el-option> | ||
| 28 | + <el-option label="处理失败" value="3"></el-option> | ||
| 29 | + <el-option label="处理中" value="9"></el-option> | ||
| 30 | + </el-select> | ||
| 31 | + </el-form-item> | ||
| 32 | + </el-col> | ||
| 33 | + <el-col :span="6"> | ||
| 34 | + <el-form-item label="ACCS原航班日期"> | ||
| 35 | + <el-date-picker v-model="selectForm.fltDate" class="formItem" type="date" placeholder="选择日期" | ||
| 36 | + :value-format="valueFormat" clearable> | ||
| 37 | + </el-date-picker> | ||
| 38 | + </el-form-item> | ||
| 39 | + </el-col> | ||
| 40 | + <!-- <el-col :span="6"> | ||
| 41 | + <el-form-item label="口岸代码"> | ||
| 42 | + <el-select v-model="selectForm.portName" class="formItem" placeholder="不限" clearable> | ||
| 43 | + <el-option v-for="item in portList" :label="item.englishName" :value="item.englishName" :key="item.id"> | ||
| 44 | + </el-option> | ||
| 45 | + </el-select> | ||
| 46 | + </el-form-item> | ||
| 47 | + </el-col> --> | ||
| 48 | + <el-col :span="6"> | ||
| 49 | + <el-form-item label="回推ACCS结果"> | ||
| 50 | + <el-select v-model="selectForm.sendLogSendResult" class="formItem" placeholder="不限" clearable> | ||
| 51 | + <el-option label="未推" value="0"> | ||
| 52 | + </el-option> | ||
| 53 | + <el-option label="推送成功" value="1"> | ||
| 54 | + </el-option> | ||
| 55 | + <el-option label="推送失败" value="2"> | ||
| 56 | + </el-option> | ||
| 57 | + </el-select> | ||
| 58 | + </el-form-item> | ||
| 59 | + </el-col> | ||
| 60 | + </el-row> | ||
| 61 | + <div class="ml20" style="display: flex"> | ||
| 62 | + <el-button type="primary" size="small" icon="el-icon-search" :loading="loading" @click="selectDMData(0)">查询 | ||
| 63 | + </el-button> | ||
| 64 | + </div> | ||
| 65 | + </el-form> | ||
| 66 | + <Tables ref="dmLogTables" ductName="logDmData" :order="true" :data="data" :headerData="tableHeader" | ||
| 67 | + tableAlign="center" :showOverflowTooltip="false" :height="tableHeight" :page="selectForm.page" | ||
| 68 | + :limitSize="selectForm.size" :pageSizes="[100]" :totalCount="total" :loading="loading" | ||
| 69 | + @currentChange="currentChange" @sortChange="sortChange"> | ||
| 70 | + <template v-slot:awbNbr="scope"> | ||
| 71 | + <el-link type="primary" @click="gotoWeatherTable(scope.row)"> | ||
| 72 | + {{ | ||
| 73 | + scope.row.awbNbr | ||
| 74 | + }}<i class="el-icon-link"></i> </el-link> | ||
| 75 | + </template> | ||
| 76 | + <template v-slot:flightFltNo="scope"> | ||
| 77 | + <el-link v-if="scope.row.allocDimId" type="primary" | ||
| 78 | + @click="$router.push({ name: 'FlightAllocConfigInfo', params: { handle: 'DMdetail', id: scope.row.allocDimId } })"> | ||
| 79 | + {{ | ||
| 80 | + scope.row.flightFltNo | ||
| 81 | + }}<i class="el-icon-link"></i> </el-link> | ||
| 82 | + <span v-else>{{ scope.row.flightFltNo }}</span> | ||
| 83 | + </template> | ||
| 84 | + </Tables> | ||
| 85 | + </div> | ||
| 86 | +</template> | ||
| 87 | + | ||
| 88 | +<script> | ||
| 89 | +import dictLabels from "../../../assets/languages/dictLabels.js"; | ||
| 90 | +import { portNameList } from "@/api/system/user.js"; | ||
| 91 | +import { getDmDataList, getDmFlowInformation } from "@/api/system/logConfig.js"; | ||
| 92 | + | ||
| 93 | +export default { | ||
| 94 | + name: "DmLog", | ||
| 95 | + data() { | ||
| 96 | + return { | ||
| 97 | + selectForm: { | ||
| 98 | + fltNo: undefined, | ||
| 99 | + createTime: undefined, | ||
| 100 | + page: 1, | ||
| 101 | + size: 100, | ||
| 102 | + }, | ||
| 103 | + data: [], | ||
| 104 | + tableHeader: this.tableHeaders['DM'], | ||
| 105 | + portList: [], | ||
| 106 | + rules: { | ||
| 107 | + createTime: [ | ||
| 108 | + { | ||
| 109 | + required: true, | ||
| 110 | + message: "创建日期不能为空", | ||
| 111 | + trigger: "blur", | ||
| 112 | + }, | ||
| 113 | + ], | ||
| 114 | + }, | ||
| 115 | + pickerOptions: {}, | ||
| 116 | + selectDate: null, | ||
| 117 | + createTimes: [], | ||
| 118 | + total: 0, | ||
| 119 | + tableHeight: null, | ||
| 120 | + loading: false, | ||
| 121 | + valueFormat: "yyyy-MM-dd", | ||
| 122 | + }; | ||
| 123 | + }, | ||
| 124 | + created() { | ||
| 125 | + this.selectForm.createTime = this.nowDate(); | ||
| 126 | + this.getPort() | ||
| 127 | + }, | ||
| 128 | + activated() { | ||
| 129 | + this.selectDMData(); | ||
| 130 | + }, | ||
| 131 | + deactivated() { | ||
| 132 | + this.data = []; | ||
| 133 | + }, | ||
| 134 | + mounted() { | ||
| 135 | + this.tableHeight = | ||
| 136 | + window.innerHeight - this.$refs.dmLogForm.$el.offsetHeight - 130; | ||
| 137 | + }, | ||
| 138 | + methods: { | ||
| 139 | + //获取口岸 | ||
| 140 | + async getPort() { | ||
| 141 | + portNameList().then((res) => { | ||
| 142 | + if (res.code === 200) { | ||
| 143 | + this.portList = res.data; | ||
| 144 | + } else { | ||
| 145 | + this.msgWarning('查询条件' + res.msg) | ||
| 146 | + } | ||
| 147 | + }); | ||
| 148 | + if (this.$store.state.tagsView.cachedViews.length == 0) { | ||
| 149 | + this.selectDMData(); | ||
| 150 | + } | ||
| 151 | + }, | ||
| 152 | + //数据查询 | ||
| 153 | + async selectDMData(val) { | ||
| 154 | + this.data = []; | ||
| 155 | + this.loading = true; | ||
| 156 | + if (val === 0) { | ||
| 157 | + this.selectForm.page = 1; | ||
| 158 | + } | ||
| 159 | + getDmDataList(this.selectForm).then((res) => { | ||
| 160 | + this.loading = false; | ||
| 161 | + if (res.code === 200) { | ||
| 162 | + if (res.data.total === 0) { | ||
| 163 | + this.msgWarning('未查询到数据') | ||
| 164 | + } else { | ||
| 165 | + this.data = res.data.list; | ||
| 166 | + this.total = res.data.total; | ||
| 167 | + } | ||
| 168 | + } else { | ||
| 169 | + this.msgWarning(res.msg) | ||
| 170 | + } | ||
| 171 | + }); | ||
| 172 | + }, | ||
| 173 | + //跳转流水 | ||
| 174 | + gotoWeatherTable(val) { | ||
| 175 | + getDmFlowInformation('accsId=' + val.dmAccsId).then(res => { | ||
| 176 | + if (res.code === 200) { | ||
| 177 | + if (res.data.list.length > 0) { | ||
| 178 | + this.$router.push({ name: 'weatherTable', params: { data: res.data.list } }) | ||
| 179 | + } else { | ||
| 180 | + this.msgWarning('未查询到该条数据的流水') | ||
| 181 | + } | ||
| 182 | + } else { | ||
| 183 | + this.msgWarning(res.msg) | ||
| 184 | + } | ||
| 185 | + }).catch(err => { | ||
| 186 | + console.log(err) | ||
| 187 | + }) | ||
| 188 | + }, | ||
| 189 | + //分页 | ||
| 190 | + currentChange(val) { | ||
| 191 | + this.selectForm.page = val.page; | ||
| 192 | + this.selectDMData(); | ||
| 193 | + }, | ||
| 194 | + //数据处理 | ||
| 195 | + statusData(val) { | ||
| 196 | + if (dictLabels["logDmData"]["status"][val]) { | ||
| 197 | + return dictLabels["logDmData"]["status"][val]; | ||
| 198 | + } else { | ||
| 199 | + return val; | ||
| 200 | + } | ||
| 201 | + }, | ||
| 202 | + //排序 | ||
| 203 | + sortChange(val) { | ||
| 204 | + let data = []; | ||
| 205 | + let nullData = []; | ||
| 206 | + this.data.forEach((item) => { | ||
| 207 | + if (item[val.prop]) { | ||
| 208 | + data.push(item); | ||
| 209 | + } else { | ||
| 210 | + nullData.push(item); | ||
| 211 | + } | ||
| 212 | + }); | ||
| 213 | + data = data.sort(this.$refs.dmLogTables.compare(val.prop, val.order)); | ||
| 214 | + if (val.order != "ascending") { | ||
| 215 | + this.data = nullData.concat(data); | ||
| 216 | + } else { | ||
| 217 | + this.data = data.concat(nullData); | ||
| 218 | + } | ||
| 219 | + this.data.forEach((item, index = 0) => { | ||
| 220 | + item.index = index; | ||
| 221 | + }); | ||
| 222 | + }, | ||
| 223 | + }, | ||
| 224 | + computed: { | ||
| 225 | + fltNo: { | ||
| 226 | + get: function () { | ||
| 227 | + return this.selectForm.fltNo; | ||
| 228 | + }, | ||
| 229 | + set: function (val) { | ||
| 230 | + this.selectForm.fltNo = this.upCase(val); | ||
| 231 | + }, | ||
| 232 | + }, | ||
| 233 | + }, | ||
| 234 | +}; | ||
| 235 | +</script> | ||
| 236 | + | ||
| 237 | +<style scoped> | ||
| 238 | +.tags { | ||
| 239 | + display: flex; | ||
| 240 | + margin: 0 20px 0 auto; | ||
| 241 | + color: black; | ||
| 242 | + line-height: 32px; | ||
| 243 | +} | ||
| 244 | + | ||
| 245 | +.tagTip { | ||
| 246 | + margin: 0 5px; | ||
| 247 | +} | ||
| 248 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
src/views/systemLog/dmLog/weatherTable.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div style="padding:10px"> | ||
| 3 | + <el-card header="流水信息"> | ||
| 4 | + <Tables ref="weatherTable" ductName="weatherTable" :order="true" :data="data" :headerData="tableHeader" | ||
| 5 | + :showOverflowTooltip="false" :height="tableHeight" :page="selectData.page" :limitSize="selectData.size" | ||
| 6 | + :pageSizes="[100]" :pagination="false" :loading="loading" @currentChange="currentChange"> | ||
| 7 | + </Tables> | ||
| 8 | + <div class="ml20 mt20"> | ||
| 9 | + <el-button size="small" @click="close">返 回</el-button> | ||
| 10 | + </div> | ||
| 11 | + </el-card> | ||
| 12 | + </div> | ||
| 13 | +</template> | ||
| 14 | + | ||
| 15 | +<script> | ||
| 16 | +import { getDmFlowInformation } from "@/api/system/logConfig.js"; | ||
| 17 | + | ||
| 18 | +export default { | ||
| 19 | + name: 'weatherTable', | ||
| 20 | + data() { | ||
| 21 | + return { | ||
| 22 | + data: [], | ||
| 23 | + tableHeader: this.tableHeaders['weatherTable'], | ||
| 24 | + selectData: { | ||
| 25 | + page: 1, | ||
| 26 | + size: 100, | ||
| 27 | + }, | ||
| 28 | + loading: false, | ||
| 29 | + tableHeight: null | ||
| 30 | + } | ||
| 31 | + }, | ||
| 32 | + created() { | ||
| 33 | + if (this.$route.params.data) { | ||
| 34 | + this.data = this.$route.params.data | ||
| 35 | + sessionStorage.setItem('accsid', this.data[0].accsId) | ||
| 36 | + } else { | ||
| 37 | + this.getWeatherTable() | ||
| 38 | + } | ||
| 39 | + }, | ||
| 40 | + activated() { | ||
| 41 | + if (this.$route.params.data) { | ||
| 42 | + this.data = this.$route.params.data | ||
| 43 | + sessionStorage.setItem('accsid', this.data[0].accsId) | ||
| 44 | + } else { | ||
| 45 | + this.getWeatherTable() | ||
| 46 | + } | ||
| 47 | + }, | ||
| 48 | + methods: { | ||
| 49 | + //accsid获取流水 | ||
| 50 | + getWeatherTable() { | ||
| 51 | + this.loading = true | ||
| 52 | + let accsid = '' | ||
| 53 | + accsid = sessionStorage.getItem('accsid') | ||
| 54 | + getDmFlowInformation('accsId=' + accsid).then(res => { | ||
| 55 | + this.loading = false | ||
| 56 | + if (res.code === 200) { | ||
| 57 | + this.data = res.data.list | ||
| 58 | + } else { | ||
| 59 | + this.msgWarning(res.msg) | ||
| 60 | + } | ||
| 61 | + }).catch(err => { | ||
| 62 | + this.loading = false | ||
| 63 | + console.log(err) | ||
| 64 | + }) | ||
| 65 | + }, | ||
| 66 | + //返回 | ||
| 67 | + close() { | ||
| 68 | + this.$store.state.tagsView.visitedViews.splice( | ||
| 69 | + this.$store.state.tagsView.visitedViews.findIndex( | ||
| 70 | + (item) => item.path === this.$route.path | ||
| 71 | + ), | ||
| 72 | + ); | ||
| 73 | + sessionStorage.removeItem('accsid') | ||
| 74 | + this.$router.push({ name: 'DmLog' }) | ||
| 75 | + }, | ||
| 76 | + //翻页 | ||
| 77 | + currentChange(val) { }, | ||
| 78 | + } | ||
| 79 | +} | ||
| 80 | +</script> | ||
| 81 | + | ||
| 82 | +<style> | ||
| 83 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment