jinhui.wang

uat版本更新

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">
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
19 :base-path="route.path" 19 :base-path="route.path"
20 /> 20 />
21 </el-menu> 21 </el-menu>
22 - </el-scrollbar> 22 + <!-- </el-scrollbar> -->
23 </div> 23 </div>
24 </template> 24 </template>
25 25
......
...@@ -87,7 +87,8 @@ export default { ...@@ -87,7 +87,8 @@ export default {
87 bottom: 0px; 87 bottom: 0px;
88 } 88 }
89 .el-scrollbar__wrap { 89 .el-scrollbar__wrap {
90 - height: 49px; 90 + // height: 49px;
91 + margin-top:8px;
91 } 92 }
92 } 93 }
93 } 94 }
......
...@@ -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,10 +10,12 @@ const service = axios.create({ ...@@ -10,10 +10,12 @@ 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://47.103.140.98:9002`,
14 + // baseURL: 'https://imacuat.zmd.apac.fedex.com/IMAC2',
13 baseURL: 'http://192.168.1.134:18080', 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 => {
...@@ -56,40 +58,41 @@ service.interceptors.response.use(res => { ...@@ -56,40 +58,41 @@ service.interceptors.response.use(res => {
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(() => {
67 location.href = '/index'; 68 location.href = '/index';
68 }) 69 })
69 - }) 70 + });
70 } else if (code === 403) { 71 } else if (code === 403) {
71 //无权限页面 72 //无权限页面
72 location.href = '/401'; 73 location.href = '/401';
73 - }else if (code === 500) { 74 + }
75 + else if (code === 500) {
74 Message({ 76 Message({
75 message: msg, 77 message: msg,
76 type: 'error' 78 type: 'error'
77 }) 79 })
78 return Promise.reject(new Error(msg)) 80 return Promise.reject(new Error(msg))
79 - } else if (code !== 200 &&code!=400) { 81 + } else if (code !== 200 && code !== 201) {
80 - Notification.error({ 82 + Message({
81 - title: msg 83 + message: msg,
84 + type: 'error'
82 }) 85 })
83 return Promise.reject('error') 86 return Promise.reject('error')
84 } else { 87 } else {
85 return res.data 88 return res.data
86 } 89 }
87 - }, 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"> &#12288;</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,12 +60,20 @@ ...@@ -101,12 +60,20 @@
101 </el-select> 60 </el-select>
102 </el-form-item> 61 </el-form-item>
103 </el-col> 62 </el-col>
63 + <el-col :span="24">
64 + <el-collapse>
65 + <el-collapse-item>
66 + <template slot="title">
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">
104 <el-col :span="6"> 70 <el-col :span="6">
105 <el-form-item label="货物状态:"> 71 <el-form-item label="货物状态:">
106 <el-select 72 <el-select
107 placeholder="不限" 73 placeholder="不限"
108 v-model="formData.statusId" 74 v-model="formData.statusId"
109 class="formItem" 75 class="formItem"
76 + filterable
110 clearable 77 clearable
111 > 78 >
112 <el-option 79 <el-option
...@@ -119,16 +86,16 @@ ...@@ -119,16 +86,16 @@
119 </el-select> 86 </el-select>
120 </el-form-item> 87 </el-form-item>
121 </el-col> 88 </el-col>
122 - <!-- <el-col :span="6"> 89 + <el-col :span="6">
123 - <el-form-item label="配置航班类型:"> 90 + <el-form-item label="海关回执状态:">
124 <el-select 91 <el-select
125 placeholder="不限" 92 placeholder="不限"
126 - v-model="formData.kindToAllocFlightId" 93 + v-model="formData.customsReceiptStatusId"
127 class="formItem" 94 class="formItem"
128 clearable 95 clearable
129 > 96 >
130 <el-option 97 <el-option
131 - v-for="item in findConditionData.configureFlightType" 98 + v-for="item in findConditionData.cargoCustomsReturnStatus"
132 :label="item.chineseName" 99 :label="item.chineseName"
133 :value="item.id" 100 :value="item.id"
134 :key="item.id" 101 :key="item.id"
...@@ -136,17 +103,18 @@ ...@@ -136,17 +103,18 @@
136 </el-option> 103 </el-option>
137 </el-select> 104 </el-select>
138 </el-form-item> 105 </el-form-item>
139 - </el-col> --> 106 + </el-col>
140 - <!-- <el-col :span="6"> 107 + <el-col :span="6">
141 - <el-form-item label="历史货物状态:"> 108 + <el-form-item label="服务类型:">
142 <el-select 109 <el-select
143 placeholder="不限" 110 placeholder="不限"
144 - v-model="formData.historyAllocaCargoTypeId" 111 + v-model="formData.serviceTypeId"
145 class="formItem" 112 class="formItem"
113 + filterable
146 clearable 114 clearable
147 > 115 >
148 <el-option 116 <el-option
149 - v-for="item in findConditionData.cargoStatusHistory" 117 + v-for="item in findConditionData.cargoServiceType"
150 :label="item.chineseName" 118 :label="item.chineseName"
151 :value="item.id" 119 :value="item.id"
152 :key="item.id" 120 :key="item.id"
...@@ -154,43 +122,83 @@ ...@@ -154,43 +122,83 @@
154 </el-option> 122 </el-option>
155 </el-select> 123 </el-select>
156 </el-form-item> 124 </el-form-item>
157 - </el-col> --> 125 + </el-col>
158 <el-col :span="6"> 126 <el-col :span="6">
159 - <el-form-item label="海关回执状态:"> 127 + <el-form-item label="是否自动:">
160 <el-select 128 <el-select
161 placeholder="不限" 129 placeholder="不限"
162 - v-model="formData.customsReceiptStatusId" 130 + v-model="formData.allocationTypeId"
163 class="formItem" 131 class="formItem"
164 clearable 132 clearable
165 > 133 >
166 <el-option 134 <el-option
167 - v-for="item in findConditionData.cargoCustomsReturnStatus" 135 + label="手动"
168 - :label="item.chineseName" 136 + value="1"
169 - :value="item.id" 137 + >
170 - :key="item.id" 138 + </el-option>
139 + <el-option
140 + label="自动"
141 + value="2"
171 > 142 >
172 </el-option> 143 </el-option>
173 </el-select> 144 </el-select>
174 </el-form-item> 145 </el-form-item>
175 </el-col> 146 </el-col>
176 <el-col :span="6"> 147 <el-col :span="6">
177 - <el-form-item label="服务类型:"> 148 + <el-form-item label="运单号:">
178 - <el-select 149 + <el-input
179 - placeholder="不限" 150 + type="textarea"
180 - v-model="formData.serviceTypeId" 151 + v-model="formData.waybillNo"
181 class="formItem" 152 class="formItem"
182 - clearable 153 + placeholder="xxxx;xxxx"
183 - > 154 + ></el-input>
184 - <el-option 155 + </el-form-item>
185 - v-for="item in findConditionData.cargoServiceType" 156 + </el-col>
186 - :label="item.chineseName" 157 + <el-col :span="6">
187 - :value="item.id" 158 + <el-form-item label="站点:">
188 - :key="item.id" 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"
189 > 180 >
190 - </el-option> 181 + </el-date-picker>
191 - </el-select>
192 </el-form-item> 182 </el-form-item>
193 </el-col> 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
191 + class="formItem"
192 + v-model="prepalyFlightTime"
193 + type="daterange"
194 + range-separator="至"
195 + start-placeholder="开始日期"
196 + end-placeholder="结束日期"
197 + :value-format="valueFormat"
198 + >
199 + </el-date-picker>
200 + </el-form-item>
201 + </el-col> -->
194 <!-- <el-col :span="6"> 202 <!-- <el-col :span="6">
195 <el-form-item label="数据源:"> 203 <el-form-item label="数据源:">
196 <el-select 204 <el-select
...@@ -217,49 +225,53 @@ ...@@ -217,49 +225,53 @@
217 </el-select> 225 </el-select>
218 </el-form-item> 226 </el-form-item>
219 </el-col> --> 227 </el-col> -->
220 - <el-col :span="6"> 228 + <!-- <el-col :span="6">
221 - <el-form-item label="是否自动:"> 229 + <el-form-item label="航班序列单号:">
230 + <el-input
231 + type="text"
232 + v-model="formData.mawbCode"
233 + class="formItem"
234 + ></el-input>
235 + </el-form-item>
236 + </el-col> -->
237 + <!-- <el-col :span="6">
238 + <el-form-item label="配置航班类型:">
222 <el-select 239 <el-select
223 placeholder="不限" 240 placeholder="不限"
224 - v-model="formData.allocationTypeId" 241 + v-model="formData.kindToAllocFlightId"
225 class="formItem" 242 class="formItem"
226 clearable 243 clearable
227 > 244 >
228 <el-option 245 <el-option
229 - label="手动" 246 + v-for="item in findConditionData.configureFlightType"
230 - value="1" 247 + :label="item.chineseName"
231 - > 248 + :value="item.id"
232 - </el-option> 249 + :key="item.id"
233 - <el-option
234 - label="自动"
235 - value="2"
236 > 250 >
237 </el-option> 251 </el-option>
238 </el-select> 252 </el-select>
239 </el-form-item> 253 </el-form-item>
240 - </el-col> 254 + </el-col> -->
241 - <el-col :span="6"> 255 + <!-- <el-col :span="6">
242 - <el-form-item label="运单号:"> 256 + <el-form-item label="历史货物状态:">
243 - <el-input 257 + <el-select
244 - type="textarea" 258 + placeholder="不限"
245 - v-model="formData.waybillNo" 259 + v-model="formData.historyAllocaCargoTypeId"
246 class="formItem" 260 class="formItem"
247 - ></el-input> 261 + clearable
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 > 262 >
258 - </el-date-picker> 263 + <el-option
264 + v-for="item in findConditionData.cargoStatusHistory"
265 + :label="item.chineseName"
266 + :value="item.id"
267 + :key="item.id"
268 + >
269 + </el-option>
270 + </el-select>
259 </el-form-item> 271 </el-form-item>
260 - </el-col> 272 + </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) => {
...@@ -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]);
563 } 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);
564 } 595 }
565 - } else { 596 + }
566 - this.start = row.index; 597 + this.start = end;
567 - if (this.selectTable.length == 0) { 598 + }else{
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"
......
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>&#12288;
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 - &#12288; <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>
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>
2 - <div>index</div>
3 -</template>
4 -
5 -
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"> &#12288;</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,
642 - .el-table__body tr.hover-row>td {
643 - background-color: #d9ecff !important;
644 - }
645 </style> 13 </style>
...\ No newline at end of file ...\ No newline at end of file
......
1 +<template>
2 + <div></div>
3 +</template>
4 +
5 +<script>
6 +export default {
7 +
8 +}
9 +</script>
10 +
11 +<style>
12 +
13 +</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: {
......