Showing
21 changed files
with
1177 additions
and
1354 deletions
src/assets/icons/svg/plane.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="1640931184925" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5236" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M599.06048 831.309824l12.106752-193.404928 372.860928 184.430592L984.02816 710.206464 617.906176 367.33952 617.906176 151.638016c0-56.974336-46.188544-143.064064-103.158784-143.064064-56.974336 0-103.158784 86.089728-103.158784 143.064064L411.588608 367.33952 45.461504 710.206464l0 112.129024 366.660608-184.430592 14.999552 209.27488c0 5.05344 0.594944 9.892864 1.124352 14.749696l-66.591744 60.348416 0 66.587648 153.986048-50.879488 2.43712-0.80896 147.439616 51.688448 0-66.587648-68.758528-62.253056L599.06048 831.309824z" p-id="5237"></path></svg> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| ... | @@ -13,7 +13,7 @@ | ... | @@ -13,7 +13,7 @@ |
| 13 | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click"> | 13 | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click"> |
| 14 | <div class="avatar-wrapper"> | 14 | <div class="avatar-wrapper"> |
| 15 | <img :src="avatar" class="user-avatar"> | 15 | <img :src="avatar" class="user-avatar"> |
| 16 | - <i class="el-icon-caret-bottom" /> | 16 | + <!-- <i class="el-icon-caret-bottom" /> --> |
| 17 | </div> | 17 | </div> |
| 18 | <el-dropdown-menu slot="dropdown"> | 18 | <el-dropdown-menu slot="dropdown"> |
| 19 | <router-link to="/user/profile"> | 19 | <router-link to="/user/profile"> | ... | ... |
| ... | @@ -225,7 +225,7 @@ export default { | ... | @@ -225,7 +225,7 @@ export default { |
| 225 | 225 | ||
| 226 | <style lang="scss" scoped> | 226 | <style lang="scss" scoped> |
| 227 | .tags-view-container { | 227 | .tags-view-container { |
| 228 | - height: 34px; | 228 | + height: 50px; |
| 229 | width: 100%; | 229 | width: 100%; |
| 230 | background: #fff; | 230 | background: #fff; |
| 231 | border-bottom: 1px solid #d8dce5; | 231 | border-bottom: 1px solid #d8dce5; |
| ... | @@ -268,6 +268,7 @@ export default { | ... | @@ -268,6 +268,7 @@ export default { |
| 268 | } | 268 | } |
| 269 | } | 269 | } |
| 270 | .contextmenu { | 270 | .contextmenu { |
| 271 | + // height: 0; | ||
| 271 | margin: 0; | 272 | margin: 0; |
| 272 | background: #fff; | 273 | background: #fff; |
| 273 | z-index: 3000; | 274 | z-index: 3000; | ... | ... |
| ... | @@ -74,7 +74,7 @@ export const constantRoutes = [ | ... | @@ -74,7 +74,7 @@ export const constantRoutes = [ |
| 74 | children: [ | 74 | children: [ |
| 75 | { | 75 | { |
| 76 | path: 'profile', | 76 | path: 'profile', |
| 77 | - component: (resolve) => require(['@/views/system/user/profile/index'], resolve), | 77 | + component: (resolve) => require(['@/views/systemConfig/userConfig/profile/index'], resolve), |
| 78 | name: 'Profile', | 78 | name: 'Profile', |
| 79 | meta: { title: '个人中心', icon: 'user' } | 79 | meta: { title: '个人中心', icon: 'user' } |
| 80 | } | 80 | } |
| ... | @@ -105,5 +105,6 @@ export const constantRoutes = [ | ... | @@ -105,5 +105,6 @@ export const constantRoutes = [ |
| 105 | export default new Router({ | 105 | export default new Router({ |
| 106 | mode: 'history', // 去掉url中的# | 106 | mode: 'history', // 去掉url中的# |
| 107 | scrollBehavior: () => ({ y: 0 }), | 107 | scrollBehavior: () => ({ y: 0 }), |
| 108 | - routes: constantRoutes | 108 | + routes: constantRoutes, |
| 109 | + base: '/iMac' | ||
| 109 | }) | 110 | }) |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| ... | @@ -4,15 +4,18 @@ const TokenKey = 'Admin-Token' | ... | @@ -4,15 +4,18 @@ const TokenKey = 'Admin-Token' |
| 4 | 4 | ||
| 5 | export function getToken() { | 5 | export function getToken() { |
| 6 | //return Cookies.get(TokenKey) | 6 | //return Cookies.get(TokenKey) |
| 7 | - return localStorage.getItem(TokenKey) | 7 | + // return localStorage.getItem(TokenKey) |
| 8 | + return sessionStorage.getItem(TokenKey) | ||
| 8 | } | 9 | } |
| 9 | 10 | ||
| 10 | export function setToken(token) { | 11 | export function setToken(token) { |
| 11 | //return Cookies.set(TokenKey, token) | 12 | //return Cookies.set(TokenKey, token) |
| 12 | - return localStorage.setItem(TokenKey, token) | 13 | + // return localStorage.setItem(TokenKey, token) |
| 14 | + return sessionStorage.setItem(TokenKey, token) | ||
| 13 | } | 15 | } |
| 14 | 16 | ||
| 15 | export function removeToken() { | 17 | export function removeToken() { |
| 16 | //return Cookies.remove(TokenKey) | 18 | //return Cookies.remove(TokenKey) |
| 17 | - return localStorage.removeItem(TokenKey) | 19 | + // return localStorage.removeItem(TokenKey) |
| 20 | + return sessionStorage.removeItem(TokenKey) | ||
| 18 | } | 21 | } | ... | ... |
| 1 | import axios from 'axios' | 1 | import axios from 'axios' |
| 2 | -import { Notification, MessageBox, Message } from 'element-ui' | 2 | +import { Message } from 'element-ui' |
| 3 | import store from '@/store' | 3 | import store from '@/store' |
| 4 | import { getToken } from '@/utils/auth' | 4 | import { getToken } from '@/utils/auth' |
| 5 | import errorCode from '@/utils/errorCode' | 5 | import errorCode from '@/utils/errorCode' |
| ... | @@ -10,17 +10,19 @@ const service = axios.create({ | ... | @@ -10,17 +10,19 @@ const service = axios.create({ |
| 10 | // axios中请求配置有baseURL选项,表示请求URL公共部分 | 10 | // axios中请求配置有baseURL选项,表示请求URL公共部分 |
| 11 | //baseURL: process.env.VUE_APP_BASE_API, | 11 | //baseURL: process.env.VUE_APP_BASE_API, |
| 12 | //baseURL: 'http://192.168.1.45:8080', | 12 | //baseURL: 'http://192.168.1.45:8080', |
| 13 | - baseURL: 'http://192.168.1.134:18080', | 13 | + // baseURL: `http://47.103.140.98:9002`, |
| 14 | + // baseURL: 'https://imacuat.zmd.apac.fedex.com/IMAC2', | ||
| 15 | + baseURL: 'http://192.168.1.134:18080', | ||
| 14 | 16 | ||
| 15 | // 超时 | 17 | // 超时 |
| 16 | - timeout: 10000 | 18 | + timeout: 30000 |
| 17 | }) | 19 | }) |
| 18 | // request拦截器 | 20 | // request拦截器 |
| 19 | service.interceptors.request.use(config => { | 21 | service.interceptors.request.use(config => { |
| 20 | // 是否需要设置 token | 22 | // 是否需要设置 token |
| 21 | const isToken = (config.headers || {}).isToken === false | 23 | const isToken = (config.headers || {}).isToken === false |
| 22 | if (getToken() && !isToken) { | 24 | if (getToken() && !isToken) { |
| 23 | - config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 | 25 | + config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 |
| 24 | } | 26 | } |
| 25 | // get请求映射params参数 | 27 | // get请求映射params参数 |
| 26 | if (config.method === 'get' && config.params) { | 28 | if (config.method === 'get' && config.params) { |
| ... | @@ -46,50 +48,51 @@ service.interceptors.request.use(config => { | ... | @@ -46,50 +48,51 @@ service.interceptors.request.use(config => { |
| 46 | } | 48 | } |
| 47 | return config | 49 | return config |
| 48 | }, error => { | 50 | }, error => { |
| 49 | - console.log(error) | 51 | + console.log(error) |
| 50 | - Promise.reject(error) | 52 | + Promise.reject(error) |
| 51 | }) | 53 | }) |
| 52 | 54 | ||
| 53 | // 响应拦截器 | 55 | // 响应拦截器 |
| 54 | service.interceptors.response.use(res => { | 56 | service.interceptors.response.use(res => { |
| 55 | - // 未设置状态码则默认成功状态 | 57 | + // 未设置状态码则默认成功状态 |
| 56 | - const code = res.data.code || 200; | 58 | + const code = res.data.code || 200; |
| 57 | - // 获取错误信息 | 59 | + // 获取错误信息 |
| 58 | - const msg = errorCode[code] || res.data.msg || errorCode['default'] | 60 | + const msg = errorCode[code] || res.data.msg || errorCode['default'] |
| 59 | - if (code === 401) { | 61 | + if (code === 301) { |
| 60 | - MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { | 62 | + this.$alert('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { |
| 61 | - confirmButtonText: '重新登录', | 63 | + confirmButtonText: '重新登录', |
| 62 | - cancelButtonText: '取消', | 64 | + cancelButtonText: '取消', |
| 63 | - type: 'warning' | 65 | + type: 'warning', |
| 64 | - } | 66 | + }).then(() => { |
| 65 | - ).then(() => { | 67 | + store.dispatch('FedLogOut').then(() => { |
| 66 | - store.dispatch('LogOut').then(() => { | 68 | + location.href = '/index'; |
| 67 | - location.href = '/index'; | ||
| 68 | - }) | ||
| 69 | - }) | ||
| 70 | - } else if (code === 403) { | ||
| 71 | - //无权限页面 | ||
| 72 | - location.href = '/401'; | ||
| 73 | - }else if (code === 500) { | ||
| 74 | - Message({ | ||
| 75 | - message: msg, | ||
| 76 | - type: 'error' | ||
| 77 | - }) | ||
| 78 | - return Promise.reject(new Error(msg)) | ||
| 79 | - } else if (code !== 200 &&code!=400) { | ||
| 80 | - Notification.error({ | ||
| 81 | - title: msg | ||
| 82 | }) | 69 | }) |
| 83 | - return Promise.reject('error') | 70 | + }); |
| 84 | - } else { | 71 | + } else if (code === 403) { |
| 85 | - return res.data | 72 | + //无权限页面 |
| 86 | - } | 73 | + location.href = '/401'; |
| 87 | - }, | 74 | + } |
| 75 | + else if (code === 500) { | ||
| 76 | + Message({ | ||
| 77 | + message: msg, | ||
| 78 | + type: 'error' | ||
| 79 | + }) | ||
| 80 | + return Promise.reject(new Error(msg)) | ||
| 81 | + } else if (code !== 200 && code !== 201) { | ||
| 82 | + Message({ | ||
| 83 | + message: msg, | ||
| 84 | + type: 'error' | ||
| 85 | + }) | ||
| 86 | + return Promise.reject('error') | ||
| 87 | + } else { | ||
| 88 | + return res.data | ||
| 89 | + } | ||
| 90 | +}, | ||
| 88 | error => { | 91 | error => { |
| 89 | console.log('err' + error) | 92 | console.log('err' + error) |
| 90 | let { message } = error; | 93 | let { message } = error; |
| 91 | if (message == "Network Error") { | 94 | if (message == "Network Error") { |
| 92 | - message = "后端接口连接异常"; | 95 | + message = "网络连接异常"; |
| 93 | } | 96 | } |
| 94 | else if (message.includes("timeout")) { | 97 | else if (message.includes("timeout")) { |
| 95 | message = "系统接口请求超时"; | 98 | message = "系统接口请求超时"; | ... | ... |
| ... | @@ -5,7 +5,8 @@ const mimeMap = { | ... | @@ -5,7 +5,8 @@ const mimeMap = { |
| 5 | xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', | 5 | xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', |
| 6 | zip: 'application/zip' | 6 | zip: 'application/zip' |
| 7 | } | 7 | } |
| 8 | - | 8 | +// const baseURL = 'https://imacuat.zmd.apac.fedex.com/IMAC2' |
| 9 | +// const baseUrl = 'http://47.103.140.98:9002' | ||
| 9 | const baseUrl = 'http://192.168.1.134:18080' | 10 | const baseUrl = 'http://192.168.1.134:18080' |
| 10 | export function downLoadZip(str, filename) { | 11 | export function downLoadZip(str, filename) { |
| 11 | var url = baseUrl + str | 12 | var url = baseUrl + str | ... | ... |
| 1 | +<template> | ||
| 2 | + <div style="margin: 20px"> | ||
| 3 | + <el-form :inline="true" :model="form" class="demo-form-inline" size="small"> | ||
| 4 | + <el-form-item label="航班种类"> | ||
| 5 | + <el-select v-model="form.type" placeholder="航班种类"> | ||
| 6 | + <el-option | ||
| 7 | + v-for="item in flightType" | ||
| 8 | + :key="item.id" | ||
| 9 | + :label="item.englishName" | ||
| 10 | + :value="item.code" | ||
| 11 | + >{{ item.englishName }}</el-option | ||
| 12 | + > | ||
| 13 | + </el-select> | ||
| 14 | + </el-form-item> | ||
| 15 | + <el-form-item> | ||
| 16 | + <el-upload | ||
| 17 | + action="/flightInfoImport/importFlight" | ||
| 18 | + name="file" | ||
| 19 | + :http-request="uploadExcel" | ||
| 20 | + :on-remove="handleRemove" | ||
| 21 | + :limit="1" | ||
| 22 | + :on-exceed="handleExceed" | ||
| 23 | + :file-list="fileList" | ||
| 24 | + accept=".xlsx" | ||
| 25 | + class="upload-demo" | ||
| 26 | + > | ||
| 27 | + <el-button type="primary">点击上传</el-button> | ||
| 28 | + </el-upload> | ||
| 29 | + </el-form-item> | ||
| 30 | + <el-form-item> | ||
| 31 | + <el-button type="primary" @click="downloadTempleate" | ||
| 32 | + >下载模板</el-button | ||
| 33 | + > | ||
| 34 | + </el-form-item> | ||
| 35 | + </el-form> | ||
| 36 | + <div style="font-size: 12px; font-weight: 700"> | ||
| 37 | + 提示:<span style="color: #0000ff">以下为所提交的数据或出错信息</span> | ||
| 38 | + </div> | ||
| 39 | + <el-table | ||
| 40 | + ref="filterTable" | ||
| 41 | + :data="tableData" | ||
| 42 | + style="width: 100%; margin-top: 20px" | ||
| 43 | + size="small" | ||
| 44 | + border | ||
| 45 | + > | ||
| 46 | + <el-table-column label="行号" prop="line" fixed width="50" align="center"> | ||
| 47 | + </el-table-column> | ||
| 48 | + <el-table-column label="错误信息" prop="errorMessage" fixed width="200"> | ||
| 49 | + <template slot-scope="scope"> | ||
| 50 | + <div v-for="(m, key) in scope.row.errorMessage" :key="key"> | ||
| 51 | + {{ m }} | ||
| 52 | + </div> | ||
| 53 | + </template> | ||
| 54 | + </el-table-column> | ||
| 55 | + <el-table-column v-if="tableData.length == 0"></el-table-column> | ||
| 56 | + <el-table-column | ||
| 57 | + v-for="(value, key) in this.tableData[0]" | ||
| 58 | + :key="key" | ||
| 59 | + v-if="key != 'errorMessage' && key != 'line'" | ||
| 60 | + :label="key" | ||
| 61 | + :prop="key" | ||
| 62 | + width="120" | ||
| 63 | + ></el-table-column> | ||
| 64 | + </el-table> | ||
| 65 | + </div> | ||
| 66 | +</template> | ||
| 67 | + </div> | ||
| 68 | +</template> | ||
| 69 | +<script> | ||
| 70 | +import { | ||
| 71 | + filghtKindData, | ||
| 72 | + downLoadTemplate, | ||
| 73 | + importFlight, | ||
| 74 | +} from "@/api/flightInfoImport"; | ||
| 75 | +export default { | ||
| 76 | + data() { | ||
| 77 | + return { | ||
| 78 | + flightType: [], | ||
| 79 | + form: { | ||
| 80 | + type: "", | ||
| 81 | + region: "", | ||
| 82 | + }, | ||
| 83 | + fileList: [], | ||
| 84 | + tableData: [], | ||
| 85 | + }; | ||
| 86 | + }, | ||
| 87 | + methods: { | ||
| 88 | + downloadTempleate() { | ||
| 89 | + let downloadType = ""; | ||
| 90 | + let fileName = ""; | ||
| 91 | + switch (this.form.type) { | ||
| 92 | + case "flightKind20": | ||
| 93 | + downloadType = "whiteTail"; | ||
| 94 | + fileName = "航班信息导入模板WhiteTail.xlsx"; | ||
| 95 | + break; | ||
| 96 | + case "flightKind30": | ||
| 97 | + downloadType = "purpleTail"; | ||
| 98 | + fileName = "航班信息导入模板PurpleTail.xlsx"; | ||
| 99 | + break; | ||
| 100 | + default: | ||
| 101 | + this.$confirm("此类航班暂无模板,请选择其他类型航班", "提示", { | ||
| 102 | + confirmButtonText: "确定", | ||
| 103 | + showCancelButton: false, | ||
| 104 | + type: "warning", | ||
| 105 | + }); | ||
| 106 | + } | ||
| 107 | + if (downloadType != "") { | ||
| 108 | + downLoadTemplate(downloadType).then((res) => { | ||
| 109 | + if (res) { | ||
| 110 | + const blob = new Blob([res]); | ||
| 111 | + const link = document.createElement("a"); //创建a标签 | ||
| 112 | + link.download = fileName; //a标签添加属性 | ||
| 113 | + link.style.display = "none"; | ||
| 114 | + link.href = URL.createObjectURL(blob); | ||
| 115 | + document.body.appendChild(link); | ||
| 116 | + link.click(); //执行下载 | ||
| 117 | + URL.revokeObjectURL(link.href); //释放url | ||
| 118 | + document.body.removeChild(link); //释放标签 | ||
| 119 | + } else { | ||
| 120 | + this.$message.error("下载失败"); | ||
| 121 | + } | ||
| 122 | + }); | ||
| 123 | + } | ||
| 124 | + }, | ||
| 125 | + uploadExcel(option) { | ||
| 126 | + //上传excel | ||
| 127 | + const file = option.file; | ||
| 128 | + console.log(option); | ||
| 129 | + importFlight(file, this.form.type).then((res) => { | ||
| 130 | + if (res.code != 200) { | ||
| 131 | + if (res.code == 603) { | ||
| 132 | + this.$alert(res.msg , "提示", { | ||
| 133 | + confirmButtonText: "确定", | ||
| 134 | + type: "warning", | ||
| 135 | + }); | ||
| 136 | + }else { | ||
| 137 | + this.$message.error(res.msg); | ||
| 138 | + this.tableData = res.data; | ||
| 139 | + } | ||
| 140 | + } else { | ||
| 141 | + this.$message.success("导入成功"); | ||
| 142 | + this.tableData = res.data; | ||
| 143 | + } | ||
| 144 | + }); | ||
| 145 | + }, | ||
| 146 | + handleRemove(file, fileList) { | ||
| 147 | + //清掉上传的文件 | ||
| 148 | + this.tableData = []; | ||
| 149 | + this.fileList = []; | ||
| 150 | + }, | ||
| 151 | + handleExceed(files) { | ||
| 152 | + //重复上传文件 | ||
| 153 | + let file = {}; | ||
| 154 | + file.file = files[0]; | ||
| 155 | + file.name = files[0].name; | ||
| 156 | + this.fileList = []; | ||
| 157 | + this.fileList.push(file); | ||
| 158 | + this.uploadExcel(file); | ||
| 159 | + }, | ||
| 160 | + }, | ||
| 161 | + created() { | ||
| 162 | + filghtKindData().then((response) => { | ||
| 163 | + if (response.code != 200) { | ||
| 164 | + this.$message({ | ||
| 165 | + message: response.msg, | ||
| 166 | + type: "error", | ||
| 167 | + }); | ||
| 168 | + } | ||
| 169 | + this.flightType = response.data; | ||
| 170 | + this.form.type = response.data[0].code; | ||
| 171 | + }); | ||
| 172 | + }, | ||
| 173 | +}; | ||
| 174 | +</script> | ||
| 175 | +<style rel="stylesheet/scss" lang="scss"> | ||
| 176 | +.upload-demo { | ||
| 177 | + float: right; | ||
| 178 | +} | ||
| 179 | +.el-upload-list { | ||
| 180 | + display: inline-block; | ||
| 181 | + margin-left: 10px; | ||
| 182 | + vertical-align: top; | ||
| 183 | +} | ||
| 184 | +</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="90px"> | ||
| 4 | + <el-row> | ||
| 5 | + <el-col :span="8"> | ||
| 6 | + | ||
| 7 | + <el-form-item label="航班日期从" prop="fltDateStart"> | ||
| 8 | + <el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateStart" type="date" placeholder="选择日期"> | ||
| 9 | + </el-date-picker> | ||
| 10 | + </el-form-item> | ||
| 11 | + </el-col> | ||
| 12 | + | ||
| 13 | + <el-col :span="8"> | ||
| 14 | + <el-form-item label="到" prop="fltDateEnd"> | ||
| 15 | + <el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateEnd" type="date" placeholder="选择日期"> | ||
| 16 | + </el-date-picker> | ||
| 17 | + </el-form-item> | ||
| 18 | + </el-col> | ||
| 19 | + | ||
| 20 | + <el-col :span="8"> | ||
| 21 | + <el-form-item label="航班号" prop="fltNo"> | ||
| 22 | + <el-input v-model="queryParams.fltNo" placeholder="请输入航班号" clearable size="small" /> | ||
| 23 | + </el-form-item> | ||
| 24 | + </el-col> | ||
| 25 | + | ||
| 26 | + </el-row> | ||
| 27 | + <el-row> | ||
| 28 | + <el-col :span="8"> | ||
| 29 | + <el-form-item label="航班类型" prop="typeId"> | ||
| 30 | + <el-select v-model="queryParams.typeId" placeholder="请选择航班类型" clearable size="small"> | ||
| 31 | + <el-option v-for="dict in flightTypelist" :key="dict.id" :label="dict.chineseName" :value="dict.id" /> | ||
| 32 | + </el-select> | ||
| 33 | + </el-form-item> | ||
| 34 | + </el-col> | ||
| 35 | + | ||
| 36 | + <el-col :span="8"> | ||
| 37 | + <el-form-item label="航班状态" prop="statusId"> | ||
| 38 | + <el-select v-model="queryParams.statusId" placeholder="请选择航班状态" clearable size="small"> | ||
| 39 | + <el-option v-for="dict in flightStatuslist" :key="dict.id" :label="dict.chineseName" :value="dict.id" /> | ||
| 40 | + </el-select> | ||
| 41 | + </el-form-item> | ||
| 42 | + </el-col> | ||
| 43 | + | ||
| 44 | + <el-col :span="8"> | ||
| 45 | + <el-form-item label="航班种类" prop="flightKindId"> | ||
| 46 | + <el-select v-model="queryParams.flightKindId" placeholder="请选择航班种类" clearable size="small"> | ||
| 47 | + <el-option v-for="dict in flightKindlist" :key="dict.id" :label="dict.chineseName" :value="dict.id" /> | ||
| 48 | + </el-select> | ||
| 49 | + </el-form-item> | ||
| 50 | + </el-col> | ||
| 51 | + | ||
| 52 | + </el-row> | ||
| 53 | + | ||
| 54 | + <br /> | ||
| 55 | + <el-form-item> | ||
| 56 | + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||
| 57 | + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||
| 58 | + | ||
| 59 | + <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> | ||
| 60 | + | ||
| 61 | + </el-form-item> | ||
| 62 | + </el-form> | ||
| 63 | + <!-- <el-row :gutter="10" class="mb8"> | ||
| 64 | + <el-col :span="1.5"> | ||
| 65 | + <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> | ||
| 66 | + </el-col> | ||
| 67 | + <el-col :span="1.5"> | ||
| 68 | + <el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate">修改 | ||
| 69 | + </el-button> | ||
| 70 | + </el-col> | ||
| 71 | + <el-col :span="1.5"> | ||
| 72 | + <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple">删除 | ||
| 73 | + </el-button> | ||
| 74 | + </el-col> | ||
| 75 | + </el-row> --> | ||
| 76 | + <el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="findAllFltDatList" | ||
| 77 | + @selection-change="handleSelectionChange"> | ||
| 78 | + <el-table-column type="selection" width="55" align="center" /> | ||
| 79 | + <el-table-column label="航班日期" align="center" prop="fltDate" width="120" /> | ||
| 80 | + <el-table-column label="航班起飞时间" align="center" prop="takeOffTime" width="120" /> | ||
| 81 | + <el-table-column label="航班号" align="center" prop="fltNo" /> | ||
| 82 | + <el-table-column label="航班路线" align="center" prop="route" /> | ||
| 83 | + <el-table-column label="航班类型" align="center" prop="typeName" width="100" /> | ||
| 84 | + <el-table-column label="航班种类" align="center" prop="flightKindName" width="130" /> | ||
| 85 | + <el-table-column label="航班状态" align="center" prop="statusName" /> | ||
| 86 | + <el-table-column label="总重量" align="center" prop="totalWeight" width="130" /> | ||
| 87 | + <el-table-column label="原始重量(KG)" align="center" prop="originalWeight" width="130" /> | ||
| 88 | + <el-table-column label="总体积(cm³)" align="center" prop="totalVolume" width="130" /> | ||
| 89 | + <el-table-column label="是否限制一票一件" align="center" prop="ticketToPiece" width="150" | ||
| 90 | + :formatter="ticketToPieceFormat" /> | ||
| 91 | + <el-table-column label="是否需要预审" align="center" prop="needRequired" width="150" :formatter="needRequiredFormat" /> | ||
| 92 | + <el-table-column label="额外增重百分比" align="center" prop="extraWeightPercent" width="150" /> | ||
| 93 | + <el-table-column label="高价百分比" align="center" prop="highPriceWeightPercent" width="150" /> | ||
| 94 | + <el-table-column label="低价百分比" align="center" prop="lowPriceWeightPercent" width="150" /> | ||
| 95 | + <el-table-column label="是否开启高地价" align="center" prop="highLowPriceFlg" width="150" | ||
| 96 | + :formatter="highLowPriceFlgFormat" /> | ||
| 97 | + <el-table-column label="已配重量" align="center" prop="alloctedWeight" width="150" /> | ||
| 98 | + <el-table-column label="已配体积(cm³)" align="center" prop="alloctedVolume" width="150" /> | ||
| 99 | + <el-table-column label="航班优先级" align="center" prop="priorityName" width="150" /> | ||
| 100 | + <el-table-column label="配舱优先级" align="center" prop="priorityRuleName" width="150" /> | ||
| 101 | + <el-table-column label="创建人" align="center" prop="createUserName" width="120" /> | ||
| 102 | + <el-table-column label="创建时间" align="center" prop="createTime" width="155" /> | ||
| 103 | + | ||
| 104 | + <!-- <el-table-column label="创建时间" align="center" prop="createTime" width="155"> | ||
| 105 | + <template slot-scope="scope"> | ||
| 106 | + <span>{{ renderTime(scope.row.createTime) }}</span> | ||
| 107 | + </template> | ||
| 108 | + </el-table-column> --> | ||
| 109 | + <el-table-column label="最后修改人" align="center" prop="lastModifyUserName" width="155" /> | ||
| 110 | + <!-- <el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="155"> | ||
| 111 | + <template slot-scope="scope"> | ||
| 112 | + <span>{{ renderTime(scope.row.lastModifyTime) }}</span> | ||
| 113 | + </template> | ||
| 114 | + </el-table-column> --> | ||
| 115 | + <el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="120" /> | ||
| 116 | + | ||
| 117 | + <el-table-column v-if="findAllFltDatList.length>0" label="操作" align="center" class-name="small-padding fixed-width" width="130" fixed="right"> | ||
| 118 | + <template slot-scope="scope"> | ||
| 119 | + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button> | ||
| 120 | + <!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteorPlayorpause(scope.row,0,'删除')"> | ||
| 121 | + 删除</el-button> --> | ||
| 122 | + </template> | ||
| 123 | + </el-table-column> | ||
| 124 | + </el-table> | ||
| 125 | + | ||
| 126 | + <pagination v-show="total>0" :total="total" layout=" prev, pager, next, jumper, sizes,total" | ||
| 127 | + :page.sync="queryParams.pageNum" :limit.sync="queryParams.limitSize" @pagination="findAllFltData" /> | ||
| 128 | + | ||
| 129 | + | ||
| 130 | + | ||
| 131 | + | ||
| 132 | + <!-- 添加或修改对话框 --> | ||
| 133 | + <el-dialog :title="title" :visible.sync="open" width="60%"> | ||
| 134 | + <el-form ref="form" :model="form" :rules="rules" label-width="130px"> | ||
| 135 | + <el-row> | ||
| 136 | + <el-col :span="12"> | ||
| 137 | + <el-form-item label="航班号" prop="fltNo"> | ||
| 138 | + <el-input @blur="blurfltNo" :disabled="formdisabled.fltNo" style="width:93%;" v-model="form.fltNo" placeholder="请输入航班号" /> | ||
| 139 | + </el-form-item> | ||
| 140 | + </el-col> | ||
| 141 | + <!-- <el-col :span="1">  </el-col> --> | ||
| 142 | + <el-col :span="12"> | ||
| 143 | + <el-form-item label="航班日期" prop="fltDate"> | ||
| 144 | + | ||
| 145 | + <el-date-picker :disabled="formdisabled.fltDate" clearable size="small" v-model="form.fltDate" type="date" | ||
| 146 | + value-format="yyyy-MM-dd" placeholder="选择航班日期"> | ||
| 147 | + </el-date-picker> | ||
| 148 | + </el-form-item> | ||
| 149 | + </el-col> | ||
| 150 | + | ||
| 151 | + | ||
| 152 | + <el-col :span="12"> | ||
| 153 | + <el-form-item label="航班路线" prop="route"> | ||
| 154 | + <el-input style="width:93%" v-model="form.route" placeholder="请输入航班路线" /> | ||
| 155 | + </el-form-item> | ||
| 156 | + </el-col> | ||
| 157 | + | ||
| 158 | + <el-col :span="12"> | ||
| 159 | + <el-form-item label="航班种类" prop="kindId"> | ||
| 160 | + <el-select v-model="form.kindId" placeholder="请选择航班种类"> | ||
| 161 | + <el-option v-for="item in flightKindlist" :key="item.id" :label="item.chineseName" :value="item.id"> | ||
| 162 | + </el-option> | ||
| 163 | + </el-select> | ||
| 164 | + </el-form-item> | ||
| 165 | + </el-col> | ||
| 166 | + <el-col :span="12"> | ||
| 167 | + <el-form-item label="航班类型" prop="typeId"> | ||
| 168 | + <el-select v-model="form.typeId" placeholder="请选择航班类型"> | ||
| 169 | + <el-option v-for="item in flightTypelist" :key="item.id" :label="item.chineseName" :value="item.id"> | ||
| 170 | + </el-option> | ||
| 171 | + </el-select> | ||
| 172 | + </el-form-item> | ||
| 173 | + </el-col> | ||
| 174 | + <el-col :span="12"> | ||
| 175 | + <el-form-item label="航班状态" prop="statusId"> | ||
| 176 | + <el-select :disabled="true" v-model="form.statusId" placeholder="请选择航班状态"> | ||
| 177 | + <el-option v-for="item in flightStatuslist" :key="item.id" :label="item.chineseName" :value="item.id"> | ||
| 178 | + </el-option> | ||
| 179 | + </el-select> | ||
| 180 | + </el-form-item> | ||
| 181 | + </el-col> | ||
| 182 | + <el-col :span="12"> | ||
| 183 | + <el-form-item label="原始重量(KG)" prop="originalWeight"> | ||
| 184 | + <el-input placeholder="请输入原始重量(KG)" style="width:93%" min="0" | ||
| 185 | + oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 186 | + v-model="form.originalWeight"></el-input> | ||
| 187 | + </el-form-item> | ||
| 188 | + </el-col> | ||
| 189 | + | ||
| 190 | + <el-col :span="12"> | ||
| 191 | + <el-form-item label="额外增重百分比" prop="extraWeightPercent"> | ||
| 192 | + <el-input placeholder="请输入额外增重百分比" style="width:93%" min="0" | ||
| 193 | + oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 194 | + v-model="form.extraWeightPercent"></el-input> | ||
| 195 | + </el-form-item> | ||
| 196 | + </el-col> | ||
| 197 | + | ||
| 198 | + <el-col :span="12"> | ||
| 199 | + <el-form-item label="是否开启高低价" prop="highLowPriceFlg"> | ||
| 200 | + <el-switch v-model="form.highLowPriceFlg" active-color="#13ce66"> | ||
| 201 | + </el-switch> | ||
| 202 | + </el-form-item> | ||
| 203 | + </el-col> | ||
| 204 | + | ||
| 205 | + <!-- 是否需要预审,1:预审,0:取消预审 --> | ||
| 206 | + <el-col :span="12"> | ||
| 207 | + <el-form-item label="是否预审" prop="isNeedRequired"> | ||
| 208 | + <el-switch :disabled="true" v-model="form.isNeedRequired" active-color="#13ce66"> | ||
| 209 | + </el-switch> | ||
| 210 | + </el-form-item> | ||
| 211 | + </el-col> | ||
| 212 | + | ||
| 213 | + <el-col :span="12"> | ||
| 214 | + <el-form-item label="高价百分比" prop="highPriceWeightPercent"> | ||
| 215 | + <el-input placeholder="请输入高价百分比" style="width:93%" min="0" | ||
| 216 | + oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 217 | + v-model="form.highPriceWeightPercent"></el-input> | ||
| 218 | + </el-form-item> | ||
| 219 | + </el-col> | ||
| 220 | + | ||
| 221 | + <el-col :span="12"> | ||
| 222 | + <el-form-item label="低价百分比" prop="lowPriceWeightPercent"> | ||
| 223 | + <el-input placeholder="请输入低价百分比" style="width:93%" min="0" | ||
| 224 | + oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 225 | + v-model="form.lowPriceWeightPercent"></el-input> | ||
| 226 | + </el-form-item> | ||
| 227 | + </el-col> | ||
| 228 | + | ||
| 229 | + <el-col :span="12"> | ||
| 230 | + <el-form-item label="已配重量" prop="alloctedWeight"> | ||
| 231 | + <el-input :disabled="true" placeholder="请输入已配重量" style="width:93%" min="0" | ||
| 232 | + oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 233 | + v-model="form.alloctedWeight"></el-input> | ||
| 234 | + </el-form-item> | ||
| 235 | + </el-col> | ||
| 236 | + | ||
| 237 | + </el-row> | ||
| 238 | + | ||
| 239 | + | ||
| 240 | + </el-form> | ||
| 241 | + <div slot="footer" class="dialog-footer"> | ||
| 242 | + <el-button type="primary" :disabled="form.alloctedWeight>0 ? true:false" @click="submitForm">确 定</el-button> | ||
| 243 | + <el-button @click="cancel">取 消</el-button> | ||
| 244 | + </div> | ||
| 245 | + </el-dialog> | ||
| 246 | + </div> | ||
| 247 | +</template> | ||
| 248 | +<script> | ||
| 249 | + import { | ||
| 250 | + findFltConditionDataApi, | ||
| 251 | + findAllFltDataApi, | ||
| 252 | + findFltById, | ||
| 253 | + saveOrUpdate, | ||
| 254 | + findFltCommonConf | ||
| 255 | + | ||
| 256 | + } from "@/api/findAllFltData"; | ||
| 257 | + export default { | ||
| 258 | + name: "findAllFltData", | ||
| 259 | + data() { | ||
| 260 | + return { | ||
| 261 | + //form属性禁用状态 | ||
| 262 | + formdisabled: { | ||
| 263 | + //航班号 | ||
| 264 | + fltNo: false, | ||
| 265 | + //航班日期 | ||
| 266 | + fltDate: false, | ||
| 267 | + //航班路线 | ||
| 268 | + route: false, | ||
| 269 | + //航班种类 | ||
| 270 | + kindId: false, | ||
| 271 | + //航班类型 | ||
| 272 | + typeId: false, | ||
| 273 | + //原始重量 | ||
| 274 | + originalWeight: false | ||
| 275 | + }, | ||
| 276 | + | ||
| 277 | + //航班种类 | ||
| 278 | + flightKindlist: [], | ||
| 279 | + //航班状态 | ||
| 280 | + flightStatuslist: [], | ||
| 281 | + //航班类型 | ||
| 282 | + flightTypelist: [], | ||
| 283 | + // 选中数组 | ||
| 284 | + ids: [], | ||
| 285 | + // 非单个禁用 | ||
| 286 | + single: true, | ||
| 287 | + // 非多个禁用 | ||
| 288 | + multiple: true, | ||
| 289 | + | ||
| 290 | + // 遮罩层 | ||
| 291 | + loading: false, | ||
| 292 | + // 遮罩层 | ||
| 293 | + loadingFlightDate: false, | ||
| 294 | + // 弹出层标题 | ||
| 295 | + title: "", | ||
| 296 | + // 总条数 | ||
| 297 | + total: 0, | ||
| 298 | + // 原航班规则数据 | ||
| 299 | + findAllFltDatList: [], | ||
| 300 | + //目的航班数据 | ||
| 301 | + sourceFlightAndFlightDate: [], | ||
| 302 | + statusList: [{ | ||
| 303 | + 'id': 1, | ||
| 304 | + 'name': '有效' | ||
| 305 | + }, { | ||
| 306 | + 'id': 3, | ||
| 307 | + 'name': '停用' | ||
| 308 | + }], | ||
| 309 | + // 新增修改查看规则弹出层 | ||
| 310 | + open: false, | ||
| 311 | + // 是否显示查看目的航班弹出层 | ||
| 312 | + openFlightDate: false, | ||
| 313 | + // 查询参数 | ||
| 314 | + queryParams: { | ||
| 315 | + limitStart: 0, //当前条数【代表第几条数据 +1开始】 | ||
| 316 | + pageNum: 1, | ||
| 317 | + limitSize: 20, //一页显示多少条数据 | ||
| 318 | + fltDateStart: undefined, //航班日期开始 | ||
| 319 | + fltDateEnd: undefined, //航班日期结束 | ||
| 320 | + typeId: undefined, //航班类型 | ||
| 321 | + statusId: undefined, //航班状态 | ||
| 322 | + flightKindId: undefined, //航班种类 | ||
| 323 | + fltNo: undefined //航班号,要大写 | ||
| 324 | + }, | ||
| 325 | + | ||
| 326 | + // 表单参数 | ||
| 327 | + form: { | ||
| 328 | + | ||
| 329 | + | ||
| 330 | + }, | ||
| 331 | + // 表单校验 | ||
| 332 | + rules: { | ||
| 333 | + fltNo: [{ | ||
| 334 | + required: true, | ||
| 335 | + message: "原航班号不能为空", | ||
| 336 | + trigger: "blur" | ||
| 337 | + }], | ||
| 338 | + fltDate: [{ | ||
| 339 | + required: true, | ||
| 340 | + message: "航班日期不能为空", | ||
| 341 | + trigger: "blur" | ||
| 342 | + }], | ||
| 343 | + kindId: [{ | ||
| 344 | + required: true, | ||
| 345 | + message: "航班种类不能为空", | ||
| 346 | + trigger: "change" | ||
| 347 | + }], | ||
| 348 | + originalWeight: [{ | ||
| 349 | + required: true, | ||
| 350 | + message: "原始重量(KG)不能为空", | ||
| 351 | + trigger: "blur" | ||
| 352 | + }], | ||
| 353 | + } | ||
| 354 | + }; | ||
| 355 | + }, | ||
| 356 | + created() { | ||
| 357 | + //查询条件数据源 | ||
| 358 | + this.findFltConditionData(); | ||
| 359 | + this.findAllFltData(); | ||
| 360 | + }, | ||
| 361 | + methods: { | ||
| 362 | + //输入航班号后 | ||
| 363 | + blurfltNo(){ | ||
| 364 | + if(this.form.fltNo!=null&&this.form.fltNo!=undefined &&this.form.fltNo!=""){ | ||
| 365 | + this.form.fltNo=this.form.fltNo.toUpperCase(); | ||
| 366 | + findFltCommonConf(this.form).then(response => { | ||
| 367 | + if (response.code == 200) { | ||
| 368 | + //额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑 | ||
| 369 | + if(response.data.extraWeightPercent!=null&&response.data.extraWeightPercent!=undefined){ | ||
| 370 | + this.$set(this.form, "extraWeightPercent", response.data.extraWeightPercent); | ||
| 371 | + // this.form.extraWeightPercent=response.data.extraWeightPercent; | ||
| 372 | + }else{ | ||
| 373 | + this.$set(this.form, "extraWeightPercent", 0); | ||
| 374 | + //this.form.extraWeightPercent=response.data.extraWeightPercent=0; | ||
| 375 | + } | ||
| 376 | + //是否开启高低价:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否开启高低价’ 为是,不可编辑 | ||
| 377 | + if(response.data.highLowPriceFlg!=null&&response.data.highLowPriceFlg!=undefined){ | ||
| 378 | + this.form.highLowPriceFlg=response.data.highLowPriceFlg=== 1 ? true : false; | ||
| 379 | + }else{ | ||
| 380 | + this.form.highLowPriceFlg=response.data.highLowPriceFlg=1; | ||
| 381 | + } | ||
| 382 | + //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑; | ||
| 383 | + if(response.data.isNeedRequired!=null&&response.data.isNeedRequired!=undefined){ | ||
| 384 | + this.form.isNeedRequired=response.data.isNeedRequired=== 1 ? true : false; | ||
| 385 | + }else{ | ||
| 386 | + this.form.isNeedRequired=response.data.isNeedRequired=1; | ||
| 387 | + } | ||
| 388 | + //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑 | ||
| 389 | + if(response.data.highPriceWeightPercent!=null&&response.data.highPriceWeightPercent!=undefined){ | ||
| 390 | + this.form.highPriceWeightPercent=response.data.highPriceWeightPercent; | ||
| 391 | + }else{ | ||
| 392 | + this.form.highPriceWeightPercent=response.data.highPriceWeightPercent=60; | ||
| 393 | + } | ||
| 394 | + if(response.data.lowPriceWeightPercent!=null&&response.data.lowPriceWeightPercent!=undefined){ | ||
| 395 | + this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent; | ||
| 396 | + }else{ | ||
| 397 | + this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent=40; | ||
| 398 | + } | ||
| 399 | + } else { | ||
| 400 | + this.msgError(response.msg); | ||
| 401 | + } | ||
| 402 | + | ||
| 403 | + }); | ||
| 404 | + | ||
| 405 | + } | ||
| 406 | + | ||
| 407 | + | ||
| 408 | + }, | ||
| 409 | + // 是否一票一件 | ||
| 410 | + ticketToPieceFormat(row) { | ||
| 411 | + if (row.ticketToPiece === 1) { | ||
| 412 | + return '是' | ||
| 413 | + } else { | ||
| 414 | + return '否' | ||
| 415 | + } | ||
| 416 | + return row.ticketToPiece; | ||
| 417 | + }, | ||
| 418 | + // 是否需要预审 1 预审 0 取消预审 | ||
| 419 | + needRequiredFormat(row) { | ||
| 420 | + if (row.needRequired === 1) { | ||
| 421 | + return '预审' | ||
| 422 | + } else { | ||
| 423 | + return '取消预审' | ||
| 424 | + } | ||
| 425 | + return row.ticketToPiece; | ||
| 426 | + }, | ||
| 427 | + //是否开启高低价 | ||
| 428 | + highLowPriceFlgFormat(row) { | ||
| 429 | + if (row.highLowPriceFlg === 1) { | ||
| 430 | + return '开启' | ||
| 431 | + } else { | ||
| 432 | + return '未开启' | ||
| 433 | + } | ||
| 434 | + return row.ticketToPiece; | ||
| 435 | + }, | ||
| 436 | + //时间格式化 | ||
| 437 | + renderTime(date) { | ||
| 438 | + var dateee = new Date(date).toJSON(); | ||
| 439 | + return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '') | ||
| 440 | + }, | ||
| 441 | + //查询条件数据源 | ||
| 442 | + findFltConditionData() { | ||
| 443 | + findFltConditionDataApi().then(response => { | ||
| 444 | + if (response.code == 200) { | ||
| 445 | + // debugger | ||
| 446 | + //航班种类 | ||
| 447 | + this.flightKindlist = response.data.flightKind; | ||
| 448 | + //航班类型 | ||
| 449 | + this.flightTypelist = response.data.flightType; | ||
| 450 | + //航班状态 | ||
| 451 | + | ||
| 452 | + this.flightStatuslist = response.data.flightStatus; | ||
| 453 | + | ||
| 454 | + } else { | ||
| 455 | + this.msgError(response.msg); | ||
| 456 | + } | ||
| 457 | + | ||
| 458 | + }); | ||
| 459 | + }, | ||
| 460 | + | ||
| 461 | + // 多选框选中数据 | ||
| 462 | + handleSelectionChange(selection) { | ||
| 463 | + this.ids = selection.map(item => item.postId) | ||
| 464 | + this.single = selection.length != 1 | ||
| 465 | + this.multiple = !selection.length | ||
| 466 | + }, | ||
| 467 | + | ||
| 468 | + /** 航班信息维护查询*/ | ||
| 469 | + findAllFltData() { | ||
| 470 | + this.loading = true; | ||
| 471 | + if (this.queryParams.pageNum > 1) { | ||
| 472 | + this.queryParams.limitStart = (this.queryParams.pageNum - 1) * this.queryParams.limitSize | ||
| 473 | + } else { | ||
| 474 | + this.queryParams.limitStart = 0; | ||
| 475 | + } | ||
| 476 | + if (this.queryParams.fltNo != null && this.queryParams.fltNo != undefined && this.queryParams.fltNo != '') { | ||
| 477 | + this.queryParams.fltNo = this.queryParams.fltNo.toUpperCase(); | ||
| 478 | + } | ||
| 479 | + | ||
| 480 | + findAllFltDataApi(this.queryParams).then(response => { | ||
| 481 | + if (response.code == 200) { | ||
| 482 | + | ||
| 483 | + this.findAllFltDatList = response.data.list; | ||
| 484 | + this.total = response.data.totalCount; | ||
| 485 | + this.loading = false; | ||
| 486 | + } else { | ||
| 487 | + this.msgError(response.msg); | ||
| 488 | + } | ||
| 489 | + | ||
| 490 | + }); | ||
| 491 | + | ||
| 492 | + }, | ||
| 493 | + /** 新增按钮操作 */ | ||
| 494 | + handleAdd() { | ||
| 495 | + this.reset(); | ||
| 496 | + this.open = true; | ||
| 497 | + this.title = "添加航班信息"; | ||
| 498 | + this.form.id = null; | ||
| 499 | + this.form.statusId = this.flightStatuslist[0].id; | ||
| 500 | + this.form.alloctedWeight = 0; | ||
| 501 | + //航班号 | ||
| 502 | + this.formdisabled.fltNo = false; | ||
| 503 | + //航班日期 | ||
| 504 | + this.formdisabled.fltDate = false; | ||
| 505 | + //航班路线 | ||
| 506 | + this.formdisabled.route = false; | ||
| 507 | + //航班种类 | ||
| 508 | + this.formdisabled.kindId = false; | ||
| 509 | + //航班类型 | ||
| 510 | + this.formdisabled.typeId = false; | ||
| 511 | + //原始重量 | ||
| 512 | + this.formdisabled.originalWeight = false; | ||
| 513 | + }, | ||
| 514 | + /** 修改按钮操作 */ | ||
| 515 | + handleUpdate(row) { | ||
| 516 | + this.reset(); | ||
| 517 | + this.open = true; | ||
| 518 | + this.title = "修改航班信息"; | ||
| 519 | + //航班号 | ||
| 520 | + this.formdisabled.fltNo = true; | ||
| 521 | + //航班日期 | ||
| 522 | + this.formdisabled.fltDate = true; | ||
| 523 | + //根据ID查item | ||
| 524 | + findFltById(row).then(response => { | ||
| 525 | + if (response.code == 200) { | ||
| 526 | + this.form = response.data; | ||
| 527 | + //是否开启高地价 | ||
| 528 | + this.form.highLowPriceFlg = this.form.highLowPriceFlg === 1 ? true : false; | ||
| 529 | + //是否预审 | ||
| 530 | + this.form.isNeedRequired = this.form.isNeedRequired === 1 ? true : false; | ||
| 531 | + // if (this.form.alloctedWeight > 0) { | ||
| 532 | + // //航班路线 | ||
| 533 | + // this.formdisabled.route = true; | ||
| 534 | + // //航班种类 | ||
| 535 | + // this.formdisabled.kindId = true; | ||
| 536 | + // //航班类型 | ||
| 537 | + // this.formdisabled.typeId = true; | ||
| 538 | + // //原始重量 | ||
| 539 | + // this.formdisabled.originalWeight = true; | ||
| 540 | + // }else{ | ||
| 541 | + // //航班路线 | ||
| 542 | + // this.formdisabled.route = false; | ||
| 543 | + // //航班种类 | ||
| 544 | + // this.formdisabled.kindId = false; | ||
| 545 | + // //航班类型 | ||
| 546 | + // this.formdisabled.typeId = false; | ||
| 547 | + // //原始重量 | ||
| 548 | + // this.formdisabled.originalWeight = false; | ||
| 549 | + // } | ||
| 550 | + } else { | ||
| 551 | + this.msgError(response.msg); | ||
| 552 | + } | ||
| 553 | + | ||
| 554 | + }); | ||
| 555 | + }, | ||
| 556 | + /** 删除 启用 停用按钮操作 */ | ||
| 557 | + handleDeleteorPlayorpause(row, status, statusText) { | ||
| 558 | + | ||
| 559 | + //删除前需要停用 | ||
| 560 | + if (status === 0 && row.status != '3') { | ||
| 561 | + this.$message({ | ||
| 562 | + message: '请停用后删除', | ||
| 563 | + type: 'warning' | ||
| 564 | + }); | ||
| 565 | + return; | ||
| 566 | + } | ||
| 567 | + | ||
| 568 | + this.$confirm('是否确认' + statusText + '此数据项?', "警告", { | ||
| 569 | + confirmButtonText: "确定", | ||
| 570 | + cancelButtonText: "取消", | ||
| 571 | + type: "warning" | ||
| 572 | + }).then(function() { | ||
| 573 | + | ||
| 574 | + let disable = { | ||
| 575 | + id: row.id, | ||
| 576 | + status: status | ||
| 577 | + }; | ||
| 578 | + | ||
| 579 | + return delOrEnableORDisableApi(disable); | ||
| 580 | + }).then(response => { | ||
| 581 | + if (response.code == 200) { | ||
| 582 | + this.findAllFltData(); | ||
| 583 | + this.msgSuccess(statusText + "成功"); | ||
| 584 | + } else { | ||
| 585 | + this.msgError(response.msg); | ||
| 586 | + } | ||
| 587 | + | ||
| 588 | + }).catch(function() {}); | ||
| 589 | + }, | ||
| 590 | + /** 提交按钮 */ | ||
| 591 | + submitForm: function() { | ||
| 592 | + this.$refs["form"].validate(valid => { | ||
| 593 | + if (valid) { | ||
| 594 | + //debugger | ||
| 595 | + let formdata = JSON.parse(JSON.stringify(this.form)); | ||
| 596 | + //高价百分比和低价百分比和不可以大于100 | ||
| 597 | + if(formdata.highPriceWeightPercent+formdata.lowPriceWeightPercent>100){ | ||
| 598 | + this.$message.warning("高低价百分比总和不可以大于100"); | ||
| 599 | + return; | ||
| 600 | + } | ||
| 601 | + | ||
| 602 | + | ||
| 603 | + | ||
| 604 | + | ||
| 605 | + //是否开启高地价 | ||
| 606 | + formdata.highLowPriceFlg = formdata.highLowPriceFlg ? 1 : 0; | ||
| 607 | + //是否预审 | ||
| 608 | + formdata.isNeedRequired = formdata.isNeedRequired ? 1 : 0; | ||
| 609 | + //处理数据 | ||
| 610 | + saveOrUpdate(formdata).then(response => { | ||
| 611 | + if (response.code === 200) { | ||
| 612 | + this.msgSuccess("保存成功"); | ||
| 613 | + this.open = false; | ||
| 614 | + this.findAllFltData(); | ||
| 615 | + } else { | ||
| 616 | + this.msgError(response.msg); | ||
| 617 | + } | ||
| 618 | + }); | ||
| 619 | + | ||
| 620 | + } | ||
| 621 | + }); | ||
| 622 | + }, | ||
| 623 | + // 表单重置 | ||
| 624 | + reset() { | ||
| 625 | + this.form = {}; | ||
| 626 | + this.resetForm("form"); | ||
| 627 | + }, | ||
| 628 | + // 取消按钮 | ||
| 629 | + cancel() { | ||
| 630 | + this.open = false; | ||
| 631 | + this.reset(); | ||
| 632 | + }, | ||
| 633 | + | ||
| 634 | + /** 重置按钮操作 */ | ||
| 635 | + resetQuery() { | ||
| 636 | + this.resetForm("queryForm"); | ||
| 637 | + this.handleQuery(); | ||
| 638 | + }, | ||
| 639 | + /** 搜索按钮操作 */ | ||
| 640 | + handleQuery() { | ||
| 641 | + this.queryParams.pageNum = 1; | ||
| 642 | + this.queryParams.start = 0; | ||
| 643 | + this.findAllFltData(); | ||
| 644 | + } | ||
| 645 | + | ||
| 646 | + } | ||
| 647 | + }; | ||
| 648 | +</script> | ||
| 649 | +<style> | ||
| 650 | + .el-table--striped .el-table__body tr.el-table__row--striped.current-row td, | ||
| 651 | + .el-table__body tr.current-row>td { | ||
| 652 | + background-color: #a0cfff; | ||
| 653 | + } | ||
| 654 | + | ||
| 655 | + .el-table--striped .el-table__body tr.hover-row.el-table__row--striped>td, | ||
| 656 | + .el-table__body tr.hover-row>td { | ||
| 657 | + background-color: #d9ecff !important; | ||
| 658 | + } | ||
| 659 | +</style> |
| ... | @@ -10,7 +10,7 @@ | ... | @@ -10,7 +10,7 @@ |
| 10 | > | 10 | > |
| 11 | <el-row type="flex" style="flexWrap: wrap!important"> | 11 | <el-row type="flex" style="flexWrap: wrap!important"> |
| 12 | <el-col :span="6"> | 12 | <el-col :span="6"> |
| 13 | - <el-form-item label="原航班日期:"> | 13 | + <el-form-item label="ACCS航班日期:"> |
| 14 | <el-date-picker | 14 | <el-date-picker |
| 15 | class="formItem" | 15 | class="formItem" |
| 16 | v-model="flightTime" | 16 | v-model="flightTime" |
| ... | @@ -23,20 +23,6 @@ | ... | @@ -23,20 +23,6 @@ |
| 23 | </el-date-picker> | 23 | </el-date-picker> |
| 24 | </el-form-item> | 24 | </el-form-item> |
| 25 | </el-col> | 25 | </el-col> |
| 26 | - <!-- <el-col :span="6"> | ||
| 27 | - <el-form-item label="预配航班日期:"> | ||
| 28 | - <el-date-picker | ||
| 29 | - class="formItem" | ||
| 30 | - v-model="prepalyFlightTime" | ||
| 31 | - type="daterange" | ||
| 32 | - range-separator="至" | ||
| 33 | - start-placeholder="开始日期" | ||
| 34 | - end-placeholder="结束日期" | ||
| 35 | - :value-format="valueFormat" | ||
| 36 | - > | ||
| 37 | - </el-date-picker> | ||
| 38 | - </el-form-item> | ||
| 39 | - </el-col> --> | ||
| 40 | <el-col :span="6"> | 26 | <el-col :span="6"> |
| 41 | <el-form-item label="创建日期:"> | 27 | <el-form-item label="创建日期:"> |
| 42 | <el-date-picker | 28 | <el-date-picker |
| ... | @@ -52,35 +38,8 @@ | ... | @@ -52,35 +38,8 @@ |
| 52 | </el-form-item> | 38 | </el-form-item> |
| 53 | </el-col> | 39 | </el-col> |
| 54 | <el-col :span="6"> | 40 | <el-col :span="6"> |
| 55 | - <el-form-item label="站点:"> | 41 | + <el-form-item label="ACCS航班号:"> |
| 56 | - <el-input | 42 | + <el-input type="text" v-model="fltNo" class="formItem" placeholder="请输入ACCS航班号"></el-input> |
| 57 | - type="text" | ||
| 58 | - v-model="formData.siteName" | ||
| 59 | - class="formItem" | ||
| 60 | - ></el-input> | ||
| 61 | - </el-form-item> | ||
| 62 | - </el-col> | ||
| 63 | - <el-col :span="6"> | ||
| 64 | - <el-form-item label="原航班号:"> | ||
| 65 | - <el-input type="text" v-model="upCase" class="formItem"></el-input> | ||
| 66 | - </el-form-item> | ||
| 67 | - </el-col> | ||
| 68 | - <!-- <el-col :span="6"> | ||
| 69 | - <el-form-item label="航班序列单号:"> | ||
| 70 | - <el-input | ||
| 71 | - type="text" | ||
| 72 | - v-model="formData.mawbCode" | ||
| 73 | - class="formItem" | ||
| 74 | - ></el-input> | ||
| 75 | - </el-form-item> | ||
| 76 | - </el-col> --> | ||
| 77 | - <el-col :span="6"> | ||
| 78 | - <el-form-item label="URSA:"> | ||
| 79 | - <el-input | ||
| 80 | - type="text" | ||
| 81 | - v-model="formData.ursa" | ||
| 82 | - class="formItem" | ||
| 83 | - ></el-input> | ||
| 84 | </el-form-item> | 43 | </el-form-item> |
| 85 | </el-col> | 44 | </el-col> |
| 86 | <el-col :span="6"> | 45 | <el-col :span="6"> |
| ... | @@ -101,88 +60,190 @@ | ... | @@ -101,88 +60,190 @@ |
| 101 | </el-select> | 60 | </el-select> |
| 102 | </el-form-item> | 61 | </el-form-item> |
| 103 | </el-col> | 62 | </el-col> |
| 104 | - <el-col :span="6"> | 63 | + <el-col :span="24"> |
| 105 | - <el-form-item label="货物状态:"> | 64 | + <el-collapse> |
| 106 | - <el-select | 65 | + <el-collapse-item> |
| 107 | - placeholder="不限" | 66 | + <template slot="title"> |
| 108 | - v-model="formData.statusId" | 67 | + <span style="fontWeight:900;color:#409EFF;fontSize:14px"><i class="el-icon-s-tools"></i>更多查询条件</span> |
| 68 | + </template> | ||
| 69 | + <el-row type="flex" style="flexWrap: wrap!important"> | ||
| 70 | + <el-col :span="6"> | ||
| 71 | + <el-form-item label="货物状态:"> | ||
| 72 | + <el-select | ||
| 73 | + placeholder="不限" | ||
| 74 | + v-model="formData.statusId" | ||
| 75 | + class="formItem" | ||
| 76 | + filterable | ||
| 77 | + clearable | ||
| 78 | + > | ||
| 79 | + <el-option | ||
| 80 | + v-for="item in findConditionData.cargoStatus" | ||
| 81 | + :label="item.chineseName" | ||
| 82 | + :value="item.id" | ||
| 83 | + :key="item.id" | ||
| 84 | + > | ||
| 85 | + </el-option> | ||
| 86 | + </el-select> | ||
| 87 | + </el-form-item> | ||
| 88 | + </el-col> | ||
| 89 | + <el-col :span="6"> | ||
| 90 | + <el-form-item label="海关回执状态:"> | ||
| 91 | + <el-select | ||
| 92 | + placeholder="不限" | ||
| 93 | + v-model="formData.customsReceiptStatusId" | ||
| 94 | + class="formItem" | ||
| 95 | + clearable | ||
| 96 | + > | ||
| 97 | + <el-option | ||
| 98 | + v-for="item in findConditionData.cargoCustomsReturnStatus" | ||
| 99 | + :label="item.chineseName" | ||
| 100 | + :value="item.id" | ||
| 101 | + :key="item.id" | ||
| 102 | + > | ||
| 103 | + </el-option> | ||
| 104 | + </el-select> | ||
| 105 | + </el-form-item> | ||
| 106 | + </el-col> | ||
| 107 | + <el-col :span="6"> | ||
| 108 | + <el-form-item label="服务类型:"> | ||
| 109 | + <el-select | ||
| 110 | + placeholder="不限" | ||
| 111 | + v-model="formData.serviceTypeId" | ||
| 112 | + class="formItem" | ||
| 113 | + filterable | ||
| 114 | + clearable | ||
| 115 | + > | ||
| 116 | + <el-option | ||
| 117 | + v-for="item in findConditionData.cargoServiceType" | ||
| 118 | + :label="item.chineseName" | ||
| 119 | + :value="item.id" | ||
| 120 | + :key="item.id" | ||
| 121 | + > | ||
| 122 | + </el-option> | ||
| 123 | + </el-select> | ||
| 124 | + </el-form-item> | ||
| 125 | + </el-col> | ||
| 126 | + <el-col :span="6"> | ||
| 127 | + <el-form-item label="是否自动:"> | ||
| 128 | + <el-select | ||
| 129 | + placeholder="不限" | ||
| 130 | + v-model="formData.allocationTypeId" | ||
| 131 | + class="formItem" | ||
| 132 | + clearable | ||
| 133 | + > | ||
| 134 | + <el-option | ||
| 135 | + label="手动" | ||
| 136 | + value="1" | ||
| 137 | + > | ||
| 138 | + </el-option> | ||
| 139 | + <el-option | ||
| 140 | + label="自动" | ||
| 141 | + value="2" | ||
| 142 | + > | ||
| 143 | + </el-option> | ||
| 144 | + </el-select> | ||
| 145 | + </el-form-item> | ||
| 146 | + </el-col> | ||
| 147 | + <el-col :span="6"> | ||
| 148 | + <el-form-item label="运单号:"> | ||
| 149 | + <el-input | ||
| 150 | + type="textarea" | ||
| 151 | + v-model="formData.waybillNo" | ||
| 152 | + class="formItem" | ||
| 153 | + placeholder="xxxx;xxxx" | ||
| 154 | + ></el-input> | ||
| 155 | + </el-form-item> | ||
| 156 | + </el-col> | ||
| 157 | + <el-col :span="6"> | ||
| 158 | + <el-form-item label="站点:"> | ||
| 159 | + <el-input | ||
| 160 | + v-model="siteName" | ||
| 161 | + class="formItem" | ||
| 162 | + ></el-input> | ||
| 163 | + </el-form-item> | ||
| 164 | + </el-col> | ||
| 165 | + <el-col :span="6"> | ||
| 166 | + <el-form-item label="URSA:"> | ||
| 167 | + <el-input | ||
| 168 | + v-model="ursa" | ||
| 169 | + class="formItem" | ||
| 170 | + ></el-input> | ||
| 171 | + </el-form-item> | ||
| 172 | + </el-col> | ||
| 173 | + <el-col :span="6"> | ||
| 174 | + <el-form-item label="取件日期:"> | ||
| 175 | + <el-date-picker | ||
| 176 | + v-model="formData.pickUpDate" | ||
| 177 | + type="date" | ||
| 178 | + placeholder="选择日期" | ||
| 179 | + :value-format="valueFormat" | ||
| 180 | + > | ||
| 181 | + </el-date-picker> | ||
| 182 | + </el-form-item> | ||
| 183 | + </el-col> | ||
| 184 | + </el-row> | ||
| 185 | + </el-collapse-item> | ||
| 186 | + </el-collapse> | ||
| 187 | + </el-col> | ||
| 188 | + <!-- <el-col :span="6"> | ||
| 189 | + <el-form-item label="预配航班日期:"> | ||
| 190 | + <el-date-picker | ||
| 109 | class="formItem" | 191 | class="formItem" |
| 110 | - clearable | 192 | + v-model="prepalyFlightTime" |
| 193 | + type="daterange" | ||
| 194 | + range-separator="至" | ||
| 195 | + start-placeholder="开始日期" | ||
| 196 | + end-placeholder="结束日期" | ||
| 197 | + :value-format="valueFormat" | ||
| 111 | > | 198 | > |
| 112 | - <el-option | 199 | + </el-date-picker> |
| 113 | - v-for="item in findConditionData.cargoStatus" | ||
| 114 | - :label="item.chineseName" | ||
| 115 | - :value="item.id" | ||
| 116 | - :key="item.id" | ||
| 117 | - > | ||
| 118 | - </el-option> | ||
| 119 | - </el-select> | ||
| 120 | </el-form-item> | 200 | </el-form-item> |
| 121 | - </el-col> | 201 | + </el-col> --> |
| 122 | <!-- <el-col :span="6"> | 202 | <!-- <el-col :span="6"> |
| 123 | - <el-form-item label="配置航班类型:"> | 203 | + <el-form-item label="数据源:"> |
| 124 | <el-select | 204 | <el-select |
| 125 | placeholder="不限" | 205 | placeholder="不限" |
| 126 | - v-model="formData.kindToAllocFlightId" | 206 | + v-model="formData.dataSources" |
| 127 | class="formItem" | 207 | class="formItem" |
| 128 | clearable | 208 | clearable |
| 129 | > | 209 | > |
| 130 | - <el-option | 210 | + <el-option label="人工导入" value="1"> </el-option> |
| 131 | - v-for="item in findConditionData.configureFlightType" | 211 | + <el-option label="系统导入" value="2"> </el-option> |
| 132 | - :label="item.chineseName" | ||
| 133 | - :value="item.id" | ||
| 134 | - :key="item.id" | ||
| 135 | - > | ||
| 136 | - </el-option> | ||
| 137 | </el-select> | 212 | </el-select> |
| 138 | </el-form-item> | 213 | </el-form-item> |
| 139 | </el-col> --> | 214 | </el-col> --> |
| 140 | <!-- <el-col :span="6"> | 215 | <!-- <el-col :span="6"> |
| 141 | - <el-form-item label="历史货物状态:"> | 216 | + <el-form-item label="是否大货:"> |
| 142 | <el-select | 217 | <el-select |
| 143 | placeholder="不限" | 218 | placeholder="不限" |
| 144 | - v-model="formData.historyAllocaCargoTypeId" | 219 | + v-model="formData.big" |
| 145 | class="formItem" | 220 | class="formItem" |
| 146 | clearable | 221 | clearable |
| 147 | > | 222 | > |
| 148 | - <el-option | 223 | + <el-option label="是" value="1"> </el-option> |
| 149 | - v-for="item in findConditionData.cargoStatusHistory" | 224 | + <el-option label="否" value="0"> </el-option> |
| 150 | - :label="item.chineseName" | ||
| 151 | - :value="item.id" | ||
| 152 | - :key="item.id" | ||
| 153 | - > | ||
| 154 | - </el-option> | ||
| 155 | </el-select> | 225 | </el-select> |
| 156 | </el-form-item> | 226 | </el-form-item> |
| 157 | </el-col> --> | 227 | </el-col> --> |
| 158 | - <el-col :span="6"> | 228 | + <!-- <el-col :span="6"> |
| 159 | - <el-form-item label="海关回执状态:"> | 229 | + <el-form-item label="航班序列单号:"> |
| 160 | - <el-select | 230 | + <el-input |
| 161 | - placeholder="不限" | 231 | + type="text" |
| 162 | - v-model="formData.customsReceiptStatusId" | 232 | + v-model="formData.mawbCode" |
| 163 | class="formItem" | 233 | class="formItem" |
| 164 | - clearable | 234 | + ></el-input> |
| 165 | - > | ||
| 166 | - <el-option | ||
| 167 | - v-for="item in findConditionData.cargoCustomsReturnStatus" | ||
| 168 | - :label="item.chineseName" | ||
| 169 | - :value="item.id" | ||
| 170 | - :key="item.id" | ||
| 171 | - > | ||
| 172 | - </el-option> | ||
| 173 | - </el-select> | ||
| 174 | </el-form-item> | 235 | </el-form-item> |
| 175 | - </el-col> | 236 | + </el-col> --> |
| 176 | - <el-col :span="6"> | 237 | + <!-- <el-col :span="6"> |
| 177 | - <el-form-item label="服务类型:"> | 238 | + <el-form-item label="配置航班类型:"> |
| 178 | <el-select | 239 | <el-select |
| 179 | placeholder="不限" | 240 | placeholder="不限" |
| 180 | - v-model="formData.serviceTypeId" | 241 | + v-model="formData.kindToAllocFlightId" |
| 181 | class="formItem" | 242 | class="formItem" |
| 182 | clearable | 243 | clearable |
| 183 | > | 244 | > |
| 184 | <el-option | 245 | <el-option |
| 185 | - v-for="item in findConditionData.cargoServiceType" | 246 | + v-for="item in findConditionData.configureFlightType" |
| 186 | :label="item.chineseName" | 247 | :label="item.chineseName" |
| 187 | :value="item.id" | 248 | :value="item.id" |
| 188 | :key="item.id" | 249 | :key="item.id" |
| ... | @@ -190,76 +251,27 @@ | ... | @@ -190,76 +251,27 @@ |
| 190 | </el-option> | 251 | </el-option> |
| 191 | </el-select> | 252 | </el-select> |
| 192 | </el-form-item> | 253 | </el-form-item> |
| 193 | - </el-col> | ||
| 194 | - <!-- <el-col :span="6"> | ||
| 195 | - <el-form-item label="数据源:"> | ||
| 196 | - <el-select | ||
| 197 | - placeholder="不限" | ||
| 198 | - v-model="formData.dataSources" | ||
| 199 | - class="formItem" | ||
| 200 | - clearable | ||
| 201 | - > | ||
| 202 | - <el-option label="人工导入" value="1"> </el-option> | ||
| 203 | - <el-option label="系统导入" value="2"> </el-option> | ||
| 204 | - </el-select> | ||
| 205 | - </el-form-item> | ||
| 206 | </el-col> --> | 254 | </el-col> --> |
| 207 | <!-- <el-col :span="6"> | 255 | <!-- <el-col :span="6"> |
| 208 | - <el-form-item label="是否大货:"> | 256 | + <el-form-item label="历史货物状态:"> |
| 209 | - <el-select | ||
| 210 | - placeholder="不限" | ||
| 211 | - v-model="formData.big" | ||
| 212 | - class="formItem" | ||
| 213 | - clearable | ||
| 214 | - > | ||
| 215 | - <el-option label="是" value="1"> </el-option> | ||
| 216 | - <el-option label="否" value="0"> </el-option> | ||
| 217 | - </el-select> | ||
| 218 | - </el-form-item> | ||
| 219 | - </el-col> --> | ||
| 220 | - <el-col :span="6"> | ||
| 221 | - <el-form-item label="是否自动:"> | ||
| 222 | <el-select | 257 | <el-select |
| 223 | placeholder="不限" | 258 | placeholder="不限" |
| 224 | - v-model="formData.allocationTypeId" | 259 | + v-model="formData.historyAllocaCargoTypeId" |
| 225 | class="formItem" | 260 | class="formItem" |
| 226 | clearable | 261 | clearable |
| 227 | > | 262 | > |
| 228 | <el-option | 263 | <el-option |
| 229 | - label="手动" | 264 | + v-for="item in findConditionData.cargoStatusHistory" |
| 230 | - value="1" | 265 | + :label="item.chineseName" |
| 231 | - > | 266 | + :value="item.id" |
| 232 | - </el-option> | 267 | + :key="item.id" |
| 233 | - <el-option | ||
| 234 | - label="自动" | ||
| 235 | - value="2" | ||
| 236 | > | 268 | > |
| 237 | </el-option> | 269 | </el-option> |
| 238 | </el-select> | 270 | </el-select> |
| 239 | </el-form-item> | 271 | </el-form-item> |
| 240 | - </el-col> | 272 | + </el-col> --> |
| 241 | - <el-col :span="6"> | ||
| 242 | - <el-form-item label="运单号:"> | ||
| 243 | - <el-input | ||
| 244 | - type="textarea" | ||
| 245 | - v-model="formData.waybillNo" | ||
| 246 | - class="formItem" | ||
| 247 | - ></el-input> | ||
| 248 | - </el-form-item> | ||
| 249 | - </el-col> | ||
| 250 | - <el-col :span="6"> | ||
| 251 | - <el-form-item label="取件日期:"> | ||
| 252 | - <el-date-picker | ||
| 253 | - v-model="formData.pickUpDate" | ||
| 254 | - type="date" | ||
| 255 | - placeholder="选择日期" | ||
| 256 | - :value-format="valueFormat" | ||
| 257 | - > | ||
| 258 | - </el-date-picker> | ||
| 259 | - </el-form-item> | ||
| 260 | - </el-col> | ||
| 261 | </el-row> | 273 | </el-row> |
| 262 | - <div style="paddingleft: 10px"> | 274 | + <div style="paddingleft: 10px;marginTop:20px"> |
| 263 | <el-button | 275 | <el-button |
| 264 | type="primary" | 276 | type="primary" |
| 265 | icon="el-icon-search" | 277 | icon="el-icon-search" |
| ... | @@ -285,11 +297,8 @@ | ... | @@ -285,11 +297,8 @@ |
| 285 | <el-table | 297 | <el-table |
| 286 | ref="cargoTable" | 298 | ref="cargoTable" |
| 287 | :data="tableData" | 299 | :data="tableData" |
| 288 | - style="width: 100%" | ||
| 289 | - size="small" | ||
| 290 | - height="450" | ||
| 291 | v-loading="tableLoading" | 300 | v-loading="tableLoading" |
| 292 | - fit | 301 | + border |
| 293 | @select="cheacked" | 302 | @select="cheacked" |
| 294 | @select-all="selectAll" | 303 | @select-all="selectAll" |
| 295 | > | 304 | > |
| ... | @@ -302,16 +311,16 @@ | ... | @@ -302,16 +311,16 @@ |
| 302 | :prop="item.value" | 311 | :prop="item.value" |
| 303 | :label="item.name" | 312 | :label="item.name" |
| 304 | :key="item.name" | 313 | :key="item.name" |
| 305 | - width="100%" | 314 | + width="150" |
| 306 | header-align="center" | 315 | header-align="center" |
| 307 | align="center" | 316 | align="center" |
| 308 | :formatter="formatter" | 317 | :formatter="formatter" |
| 318 | + sortable | ||
| 309 | > | 319 | > |
| 310 | </el-table-column> | 320 | </el-table-column> |
| 311 | </el-table> | 321 | </el-table> |
| 312 | <el-pagination | 322 | <el-pagination |
| 313 | :total="totalCount" | 323 | :total="totalCount" |
| 314 | - hide-on-single-page | ||
| 315 | :page-size.sync="limitSize" | 324 | :page-size.sync="limitSize" |
| 316 | background | 325 | background |
| 317 | style="margin-top: 40px; text-align: right" | 326 | style="margin-top: 40px; text-align: right" |
| ... | @@ -328,6 +337,7 @@ import { findConditionData, findCargoData } from "@/api/cargoSelect"; | ... | @@ -328,6 +337,7 @@ import { findConditionData, findCargoData } from "@/api/cargoSelect"; |
| 328 | import { cargoXlsx } from "@/utils/zipdownload"; | 337 | import { cargoXlsx } from "@/utils/zipdownload"; |
| 329 | 338 | ||
| 330 | export default { | 339 | export default { |
| 340 | + name:"queryCargo", | ||
| 331 | data() { | 341 | data() { |
| 332 | return { | 342 | return { |
| 333 | formData: { | 343 | formData: { |
| ... | @@ -352,6 +362,9 @@ export default { | ... | @@ -352,6 +362,9 @@ export default { |
| 352 | dataSources: "", | 362 | dataSources: "", |
| 353 | customsReceiptStatusId: null, | 363 | customsReceiptStatusId: null, |
| 354 | big: null, | 364 | big: null, |
| 365 | + cargoPlaneNo:null, | ||
| 366 | + cargoPlaneStart:null, | ||
| 367 | + cargoPlaneEnd:null, | ||
| 355 | }, //表单数据 | 368 | }, //表单数据 |
| 356 | tableHeader: [ | 369 | tableHeader: [ |
| 357 | { name: "取件日期", value: "pickUpDate" }, | 370 | { name: "取件日期", value: "pickUpDate" }, |
| ... | @@ -359,8 +372,8 @@ export default { | ... | @@ -359,8 +372,8 @@ export default { |
| 359 | { name: "服务类型", value: "serviceTypeName" }, | 372 | { name: "服务类型", value: "serviceTypeName" }, |
| 360 | { name: "运单号", value: "waybillNo" }, | 373 | { name: "运单号", value: "waybillNo" }, |
| 361 | { name: "货物状态", value: "statusName" }, | 374 | { name: "货物状态", value: "statusName" }, |
| 362 | - { name: "原航班号", value: "fltNoAccs" }, | 375 | + { name: "ACCS航班号", value: "fltNoAccs" }, |
| 363 | - { name: "原航班日期", value: "fltDateAccs" }, | 376 | + { name: "ACCS航班日期", value: "fltDateAccs" }, |
| 364 | { name: "ACCS航线", value: "accsFlightRoute" }, | 377 | { name: "ACCS航线", value: "accsFlightRoute" }, |
| 365 | { name: "预配航班日期", value: "preplanFlightTime" }, | 378 | { name: "预配航班日期", value: "preplanFlightTime" }, |
| 366 | { name: "预配航班号", value: "preplanFlightNo" }, | 379 | { name: "预配航班号", value: "preplanFlightNo" }, |
| ... | @@ -411,6 +424,7 @@ export default { | ... | @@ -411,6 +424,7 @@ export default { |
| 411 | selectTable: [], | 424 | selectTable: [], |
| 412 | flightTime: [], | 425 | flightTime: [], |
| 413 | prepalyFlightTime: [], | 426 | prepalyFlightTime: [], |
| 427 | + cargoPlaneTime:[], | ||
| 414 | createDate: [], | 428 | createDate: [], |
| 415 | limitStart: 0, | 429 | limitStart: 0, |
| 416 | limitSize: 100, //无限制-1 | 430 | limitSize: 100, //无限制-1 |
| ... | @@ -454,6 +468,7 @@ export default { | ... | @@ -454,6 +468,7 @@ export default { |
| 454 | this.tableData = []; | 468 | this.tableData = []; |
| 455 | this.allWeight = 0; | 469 | this.allWeight = 0; |
| 456 | this.allQty = 0; | 470 | this.allQty = 0; |
| 471 | + this.checks() | ||
| 457 | this.tableLoading = true; | 472 | this.tableLoading = true; |
| 458 | if (this.createDate != null && this.createDate.length > 0) { | 473 | if (this.createDate != null && this.createDate.length > 0) { |
| 459 | this.formData.createTimeStart = this.createDate[0]; | 474 | this.formData.createTimeStart = this.createDate[0]; |
| ... | @@ -476,6 +491,14 @@ export default { | ... | @@ -476,6 +491,14 @@ export default { |
| 476 | this.formData.fltDateStart = ""; | 491 | this.formData.fltDateStart = ""; |
| 477 | this.formData.fltDateEnd = ""; | 492 | this.formData.fltDateEnd = ""; |
| 478 | } | 493 | } |
| 494 | + if(this.cargoPlaneTime != null && this.cargoPlaneTime.length > 0){ | ||
| 495 | + this.formData.cargoPlaneStart = this.cargoPlaneTime[0]; | ||
| 496 | + this.formData.cargoPlaneEnd = this.cargoPlaneTime[1]; | ||
| 497 | + }else{ | ||
| 498 | + this.formData.cargoPlaneStart = null; | ||
| 499 | + this.formData.cargoPlaneEnd = null; | ||
| 500 | + } | ||
| 501 | + | ||
| 479 | this.formData.limitStart = this.limitStart; | 502 | this.formData.limitStart = this.limitStart; |
| 480 | this.formData.limitSize = this.limitSize; | 503 | this.formData.limitSize = this.limitSize; |
| 481 | findCargoData(this.formData).then((res) => { | 504 | findCargoData(this.formData).then((res) => { |
| ... | @@ -520,7 +543,7 @@ export default { | ... | @@ -520,7 +543,7 @@ export default { |
| 520 | this.allQty = 0; | 543 | this.allQty = 0; |
| 521 | this.selecetALL = false; | 544 | this.selecetALL = false; |
| 522 | } | 545 | } |
| 523 | - }, | 546 | + }, |
| 524 | selectAll(selection){ | 547 | selectAll(selection){ |
| 525 | if(selection.length > 0){ | 548 | if(selection.length > 0){ |
| 526 | selection.forEach(item => { | 549 | selection.forEach(item => { |
| ... | @@ -547,38 +570,44 @@ export default { | ... | @@ -547,38 +570,44 @@ export default { |
| 547 | currentChange(page) { | 570 | currentChange(page) { |
| 548 | this.limitStart = (page - 1) * 100; | 571 | this.limitStart = (page - 1) * 100; |
| 549 | this.select(); | 572 | this.select(); |
| 550 | - // this.$el.getElementsByClassName("el-table__body")[0].scrollTop=0 | ||
| 551 | }, | 573 | }, |
| 552 | //表单项选中操作 | 574 | //表单项选中操作 |
| 553 | cheacked(sl, row) { | 575 | cheacked(sl, row) { |
| 554 | - if (this.shiftKey) { | 576 | + let end = row.index; |
| 555 | - if (this.start == -1) { | 577 | + if(this.shiftKey){ |
| 556 | - for (let i = 0; i <= row.index; i++) { | 578 | + const sum = Math.abs(this.start - end); |
| 579 | + const min = Math.min(this.start, end); | ||
| 580 | + let i ; | ||
| 581 | + if(this.start === -1 && sl.includes(this.tableData[row.index])){ | ||
| 582 | + for(i=0; i < sum; i++){ | ||
| 557 | this.$refs.cargoTable.toggleRowSelection(this.tableData[i], true); | 583 | this.$refs.cargoTable.toggleRowSelection(this.tableData[i], true); |
| 558 | this.selectTable.push(this.tableData[i]); | 584 | this.selectTable.push(this.tableData[i]); |
| 559 | } | 585 | } |
| 560 | - } else { | 586 | + }else if(sl.includes(this.tableData[row.index])){ |
| 561 | - for (let i = this.start + 1; i <= row.index; i++) { | 587 | + for(i = this.start+1; i <= end; i++){ |
| 562 | this.$refs.cargoTable.toggleRowSelection(this.tableData[i], true); | 588 | this.$refs.cargoTable.toggleRowSelection(this.tableData[i], true); |
| 589 | + this.selectTable.push(this.tableData[i]); | ||
| 590 | + } | ||
| 591 | + }else if(!sl.includes(this.tableData[row.index])){ | ||
| 592 | + this.selectTable.splice(end-1,sum + 1); | ||
| 593 | + for(i = end ; i <= this.start ; i++){ | ||
| 594 | + this.$refs.cargoTable.toggleRowSelection(this.tableData[i], false); | ||
| 563 | } | 595 | } |
| 564 | } | 596 | } |
| 565 | - } else { | 597 | + this.start = end; |
| 566 | - this.start = row.index; | 598 | + }else{ |
| 567 | - if (this.selectTable.length == 0) { | 599 | + this.start = end; |
| 600 | + if(sl.includes(this.tableData[end])){ | ||
| 568 | this.selectTable.push(row); | 601 | this.selectTable.push(row); |
| 569 | - } else { | 602 | + }else{ |
| 570 | - let newselect = []; | 603 | + for(let i =0; i <this.selectTable.length; i++){ |
| 571 | - newselect.push(row); | 604 | + if(this.selectTable[i].index == row.index){ |
| 572 | - for (let i = 0; i < this.selectTable.length; i++) { | 605 | + this.selectTable.splice(i,1); |
| 573 | - if (this.selectTable[i].id != row.id) { | ||
| 574 | - newselect.push(this.selectTable[i]); | ||
| 575 | - } else { | ||
| 576 | - newselect.splice(0, 1); | ||
| 577 | } | 606 | } |
| 578 | } | 607 | } |
| 579 | - this.selectTable = newselect; | ||
| 580 | } | 608 | } |
| 581 | } | 609 | } |
| 610 | + | ||
| 582 | this.allWeight = 0; | 611 | this.allWeight = 0; |
| 583 | this.allQty = 0; | 612 | this.allQty = 0; |
| 584 | for (let i = 0; i < this.selectTable.length; i++) { | 613 | for (let i = 0; i < this.selectTable.length; i++) { |
| ... | @@ -612,6 +641,13 @@ export default { | ... | @@ -612,6 +641,13 @@ export default { |
| 612 | this.formData.fltDateStart = ""; | 641 | this.formData.fltDateStart = ""; |
| 613 | this.formData.fltDateEnd = ""; | 642 | this.formData.fltDateEnd = ""; |
| 614 | } | 643 | } |
| 644 | + if(this.cargoPlaneTime != null && this.cargoPlaneTime.length > 0){ | ||
| 645 | + this.formData.cargoPlaneStart = this.cargoPlaneTime[0]; | ||
| 646 | + this.formData.cargoPlaneEnd = this.cargoPlaneTime[1]; | ||
| 647 | + }else{ | ||
| 648 | + this.formData.cargoPlaneStart = null; | ||
| 649 | + this.formData.cargoPlaneEnd = null; | ||
| 650 | + } | ||
| 615 | cargoXlse.cargoConditionDto = this.formData; | 651 | cargoXlse.cargoConditionDto = this.formData; |
| 616 | cargoXlse.cargoConditionDto.limitSize = this.limitSize; | 652 | cargoXlse.cargoConditionDto.limitSize = this.limitSize; |
| 617 | 653 | ||
| ... | @@ -637,7 +673,7 @@ export default { | ... | @@ -637,7 +673,7 @@ export default { |
| 637 | } | 673 | } |
| 638 | }, | 674 | }, |
| 639 | computed: { | 675 | computed: { |
| 640 | - upCase: { | 676 | + fltNo: { |
| 641 | get: function () { | 677 | get: function () { |
| 642 | return this.formData.fltNo; | 678 | return this.formData.fltNo; |
| 643 | }, | 679 | }, |
| ... | @@ -645,6 +681,22 @@ export default { | ... | @@ -645,6 +681,22 @@ export default { |
| 645 | this.formData.fltNo = val.toUpperCase(); | 681 | this.formData.fltNo = val.toUpperCase(); |
| 646 | }, | 682 | }, |
| 647 | }, | 683 | }, |
| 684 | + siteName: { | ||
| 685 | + get: function () { | ||
| 686 | + return this.formData.siteName; | ||
| 687 | + }, | ||
| 688 | + set: function (val) { | ||
| 689 | + this.formData.siteName = val.toUpperCase(); | ||
| 690 | + }, | ||
| 691 | + }, | ||
| 692 | + ursa: { | ||
| 693 | + get: function () { | ||
| 694 | + return this.formData.ursa; | ||
| 695 | + }, | ||
| 696 | + set: function (val) { | ||
| 697 | + this.formData.ursa = val.toUpperCase(); | ||
| 698 | + }, | ||
| 699 | + }, | ||
| 648 | }, | 700 | }, |
| 649 | }; | 701 | }; |
| 650 | </script> | 702 | </script> |
| ... | @@ -660,4 +712,5 @@ export default { | ... | @@ -660,4 +712,5 @@ export default { |
| 660 | width:100%; | 712 | width:100%; |
| 661 | max-width: 300px; | 713 | max-width: 300px; |
| 662 | } | 714 | } |
| 715 | + | ||
| 663 | </style> | 716 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | - <div> | 2 | + <div></div> |
| 3 | - <el-button type="primary" size="mini" @click="submit">保存</el-button> | ||
| 4 | - <el-button | ||
| 5 | - size="mini" | ||
| 6 | - type="text" | ||
| 7 | - icon="el-icon-delete" | ||
| 8 | - v-hasPermi="['system:user:list']" | ||
| 9 | - >删除1</el-button> | ||
| 10 | - | ||
| 11 | - <el-button | ||
| 12 | - size="mini" | ||
| 13 | - type="text" | ||
| 14 | - icon="el-icon-delete" | ||
| 15 | - v-hasPermi="['system:user:remove']" | ||
| 16 | - >删除2</el-button> | ||
| 17 | - </div> | ||
| 18 | </template> | 3 | </template> |
| 19 | <script> | 4 | <script> |
| 20 | import { delUser } from "@/api/system/user"; | 5 | import { delUser } from "@/api/system/user"; |
| ... | @@ -22,8 +7,8 @@ import { delUser } from "@/api/system/user"; | ... | @@ -22,8 +7,8 @@ import { delUser } from "@/api/system/user"; |
| 22 | export default { | 7 | export default { |
| 23 | props: { | 8 | props: { |
| 24 | user: { | 9 | user: { |
| 25 | - type: Object | 10 | + type: Object, |
| 26 | - } | 11 | + }, |
| 27 | }, | 12 | }, |
| 28 | data() { | 13 | data() { |
| 29 | return { | 14 | return { |
| ... | @@ -33,11 +18,11 @@ export default { | ... | @@ -33,11 +18,11 @@ export default { |
| 33 | methods: { | 18 | methods: { |
| 34 | submit() { | 19 | submit() { |
| 35 | this.msgSuccess("修改成功"); | 20 | this.msgSuccess("修改成功"); |
| 36 | - delUser('112').then(response => { | 21 | + delUser("112").then((response) => { |
| 37 | this.msgSuccess("修改成功"); | 22 | this.msgSuccess("修改成功"); |
| 38 | }); | 23 | }); |
| 39 | - } | 24 | + }, |
| 40 | - } | 25 | + }, |
| 41 | }; | 26 | }; |
| 42 | </script> | 27 | </script> |
| 43 | 28 | ... | ... |
| ... | @@ -19,8 +19,8 @@ | ... | @@ -19,8 +19,8 @@ |
| 19 | </el-input> | 19 | </el-input> |
| 20 | </el-form-item> | 20 | </el-form-item> |
| 21 | 21 | ||
| 22 | - <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> | 22 | + <!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> --> |
| 23 | - <el-form-item style="width:100%;"> | 23 | + <el-form-item style="width:100%;marginTop:44px"> |
| 24 | <el-button | 24 | <el-button |
| 25 | :loading="loading" | 25 | :loading="loading" |
| 26 | size="medium" | 26 | size="medium" | ... | ... |
src/views/system/role/index.vue
deleted
100644 → 0
| 1 | -<template> | ||
| 2 | - <div class="app-container"> | ||
| 3 | - <el-form :model="queryParams" ref="queryForm" :inline="true"> | ||
| 4 | - <el-form-item label="原航班" prop="sourceFlightNo"> | ||
| 5 | - <el-input v-model="queryParams.sourceFlightNo" placeholder="请输入原航班" clearable size="small" /> | ||
| 6 | - </el-form-item> | ||
| 7 | - <el-form-item label="状态" prop="status"> | ||
| 8 | - <el-select v-model="queryParams.status" placeholder="请选择" clearable size="small"> | ||
| 9 | - <el-option v-for="dict in statusList" :key="dict.id" :label="dict.name" :value="dict.id" /> | ||
| 10 | - </el-select> | ||
| 11 | - | ||
| 12 | - </el-form-item> | ||
| 13 | - | ||
| 14 | - <el-form-item> | ||
| 15 | - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询原航班配置</el-button> | ||
| 16 | - </el-form-item> | ||
| 17 | - <br /> | ||
| 18 | - <el-form-item label="日期" prop="flightDate"> | ||
| 19 | - | ||
| 20 | - <el-date-picker v-model="queryParams.flightDate" type="date" placeholder="选择日期"> | ||
| 21 | - </el-date-picker> | ||
| 22 | - </el-form-item> | ||
| 23 | - | ||
| 24 | - <el-form-item> | ||
| 25 | - <el-button type="primary" icon="el-icon-search" size="mini" @click="findSourceFlightAndFlightDate">查询实际目的航班</el-button>  | ||
| 26 | - <span style="color: red;">注:原航班+日期查询该日期的航班实际情况</span> | ||
| 27 | - </el-form-item> | ||
| 28 | - <br /> | ||
| 29 | - <el-form-item> | ||
| 30 | - <el-col :span="1.5"> | ||
| 31 | - <el-button type="primary" icon="el-icon-plus" size="mini">添加规则</el-button> | ||
| 32 | - </el-col> | ||
| 33 | -   <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||
| 34 | - </el-form-item> | ||
| 35 | - </el-form> | ||
| 36 | - | ||
| 37 | - | ||
| 38 | - <el-table v-loading="loading" :data="sourceFlightRulesList" > | ||
| 39 | - | ||
| 40 | - <el-table-column label="原航班" align="center" prop="sourceFlightNo"/> | ||
| 41 | - <el-table-column label="目的航班排序" align="center" prop="flightRank" width="280"/> | ||
| 42 | - <!-- <el-table-column label="优先级" align="center" prop="priority" /> --> | ||
| 43 | - <el-table-column label="周期" align="center" prop="dayOfWeek" width="180"/> | ||
| 44 | - <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" /> | ||
| 45 | - <el-table-column label="开始时间" align="center" prop="startDate" width="100"/> | ||
| 46 | - <el-table-column label="结束时间" align="center" prop="endDate" width="100"/> | ||
| 47 | - <el-table-column label="最后修改人" align="center" prop="updateUserName" width="100"/> | ||
| 48 | - <el-table-column label="最后修改时间" align="center" prop="updateTime" width="100"/> | ||
| 49 | - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"width="280" fixed="right"> | ||
| 50 | - <template slot-scope="scope"> | ||
| 51 | - <el-button size="mini" type="text" icon="el-icon-edit" >修改</el-button> | ||
| 52 | - <el-button size="mini" type="text" icon="el-icon-delete" >删除</el-button> | ||
| 53 | - <el-button size="mini" type="text" icon="el-icon-delete" >启用</el-button> | ||
| 54 | - <el-button size="mini" type="text" icon="el-icon-delete" >停用</el-button> | ||
| 55 | - </template> | ||
| 56 | - </el-table-column> | ||
| 57 | - </el-table> | ||
| 58 | - | ||
| 59 | - <pagination v-show="total>0" :total="total" layout=" prev, pager, next, jumper, sizes,total" | ||
| 60 | - :page.sync="queryParams.pageNum" :limit.sync="queryParams.limit" @pagination="findSourceFlightRules" /> | ||
| 61 | - | ||
| 62 | - | ||
| 63 | - <!-- 查看目的航班对话框 --> | ||
| 64 | - <el-dialog title="实际目的航班" :visible.sync="openFlightDate" width="70%"> | ||
| 65 | - <el-table v-loading="loadingFlightDate" :data="sourceFlightAndFlightDate"> | ||
| 66 | - | ||
| 67 | - <el-table-column label="原航班" align="center" prop="sourceFlightNo"/> | ||
| 68 | - <el-table-column label="实际目的航班" align="center" prop="actualFlight" width="280"/> | ||
| 69 | - <el-table-column label="航班日期" align="center" prop="flightDate" /> | ||
| 70 | - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"width="200"> | ||
| 71 | - <template slot-scope="scope"> | ||
| 72 | - <el-button size="mini" type="text" icon="el-icon-edit" >查看配置维度</el-button> | ||
| 73 | - </template> | ||
| 74 | - </el-table-column> | ||
| 75 | - </el-table> | ||
| 76 | - <div slot="footer" class="dialog-footer"> | ||
| 77 | - <el-button @click="cancelFlightDate">返 回</el-button> | ||
| 78 | - </div> | ||
| 79 | - </el-dialog> | ||
| 80 | - </div> | ||
| 81 | -</template> | ||
| 82 | -<script> | ||
| 83 | - import { | ||
| 84 | - findSourceFlightRulesApi,findSourceFlightAndFlightDateApi | ||
| 85 | - } from "@/api/sourceFlightRules"; | ||
| 86 | - export default { | ||
| 87 | - name: "SourceFlightRules", | ||
| 88 | - data() { | ||
| 89 | - return { | ||
| 90 | - // 遮罩层 | ||
| 91 | - loading: false, | ||
| 92 | - // 遮罩层 | ||
| 93 | - loadingFlightDate: false, | ||
| 94 | - // 总条数 | ||
| 95 | - total: 0, | ||
| 96 | - // 原航班规则数据 | ||
| 97 | - sourceFlightRulesList: [], | ||
| 98 | - //目的航班数据 | ||
| 99 | - sourceFlightAndFlightDate:[], | ||
| 100 | - statusList: [{'id':1,'name':'有效'}, {'id':2,'name':'配置中'},{'id':3,'name':'停用'}], | ||
| 101 | - // 新增修改查看规则弹出层 | ||
| 102 | - open: false, | ||
| 103 | - // 是否显示查看目的航班弹出层 | ||
| 104 | - openFlightDate: false, | ||
| 105 | - // 查询参数 | ||
| 106 | - queryParams: { | ||
| 107 | - start: 0, //当前条数【代表第几条数据 +1开始】 | ||
| 108 | - pageNum: 1, | ||
| 109 | - limit: 20, //一页显示多少条数据 | ||
| 110 | - sourceFlightNo: undefined, //原航班号 | ||
| 111 | - status: undefined, //状态 | ||
| 112 | - flightDate: undefined //日期 | ||
| 113 | - }, | ||
| 114 | - // 表单参数 | ||
| 115 | - form: {}, | ||
| 116 | - // 表单校验 | ||
| 117 | - rules: {} | ||
| 118 | - }; | ||
| 119 | - }, | ||
| 120 | - created() { | ||
| 121 | - this.findSourceFlightRules(); | ||
| 122 | - }, | ||
| 123 | - methods: { | ||
| 124 | - /** 查询原航班顺位规则*/ | ||
| 125 | - findSourceFlightRules() { | ||
| 126 | - //this.loading = true; | ||
| 127 | - if (this.queryParams.pageNum > 1) { | ||
| 128 | - this.queryParams.start = (this.queryParams.pageNum - 1) * this.queryParams.limit | ||
| 129 | - }else{ | ||
| 130 | - this.queryParams.start=0; | ||
| 131 | - } | ||
| 132 | - findSourceFlightRulesApi(this.queryParams).then(response => { | ||
| 133 | - this.sourceFlightRulesList = response.data.list; | ||
| 134 | - this.total = response.data.totalCount; | ||
| 135 | - this.loading = false; | ||
| 136 | - }); | ||
| 137 | - | ||
| 138 | - }, | ||
| 139 | - /** 查询目的航班*/ | ||
| 140 | - findSourceFlightAndFlightDate(){ | ||
| 141 | - //校验原航班号非空 | ||
| 142 | - if(this.queryParams.sourceFlightNo===null||this.queryParams.sourceFlightNo===undefined||this.queryParams.sourceFlightNo.trim()===''){ | ||
| 143 | - this.$message.warning("原航班号为空"); | ||
| 144 | - return | ||
| 145 | - } | ||
| 146 | - //校验原日期非空 | ||
| 147 | - if(this.queryParams.flightDate===null||this.queryParams.flightDate===undefined){ | ||
| 148 | - this.$message.warning("日期为空"); | ||
| 149 | - return | ||
| 150 | - } | ||
| 151 | - this.openFlightDate = true; | ||
| 152 | - this.loadingFlightDate=true; | ||
| 153 | - this.sourceFlightAndFlightDate=[]; | ||
| 154 | - findSourceFlightAndFlightDateApi(this.queryParams).then(response => { | ||
| 155 | - this.sourceFlightAndFlightDate = response.data; | ||
| 156 | - this.loadingFlightDate=false; | ||
| 157 | - }); | ||
| 158 | - | ||
| 159 | - | ||
| 160 | - }, | ||
| 161 | - // 目的航班弹出框返回 | ||
| 162 | - cancelFlightDate() { | ||
| 163 | - this.openFlightDate = false; | ||
| 164 | - }, | ||
| 165 | - // 状态字典翻译 | ||
| 166 | - statusFormat(row) { | ||
| 167 | - if(row.status==='1'){ | ||
| 168 | - return '有效' | ||
| 169 | - }else if(row.status==='2'){ | ||
| 170 | - return '配置中' | ||
| 171 | - }else if(row.status==='3'){ | ||
| 172 | - return '停用' | ||
| 173 | - } | ||
| 174 | - return row.status; | ||
| 175 | - }, | ||
| 176 | - /** 重置按钮操作 */ | ||
| 177 | - resetQuery() { | ||
| 178 | - this.resetForm("queryForm"); | ||
| 179 | - this.handleQuery(); | ||
| 180 | - }, | ||
| 181 | - /** 搜索按钮操作 */ | ||
| 182 | - handleQuery() { | ||
| 183 | - this.queryParams.pageNum = 1; | ||
| 184 | - this.queryParams.start=0; | ||
| 185 | - this.findSourceFlightRules(); | ||
| 186 | - } | ||
| 187 | - | ||
| 188 | - } | ||
| 189 | - }; | ||
| 190 | -</script> | ||
| 191 | -<style> | ||
| 192 | - | ||
| 193 | - | ||
| 194 | -</style> |
src/views/system/user/index.vue
deleted
100644 → 0
| 1 | -<template> | ||
| 2 | -<div style="margin:40px" class="app-container"> | ||
| 3 | - <el-form :inline="true" :model="queryParams" class="demo-form-inline" size="small"> | ||
| 4 | - <el-form-item label="航班号"> | ||
| 5 | - <el-input v-model="queryParams.purposeOfFlightNo" placeholder="航班号"></el-input> | ||
| 6 | - </el-form-item> | ||
| 7 | - <el-form-item> | ||
| 8 | - <el-button type="primary" icon="el-icon-search" @click="getList" size="mini">查询</el-button> | ||
| 9 | - </el-form-item> | ||
| 10 | - </el-form> | ||
| 11 | - <el-button style="margin-bottom:20px" type="primary" icon="el-icon-plus" size="mini">添加</el-button> | ||
| 12 | - <el-table | ||
| 13 | - :data="flyList" | ||
| 14 | - style="width: 800px" | ||
| 15 | - v-loading="loading" size="small" | ||
| 16 | - > | ||
| 17 | - <el-table-column prop="purposeOfFlightNo" label="航班号" align="center"></el-table-column> | ||
| 18 | - <el-table-column label="操作" prop="id" align="center"> | ||
| 19 | - <template slot-scope="scope" > | ||
| 20 | - <el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看</el-button> | ||
| 21 | - <el-button type="text" size="mini" icon="el-icon-edit" @click="handleClick(scope.row.id, 'update')">修改</el-button> | ||
| 22 | - <el-button type="text" size="mini" icon="el-icon-delete">删除</el-button> | ||
| 23 | - <el-button type="text" size="mini" icon="el-icon-video-play">启用</el-button> | ||
| 24 | - <el-button type="text" size="mini" icon="el-icon-video-pause">停用</el-button> | ||
| 25 | - </template> | ||
| 26 | - </el-table-column> | ||
| 27 | - </el-table> | ||
| 28 | - <el-pagination | ||
| 29 | - @size-change="getList" | ||
| 30 | - @current-change="getList" | ||
| 31 | - :current-page.sync="curPage" | ||
| 32 | - :page-sizes="[10, 20, 30, 40]" | ||
| 33 | - :page-size.sync="limit" | ||
| 34 | - layout="prev, pager, next, jumper, sizes, total" | ||
| 35 | - :total="total" | ||
| 36 | - background | ||
| 37 | - :hide-on-single-page="true" | ||
| 38 | - style="margin-top:40px; text-align:right"> | ||
| 39 | - </el-pagination> | ||
| 40 | -</div> | ||
| 41 | -</template> | ||
| 42 | - | ||
| 43 | -<script> | ||
| 44 | - import { | ||
| 45 | - findFlightNo | ||
| 46 | - } from "@/api/destinationFlight"; | ||
| 47 | - | ||
| 48 | - export default { | ||
| 49 | - data() { | ||
| 50 | - return { | ||
| 51 | - queryParams: { | ||
| 52 | - purposeOfFlightNo: '', | ||
| 53 | - start:0, | ||
| 54 | - limit:10 | ||
| 55 | - }, | ||
| 56 | - flyList:[], | ||
| 57 | - curPage:1, | ||
| 58 | - limit:10, | ||
| 59 | - total:0, | ||
| 60 | - loading:false, | ||
| 61 | - } | ||
| 62 | - }, | ||
| 63 | - methods: { | ||
| 64 | - getList(){ | ||
| 65 | - this.queryParams.limit = this.limit; | ||
| 66 | - if (this.curPage > 1) { | ||
| 67 | - this.queryParams.start = (this.curPage - 1) * this.queryParams.limit | ||
| 68 | - }else { | ||
| 69 | - this.queryParams.start = 0; | ||
| 70 | - } | ||
| 71 | - this.loading = true; | ||
| 72 | - findFlightNo(this.queryParams).then(response => { | ||
| 73 | - this.flyList = response.data.list; | ||
| 74 | - this.total = response.data.totalCount; | ||
| 75 | - this.loading = false; | ||
| 76 | - }); | ||
| 77 | - }, | ||
| 78 | - //跳转到查看,修改页面 | ||
| 79 | - handleClick(flightiId, handle){ | ||
| 80 | - this.$router.push({ name: 'info', params: { handle: handle, id:flightiId }}); | ||
| 81 | - }, | ||
| 82 | - //删除,启用,停用 | ||
| 83 | - changeStatus(id, handle){ | ||
| 84 | - | ||
| 85 | - } | ||
| 86 | - }, | ||
| 87 | - created() { | ||
| 88 | - this.getList(); | ||
| 89 | - } | ||
| 90 | - } | ||
| 91 | -</script> | ||
| 92 | - | ||
| 93 | - |
| 1 | <template> | 1 | <template> |
| 2 | - <div style="margin: 20px"> | 2 | + <div></div> |
| 3 | - <el-form :inline="true" :model="form" class="demo-form-inline" size="small"> | ||
| 4 | - <el-form-item label="航班种类"> | ||
| 5 | - <el-select v-model="form.type" placeholder="航班种类"> | ||
| 6 | - <el-option | ||
| 7 | - v-for="item in flightType" | ||
| 8 | - :key="item.id" | ||
| 9 | - :label="item.englishName" | ||
| 10 | - :value="item.code" | ||
| 11 | - >{{item.englishName}}</el-option> | ||
| 12 | - </el-select> | ||
| 13 | - </el-form-item> | ||
| 14 | - <el-form-item> | ||
| 15 | - <el-upload | ||
| 16 | - action="/flightInfoImport/importFlight" | ||
| 17 | - name="file" | ||
| 18 | - :http-request="uploadExcel" | ||
| 19 | - :on-remove="handleRemove" | ||
| 20 | - :limit="1" | ||
| 21 | - :on-exceed="handleExceed" | ||
| 22 | - :file-list="fileList" | ||
| 23 | - accept=".xlsx" | ||
| 24 | - class="upload-demo" | ||
| 25 | - > | ||
| 26 | - <el-button type="primary">点击上传</el-button> | ||
| 27 | - </el-upload> | ||
| 28 | - </el-form-item> | ||
| 29 | - <el-form-item> | ||
| 30 | - <el-button type="primary" @click="downloadTempleate" | ||
| 31 | - >下载模板</el-button | ||
| 32 | - > | ||
| 33 | - </el-form-item> | ||
| 34 | - </el-form> | ||
| 35 | - <div style="font-size: 12px;font-weight: 700;">提示:<span style="color:#0000FF">以下为所提交的数据或出错信息</span></div> | ||
| 36 | - | ||
| 37 | - <el-table | ||
| 38 | - ref="filterTable" | ||
| 39 | - :data="tableData" | ||
| 40 | - style="width: 100%; margin-top: 20px" | ||
| 41 | - size="small" | ||
| 42 | - border | ||
| 43 | - > | ||
| 44 | - <el-table-column label="行号" prop="line" fixed width="50" align="center"> | ||
| 45 | - </el-table-column> | ||
| 46 | - | ||
| 47 | - <el-table-column label="错误信息" prop="errorMessage" fixed width="200"> | ||
| 48 | - <template slot-scope="scope"> | ||
| 49 | - <div v-for="(m,key) in scope.row.errorMessage" :key="key">{{ m }}</div> | ||
| 50 | - </template> | ||
| 51 | - </el-table-column> | ||
| 52 | - | ||
| 53 | - <el-table-column v-if="tableData.length == 0" ></el-table-column> | ||
| 54 | - | ||
| 55 | - <el-table-column v-for="(value,key) in this.tableData[0]" :key="key" v-if="key != 'errorMessage' && key != 'line'" :label="key" :prop="key" width="120"></el-table-column> | ||
| 56 | - </el-table> | ||
| 57 | - </div> | ||
| 58 | -</template> | ||
| 59 | - </div> | ||
| 60 | </template> | 3 | </template> |
| 61 | 4 | ||
| 62 | <script> | 5 | <script> |
| 63 | -import { | ||
| 64 | - filghtKindData, | ||
| 65 | - downLoadTemplate, | ||
| 66 | - importFlight, | ||
| 67 | -} from "@/api/flightInfoImport"; | ||
| 68 | - | ||
| 69 | export default { | 6 | export default { |
| 70 | - data() { | ||
| 71 | - return { | ||
| 72 | - flightType: [], | ||
| 73 | - form: { | ||
| 74 | - type: "", | ||
| 75 | - region: "", | ||
| 76 | - }, | ||
| 77 | - fileList: [], | ||
| 78 | - tableData: [], | ||
| 79 | - }; | ||
| 80 | - }, | ||
| 81 | - methods: { | ||
| 82 | - downloadTempleate() { | ||
| 83 | - let downloadType = ""; | ||
| 84 | - let fileName = ""; | ||
| 85 | - switch (this.form.type) { | ||
| 86 | - case "flightKind20": | ||
| 87 | - downloadType = "whiteTail"; | ||
| 88 | - fileName = "航班信息导入模板WhiteTail.xlsx"; | ||
| 89 | - break; | ||
| 90 | - case "flightKind30": | ||
| 91 | - downloadType = "purpleTail"; | ||
| 92 | - fileName = "航班信息导入模板PurpleTail.xlsx"; | ||
| 93 | - break; | ||
| 94 | - default: | ||
| 95 | - this.$confirm("此类航班暂无模板,请选择其他类型航班", "提示", { | ||
| 96 | - confirmButtonText: "确定", | ||
| 97 | - showCancelButton: false, | ||
| 98 | - type: "warning", | ||
| 99 | - }); | ||
| 100 | - } | ||
| 101 | - if (downloadType != "") { | ||
| 102 | - downLoadTemplate(downloadType).then((res) => { | ||
| 103 | - if (res) { | ||
| 104 | - const blob = new Blob([res]); | ||
| 105 | - const link = document.createElement("a"); //创建a标签 | ||
| 106 | - link.download = fileName; //a标签添加属性 | ||
| 107 | - link.style.display = "none"; | ||
| 108 | - link.href = URL.createObjectURL(blob); | ||
| 109 | - document.body.appendChild(link); | ||
| 110 | - link.click(); //执行下载 | ||
| 111 | - URL.revokeObjectURL(link.href); //释放url | ||
| 112 | - document.body.removeChild(link); //释放标签 | ||
| 113 | - } else { | ||
| 114 | - this.$message.error("下载失败"); | ||
| 115 | - } | ||
| 116 | - }); | ||
| 117 | - } | ||
| 118 | - }, | ||
| 119 | - uploadExcel(option) { | ||
| 120 | - //上传excel | ||
| 121 | - const file = option.file; | ||
| 122 | - console.log(option); | ||
| 123 | - importFlight(file, this.form.type).then((res) => { | ||
| 124 | - if (res.code != 200) { | ||
| 125 | - this.$message.error(res.msg); | ||
| 126 | - this.tableData = res.data; | ||
| 127 | - } else { | ||
| 128 | - this.$message.success('导入成功'); | ||
| 129 | - this.tableData = res.data; | ||
| 130 | - } | ||
| 131 | - }); | ||
| 132 | - }, | ||
| 133 | - handleRemove(file, fileList) { | ||
| 134 | - //清掉上传的文件 | ||
| 135 | - this.tableData = []; | ||
| 136 | - this.fileList = []; | ||
| 137 | - }, | ||
| 138 | - handleExceed(files) { | ||
| 139 | - //重复上传文件 | ||
| 140 | - let file = {}; | ||
| 141 | - file.file = files[0]; | ||
| 142 | - file.name = files[0].name; | ||
| 143 | - this.fileList = []; | ||
| 144 | - this.fileList.push(file); | ||
| 145 | 7 | ||
| 146 | - this.uploadExcel(file); | 8 | +} |
| 147 | - }, | ||
| 148 | - }, | ||
| 149 | - created() { | ||
| 150 | - filghtKindData().then((response) => { | ||
| 151 | - if (response.code != 200) { | ||
| 152 | - this.$message({ | ||
| 153 | - message: response.msg, | ||
| 154 | - type: "error", | ||
| 155 | - }); | ||
| 156 | - } | ||
| 157 | - this.flightType = response.data; | ||
| 158 | - this.form.type = response.data[0].code; | ||
| 159 | - }); | ||
| 160 | - }, | ||
| 161 | -}; | ||
| 162 | </script> | 9 | </script> |
| 163 | 10 | ||
| 164 | -<style rel="stylesheet/scss" lang="scss"> | 11 | +<style> |
| 165 | -.upload-demo { | 12 | + |
| 166 | - float: right; | ||
| 167 | -} | ||
| 168 | -.el-upload-list { | ||
| 169 | - display: inline-block; | ||
| 170 | - margin-left: 10px; | ||
| 171 | - vertical-align: top; | ||
| 172 | -} | ||
| 173 | </style> | 13 | </style> |
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | <template> | 1 | <template> |
| 2 | - <div class="app-container"> | 2 | + <div></div> |
| 3 | - <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="90px"> | ||
| 4 | - <el-row> | ||
| 5 | - <el-col :span="8"> | ||
| 6 | - | ||
| 7 | - <el-form-item label="航班日期从" prop="fltDateStart"> | ||
| 8 | - <el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateStart" type="date" placeholder="选择日期"> | ||
| 9 | - </el-date-picker> | ||
| 10 | - </el-form-item> | ||
| 11 | - </el-col> | ||
| 12 | - | ||
| 13 | - <el-col :span="8"> | ||
| 14 | - <el-form-item label="到" prop="fltDateEnd"> | ||
| 15 | - <el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateEnd" type="date" placeholder="选择日期"> | ||
| 16 | - </el-date-picker> | ||
| 17 | - </el-form-item> | ||
| 18 | - </el-col> | ||
| 19 | - | ||
| 20 | - <el-col :span="8"> | ||
| 21 | - <el-form-item label="航班号" prop="fltNo"> | ||
| 22 | - <el-input v-model="queryParams.fltNo" placeholder="请输入航班号" clearable size="small" /> | ||
| 23 | - </el-form-item> | ||
| 24 | - </el-col> | ||
| 25 | - | ||
| 26 | - </el-row> | ||
| 27 | - <el-row> | ||
| 28 | - <el-col :span="8"> | ||
| 29 | - <el-form-item label="航班类型" prop="typeId"> | ||
| 30 | - <el-select v-model="queryParams.typeId" placeholder="请选择航班类型" clearable size="small"> | ||
| 31 | - <el-option v-for="dict in flightTypelist" :key="dict.id" :label="dict.chineseName" :value="dict.id" /> | ||
| 32 | - </el-select> | ||
| 33 | - </el-form-item> | ||
| 34 | - </el-col> | ||
| 35 | - | ||
| 36 | - <el-col :span="8"> | ||
| 37 | - <el-form-item label="航班状态" prop="statusId"> | ||
| 38 | - <el-select v-model="queryParams.statusId" placeholder="请选择航班状态" clearable size="small"> | ||
| 39 | - <el-option v-for="dict in flightStatuslist" :key="dict.id" :label="dict.chineseName" :value="dict.id" /> | ||
| 40 | - </el-select> | ||
| 41 | - </el-form-item> | ||
| 42 | - </el-col> | ||
| 43 | - | ||
| 44 | - <el-col :span="8"> | ||
| 45 | - <el-form-item label="航班种类" prop="flightKindId"> | ||
| 46 | - <el-select v-model="queryParams.flightKindId" placeholder="请选择航班种类" clearable size="small"> | ||
| 47 | - <el-option v-for="dict in flightKindlist" :key="dict.id" :label="dict.chineseName" :value="dict.id" /> | ||
| 48 | - </el-select> | ||
| 49 | - </el-form-item> | ||
| 50 | - </el-col> | ||
| 51 | - | ||
| 52 | - </el-row> | ||
| 53 | - | ||
| 54 | - <br /> | ||
| 55 | - <el-form-item> | ||
| 56 | - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | ||
| 57 | - <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | ||
| 58 | - </el-form-item> | ||
| 59 | - </el-form> | ||
| 60 | - <el-row :gutter="10" class="mb8"> | ||
| 61 | - <el-col :span="1.5"> | ||
| 62 | - <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> | ||
| 63 | - </el-col> | ||
| 64 | - <el-col :span="1.5"> | ||
| 65 | - <el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate">修改 | ||
| 66 | - </el-button> | ||
| 67 | - </el-col> | ||
| 68 | - <el-col :span="1.5"> | ||
| 69 | - <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple">删除 | ||
| 70 | - </el-button> | ||
| 71 | - </el-col> | ||
| 72 | - </el-row> | ||
| 73 | - <el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="findAllFltDatList" | ||
| 74 | - @selection-change="handleSelectionChange"> | ||
| 75 | - <el-table-column type="selection" width="55" align="center" /> | ||
| 76 | - <el-table-column label="航班日期" align="center" prop="fltDate" width="120" /> | ||
| 77 | - <el-table-column label="航班起飞时间" align="center" prop="takeOffTime" width="120" /> | ||
| 78 | - <el-table-column label="航班号" align="center" prop="fltNo" /> | ||
| 79 | - <el-table-column label="航班路线" align="center" prop="route" /> | ||
| 80 | - <el-table-column label="航班类型" align="center" prop="typeName" width="100" /> | ||
| 81 | - <el-table-column label="航班种类" align="center" prop="flightKindName" width="130" /> | ||
| 82 | - <el-table-column label="航班状态" align="center" prop="statusName" /> | ||
| 83 | - <el-table-column label="总重量" align="center" prop="totalWeight" width="130" /> | ||
| 84 | - <el-table-column label="原始重量(T)" align="center" prop="originalWeight" width="130" /> | ||
| 85 | - <el-table-column label="总体积(cm³)" align="center" prop="totalVolume" width="130" /> | ||
| 86 | - <el-table-column label="是否限制一票一件" align="center" prop="ticketToPiece" width="150" | ||
| 87 | - :formatter="ticketToPieceFormat" /> | ||
| 88 | - <el-table-column label="是否需要预审" align="center" prop="needRequired" width="150" :formatter="needRequiredFormat" /> | ||
| 89 | - <el-table-column label="额外增重百分比" align="center" prop="extraWeightPercent" width="150" /> | ||
| 90 | - <el-table-column label="高价百分比" align="center" prop="highPriceWeightPercent" width="150" /> | ||
| 91 | - <el-table-column label="低价百分比" align="center" prop="lowPriceWeightPercent" width="150" /> | ||
| 92 | - <el-table-column label="是否开启高地价" align="center" prop="highLowPriceFlg" width="150" | ||
| 93 | - :formatter="highLowPriceFlgFormat" /> | ||
| 94 | - <el-table-column label="已配重量" align="center" prop="alloctedWeight" width="150" /> | ||
| 95 | - <el-table-column label="已配体积(cm³)" align="center" prop="alloctedVolume" width="150" /> | ||
| 96 | - <el-table-column label="航班优先级" align="center" prop="priorityName" width="150" /> | ||
| 97 | - <el-table-column label="配舱优先级" align="center" prop="priorityRuleName" width="150" /> | ||
| 98 | - <el-table-column label="创建人" align="center" prop="createUserName" width="120" /> | ||
| 99 | - <el-table-column label="创建时间" align="center" prop="createTime" width="155" /> | ||
| 100 | - | ||
| 101 | - <!-- <el-table-column label="创建时间" align="center" prop="createTime" width="155"> | ||
| 102 | - <template slot-scope="scope"> | ||
| 103 | - <span>{{ renderTime(scope.row.createTime) }}</span> | ||
| 104 | - </template> | ||
| 105 | - </el-table-column> --> | ||
| 106 | - <el-table-column label="最后修改人" align="center" prop="lastModifyUserName" width="155" /> | ||
| 107 | - <!-- <el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="155"> | ||
| 108 | - <template slot-scope="scope"> | ||
| 109 | - <span>{{ renderTime(scope.row.lastModifyTime) }}</span> | ||
| 110 | - </template> | ||
| 111 | - </el-table-column> --> | ||
| 112 | - <el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="120" /> | ||
| 113 | - | ||
| 114 | - <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="130" fixed="right"> | ||
| 115 | - <template slot-scope="scope"> | ||
| 116 | - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button> | ||
| 117 | - <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteorPlayorpause(scope.row,0,'删除')"> | ||
| 118 | - 删除</el-button> | ||
| 119 | - </template> | ||
| 120 | - </el-table-column> | ||
| 121 | - </el-table> | ||
| 122 | - | ||
| 123 | - <pagination v-show="total>0" :total="total" layout=" prev, pager, next, jumper, sizes,total" | ||
| 124 | - :page.sync="queryParams.pageNum" :limit.sync="queryParams.limitSize" @pagination="findAllFltData" /> | ||
| 125 | - | ||
| 126 | - | ||
| 127 | - | ||
| 128 | - | ||
| 129 | - <!-- 添加或修改对话框 --> | ||
| 130 | - <el-dialog :title="title" :visible.sync="open" width="60%"> | ||
| 131 | - <el-form ref="form" :model="form" :rules="rules" label-width="125px"> | ||
| 132 | - <el-row> | ||
| 133 | - <el-col :span="12"> | ||
| 134 | - <el-form-item label="航班号" prop="fltNo"> | ||
| 135 | - <el-input @blur="blurfltNo" :disabled="formdisabled.fltNo" style="width:93%;" v-model="form.fltNo" placeholder="请输入航班号" /> | ||
| 136 | - </el-form-item> | ||
| 137 | - </el-col> | ||
| 138 | - <!-- <el-col :span="1">  </el-col> --> | ||
| 139 | - <el-col :span="12"> | ||
| 140 | - <el-form-item label="航班日期" prop="fltDate"> | ||
| 141 | - | ||
| 142 | - <el-date-picker :disabled="formdisabled.fltDate" clearable size="small" v-model="form.fltDate" type="date" | ||
| 143 | - value-format="yyyy-MM-dd" placeholder="选择航班日期"> | ||
| 144 | - </el-date-picker> | ||
| 145 | - </el-form-item> | ||
| 146 | - </el-col> | ||
| 147 | - | ||
| 148 | - | ||
| 149 | - <el-col :span="12"> | ||
| 150 | - <el-form-item label="航班路线" prop="route"> | ||
| 151 | - <el-input :disabled="formdisabled.route" style="width:93%" v-model="form.route" placeholder="请输入航班路线" /> | ||
| 152 | - </el-form-item> | ||
| 153 | - </el-col> | ||
| 154 | - | ||
| 155 | - <el-col :span="12"> | ||
| 156 | - <el-form-item label="航班种类" prop="kindId"> | ||
| 157 | - <el-select :disabled="formdisabled.kindId" v-model="form.kindId" placeholder="请选择航班种类"> | ||
| 158 | - <el-option v-for="item in flightKindlist" :key="item.id" :label="item.chineseName" :value="item.id"> | ||
| 159 | - </el-option> | ||
| 160 | - </el-select> | ||
| 161 | - </el-form-item> | ||
| 162 | - </el-col> | ||
| 163 | - <el-col :span="12"> | ||
| 164 | - <el-form-item label="航班类型" prop="typeId"> | ||
| 165 | - <el-select :disabled="formdisabled.typeId" v-model="form.typeId" placeholder="请选择航班类型"> | ||
| 166 | - <el-option v-for="item in flightTypelist" :key="item.id" :label="item.chineseName" :value="item.id"> | ||
| 167 | - </el-option> | ||
| 168 | - </el-select> | ||
| 169 | - </el-form-item> | ||
| 170 | - </el-col> | ||
| 171 | - <el-col :span="12"> | ||
| 172 | - <el-form-item label="航班状态" prop="statusId"> | ||
| 173 | - <el-select :disabled="true" v-model="form.statusId" placeholder="请选择航班状态"> | ||
| 174 | - <el-option v-for="item in flightStatuslist" :key="item.id" :label="item.chineseName" :value="item.id"> | ||
| 175 | - </el-option> | ||
| 176 | - </el-select> | ||
| 177 | - </el-form-item> | ||
| 178 | - </el-col> | ||
| 179 | - <el-col :span="12"> | ||
| 180 | - <el-form-item label="原始重量(T)" prop="originalWeight"> | ||
| 181 | - <el-input :disabled="formdisabled.originalWeight" placeholder="请输入原始重量(T)" style="width:93%" min="0" | ||
| 182 | - oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 183 | - v-model="form.originalWeight"></el-input> | ||
| 184 | - </el-form-item> | ||
| 185 | - </el-col> | ||
| 186 | - | ||
| 187 | - <el-col :span="12"> | ||
| 188 | - <el-form-item label="额外增重百分比" prop="extraWeightPercent"> | ||
| 189 | - <el-input :disabled="true" placeholder="请输入额外增重百分比" style="width:93%" min="0" | ||
| 190 | - oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 191 | - v-model="form.extraWeightPercent"></el-input> | ||
| 192 | - </el-form-item> | ||
| 193 | - </el-col> | ||
| 194 | - | ||
| 195 | - <el-col :span="12"> | ||
| 196 | - <el-form-item label="是否开启高低价" prop="highLowPriceFlg"> | ||
| 197 | - <el-switch :disabled="true" v-model="form.highLowPriceFlg" active-color="#13ce66"> | ||
| 198 | - </el-switch> | ||
| 199 | - </el-form-item> | ||
| 200 | - </el-col> | ||
| 201 | - | ||
| 202 | - <!-- 是否需要预审,1:预审,0:取消预审 --> | ||
| 203 | - <el-col :span="12"> | ||
| 204 | - <el-form-item label="是否预审" prop="isNeedRequired"> | ||
| 205 | - <el-switch :disabled="true" v-model="form.isNeedRequired" active-color="#13ce66"> | ||
| 206 | - </el-switch> | ||
| 207 | - </el-form-item> | ||
| 208 | - </el-col> | ||
| 209 | - | ||
| 210 | - <el-col :span="12"> | ||
| 211 | - <el-form-item label="高价百分比" prop="highPriceWeightPercent"> | ||
| 212 | - <el-input :disabled="true" placeholder="请输入高价百分比" style="width:93%" min="0" | ||
| 213 | - oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 214 | - v-model="form.highPriceWeightPercent"></el-input> | ||
| 215 | - </el-form-item> | ||
| 216 | - </el-col> | ||
| 217 | - | ||
| 218 | - <el-col :span="12"> | ||
| 219 | - <el-form-item label="低价百分比" prop="lowPriceWeightPercent"> | ||
| 220 | - <el-input :disabled="true" placeholder="请输入低价百分比" style="width:93%" min="0" | ||
| 221 | - oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 222 | - v-model="form.lowPriceWeightPercent"></el-input> | ||
| 223 | - </el-form-item> | ||
| 224 | - </el-col> | ||
| 225 | - | ||
| 226 | - <el-col :span="12"> | ||
| 227 | - <el-form-item label="已配重量" prop="alloctedWeight"> | ||
| 228 | - <el-input :disabled="true" placeholder="请输入已配重量" style="width:93%" min="0" | ||
| 229 | - oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number" | ||
| 230 | - v-model="form.alloctedWeight"></el-input> | ||
| 231 | - </el-form-item> | ||
| 232 | - </el-col> | ||
| 233 | - | ||
| 234 | - </el-row> | ||
| 235 | - | ||
| 236 | - | ||
| 237 | - </el-form> | ||
| 238 | - <div slot="footer" class="dialog-footer"> | ||
| 239 | - <el-button type="primary" :disabled="form.alloctedWeight>0 ? true:false" @click="submitForm">确 定</el-button> | ||
| 240 | - <el-button @click="cancel">取 消</el-button> | ||
| 241 | - </div> | ||
| 242 | - </el-dialog> | ||
| 243 | - </div> | ||
| 244 | </template> | 3 | </template> |
| 245 | -<script> | ||
| 246 | - import { | ||
| 247 | - findFltConditionDataApi, | ||
| 248 | - findAllFltDataApi, | ||
| 249 | - findFltById, | ||
| 250 | - saveOrUpdate, | ||
| 251 | - findFltCommonConf | ||
| 252 | 4 | ||
| 253 | - } from "@/api/findAllFltData"; | 5 | +<script> |
| 254 | - export default { | 6 | +export default { |
| 255 | - name: "findAllFltData", | ||
| 256 | - data() { | ||
| 257 | - return { | ||
| 258 | - //form属性禁用状态 | ||
| 259 | - formdisabled: { | ||
| 260 | - //航班号 | ||
| 261 | - fltNo: false, | ||
| 262 | - //航班日期 | ||
| 263 | - fltDate: false, | ||
| 264 | - //航班路线 | ||
| 265 | - route: false, | ||
| 266 | - //航班种类 | ||
| 267 | - kindId: false, | ||
| 268 | - //航班类型 | ||
| 269 | - typeId: false, | ||
| 270 | - //原始重量 | ||
| 271 | - originalWeight: false | ||
| 272 | - }, | ||
| 273 | - | ||
| 274 | - //航班种类 | ||
| 275 | - flightKindlist: [], | ||
| 276 | - //航班状态 | ||
| 277 | - flightStatuslist: [], | ||
| 278 | - //航班类型 | ||
| 279 | - flightTypelist: [], | ||
| 280 | - // 选中数组 | ||
| 281 | - ids: [], | ||
| 282 | - // 非单个禁用 | ||
| 283 | - single: true, | ||
| 284 | - // 非多个禁用 | ||
| 285 | - multiple: true, | ||
| 286 | - | ||
| 287 | - // 遮罩层 | ||
| 288 | - loading: false, | ||
| 289 | - // 遮罩层 | ||
| 290 | - loadingFlightDate: false, | ||
| 291 | - // 弹出层标题 | ||
| 292 | - title: "", | ||
| 293 | - // 总条数 | ||
| 294 | - total: 0, | ||
| 295 | - // 原航班规则数据 | ||
| 296 | - findAllFltDatList: [], | ||
| 297 | - //目的航班数据 | ||
| 298 | - sourceFlightAndFlightDate: [], | ||
| 299 | - statusList: [{ | ||
| 300 | - 'id': 1, | ||
| 301 | - 'name': '有效' | ||
| 302 | - }, { | ||
| 303 | - 'id': 3, | ||
| 304 | - 'name': '停用' | ||
| 305 | - }], | ||
| 306 | - // 新增修改查看规则弹出层 | ||
| 307 | - open: false, | ||
| 308 | - // 是否显示查看目的航班弹出层 | ||
| 309 | - openFlightDate: false, | ||
| 310 | - // 查询参数 | ||
| 311 | - queryParams: { | ||
| 312 | - limitStart: 0, //当前条数【代表第几条数据 +1开始】 | ||
| 313 | - pageNum: 1, | ||
| 314 | - limitSize: 20, //一页显示多少条数据 | ||
| 315 | - fltDateStart: undefined, //航班日期开始 | ||
| 316 | - fltDateEnd: undefined, //航班日期结束 | ||
| 317 | - typeId: undefined, //航班类型 | ||
| 318 | - statusId: undefined, //航班状态 | ||
| 319 | - flightKindId: undefined, //航班种类 | ||
| 320 | - fltNo: undefined //航班号,要大写 | ||
| 321 | - }, | ||
| 322 | - | ||
| 323 | - // 表单参数 | ||
| 324 | - form: { | ||
| 325 | - | ||
| 326 | - | ||
| 327 | - }, | ||
| 328 | - // 表单校验 | ||
| 329 | - rules: { | ||
| 330 | - fltNo: [{ | ||
| 331 | - required: true, | ||
| 332 | - message: "原航班号不能为空", | ||
| 333 | - trigger: "blur" | ||
| 334 | - }], | ||
| 335 | - fltDate: [{ | ||
| 336 | - required: true, | ||
| 337 | - message: "航班日期不能为空", | ||
| 338 | - trigger: "blur" | ||
| 339 | - }], | ||
| 340 | - kindId: [{ | ||
| 341 | - required: true, | ||
| 342 | - message: "航班种类不能为空", | ||
| 343 | - trigger: "change" | ||
| 344 | - }], | ||
| 345 | - originalWeight: [{ | ||
| 346 | - required: true, | ||
| 347 | - message: "原始重量(T)不能为空", | ||
| 348 | - trigger: "blur" | ||
| 349 | - }], | ||
| 350 | - } | ||
| 351 | - }; | ||
| 352 | - }, | ||
| 353 | - created() { | ||
| 354 | - //查询条件数据源 | ||
| 355 | - this.findFltConditionData(); | ||
| 356 | - this.findAllFltData(); | ||
| 357 | - }, | ||
| 358 | - methods: { | ||
| 359 | - //输入航班号后 | ||
| 360 | - blurfltNo(){ | ||
| 361 | - if(this.form.fltNo!=null&&this.form.fltNo!=undefined &&this.form.fltNo!=""){ | ||
| 362 | - this.form.fltNo=this.form.fltNo.toUpperCase(); | ||
| 363 | - findFltCommonConf(this.form).then(response => { | ||
| 364 | - if (response.code == 200) { | ||
| 365 | - //额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑 | ||
| 366 | - if(response.data.extraWeightPercent!=null&&response.data.extraWeightPercent!=undefined){ | ||
| 367 | - this.form.extraWeightPercent=response.data.extraWeightPercent; | ||
| 368 | - }else{ | ||
| 369 | - this.form.extraWeightPercent=response.data.extraWeightPercent=0; | ||
| 370 | - } | ||
| 371 | - //是否开启高低价:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否开启高低价’ 为是,不可编辑 | ||
| 372 | - if(response.data.highLowPriceFlg!=null&&response.data.highLowPriceFlg!=undefined){ | ||
| 373 | - this.form.highLowPriceFlg=response.data.highLowPriceFlg=== 1 ? true : false; | ||
| 374 | - }else{ | ||
| 375 | - this.form.highLowPriceFlg=response.data.highLowPriceFlg=1; | ||
| 376 | - } | ||
| 377 | - //是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑; | ||
| 378 | - if(response.data.isNeedRequired!=null&&response.data.isNeedRequired!=undefined){ | ||
| 379 | - this.form.isNeedRequired=response.data.isNeedRequired=== 1 ? true : false; | ||
| 380 | - }else{ | ||
| 381 | - this.form.isNeedRequired=response.data.isNeedRequired=1; | ||
| 382 | - } | ||
| 383 | - //高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑 | ||
| 384 | - if(response.data.highPriceWeightPercent!=null&&response.data.highPriceWeightPercent!=undefined){ | ||
| 385 | - this.form.highPriceWeightPercent=response.data.highPriceWeightPercent; | ||
| 386 | - }else{ | ||
| 387 | - this.form.highPriceWeightPercent=response.data.highPriceWeightPercent=60; | ||
| 388 | - } | ||
| 389 | - if(response.data.lowPriceWeightPercent!=null&&response.data.lowPriceWeightPercent!=undefined){ | ||
| 390 | - this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent; | ||
| 391 | - }else{ | ||
| 392 | - this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent=40; | ||
| 393 | - } | ||
| 394 | - } else { | ||
| 395 | - this.msgError(response.msg); | ||
| 396 | - } | ||
| 397 | - | ||
| 398 | - }); | ||
| 399 | - | ||
| 400 | - } | ||
| 401 | - | ||
| 402 | - | ||
| 403 | - }, | ||
| 404 | - // 是否一票一件 | ||
| 405 | - ticketToPieceFormat(row) { | ||
| 406 | - if (row.ticketToPiece === 1) { | ||
| 407 | - return '是' | ||
| 408 | - } else { | ||
| 409 | - return '否' | ||
| 410 | - } | ||
| 411 | - return row.ticketToPiece; | ||
| 412 | - }, | ||
| 413 | - // 是否需要预审 1 预审 0 取消预审 | ||
| 414 | - needRequiredFormat(row) { | ||
| 415 | - if (row.needRequired === 1) { | ||
| 416 | - return '预审' | ||
| 417 | - } else { | ||
| 418 | - return '取消预审' | ||
| 419 | - } | ||
| 420 | - return row.ticketToPiece; | ||
| 421 | - }, | ||
| 422 | - //是否开启高低价 | ||
| 423 | - highLowPriceFlgFormat(row) { | ||
| 424 | - if (row.highLowPriceFlg === 1) { | ||
| 425 | - return '开启' | ||
| 426 | - } else { | ||
| 427 | - return '未开启' | ||
| 428 | - } | ||
| 429 | - return row.ticketToPiece; | ||
| 430 | - }, | ||
| 431 | - //时间格式化 | ||
| 432 | - renderTime(date) { | ||
| 433 | - var dateee = new Date(date).toJSON(); | ||
| 434 | - return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '') | ||
| 435 | - }, | ||
| 436 | - //查询条件数据源 | ||
| 437 | - findFltConditionData() { | ||
| 438 | - findFltConditionDataApi().then(response => { | ||
| 439 | - if (response.code == 200) { | ||
| 440 | - // debugger | ||
| 441 | - //航班种类 | ||
| 442 | - this.flightKindlist = response.data.flightKind; | ||
| 443 | - //航班类型 | ||
| 444 | - this.flightTypelist = response.data.flightType; | ||
| 445 | - //航班状态 | ||
| 446 | - | ||
| 447 | - this.flightStatuslist = response.data.flightStatus; | ||
| 448 | - | ||
| 449 | - } else { | ||
| 450 | - this.msgError(response.msg); | ||
| 451 | - } | ||
| 452 | - | ||
| 453 | - }); | ||
| 454 | - }, | ||
| 455 | - | ||
| 456 | - // 多选框选中数据 | ||
| 457 | - handleSelectionChange(selection) { | ||
| 458 | - this.ids = selection.map(item => item.postId) | ||
| 459 | - this.single = selection.length != 1 | ||
| 460 | - this.multiple = !selection.length | ||
| 461 | - }, | ||
| 462 | - | ||
| 463 | - /** 航班信息维护查询*/ | ||
| 464 | - findAllFltData() { | ||
| 465 | - this.loading = true; | ||
| 466 | - if (this.queryParams.pageNum > 1) { | ||
| 467 | - this.queryParams.limitStart = (this.queryParams.pageNum - 1) * this.queryParams.limitSize | ||
| 468 | - } else { | ||
| 469 | - this.queryParams.limitStart = 0; | ||
| 470 | - } | ||
| 471 | - if (this.queryParams.fltNo != null && this.queryParams.fltNo != undefined && this.queryParams.fltNo != '') { | ||
| 472 | - this.queryParams.fltNo = this.queryParams.fltNo.toUpperCase(); | ||
| 473 | - } | ||
| 474 | - | ||
| 475 | - findAllFltDataApi(this.queryParams).then(response => { | ||
| 476 | - if (response.code == 200) { | ||
| 477 | - | ||
| 478 | - this.findAllFltDatList = response.data.list; | ||
| 479 | - this.total = response.data.totalCount; | ||
| 480 | - this.loading = false; | ||
| 481 | - } else { | ||
| 482 | - this.msgError(response.msg); | ||
| 483 | - } | ||
| 484 | - | ||
| 485 | - }); | ||
| 486 | - | ||
| 487 | - }, | ||
| 488 | - /** 新增按钮操作 */ | ||
| 489 | - handleAdd() { | ||
| 490 | - this.reset(); | ||
| 491 | - this.open = true; | ||
| 492 | - this.title = "添加航班信息"; | ||
| 493 | - this.form.id = null; | ||
| 494 | - this.form.statusId = this.flightStatuslist[0].id; | ||
| 495 | - this.form.alloctedWeight = 0; | ||
| 496 | - //航班号 | ||
| 497 | - this.formdisabled.fltNo = false; | ||
| 498 | - //航班日期 | ||
| 499 | - this.formdisabled.fltDate = false; | ||
| 500 | - //航班路线 | ||
| 501 | - this.formdisabled.route = false; | ||
| 502 | - //航班种类 | ||
| 503 | - this.formdisabled.kindId = false; | ||
| 504 | - //航班类型 | ||
| 505 | - this.formdisabled.typeId = false; | ||
| 506 | - //原始重量 | ||
| 507 | - this.formdisabled.originalWeight = false; | ||
| 508 | - }, | ||
| 509 | - /** 修改按钮操作 */ | ||
| 510 | - handleUpdate(row) { | ||
| 511 | - this.reset(); | ||
| 512 | - this.open = true; | ||
| 513 | - this.title = "修改航班信息"; | ||
| 514 | - //航班号 | ||
| 515 | - this.formdisabled.fltNo = true; | ||
| 516 | - //航班日期 | ||
| 517 | - this.formdisabled.fltDate = true; | ||
| 518 | - //根据ID查item | ||
| 519 | - findFltById(row).then(response => { | ||
| 520 | - if (response.code == 200) { | ||
| 521 | - this.form = response.data; | ||
| 522 | - //是否开启高地价 | ||
| 523 | - this.form.highLowPriceFlg = this.form.highLowPriceFlg === 1 ? true : false; | ||
| 524 | - //是否预审 | ||
| 525 | - this.form.isNeedRequired = this.form.isNeedRequired === 1 ? true : false; | ||
| 526 | - if (this.form.alloctedWeight > 0) { | ||
| 527 | - //航班路线 | ||
| 528 | - this.formdisabled.route = true; | ||
| 529 | - //航班种类 | ||
| 530 | - this.formdisabled.kindId = true; | ||
| 531 | - //航班类型 | ||
| 532 | - this.formdisabled.typeId = true; | ||
| 533 | - //原始重量 | ||
| 534 | - this.formdisabled.originalWeight = true; | ||
| 535 | - }else{ | ||
| 536 | - //航班路线 | ||
| 537 | - this.formdisabled.route = false; | ||
| 538 | - //航班种类 | ||
| 539 | - this.formdisabled.kindId = false; | ||
| 540 | - //航班类型 | ||
| 541 | - this.formdisabled.typeId = false; | ||
| 542 | - //原始重量 | ||
| 543 | - this.formdisabled.originalWeight = false; | ||
| 544 | - } | ||
| 545 | - } else { | ||
| 546 | - this.msgError(response.msg); | ||
| 547 | - } | ||
| 548 | - | ||
| 549 | - }); | ||
| 550 | - }, | ||
| 551 | - /** 删除 启用 停用按钮操作 */ | ||
| 552 | - handleDeleteorPlayorpause(row, status, statusText) { | ||
| 553 | - | ||
| 554 | - //删除前需要停用 | ||
| 555 | - if (status === 0 && row.status != '3') { | ||
| 556 | - this.$message({ | ||
| 557 | - message: '请停用后删除', | ||
| 558 | - type: 'warning' | ||
| 559 | - }); | ||
| 560 | - return; | ||
| 561 | - } | ||
| 562 | - | ||
| 563 | - this.$confirm('是否确认' + statusText + '此数据项?', "警告", { | ||
| 564 | - confirmButtonText: "确定", | ||
| 565 | - cancelButtonText: "取消", | ||
| 566 | - type: "warning" | ||
| 567 | - }).then(function() { | ||
| 568 | - | ||
| 569 | - let disable = { | ||
| 570 | - id: row.id, | ||
| 571 | - status: status | ||
| 572 | - }; | ||
| 573 | - | ||
| 574 | - return delOrEnableORDisableApi(disable); | ||
| 575 | - }).then(response => { | ||
| 576 | - if (response.code == 200) { | ||
| 577 | - this.findAllFltData(); | ||
| 578 | - this.msgSuccess(statusText + "成功"); | ||
| 579 | - } else { | ||
| 580 | - this.msgError(response.msg); | ||
| 581 | - } | ||
| 582 | - | ||
| 583 | - }).catch(function() {}); | ||
| 584 | - }, | ||
| 585 | - /** 提交按钮 */ | ||
| 586 | - submitForm: function() { | ||
| 587 | - this.$refs["form"].validate(valid => { | ||
| 588 | - if (valid) { | ||
| 589 | - //debugger | ||
| 590 | - let formdata = JSON.parse(JSON.stringify(this.form)); | ||
| 591 | - //是否开启高地价 | ||
| 592 | - formdata.highLowPriceFlg = formdata.highLowPriceFlg ? 1 : 0; | ||
| 593 | - //是否预审 | ||
| 594 | - formdata.isNeedRequired = formdata.isNeedRequired ? 1 : 0; | ||
| 595 | - //处理数据 | ||
| 596 | - saveOrUpdate(formdata).then(response => { | ||
| 597 | - if (response.code === 200) { | ||
| 598 | - this.msgSuccess("保存成功"); | ||
| 599 | - this.open = false; | ||
| 600 | - this.findAllFltData(); | ||
| 601 | - } else { | ||
| 602 | - this.msgError(response.msg); | ||
| 603 | - } | ||
| 604 | - }); | ||
| 605 | - | ||
| 606 | - } | ||
| 607 | - }); | ||
| 608 | - }, | ||
| 609 | - // 表单重置 | ||
| 610 | - reset() { | ||
| 611 | - this.form = {}; | ||
| 612 | - this.resetForm("form"); | ||
| 613 | - }, | ||
| 614 | - // 取消按钮 | ||
| 615 | - cancel() { | ||
| 616 | - this.open = false; | ||
| 617 | - this.reset(); | ||
| 618 | - }, | ||
| 619 | - | ||
| 620 | - /** 重置按钮操作 */ | ||
| 621 | - resetQuery() { | ||
| 622 | - this.resetForm("queryForm"); | ||
| 623 | - this.handleQuery(); | ||
| 624 | - }, | ||
| 625 | - /** 搜索按钮操作 */ | ||
| 626 | - handleQuery() { | ||
| 627 | - this.queryParams.pageNum = 1; | ||
| 628 | - this.queryParams.start = 0; | ||
| 629 | - this.findAllFltData(); | ||
| 630 | - } | ||
| 631 | 7 | ||
| 632 | - } | 8 | +} |
| 633 | - }; | ||
| 634 | </script> | 9 | </script> |
| 10 | + | ||
| 635 | <style> | 11 | <style> |
| 636 | - .el-table--striped .el-table__body tr.el-table__row--striped.current-row td, | ||
| 637 | - .el-table__body tr.current-row>td { | ||
| 638 | - background-color: #a0cfff; | ||
| 639 | - } | ||
| 640 | 12 | ||
| 641 | - .el-table--striped .el-table__body tr.hover-row.el-table__row--striped>td, | 13 | +</style> |
| 642 | - .el-table__body tr.hover-row>td { | ||
| 643 | - background-color: #d9ecff !important; | ||
| 644 | - } | ||
| 645 | -</style> | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
| 1 | +//version:0.5.1 | ||
| 1 | 'use strict' | 2 | 'use strict' |
| 2 | const path = require('path') | 3 | const path = require('path') |
| 3 | const defaultSettings = require('./src/settings.js') | 4 | const defaultSettings = require('./src/settings.js') |
| ... | @@ -8,7 +9,7 @@ function resolve(dir) { | ... | @@ -8,7 +9,7 @@ function resolve(dir) { |
| 8 | 9 | ||
| 9 | const name = defaultSettings.title || 'IMAC后台管理系统' // 标题 | 10 | const name = defaultSettings.title || 'IMAC后台管理系统' // 标题 |
| 10 | 11 | ||
| 11 | -const port = process.env.port || process.env.npm_config_port || 80 // 端口 | 12 | +const port = process.env.port || process.env.npm_config_port || 8080 // 端口 |
| 12 | 13 | ||
| 13 | // vue.config.js 配置说明 | 14 | // vue.config.js 配置说明 |
| 14 | //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions | 15 | //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions |
| ... | @@ -17,7 +18,7 @@ module.exports = { | ... | @@ -17,7 +18,7 @@ module.exports = { |
| 17 | // 部署生产环境和开发环境下的URL。 | 18 | // 部署生产环境和开发环境下的URL。 |
| 18 | // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 | 19 | // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 |
| 19 | // 例如 https://www.FedEx.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.FedEx.vip/admin/,则设置 baseUrl 为 /admin/。 | 20 | // 例如 https://www.FedEx.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.FedEx.vip/admin/,则设置 baseUrl 为 /admin/。 |
| 20 | - publicPath: process.env.NODE_ENV === "production" ? "/" : "/", | 21 | + publicPath: process.env.NODE_ENV === "production" ? "/iMac/" : "/", |
| 21 | // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) | 22 | // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) |
| 22 | outputDir: 'dist', | 23 | outputDir: 'dist', |
| 23 | // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) | 24 | // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) |
| ... | @@ -34,8 +35,9 @@ module.exports = { | ... | @@ -34,8 +35,9 @@ module.exports = { |
| 34 | proxy: { | 35 | proxy: { |
| 35 | // detail: https://cli.vuejs.org/config/#devserver-proxy | 36 | // detail: https://cli.vuejs.org/config/#devserver-proxy |
| 36 | [process.env.VUE_APP_BASE_API]: { | 37 | [process.env.VUE_APP_BASE_API]: { |
| 37 | - //target: `http://localhost:8080`, | 38 | + // target: `https://imacuat.zmd.apac.fedex.com/IMAC2`, |
| 38 | // target: `http://192.168.1.45:8080`, | 39 | // target: `http://192.168.1.45:8080`, |
| 40 | + // target: `http://47.103.140.98:9002`, | ||
| 39 | target: `http://192.168.1.134:18080`, | 41 | target: `http://192.168.1.134:18080`, |
| 40 | changeOrigin: true, | 42 | changeOrigin: true, |
| 41 | pathRewrite: { | 43 | pathRewrite: { |
| ... | @@ -81,7 +83,7 @@ module.exports = { | ... | @@ -81,7 +83,7 @@ module.exports = { |
| 81 | .plugin('ScriptExtHtmlWebpackPlugin') | 83 | .plugin('ScriptExtHtmlWebpackPlugin') |
| 82 | .after('html') | 84 | .after('html') |
| 83 | .use('script-ext-html-webpack-plugin', [{ | 85 | .use('script-ext-html-webpack-plugin', [{ |
| 84 | - // `runtime` must same as runtimeChunk name. default is `runtime` | 86 | + // `runtime` must same as runtimeChunk name. default is `runtime` |
| 85 | inline: /runtime\..*\.js$/ | 87 | inline: /runtime\..*\.js$/ |
| 86 | }]) | 88 | }]) |
| 87 | .end() | 89 | .end() |
| ... | @@ -111,8 +113,8 @@ module.exports = { | ... | @@ -111,8 +113,8 @@ module.exports = { |
| 111 | }) | 113 | }) |
| 112 | config.optimization.runtimeChunk('single'), | 114 | config.optimization.runtimeChunk('single'), |
| 113 | { | 115 | { |
| 114 | - from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 | 116 | + from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件 |
| 115 | - to: './', //到根目录下 | 117 | + to: './', //到根目录下 |
| 116 | } | 118 | } |
| 117 | } | 119 | } |
| 118 | ) | 120 | ) | ... | ... |
-
Please register or login to post a comment