jinhui.wang

uat版本更新

<?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
......@@ -13,7 +13,7 @@
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper">
<img :src="avatar" class="user-avatar">
<i class="el-icon-caret-bottom" />
<!-- <i class="el-icon-caret-bottom" /> -->
</div>
<el-dropdown-menu slot="dropdown">
<router-link to="/user/profile">
......
......@@ -19,7 +19,7 @@
:base-path="route.path"
/>
</el-menu>
</el-scrollbar>
<!-- </el-scrollbar> -->
</div>
</template>
......
......@@ -87,7 +87,8 @@ export default {
bottom: 0px;
}
.el-scrollbar__wrap {
height: 49px;
// height: 49px;
margin-top:8px;
}
}
}
......
......@@ -225,7 +225,7 @@ export default {
<style lang="scss" scoped>
.tags-view-container {
height: 34px;
height: 50px;
width: 100%;
background: #fff;
border-bottom: 1px solid #d8dce5;
......@@ -268,6 +268,7 @@ export default {
}
}
.contextmenu {
// height: 0;
margin: 0;
background: #fff;
z-index: 3000;
......
......@@ -74,7 +74,7 @@ export const constantRoutes = [
children: [
{
path: 'profile',
component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
component: (resolve) => require(['@/views/systemConfig/userConfig/profile/index'], resolve),
name: 'Profile',
meta: { title: '个人中心', icon: 'user' }
}
......@@ -105,5 +105,6 @@ export const constantRoutes = [
export default new Router({
mode: 'history', // 去掉url中的#
scrollBehavior: () => ({ y: 0 }),
routes: constantRoutes
routes: constantRoutes,
base: '/iMac'
})
\ No newline at end of file
......
......@@ -4,15 +4,18 @@ const TokenKey = 'Admin-Token'
export function getToken() {
//return Cookies.get(TokenKey)
return localStorage.getItem(TokenKey)
// return localStorage.getItem(TokenKey)
return sessionStorage.getItem(TokenKey)
}
export function setToken(token) {
//return Cookies.set(TokenKey, token)
return localStorage.setItem(TokenKey, token)
// return localStorage.setItem(TokenKey, token)
return sessionStorage.setItem(TokenKey, token)
}
export function removeToken() {
//return Cookies.remove(TokenKey)
return localStorage.removeItem(TokenKey)
// return localStorage.removeItem(TokenKey)
return sessionStorage.removeItem(TokenKey)
}
......
import axios from 'axios'
import { Notification, MessageBox, Message } from 'element-ui'
import { Message } from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
......@@ -10,10 +10,12 @@ const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分
//baseURL: process.env.VUE_APP_BASE_API,
//baseURL: 'http://192.168.1.45:8080',
// baseURL: `http://47.103.140.98:9002`,
// baseURL: 'https://imacuat.zmd.apac.fedex.com/IMAC2',
baseURL: 'http://192.168.1.134:18080',
// 超时
timeout: 10000
timeout: 30000
})
// request拦截器
service.interceptors.request.use(config => {
......@@ -56,40 +58,41 @@ service.interceptors.response.use(res => {
const code = res.data.code || 200;
// 获取错误信息
const msg = errorCode[code] || res.data.msg || errorCode['default']
if (code === 401) {
MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
if (code === 301) {
this.$alert('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}
).then(() => {
store.dispatch('LogOut').then(() => {
type: 'warning',
}).then(() => {
store.dispatch('FedLogOut').then(() => {
location.href = '/index';
})
})
});
} else if (code === 403) {
//无权限页面
location.href = '/401';
}else if (code === 500) {
}
else if (code === 500) {
Message({
message: msg,
type: 'error'
})
return Promise.reject(new Error(msg))
} else if (code !== 200 &&code!=400) {
Notification.error({
title: msg
} else if (code !== 200 && code !== 201) {
Message({
message: msg,
type: 'error'
})
return Promise.reject('error')
} else {
return res.data
}
},
},
error => {
console.log('err' + error)
let { message } = error;
if (message == "Network Error") {
message = "后端接口连接异常";
message = "网络连接异常";
}
else if (message.includes("timeout")) {
message = "系统接口请求超时";
......
......@@ -5,7 +5,8 @@ const mimeMap = {
xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
zip: 'application/zip'
}
// const baseURL = 'https://imacuat.zmd.apac.fedex.com/IMAC2'
// const baseUrl = 'http://47.103.140.98:9002'
const baseUrl = 'http://192.168.1.134:18080'
export function downLoadZip(str, filename) {
var url = baseUrl + str
......
<template>
<div style="margin: 20px">
<el-form :inline="true" :model="form" class="demo-form-inline" size="small">
<el-form-item label="航班种类">
<el-select v-model="form.type" placeholder="航班种类">
<el-option
v-for="item in flightType"
:key="item.id"
:label="item.englishName"
:value="item.code"
>{{ item.englishName }}</el-option
>
</el-select>
</el-form-item>
<el-form-item>
<el-upload
action="/flightInfoImport/importFlight"
name="file"
:http-request="uploadExcel"
:on-remove="handleRemove"
:limit="1"
:on-exceed="handleExceed"
:file-list="fileList"
accept=".xlsx"
class="upload-demo"
>
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="downloadTempleate"
>下载模板</el-button
>
</el-form-item>
</el-form>
<div style="font-size: 12px; font-weight: 700">
提示:<span style="color: #0000ff">以下为所提交的数据或出错信息</span>
</div>
<el-table
ref="filterTable"
:data="tableData"
style="width: 100%; margin-top: 20px"
size="small"
border
>
<el-table-column label="行号" prop="line" fixed width="50" align="center">
</el-table-column>
<el-table-column label="错误信息" prop="errorMessage" fixed width="200">
<template slot-scope="scope">
<div v-for="(m, key) in scope.row.errorMessage" :key="key">
{{ m }}
</div>
</template>
</el-table-column>
<el-table-column v-if="tableData.length == 0"></el-table-column>
<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>
</el-table>
</div>
</template>
</div>
</template>
<script>
import {
filghtKindData,
downLoadTemplate,
importFlight,
} from "@/api/flightInfoImport";
export default {
data() {
return {
flightType: [],
form: {
type: "",
region: "",
},
fileList: [],
tableData: [],
};
},
methods: {
downloadTempleate() {
let downloadType = "";
let fileName = "";
switch (this.form.type) {
case "flightKind20":
downloadType = "whiteTail";
fileName = "航班信息导入模板WhiteTail.xlsx";
break;
case "flightKind30":
downloadType = "purpleTail";
fileName = "航班信息导入模板PurpleTail.xlsx";
break;
default:
this.$confirm("此类航班暂无模板,请选择其他类型航班", "提示", {
confirmButtonText: "确定",
showCancelButton: false,
type: "warning",
});
}
if (downloadType != "") {
downLoadTemplate(downloadType).then((res) => {
if (res) {
const blob = new Blob([res]);
const link = document.createElement("a"); //创建a标签
link.download = fileName; //a标签添加属性
link.style.display = "none";
link.href = URL.createObjectURL(blob);
document.body.appendChild(link);
link.click(); //执行下载
URL.revokeObjectURL(link.href); //释放url
document.body.removeChild(link); //释放标签
} else {
this.$message.error("下载失败");
}
});
}
},
uploadExcel(option) {
//上传excel
const file = option.file;
console.log(option);
importFlight(file, this.form.type).then((res) => {
if (res.code != 200) {
if (res.code == 603) {
this.$alert(res.msg , "提示", {
confirmButtonText: "确定",
type: "warning",
});
}else {
this.$message.error(res.msg);
this.tableData = res.data;
}
} else {
this.$message.success("导入成功");
this.tableData = res.data;
}
});
},
handleRemove(file, fileList) {
//清掉上传的文件
this.tableData = [];
this.fileList = [];
},
handleExceed(files) {
//重复上传文件
let file = {};
file.file = files[0];
file.name = files[0].name;
this.fileList = [];
this.fileList.push(file);
this.uploadExcel(file);
},
},
created() {
filghtKindData().then((response) => {
if (response.code != 200) {
this.$message({
message: response.msg,
type: "error",
});
}
this.flightType = response.data;
this.form.type = response.data[0].code;
});
},
};
</script>
<style rel="stylesheet/scss" lang="scss">
.upload-demo {
float: right;
}
.el-upload-list {
display: inline-block;
margin-left: 10px;
vertical-align: top;
}
</style>
\ No newline at end of file
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="90px">
<el-row>
<el-col :span="8">
<el-form-item label="航班日期从" prop="fltDateStart">
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateStart" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="到" prop="fltDateEnd">
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateEnd" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="航班号" prop="fltNo">
<el-input v-model="queryParams.fltNo" placeholder="请输入航班号" clearable size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="航班类型" prop="typeId">
<el-select v-model="queryParams.typeId" placeholder="请选择航班类型" clearable size="small">
<el-option v-for="dict in flightTypelist" :key="dict.id" :label="dict.chineseName" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="航班状态" prop="statusId">
<el-select v-model="queryParams.statusId" placeholder="请选择航班状态" clearable size="small">
<el-option v-for="dict in flightStatuslist" :key="dict.id" :label="dict.chineseName" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="航班种类" prop="flightKindId">
<el-select v-model="queryParams.flightKindId" placeholder="请选择航班种类" clearable size="small">
<el-option v-for="dict in flightKindlist" :key="dict.id" :label="dict.chineseName" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<br />
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-form-item>
</el-form>
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate">修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple">删除
</el-button>
</el-col>
</el-row> -->
<el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="findAllFltDatList"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="航班日期" align="center" prop="fltDate" width="120" />
<el-table-column label="航班起飞时间" align="center" prop="takeOffTime" width="120" />
<el-table-column label="航班号" align="center" prop="fltNo" />
<el-table-column label="航班路线" align="center" prop="route" />
<el-table-column label="航班类型" align="center" prop="typeName" width="100" />
<el-table-column label="航班种类" align="center" prop="flightKindName" width="130" />
<el-table-column label="航班状态" align="center" prop="statusName" />
<el-table-column label="总重量" align="center" prop="totalWeight" width="130" />
<el-table-column label="原始重量(KG)" align="center" prop="originalWeight" width="130" />
<el-table-column label="总体积(cm³)" align="center" prop="totalVolume" width="130" />
<el-table-column label="是否限制一票一件" align="center" prop="ticketToPiece" width="150"
:formatter="ticketToPieceFormat" />
<el-table-column label="是否需要预审" align="center" prop="needRequired" width="150" :formatter="needRequiredFormat" />
<el-table-column label="额外增重百分比" align="center" prop="extraWeightPercent" width="150" />
<el-table-column label="高价百分比" align="center" prop="highPriceWeightPercent" width="150" />
<el-table-column label="低价百分比" align="center" prop="lowPriceWeightPercent" width="150" />
<el-table-column label="是否开启高地价" align="center" prop="highLowPriceFlg" width="150"
:formatter="highLowPriceFlgFormat" />
<el-table-column label="已配重量" align="center" prop="alloctedWeight" width="150" />
<el-table-column label="已配体积(cm³)" align="center" prop="alloctedVolume" width="150" />
<el-table-column label="航班优先级" align="center" prop="priorityName" width="150" />
<el-table-column label="配舱优先级" align="center" prop="priorityRuleName" width="150" />
<el-table-column label="创建人" align="center" prop="createUserName" width="120" />
<el-table-column label="创建时间" align="center" prop="createTime" width="155" />
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="155">
<template slot-scope="scope">
<span>{{ renderTime(scope.row.createTime) }}</span>
</template>
</el-table-column> -->
<el-table-column label="最后修改人" align="center" prop="lastModifyUserName" width="155" />
<!-- <el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="155">
<template slot-scope="scope">
<span>{{ renderTime(scope.row.lastModifyTime) }}</span>
</template>
</el-table-column> -->
<el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="120" />
<el-table-column v-if="findAllFltDatList.length>0" label="操作" align="center" class-name="small-padding fixed-width" width="130" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteorPlayorpause(scope.row,0,'删除')">
删除</el-button> -->
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" layout=" prev, pager, next, jumper, sizes,total"
:page.sync="queryParams.pageNum" :limit.sync="queryParams.limitSize" @pagination="findAllFltData" />
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="60%">
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-row>
<el-col :span="12">
<el-form-item label="航班号" prop="fltNo">
<el-input @blur="blurfltNo" :disabled="formdisabled.fltNo" style="width:93%;" v-model="form.fltNo" placeholder="请输入航班号" />
</el-form-item>
</el-col>
<!-- <el-col :span="1"> &#12288;</el-col> -->
<el-col :span="12">
<el-form-item label="航班日期" prop="fltDate">
<el-date-picker :disabled="formdisabled.fltDate" clearable size="small" v-model="form.fltDate" type="date"
value-format="yyyy-MM-dd" placeholder="选择航班日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班路线" prop="route">
<el-input style="width:93%" v-model="form.route" placeholder="请输入航班路线" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班种类" prop="kindId">
<el-select v-model="form.kindId" placeholder="请选择航班种类">
<el-option v-for="item in flightKindlist" :key="item.id" :label="item.chineseName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班类型" prop="typeId">
<el-select v-model="form.typeId" placeholder="请选择航班类型">
<el-option v-for="item in flightTypelist" :key="item.id" :label="item.chineseName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班状态" prop="statusId">
<el-select :disabled="true" v-model="form.statusId" placeholder="请选择航班状态">
<el-option v-for="item in flightStatuslist" :key="item.id" :label="item.chineseName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原始重量(KG)" prop="originalWeight">
<el-input placeholder="请输入原始重量(KG)" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.originalWeight"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="额外增重百分比" prop="extraWeightPercent">
<el-input placeholder="请输入额外增重百分比" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.extraWeightPercent"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否开启高低价" prop="highLowPriceFlg">
<el-switch v-model="form.highLowPriceFlg" active-color="#13ce66">
</el-switch>
</el-form-item>
</el-col>
<!-- 是否需要预审,1:预审,0:取消预审 -->
<el-col :span="12">
<el-form-item label="是否预审" prop="isNeedRequired">
<el-switch :disabled="true" v-model="form.isNeedRequired" active-color="#13ce66">
</el-switch>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="高价百分比" prop="highPriceWeightPercent">
<el-input placeholder="请输入高价百分比" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.highPriceWeightPercent"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="低价百分比" prop="lowPriceWeightPercent">
<el-input placeholder="请输入低价百分比" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.lowPriceWeightPercent"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="已配重量" prop="alloctedWeight">
<el-input :disabled="true" placeholder="请输入已配重量" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.alloctedWeight"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :disabled="form.alloctedWeight>0 ? true:false" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
findFltConditionDataApi,
findAllFltDataApi,
findFltById,
saveOrUpdate,
findFltCommonConf
} from "@/api/findAllFltData";
export default {
name: "findAllFltData",
data() {
return {
//form属性禁用状态
formdisabled: {
//航班号
fltNo: false,
//航班日期
fltDate: false,
//航班路线
route: false,
//航班种类
kindId: false,
//航班类型
typeId: false,
//原始重量
originalWeight: false
},
//航班种类
flightKindlist: [],
//航班状态
flightStatuslist: [],
//航班类型
flightTypelist: [],
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 遮罩层
loading: false,
// 遮罩层
loadingFlightDate: false,
// 弹出层标题
title: "",
// 总条数
total: 0,
// 原航班规则数据
findAllFltDatList: [],
//目的航班数据
sourceFlightAndFlightDate: [],
statusList: [{
'id': 1,
'name': '有效'
}, {
'id': 3,
'name': '停用'
}],
// 新增修改查看规则弹出层
open: false,
// 是否显示查看目的航班弹出层
openFlightDate: false,
// 查询参数
queryParams: {
limitStart: 0, //当前条数【代表第几条数据 +1开始】
pageNum: 1,
limitSize: 20, //一页显示多少条数据
fltDateStart: undefined, //航班日期开始
fltDateEnd: undefined, //航班日期结束
typeId: undefined, //航班类型
statusId: undefined, //航班状态
flightKindId: undefined, //航班种类
fltNo: undefined //航班号,要大写
},
// 表单参数
form: {
},
// 表单校验
rules: {
fltNo: [{
required: true,
message: "原航班号不能为空",
trigger: "blur"
}],
fltDate: [{
required: true,
message: "航班日期不能为空",
trigger: "blur"
}],
kindId: [{
required: true,
message: "航班种类不能为空",
trigger: "change"
}],
originalWeight: [{
required: true,
message: "原始重量(KG)不能为空",
trigger: "blur"
}],
}
};
},
created() {
//查询条件数据源
this.findFltConditionData();
this.findAllFltData();
},
methods: {
//输入航班号后
blurfltNo(){
if(this.form.fltNo!=null&&this.form.fltNo!=undefined &&this.form.fltNo!=""){
this.form.fltNo=this.form.fltNo.toUpperCase();
findFltCommonConf(this.form).then(response => {
if (response.code == 200) {
//额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑
if(response.data.extraWeightPercent!=null&&response.data.extraWeightPercent!=undefined){
this.$set(this.form, "extraWeightPercent", response.data.extraWeightPercent);
// this.form.extraWeightPercent=response.data.extraWeightPercent;
}else{
this.$set(this.form, "extraWeightPercent", 0);
//this.form.extraWeightPercent=response.data.extraWeightPercent=0;
}
//是否开启高低价:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否开启高低价’ 为是,不可编辑
if(response.data.highLowPriceFlg!=null&&response.data.highLowPriceFlg!=undefined){
this.form.highLowPriceFlg=response.data.highLowPriceFlg=== 1 ? true : false;
}else{
this.form.highLowPriceFlg=response.data.highLowPriceFlg=1;
}
//是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑;
if(response.data.isNeedRequired!=null&&response.data.isNeedRequired!=undefined){
this.form.isNeedRequired=response.data.isNeedRequired=== 1 ? true : false;
}else{
this.form.isNeedRequired=response.data.isNeedRequired=1;
}
//高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑
if(response.data.highPriceWeightPercent!=null&&response.data.highPriceWeightPercent!=undefined){
this.form.highPriceWeightPercent=response.data.highPriceWeightPercent;
}else{
this.form.highPriceWeightPercent=response.data.highPriceWeightPercent=60;
}
if(response.data.lowPriceWeightPercent!=null&&response.data.lowPriceWeightPercent!=undefined){
this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent;
}else{
this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent=40;
}
} else {
this.msgError(response.msg);
}
});
}
},
// 是否一票一件
ticketToPieceFormat(row) {
if (row.ticketToPiece === 1) {
return '是'
} else {
return '否'
}
return row.ticketToPiece;
},
// 是否需要预审 1 预审 0 取消预审
needRequiredFormat(row) {
if (row.needRequired === 1) {
return '预审'
} else {
return '取消预审'
}
return row.ticketToPiece;
},
//是否开启高低价
highLowPriceFlgFormat(row) {
if (row.highLowPriceFlg === 1) {
return '开启'
} else {
return '未开启'
}
return row.ticketToPiece;
},
//时间格式化
renderTime(date) {
var dateee = new Date(date).toJSON();
return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
},
//查询条件数据源
findFltConditionData() {
findFltConditionDataApi().then(response => {
if (response.code == 200) {
// debugger
//航班种类
this.flightKindlist = response.data.flightKind;
//航班类型
this.flightTypelist = response.data.flightType;
//航班状态
this.flightStatuslist = response.data.flightStatus;
} else {
this.msgError(response.msg);
}
});
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.postId)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 航班信息维护查询*/
findAllFltData() {
this.loading = true;
if (this.queryParams.pageNum > 1) {
this.queryParams.limitStart = (this.queryParams.pageNum - 1) * this.queryParams.limitSize
} else {
this.queryParams.limitStart = 0;
}
if (this.queryParams.fltNo != null && this.queryParams.fltNo != undefined && this.queryParams.fltNo != '') {
this.queryParams.fltNo = this.queryParams.fltNo.toUpperCase();
}
findAllFltDataApi(this.queryParams).then(response => {
if (response.code == 200) {
this.findAllFltDatList = response.data.list;
this.total = response.data.totalCount;
this.loading = false;
} else {
this.msgError(response.msg);
}
});
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加航班信息";
this.form.id = null;
this.form.statusId = this.flightStatuslist[0].id;
this.form.alloctedWeight = 0;
//航班号
this.formdisabled.fltNo = false;
//航班日期
this.formdisabled.fltDate = false;
//航班路线
this.formdisabled.route = false;
//航班种类
this.formdisabled.kindId = false;
//航班类型
this.formdisabled.typeId = false;
//原始重量
this.formdisabled.originalWeight = false;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
this.title = "修改航班信息";
//航班号
this.formdisabled.fltNo = true;
//航班日期
this.formdisabled.fltDate = true;
//根据ID查item
findFltById(row).then(response => {
if (response.code == 200) {
this.form = response.data;
//是否开启高地价
this.form.highLowPriceFlg = this.form.highLowPriceFlg === 1 ? true : false;
//是否预审
this.form.isNeedRequired = this.form.isNeedRequired === 1 ? true : false;
// if (this.form.alloctedWeight > 0) {
// //航班路线
// this.formdisabled.route = true;
// //航班种类
// this.formdisabled.kindId = true;
// //航班类型
// this.formdisabled.typeId = true;
// //原始重量
// this.formdisabled.originalWeight = true;
// }else{
// //航班路线
// this.formdisabled.route = false;
// //航班种类
// this.formdisabled.kindId = false;
// //航班类型
// this.formdisabled.typeId = false;
// //原始重量
// this.formdisabled.originalWeight = false;
// }
} else {
this.msgError(response.msg);
}
});
},
/** 删除 启用 停用按钮操作 */
handleDeleteorPlayorpause(row, status, statusText) {
//删除前需要停用
if (status === 0 && row.status != '3') {
this.$message({
message: '请停用后删除',
type: 'warning'
});
return;
}
this.$confirm('是否确认' + statusText + '此数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
let disable = {
id: row.id,
status: status
};
return delOrEnableORDisableApi(disable);
}).then(response => {
if (response.code == 200) {
this.findAllFltData();
this.msgSuccess(statusText + "成功");
} else {
this.msgError(response.msg);
}
}).catch(function() {});
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
//debugger
let formdata = JSON.parse(JSON.stringify(this.form));
//高价百分比和低价百分比和不可以大于100
if(formdata.highPriceWeightPercent+formdata.lowPriceWeightPercent>100){
this.$message.warning("高低价百分比总和不可以大于100");
return;
}
//是否开启高地价
formdata.highLowPriceFlg = formdata.highLowPriceFlg ? 1 : 0;
//是否预审
formdata.isNeedRequired = formdata.isNeedRequired ? 1 : 0;
//处理数据
saveOrUpdate(formdata).then(response => {
if (response.code === 200) {
this.msgSuccess("保存成功");
this.open = false;
this.findAllFltData();
} else {
this.msgError(response.msg);
}
});
}
});
},
// 表单重置
reset() {
this.form = {};
this.resetForm("form");
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.queryParams.start = 0;
this.findAllFltData();
}
}
};
</script>
<style>
.el-table--striped .el-table__body tr.el-table__row--striped.current-row td,
.el-table__body tr.current-row>td {
background-color: #a0cfff;
}
.el-table--striped .el-table__body tr.hover-row.el-table__row--striped>td,
.el-table__body tr.hover-row>td {
background-color: #d9ecff !important;
}
</style>
......@@ -10,7 +10,7 @@
>
<el-row type="flex" style="flexWrap: wrap!important">
<el-col :span="6">
<el-form-item label="航班日期:">
<el-form-item label="ACCS航班日期:">
<el-date-picker
class="formItem"
v-model="flightTime"
......@@ -23,20 +23,6 @@
</el-date-picker>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item label="预配航班日期:">
<el-date-picker
class="formItem"
v-model="prepalyFlightTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:value-format="valueFormat"
>
</el-date-picker>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="创建日期:">
<el-date-picker
......@@ -52,35 +38,8 @@
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="站点:">
<el-input
type="text"
v-model="formData.siteName"
class="formItem"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="原航班号:">
<el-input type="text" v-model="upCase" class="formItem"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item label="航班序列单号:">
<el-input
type="text"
v-model="formData.mawbCode"
class="formItem"
></el-input>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="URSA:">
<el-input
type="text"
v-model="formData.ursa"
class="formItem"
></el-input>
<el-form-item label="ACCS航班号:">
<el-input type="text" v-model="fltNo" class="formItem" placeholder="请输入ACCS航班号"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
......@@ -101,12 +60,20 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-collapse>
<el-collapse-item>
<template slot="title">
<span style="fontWeight:900;color:#409EFF;fontSize:14px"><i class="el-icon-s-tools"></i>更多查询条件</span>
</template>
<el-row type="flex" style="flexWrap: wrap!important">
<el-col :span="6">
<el-form-item label="货物状态:">
<el-select
placeholder="不限"
v-model="formData.statusId"
class="formItem"
filterable
clearable
>
<el-option
......@@ -119,16 +86,16 @@
</el-select>
</el-form-item>
</el-col>
<!-- <el-col :span="6">
<el-form-item label="配置航班类型:">
<el-col :span="6">
<el-form-item label="海关回执状态:">
<el-select
placeholder="不限"
v-model="formData.kindToAllocFlightId"
v-model="formData.customsReceiptStatusId"
class="formItem"
clearable
>
<el-option
v-for="item in findConditionData.configureFlightType"
v-for="item in findConditionData.cargoCustomsReturnStatus"
:label="item.chineseName"
:value="item.id"
:key="item.id"
......@@ -136,17 +103,18 @@
</el-option>
</el-select>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="历史货物状态:">
</el-col>
<el-col :span="6">
<el-form-item label="服务类型:">
<el-select
placeholder="不限"
v-model="formData.historyAllocaCargoTypeId"
v-model="formData.serviceTypeId"
class="formItem"
filterable
clearable
>
<el-option
v-for="item in findConditionData.cargoStatusHistory"
v-for="item in findConditionData.cargoServiceType"
:label="item.chineseName"
:value="item.id"
:key="item.id"
......@@ -154,43 +122,83 @@
</el-option>
</el-select>
</el-form-item>
</el-col> -->
</el-col>
<el-col :span="6">
<el-form-item label="海关回执状态:">
<el-form-item label="是否自动:">
<el-select
placeholder="不限"
v-model="formData.customsReceiptStatusId"
v-model="formData.allocationTypeId"
class="formItem"
clearable
>
<el-option
v-for="item in findConditionData.cargoCustomsReturnStatus"
:label="item.chineseName"
:value="item.id"
:key="item.id"
label="手动"
value="1"
>
</el-option>
<el-option
label="自动"
value="2"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="服务类型:">
<el-select
placeholder="不限"
v-model="formData.serviceTypeId"
<el-form-item label="运单号:">
<el-input
type="textarea"
v-model="formData.waybillNo"
class="formItem"
clearable
>
<el-option
v-for="item in findConditionData.cargoServiceType"
:label="item.chineseName"
:value="item.id"
:key="item.id"
placeholder="xxxx;xxxx"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="站点:">
<el-input
v-model="siteName"
class="formItem"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="URSA:">
<el-input
v-model="ursa"
class="formItem"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="取件日期:">
<el-date-picker
v-model="formData.pickUpDate"
type="date"
placeholder="选择日期"
:value-format="valueFormat"
>
</el-option>
</el-select>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-col>
<!-- <el-col :span="6">
<el-form-item label="预配航班日期:">
<el-date-picker
class="formItem"
v-model="prepalyFlightTime"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:value-format="valueFormat"
>
</el-date-picker>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="数据源:">
<el-select
......@@ -217,49 +225,53 @@
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="6">
<el-form-item label="是否自动:">
<!-- <el-col :span="6">
<el-form-item label="航班序列单号:">
<el-input
type="text"
v-model="formData.mawbCode"
class="formItem"
></el-input>
</el-form-item>
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="配置航班类型:">
<el-select
placeholder="不限"
v-model="formData.allocationTypeId"
v-model="formData.kindToAllocFlightId"
class="formItem"
clearable
>
<el-option
label="手动"
value="1"
>
</el-option>
<el-option
label="自动"
value="2"
v-for="item in findConditionData.configureFlightType"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运单号:">
<el-input
type="textarea"
v-model="formData.waybillNo"
</el-col> -->
<!-- <el-col :span="6">
<el-form-item label="历史货物状态:">
<el-select
placeholder="不限"
v-model="formData.historyAllocaCargoTypeId"
class="formItem"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="取件日期:">
<el-date-picker
v-model="formData.pickUpDate"
type="date"
placeholder="选择日期"
:value-format="valueFormat"
clearable
>
</el-date-picker>
<el-option
v-for="item in findConditionData.cargoStatusHistory"
:label="item.chineseName"
:value="item.id"
:key="item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
</el-row>
<div style="paddingleft: 10px">
<div style="paddingleft: 10px;marginTop:20px">
<el-button
type="primary"
icon="el-icon-search"
......@@ -285,11 +297,8 @@
<el-table
ref="cargoTable"
:data="tableData"
style="width: 100%"
size="small"
height="450"
v-loading="tableLoading"
fit
border
@select="cheacked"
@select-all="selectAll"
>
......@@ -302,16 +311,16 @@
:prop="item.value"
:label="item.name"
:key="item.name"
width="100%"
width="150"
header-align="center"
align="center"
:formatter="formatter"
sortable
>
</el-table-column>
</el-table>
<el-pagination
:total="totalCount"
hide-on-single-page
:page-size.sync="limitSize"
background
style="margin-top: 40px; text-align: right"
......@@ -328,6 +337,7 @@ import { findConditionData, findCargoData } from "@/api/cargoSelect";
import { cargoXlsx } from "@/utils/zipdownload";
export default {
name:"queryCargo",
data() {
return {
formData: {
......@@ -352,6 +362,9 @@ export default {
dataSources: "",
customsReceiptStatusId: null,
big: null,
cargoPlaneNo:null,
cargoPlaneStart:null,
cargoPlaneEnd:null,
}, //表单数据
tableHeader: [
{ name: "取件日期", value: "pickUpDate" },
......@@ -359,8 +372,8 @@ export default {
{ name: "服务类型", value: "serviceTypeName" },
{ name: "运单号", value: "waybillNo" },
{ name: "货物状态", value: "statusName" },
{ name: "航班号", value: "fltNoAccs" },
{ name: "航班日期", value: "fltDateAccs" },
{ name: "ACCS航班号", value: "fltNoAccs" },
{ name: "ACCS航班日期", value: "fltDateAccs" },
{ name: "ACCS航线", value: "accsFlightRoute" },
{ name: "预配航班日期", value: "preplanFlightTime" },
{ name: "预配航班号", value: "preplanFlightNo" },
......@@ -411,6 +424,7 @@ export default {
selectTable: [],
flightTime: [],
prepalyFlightTime: [],
cargoPlaneTime:[],
createDate: [],
limitStart: 0,
limitSize: 100, //无限制-1
......@@ -454,6 +468,7 @@ export default {
this.tableData = [];
this.allWeight = 0;
this.allQty = 0;
this.checks()
this.tableLoading = true;
if (this.createDate != null && this.createDate.length > 0) {
this.formData.createTimeStart = this.createDate[0];
......@@ -476,6 +491,14 @@ export default {
this.formData.fltDateStart = "";
this.formData.fltDateEnd = "";
}
if(this.cargoPlaneTime != null && this.cargoPlaneTime.length > 0){
this.formData.cargoPlaneStart = this.cargoPlaneTime[0];
this.formData.cargoPlaneEnd = this.cargoPlaneTime[1];
}else{
this.formData.cargoPlaneStart = null;
this.formData.cargoPlaneEnd = null;
}
this.formData.limitStart = this.limitStart;
this.formData.limitSize = this.limitSize;
findCargoData(this.formData).then((res) => {
......@@ -547,38 +570,44 @@ export default {
currentChange(page) {
this.limitStart = (page - 1) * 100;
this.select();
// this.$el.getElementsByClassName("el-table__body")[0].scrollTop=0
},
//表单项选中操作
cheacked(sl, row) {
if (this.shiftKey) {
if (this.start == -1) {
for (let i = 0; i <= row.index; i++) {
let end = row.index;
if(this.shiftKey){
const sum = Math.abs(this.start - end);
const min = Math.min(this.start, end);
let i ;
if(this.start === -1 && sl.includes(this.tableData[row.index])){
for(i=0; i < sum; i++){
this.$refs.cargoTable.toggleRowSelection(this.tableData[i], true);
this.selectTable.push(this.tableData[i]);
}
} else {
for (let i = this.start + 1; i <= row.index; i++) {
}else if(sl.includes(this.tableData[row.index])){
for(i = this.start+1; i <= end; i++){
this.$refs.cargoTable.toggleRowSelection(this.tableData[i], true);
this.selectTable.push(this.tableData[i]);
}
}else if(!sl.includes(this.tableData[row.index])){
this.selectTable.splice(end-1,sum + 1);
for(i = end ; i <= this.start ; i++){
this.$refs.cargoTable.toggleRowSelection(this.tableData[i], false);
}
} else {
this.start = row.index;
if (this.selectTable.length == 0) {
}
this.start = end;
}else{
this.start = end;
if(sl.includes(this.tableData[end])){
this.selectTable.push(row);
} else {
let newselect = [];
newselect.push(row);
for (let i = 0; i < this.selectTable.length; i++) {
if (this.selectTable[i].id != row.id) {
newselect.push(this.selectTable[i]);
} else {
newselect.splice(0, 1);
}else{
for(let i =0; i <this.selectTable.length; i++){
if(this.selectTable[i].index == row.index){
this.selectTable.splice(i,1);
}
}
this.selectTable = newselect;
}
}
this.allWeight = 0;
this.allQty = 0;
for (let i = 0; i < this.selectTable.length; i++) {
......@@ -612,6 +641,13 @@ export default {
this.formData.fltDateStart = "";
this.formData.fltDateEnd = "";
}
if(this.cargoPlaneTime != null && this.cargoPlaneTime.length > 0){
this.formData.cargoPlaneStart = this.cargoPlaneTime[0];
this.formData.cargoPlaneEnd = this.cargoPlaneTime[1];
}else{
this.formData.cargoPlaneStart = null;
this.formData.cargoPlaneEnd = null;
}
cargoXlse.cargoConditionDto = this.formData;
cargoXlse.cargoConditionDto.limitSize = this.limitSize;
......@@ -637,7 +673,7 @@ export default {
}
},
computed: {
upCase: {
fltNo: {
get: function () {
return this.formData.fltNo;
},
......@@ -645,6 +681,22 @@ export default {
this.formData.fltNo = val.toUpperCase();
},
},
siteName: {
get: function () {
return this.formData.siteName;
},
set: function (val) {
this.formData.siteName = val.toUpperCase();
},
},
ursa: {
get: function () {
return this.formData.ursa;
},
set: function (val) {
this.formData.ursa = val.toUpperCase();
},
},
},
};
</script>
......@@ -660,4 +712,5 @@ export default {
width:100%;
max-width: 300px;
}
</style>
\ No newline at end of file
......
<template>
<div>
<el-button type="primary" size="mini" @click="submit">保存</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
v-hasPermi="['system:user:list']"
>删除1</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
v-hasPermi="['system:user:remove']"
>删除2</el-button>
</div>
<div></div>
</template>
<script>
import { delUser } from "@/api/system/user";
......@@ -22,8 +7,8 @@ import { delUser } from "@/api/system/user";
export default {
props: {
user: {
type: Object
}
type: Object,
},
},
data() {
return {
......@@ -33,11 +18,11 @@ export default {
methods: {
submit() {
this.msgSuccess("修改成功");
delUser('112').then(response => {
delUser("112").then((response) => {
this.msgSuccess("修改成功");
});
}
}
},
},
};
</script>
......
......@@ -19,8 +19,8 @@
</el-input>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
<el-form-item style="width:100%;">
<!-- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox> -->
<el-form-item style="width:100%;marginTop:44px">
<el-button
:loading="loading"
size="medium"
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true">
<el-form-item label="原航班" prop="sourceFlightNo">
<el-input v-model="queryParams.sourceFlightNo" placeholder="请输入原航班" clearable size="small" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择" clearable size="small">
<el-option v-for="dict in statusList" :key="dict.id" :label="dict.name" :value="dict.id" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询原航班配置</el-button>
</el-form-item>
<br />
<el-form-item label="日期" prop="flightDate">
<el-date-picker v-model="queryParams.flightDate" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="findSourceFlightAndFlightDate">查询实际目的航班</el-button>&#12288;
<span style="color: red;">注:原航班+日期查询该日期的航班实际情况</span>
</el-form-item>
<br />
<el-form-item>
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini">添加规则</el-button>
</el-col>
&#12288; <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="sourceFlightRulesList" >
<el-table-column label="原航班" align="center" prop="sourceFlightNo"/>
<el-table-column label="目的航班排序" align="center" prop="flightRank" width="280"/>
<!-- <el-table-column label="优先级" align="center" prop="priority" /> -->
<el-table-column label="周期" align="center" prop="dayOfWeek" width="180"/>
<el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
<el-table-column label="开始时间" align="center" prop="startDate" width="100"/>
<el-table-column label="结束时间" align="center" prop="endDate" width="100"/>
<el-table-column label="最后修改人" align="center" prop="updateUserName" width="100"/>
<el-table-column label="最后修改时间" align="center" prop="updateTime" width="100"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"width="280" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" >修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" >删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" >启用</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" >停用</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" layout=" prev, pager, next, jumper, sizes,total"
:page.sync="queryParams.pageNum" :limit.sync="queryParams.limit" @pagination="findSourceFlightRules" />
<!-- 查看目的航班对话框 -->
<el-dialog title="实际目的航班" :visible.sync="openFlightDate" width="70%">
<el-table v-loading="loadingFlightDate" :data="sourceFlightAndFlightDate">
<el-table-column label="原航班" align="center" prop="sourceFlightNo"/>
<el-table-column label="实际目的航班" align="center" prop="actualFlight" width="280"/>
<el-table-column label="航班日期" align="center" prop="flightDate" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"width="200">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" >查看配置维度</el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button @click="cancelFlightDate">返 回</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
findSourceFlightRulesApi,findSourceFlightAndFlightDateApi
} from "@/api/sourceFlightRules";
export default {
name: "SourceFlightRules",
data() {
return {
// 遮罩层
loading: false,
// 遮罩层
loadingFlightDate: false,
// 总条数
total: 0,
// 原航班规则数据
sourceFlightRulesList: [],
//目的航班数据
sourceFlightAndFlightDate:[],
statusList: [{'id':1,'name':'有效'}, {'id':2,'name':'配置中'},{'id':3,'name':'停用'}],
// 新增修改查看规则弹出层
open: false,
// 是否显示查看目的航班弹出层
openFlightDate: false,
// 查询参数
queryParams: {
start: 0, //当前条数【代表第几条数据 +1开始】
pageNum: 1,
limit: 20, //一页显示多少条数据
sourceFlightNo: undefined, //原航班号
status: undefined, //状态
flightDate: undefined //日期
},
// 表单参数
form: {},
// 表单校验
rules: {}
};
},
created() {
this.findSourceFlightRules();
},
methods: {
/** 查询原航班顺位规则*/
findSourceFlightRules() {
//this.loading = true;
if (this.queryParams.pageNum > 1) {
this.queryParams.start = (this.queryParams.pageNum - 1) * this.queryParams.limit
}else{
this.queryParams.start=0;
}
findSourceFlightRulesApi(this.queryParams).then(response => {
this.sourceFlightRulesList = response.data.list;
this.total = response.data.totalCount;
this.loading = false;
});
},
/** 查询目的航班*/
findSourceFlightAndFlightDate(){
//校验原航班号非空
if(this.queryParams.sourceFlightNo===null||this.queryParams.sourceFlightNo===undefined||this.queryParams.sourceFlightNo.trim()===''){
this.$message.warning("原航班号为空");
return
}
//校验原日期非空
if(this.queryParams.flightDate===null||this.queryParams.flightDate===undefined){
this.$message.warning("日期为空");
return
}
this.openFlightDate = true;
this.loadingFlightDate=true;
this.sourceFlightAndFlightDate=[];
findSourceFlightAndFlightDateApi(this.queryParams).then(response => {
this.sourceFlightAndFlightDate = response.data;
this.loadingFlightDate=false;
});
},
// 目的航班弹出框返回
cancelFlightDate() {
this.openFlightDate = false;
},
// 状态字典翻译
statusFormat(row) {
if(row.status==='1'){
return '有效'
}else if(row.status==='2'){
return '配置中'
}else if(row.status==='3'){
return '停用'
}
return row.status;
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.queryParams.start=0;
this.findSourceFlightRules();
}
}
};
</script>
<style>
</style>
<template>
<div style="margin:40px" class="app-container">
<el-form :inline="true" :model="queryParams" class="demo-form-inline" size="small">
<el-form-item label="航班号">
<el-input v-model="queryParams.purposeOfFlightNo" placeholder="航班号"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="getList" size="mini">查询</el-button>
</el-form-item>
</el-form>
<el-button style="margin-bottom:20px" type="primary" icon="el-icon-plus" size="mini">添加</el-button>
<el-table
:data="flyList"
style="width: 800px"
v-loading="loading" size="small"
>
<el-table-column prop="purposeOfFlightNo" label="航班号" align="center"></el-table-column>
<el-table-column label="操作" prop="id" align="center">
<template slot-scope="scope" >
<el-button type="text" size="mini" icon="el-icon-view" @click="handleClick(scope.row.id, 'detail')">查看</el-button>
<el-button type="text" size="mini" icon="el-icon-edit" @click="handleClick(scope.row.id, 'update')">修改</el-button>
<el-button type="text" size="mini" icon="el-icon-delete">删除</el-button>
<el-button type="text" size="mini" icon="el-icon-video-play">启用</el-button>
<el-button type="text" size="mini" icon="el-icon-video-pause">停用</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
@size-change="getList"
@current-change="getList"
:current-page.sync="curPage"
:page-sizes="[10, 20, 30, 40]"
:page-size.sync="limit"
layout="prev, pager, next, jumper, sizes, total"
:total="total"
background
:hide-on-single-page="true"
style="margin-top:40px; text-align:right">
</el-pagination>
</div>
</template>
<script>
import {
findFlightNo
} from "@/api/destinationFlight";
export default {
data() {
return {
queryParams: {
purposeOfFlightNo: '',
start:0,
limit:10
},
flyList:[],
curPage:1,
limit:10,
total:0,
loading:false,
}
},
methods: {
getList(){
this.queryParams.limit = this.limit;
if (this.curPage > 1) {
this.queryParams.start = (this.curPage - 1) * this.queryParams.limit
}else {
this.queryParams.start = 0;
}
this.loading = true;
findFlightNo(this.queryParams).then(response => {
this.flyList = response.data.list;
this.total = response.data.totalCount;
this.loading = false;
});
},
//跳转到查看,修改页面
handleClick(flightiId, handle){
this.$router.push({ name: 'info', params: { handle: handle, id:flightiId }});
},
//删除,启用,停用
changeStatus(id, handle){
}
},
created() {
this.getList();
}
}
</script>
<template>
<div>index</div>
</template>
<template>
<div style="margin: 20px">
<el-form :inline="true" :model="form" class="demo-form-inline" size="small">
<el-form-item label="航班种类">
<el-select v-model="form.type" placeholder="航班种类">
<el-option
v-for="item in flightType"
:key="item.id"
:label="item.englishName"
:value="item.code"
>{{item.englishName}}</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-upload
action="/flightInfoImport/importFlight"
name="file"
:http-request="uploadExcel"
:on-remove="handleRemove"
:limit="1"
:on-exceed="handleExceed"
:file-list="fileList"
accept=".xlsx"
class="upload-demo"
>
<el-button type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="downloadTempleate"
>下载模板</el-button
>
</el-form-item>
</el-form>
<div style="font-size: 12px;font-weight: 700;">提示:<span style="color:#0000FF">以下为所提交的数据或出错信息</span></div>
<el-table
ref="filterTable"
:data="tableData"
style="width: 100%; margin-top: 20px"
size="small"
border
>
<el-table-column label="行号" prop="line" fixed width="50" align="center">
</el-table-column>
<el-table-column label="错误信息" prop="errorMessage" fixed width="200">
<template slot-scope="scope">
<div v-for="(m,key) in scope.row.errorMessage" :key="key">{{ m }}</div>
</template>
</el-table-column>
<el-table-column v-if="tableData.length == 0" ></el-table-column>
<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>
</el-table>
</div>
</template>
</div>
<div></div>
</template>
<script>
import {
filghtKindData,
downLoadTemplate,
importFlight,
} from "@/api/flightInfoImport";
export default {
data() {
return {
flightType: [],
form: {
type: "",
region: "",
},
fileList: [],
tableData: [],
};
},
methods: {
downloadTempleate() {
let downloadType = "";
let fileName = "";
switch (this.form.type) {
case "flightKind20":
downloadType = "whiteTail";
fileName = "航班信息导入模板WhiteTail.xlsx";
break;
case "flightKind30":
downloadType = "purpleTail";
fileName = "航班信息导入模板PurpleTail.xlsx";
break;
default:
this.$confirm("此类航班暂无模板,请选择其他类型航班", "提示", {
confirmButtonText: "确定",
showCancelButton: false,
type: "warning",
});
}
if (downloadType != "") {
downLoadTemplate(downloadType).then((res) => {
if (res) {
const blob = new Blob([res]);
const link = document.createElement("a"); //创建a标签
link.download = fileName; //a标签添加属性
link.style.display = "none";
link.href = URL.createObjectURL(blob);
document.body.appendChild(link);
link.click(); //执行下载
URL.revokeObjectURL(link.href); //释放url
document.body.removeChild(link); //释放标签
} else {
this.$message.error("下载失败");
}
});
}
},
uploadExcel(option) {
//上传excel
const file = option.file;
console.log(option);
importFlight(file, this.form.type).then((res) => {
if (res.code != 200) {
this.$message.error(res.msg);
this.tableData = res.data;
} else {
this.$message.success('导入成功');
this.tableData = res.data;
}
});
},
handleRemove(file, fileList) {
//清掉上传的文件
this.tableData = [];
this.fileList = [];
},
handleExceed(files) {
//重复上传文件
let file = {};
file.file = files[0];
file.name = files[0].name;
this.fileList = [];
this.fileList.push(file);
this.uploadExcel(file);
},
},
created() {
filghtKindData().then((response) => {
if (response.code != 200) {
this.$message({
message: response.msg,
type: "error",
});
}
this.flightType = response.data;
this.form.type = response.data[0].code;
});
},
};
}
</script>
<style rel="stylesheet/scss" lang="scss">
.upload-demo {
float: right;
}
.el-upload-list {
display: inline-block;
margin-left: 10px;
vertical-align: top;
}
<style>
</style>
\ No newline at end of file
......
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" label-width="90px">
<el-row>
<el-col :span="8">
<el-form-item label="航班日期从" prop="fltDateStart">
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateStart" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="到" prop="fltDateEnd">
<el-date-picker value-format="yyyy-MM-dd" v-model="queryParams.fltDateEnd" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="航班号" prop="fltNo">
<el-input v-model="queryParams.fltNo" placeholder="请输入航班号" clearable size="small" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="8">
<el-form-item label="航班类型" prop="typeId">
<el-select v-model="queryParams.typeId" placeholder="请选择航班类型" clearable size="small">
<el-option v-for="dict in flightTypelist" :key="dict.id" :label="dict.chineseName" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="航班状态" prop="statusId">
<el-select v-model="queryParams.statusId" placeholder="请选择航班状态" clearable size="small">
<el-option v-for="dict in flightStatuslist" :key="dict.id" :label="dict.chineseName" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="航班种类" prop="flightKindId">
<el-select v-model="queryParams.flightKindId" placeholder="请选择航班种类" clearable size="small">
<el-option v-for="dict in flightKindlist" :key="dict.id" :label="dict.chineseName" :value="dict.id" />
</el-select>
</el-form-item>
</el-col>
</el-row>
<br />
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate">修改
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple">删除
</el-button>
</el-col>
</el-row>
<el-table max-height="500" highlight-current-row border stripe v-loading="loading" :data="findAllFltDatList"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="航班日期" align="center" prop="fltDate" width="120" />
<el-table-column label="航班起飞时间" align="center" prop="takeOffTime" width="120" />
<el-table-column label="航班号" align="center" prop="fltNo" />
<el-table-column label="航班路线" align="center" prop="route" />
<el-table-column label="航班类型" align="center" prop="typeName" width="100" />
<el-table-column label="航班种类" align="center" prop="flightKindName" width="130" />
<el-table-column label="航班状态" align="center" prop="statusName" />
<el-table-column label="总重量" align="center" prop="totalWeight" width="130" />
<el-table-column label="原始重量(T)" align="center" prop="originalWeight" width="130" />
<el-table-column label="总体积(cm³)" align="center" prop="totalVolume" width="130" />
<el-table-column label="是否限制一票一件" align="center" prop="ticketToPiece" width="150"
:formatter="ticketToPieceFormat" />
<el-table-column label="是否需要预审" align="center" prop="needRequired" width="150" :formatter="needRequiredFormat" />
<el-table-column label="额外增重百分比" align="center" prop="extraWeightPercent" width="150" />
<el-table-column label="高价百分比" align="center" prop="highPriceWeightPercent" width="150" />
<el-table-column label="低价百分比" align="center" prop="lowPriceWeightPercent" width="150" />
<el-table-column label="是否开启高地价" align="center" prop="highLowPriceFlg" width="150"
:formatter="highLowPriceFlgFormat" />
<el-table-column label="已配重量" align="center" prop="alloctedWeight" width="150" />
<el-table-column label="已配体积(cm³)" align="center" prop="alloctedVolume" width="150" />
<el-table-column label="航班优先级" align="center" prop="priorityName" width="150" />
<el-table-column label="配舱优先级" align="center" prop="priorityRuleName" width="150" />
<el-table-column label="创建人" align="center" prop="createUserName" width="120" />
<el-table-column label="创建时间" align="center" prop="createTime" width="155" />
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="155">
<template slot-scope="scope">
<span>{{ renderTime(scope.row.createTime) }}</span>
</template>
</el-table-column> -->
<el-table-column label="最后修改人" align="center" prop="lastModifyUserName" width="155" />
<!-- <el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="155">
<template slot-scope="scope">
<span>{{ renderTime(scope.row.lastModifyTime) }}</span>
</template>
</el-table-column> -->
<el-table-column label="最后修改时间" align="center" prop="lastModifyTime" width="120" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="130" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDeleteorPlayorpause(scope.row,0,'删除')">
删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total>0" :total="total" layout=" prev, pager, next, jumper, sizes,total"
:page.sync="queryParams.pageNum" :limit.sync="queryParams.limitSize" @pagination="findAllFltData" />
<!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="60%">
<el-form ref="form" :model="form" :rules="rules" label-width="125px">
<el-row>
<el-col :span="12">
<el-form-item label="航班号" prop="fltNo">
<el-input @blur="blurfltNo" :disabled="formdisabled.fltNo" style="width:93%;" v-model="form.fltNo" placeholder="请输入航班号" />
</el-form-item>
</el-col>
<!-- <el-col :span="1"> &#12288;</el-col> -->
<el-col :span="12">
<el-form-item label="航班日期" prop="fltDate">
<el-date-picker :disabled="formdisabled.fltDate" clearable size="small" v-model="form.fltDate" type="date"
value-format="yyyy-MM-dd" placeholder="选择航班日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班路线" prop="route">
<el-input :disabled="formdisabled.route" style="width:93%" v-model="form.route" placeholder="请输入航班路线" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班种类" prop="kindId">
<el-select :disabled="formdisabled.kindId" v-model="form.kindId" placeholder="请选择航班种类">
<el-option v-for="item in flightKindlist" :key="item.id" :label="item.chineseName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班类型" prop="typeId">
<el-select :disabled="formdisabled.typeId" v-model="form.typeId" placeholder="请选择航班类型">
<el-option v-for="item in flightTypelist" :key="item.id" :label="item.chineseName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班状态" prop="statusId">
<el-select :disabled="true" v-model="form.statusId" placeholder="请选择航班状态">
<el-option v-for="item in flightStatuslist" :key="item.id" :label="item.chineseName" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原始重量(T)" prop="originalWeight">
<el-input :disabled="formdisabled.originalWeight" placeholder="请输入原始重量(T)" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.originalWeight"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="额外增重百分比" prop="extraWeightPercent">
<el-input :disabled="true" placeholder="请输入额外增重百分比" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.extraWeightPercent"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否开启高低价" prop="highLowPriceFlg">
<el-switch :disabled="true" v-model="form.highLowPriceFlg" active-color="#13ce66">
</el-switch>
</el-form-item>
</el-col>
<!-- 是否需要预审,1:预审,0:取消预审 -->
<el-col :span="12">
<el-form-item label="是否预审" prop="isNeedRequired">
<el-switch :disabled="true" v-model="form.isNeedRequired" active-color="#13ce66">
</el-switch>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="高价百分比" prop="highPriceWeightPercent">
<el-input :disabled="true" placeholder="请输入高价百分比" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.highPriceWeightPercent"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="低价百分比" prop="lowPriceWeightPercent">
<el-input :disabled="true" placeholder="请输入低价百分比" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.lowPriceWeightPercent"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="已配重量" prop="alloctedWeight">
<el-input :disabled="true" placeholder="请输入已配重量" style="width:93%" min="0"
oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value" type="number"
v-model="form.alloctedWeight"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :disabled="form.alloctedWeight>0 ? true:false" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
<div></div>
</template>
<script>
import {
findFltConditionDataApi,
findAllFltDataApi,
findFltById,
saveOrUpdate,
findFltCommonConf
} from "@/api/findAllFltData";
export default {
name: "findAllFltData",
data() {
return {
//form属性禁用状态
formdisabled: {
//航班号
fltNo: false,
//航班日期
fltDate: false,
//航班路线
route: false,
//航班种类
kindId: false,
//航班类型
typeId: false,
//原始重量
originalWeight: false
},
//航班种类
flightKindlist: [],
//航班状态
flightStatuslist: [],
//航班类型
flightTypelist: [],
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 遮罩层
loading: false,
// 遮罩层
loadingFlightDate: false,
// 弹出层标题
title: "",
// 总条数
total: 0,
// 原航班规则数据
findAllFltDatList: [],
//目的航班数据
sourceFlightAndFlightDate: [],
statusList: [{
'id': 1,
'name': '有效'
}, {
'id': 3,
'name': '停用'
}],
// 新增修改查看规则弹出层
open: false,
// 是否显示查看目的航班弹出层
openFlightDate: false,
// 查询参数
queryParams: {
limitStart: 0, //当前条数【代表第几条数据 +1开始】
pageNum: 1,
limitSize: 20, //一页显示多少条数据
fltDateStart: undefined, //航班日期开始
fltDateEnd: undefined, //航班日期结束
typeId: undefined, //航班类型
statusId: undefined, //航班状态
flightKindId: undefined, //航班种类
fltNo: undefined //航班号,要大写
},
// 表单参数
form: {
},
// 表单校验
rules: {
fltNo: [{
required: true,
message: "原航班号不能为空",
trigger: "blur"
}],
fltDate: [{
required: true,
message: "航班日期不能为空",
trigger: "blur"
}],
kindId: [{
required: true,
message: "航班种类不能为空",
trigger: "change"
}],
originalWeight: [{
required: true,
message: "原始重量(T)不能为空",
trigger: "blur"
}],
}
};
},
created() {
//查询条件数据源
this.findFltConditionData();
this.findAllFltData();
},
methods: {
//输入航班号后
blurfltNo(){
if(this.form.fltNo!=null&&this.form.fltNo!=undefined &&this.form.fltNo!=""){
this.form.fltNo=this.form.fltNo.toUpperCase();
findFltCommonConf(this.form).then(response => {
if (response.code == 200) {
//额外增重百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置为0,不可编辑
if(response.data.extraWeightPercent!=null&&response.data.extraWeightPercent!=undefined){
this.form.extraWeightPercent=response.data.extraWeightPercent;
}else{
this.form.extraWeightPercent=response.data.extraWeightPercent=0;
}
//是否开启高低价:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否开启高低价’ 为是,不可编辑
if(response.data.highLowPriceFlg!=null&&response.data.highLowPriceFlg!=undefined){
this.form.highLowPriceFlg=response.data.highLowPriceFlg=== 1 ? true : false;
}else{
this.form.highLowPriceFlg=response.data.highLowPriceFlg=1;
}
//是否预审:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘是否预审’ 为否,不可编辑;
if(response.data.isNeedRequired!=null&&response.data.isNeedRequired!=undefined){
this.form.isNeedRequired=response.data.isNeedRequired=== 1 ? true : false;
}else{
this.form.isNeedRequired=response.data.isNeedRequired=1;
}
//高/低价百分比:根据已存在的相同航班号对应的最新值进行设置,如果无相同航班号,按照默认设置‘高价百分比’60%,‘低价百分比’40%,不可编辑
if(response.data.highPriceWeightPercent!=null&&response.data.highPriceWeightPercent!=undefined){
this.form.highPriceWeightPercent=response.data.highPriceWeightPercent;
}else{
this.form.highPriceWeightPercent=response.data.highPriceWeightPercent=60;
}
if(response.data.lowPriceWeightPercent!=null&&response.data.lowPriceWeightPercent!=undefined){
this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent;
}else{
this.form.lowPriceWeightPercent=response.data.lowPriceWeightPercent=40;
}
} else {
this.msgError(response.msg);
}
});
}
},
// 是否一票一件
ticketToPieceFormat(row) {
if (row.ticketToPiece === 1) {
return '是'
} else {
return '否'
}
return row.ticketToPiece;
},
// 是否需要预审 1 预审 0 取消预审
needRequiredFormat(row) {
if (row.needRequired === 1) {
return '预审'
} else {
return '取消预审'
}
return row.ticketToPiece;
},
//是否开启高低价
highLowPriceFlgFormat(row) {
if (row.highLowPriceFlg === 1) {
return '开启'
} else {
return '未开启'
}
return row.ticketToPiece;
},
//时间格式化
renderTime(date) {
var dateee = new Date(date).toJSON();
return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
},
//查询条件数据源
findFltConditionData() {
findFltConditionDataApi().then(response => {
if (response.code == 200) {
// debugger
//航班种类
this.flightKindlist = response.data.flightKind;
//航班类型
this.flightTypelist = response.data.flightType;
//航班状态
this.flightStatuslist = response.data.flightStatus;
} else {
this.msgError(response.msg);
}
});
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.postId)
this.single = selection.length != 1
this.multiple = !selection.length
},
/** 航班信息维护查询*/
findAllFltData() {
this.loading = true;
if (this.queryParams.pageNum > 1) {
this.queryParams.limitStart = (this.queryParams.pageNum - 1) * this.queryParams.limitSize
} else {
this.queryParams.limitStart = 0;
}
if (this.queryParams.fltNo != null && this.queryParams.fltNo != undefined && this.queryParams.fltNo != '') {
this.queryParams.fltNo = this.queryParams.fltNo.toUpperCase();
}
findAllFltDataApi(this.queryParams).then(response => {
if (response.code == 200) {
this.findAllFltDatList = response.data.list;
this.total = response.data.totalCount;
this.loading = false;
} else {
this.msgError(response.msg);
}
});
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加航班信息";
this.form.id = null;
this.form.statusId = this.flightStatuslist[0].id;
this.form.alloctedWeight = 0;
//航班号
this.formdisabled.fltNo = false;
//航班日期
this.formdisabled.fltDate = false;
//航班路线
this.formdisabled.route = false;
//航班种类
this.formdisabled.kindId = false;
//航班类型
this.formdisabled.typeId = false;
//原始重量
this.formdisabled.originalWeight = false;
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
this.title = "修改航班信息";
//航班号
this.formdisabled.fltNo = true;
//航班日期
this.formdisabled.fltDate = true;
//根据ID查item
findFltById(row).then(response => {
if (response.code == 200) {
this.form = response.data;
//是否开启高地价
this.form.highLowPriceFlg = this.form.highLowPriceFlg === 1 ? true : false;
//是否预审
this.form.isNeedRequired = this.form.isNeedRequired === 1 ? true : false;
if (this.form.alloctedWeight > 0) {
//航班路线
this.formdisabled.route = true;
//航班种类
this.formdisabled.kindId = true;
//航班类型
this.formdisabled.typeId = true;
//原始重量
this.formdisabled.originalWeight = true;
}else{
//航班路线
this.formdisabled.route = false;
//航班种类
this.formdisabled.kindId = false;
//航班类型
this.formdisabled.typeId = false;
//原始重量
this.formdisabled.originalWeight = false;
}
} else {
this.msgError(response.msg);
}
});
},
/** 删除 启用 停用按钮操作 */
handleDeleteorPlayorpause(row, status, statusText) {
//删除前需要停用
if (status === 0 && row.status != '3') {
this.$message({
message: '请停用后删除',
type: 'warning'
});
return;
}
this.$confirm('是否确认' + statusText + '此数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
let disable = {
id: row.id,
status: status
};
return delOrEnableORDisableApi(disable);
}).then(response => {
if (response.code == 200) {
this.findAllFltData();
this.msgSuccess(statusText + "成功");
} else {
this.msgError(response.msg);
}
}).catch(function() {});
},
/** 提交按钮 */
submitForm: function() {
this.$refs["form"].validate(valid => {
if (valid) {
//debugger
let formdata = JSON.parse(JSON.stringify(this.form));
//是否开启高地价
formdata.highLowPriceFlg = formdata.highLowPriceFlg ? 1 : 0;
//是否预审
formdata.isNeedRequired = formdata.isNeedRequired ? 1 : 0;
//处理数据
saveOrUpdate(formdata).then(response => {
if (response.code === 200) {
this.msgSuccess("保存成功");
this.open = false;
this.findAllFltData();
} else {
this.msgError(response.msg);
}
});
}
});
},
// 表单重置
reset() {
this.form = {};
this.resetForm("form");
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.queryParams.start = 0;
this.findAllFltData();
}
<script>
export default {
}
};
}
</script>
<style>
.el-table--striped .el-table__body tr.el-table__row--striped.current-row td,
.el-table__body tr.current-row>td {
background-color: #a0cfff;
}
.el-table--striped .el-table__body tr.hover-row.el-table__row--striped>td,
.el-table__body tr.hover-row>td {
background-color: #d9ecff !important;
}
</style>
\ No newline at end of file
......
<template>
<div></div>
</template>
<script>
export default {
}
</script>
<style>
</style>
\ No newline at end of file
//version:0.5.1
'use strict'
const path = require('path')
const defaultSettings = require('./src/settings.js')
......@@ -8,7 +9,7 @@ function resolve(dir) {
const name = defaultSettings.title || 'IMAC后台管理系统' // 标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口
const port = process.env.port || process.env.npm_config_port || 8080 // 端口
// vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
......@@ -17,7 +18,7 @@ module.exports = {
// 部署生产环境和开发环境下的URL。
// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
// 例如 https://www.FedEx.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.FedEx.vip/admin/,则设置 baseUrl 为 /admin/。
publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
publicPath: process.env.NODE_ENV === "production" ? "/iMac/" : "/",
// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
outputDir: 'dist',
// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)
......@@ -34,8 +35,9 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
//target: `http://localhost:8080`,
// target: `https://imacuat.zmd.apac.fedex.com/IMAC2`,
// target: `http://192.168.1.45:8080`,
// target: `http://47.103.140.98:9002`,
target: `http://192.168.1.134:18080`,
changeOrigin: true,
pathRewrite: {
......