Elements-SY

Merge branch 'et86' into uat

......@@ -38,6 +38,7 @@
"dependencies": {
"axios": "0.21.1",
"core-js": "3.8.3",
"echarts": "^5.4.3",
"element-ui": "2.15.3",
"sortablejs": "^1.15.0",
"vue": "2.6.14",
......
<template>
<div id="app">
<router-view />
<router-view />
</div>
</template>
<script>
export default {
name: 'App'
}
export default {
name: "App",
};
</script>
......
......@@ -3,7 +3,7 @@ import request from '@/utils/request'
//查询航班航线
//查询航线
/**
* @param fltNo 航班号
* @param fltNo 航班号
*/
export function queryRouteByFltNo(data) {
return request({
......@@ -17,7 +17,7 @@ export function queryRouteByFltNo(data) {
/**
* @param purposeOfFlightNo 航班号
* @param flightDate 航班日期
* @param status 状态
* @param status 状态
* @param start 开始位置 *
* @param limit 每页长度 *
*/
......@@ -29,7 +29,7 @@ export function findFlightDimRuleByFlightNo(query) {
})
}
// 获取航班下航线维度(维度修改)
// 航线维度设置详情
/**
* @param purposeOfFlightNo 航班号
* @param flightDate 航班日期
......@@ -43,7 +43,7 @@ export function findDestinationFltRuleByFlightNo(query) {
})
}
//航班优先级修改
// 航班航线优先级更新
export function batchUpdateOrAddFlight(data) {
return request({
url: '/destinationFlight/batchUpdateOrAddFlight',
......@@ -52,7 +52,7 @@ export function batchUpdateOrAddFlight(data) {
})
}
//新增修改规则设置
// 新增/修改航线规则设置
export function updateOrAddFlight(form) {
return request({
url: '/destinationFlight/updateOrAddFlight',
......@@ -61,30 +61,23 @@ export function updateOrAddFlight(form) {
})
}
//删除规则
export function delFlightId(id) {
const data = {
id
}
// 删除航线规则设置
export function delFlightId(data) {
return request({
url: '/destinationFlight/delFlightId',
method: 'post',
data: data
})
url: "/destinationFlight/delFlightId",
method: "post",
data: data,
});
}
//启用/停止规则
export function enableOrDisable(id, status) {
//开启/停用航线规则设置
export function enableOrDisable(data) {
//statsu 1-有效 3-停用
const data = {
id,
status
}
return request({
url: '/destinationFlight/enableOrDisable',
method: 'post',
data: data
})
url: "/destinationFlight/enableOrDisable",
method: "post",
data: data,
});
}
//获取全部字典
......@@ -120,16 +113,13 @@ export function saveOrUpdateSpecifyDateRoute(data) {
})
}
// id查询目的航班
export function findByFlightId(id) {
const data = {
id
}
// 通过id查询目的航班维度设置详情
export function findByFlightId(data) {
return request({
url: '/destinationFlight/findByFlightId',
method: 'post',
data: data
})
url: "/destinationFlight/findByFlightId",
method: "post",
data: data,
});
}
//航班号查航班
......@@ -142,4 +132,4 @@ export function findDestinationFltRuleByActualFlight(actualFlight) {
// method: 'post',
// data: data
// })
}
\ No newline at end of file
}
......
......@@ -43,7 +43,7 @@ let ductLabels = {
"user": {//用户设置
"isValid": {
"1": "启用",
"2": "关闭",
"2": "停用",
},
},
"FlightInformation": {//航班信息维护
......@@ -171,4 +171,4 @@ let ductLabels = {
}
}
export default ductLabels;
\ No newline at end of file
export default ductLabels;
......
// echarts按需引入
// 引入 echarts API
import * as echarts from "echarts/core";
// 引入echarts图表类型
import { BarChart } from "echarts/charts";
// 引入echarts图表配置项
import {
GridComponent,
PolarComponent,
GeoComponent,
SingleAxisComponent,
ParallelComponent,
CalendarComponent,
GraphicComponent,
ToolboxComponent,
TooltipComponent,
AxisPointerComponent,
BrushComponent,
TitleComponent,
TimelineComponent,
MarkPointComponent,
MarkLineComponent,
MarkAreaComponent,
LegendComponent,
DataZoomComponent,
DataZoomInsideComponent,
DataZoomSliderComponent,
VisualMapComponent,
VisualMapContinuousComponent,
VisualMapPiecewiseComponent,
AriaComponent,
DatasetComponent,
TransformComponent,
} from "echarts/components";
// 引入 Canvas 渲染器渲染
import { CanvasRenderer } from "echarts/renderers";
// 将以上引入的组件使用use()方法注册
echarts.use([
BarChart,
GridComponent,
PolarComponent,
GeoComponent,
SingleAxisComponent,
ParallelComponent,
CalendarComponent,
GraphicComponent,
ToolboxComponent,
TooltipComponent,
AxisPointerComponent,
BrushComponent,
TitleComponent,
TimelineComponent,
MarkPointComponent,
MarkLineComponent,
MarkAreaComponent,
LegendComponent,
DataZoomComponent,
DataZoomInsideComponent,
DataZoomSliderComponent,
VisualMapComponent,
VisualMapContinuousComponent,
VisualMapPiecewiseComponent,
AriaComponent,
DatasetComponent,
TransformComponent,
CanvasRenderer,
]);
export default echarts;
......
<template>
<!-- 拖拽交换位置效果 -->
<transition-group tag="div" class="container">
<div class="item" v-for="(item, index) in list" :key="index" draggable="true"
<div class="item" v-for="(item, index) in list" :key="item.route" draggable="true"
@dragstart="handleDragStart($event, item)" @dragover.prevent="handleDragOver($event, item)"
@dragenter="handleDragEnter($event, item)" @dragend="handleDragEnd($event, item)">
<svg-icon v-if="!disabled" icon-class="drag-text" class="el-input__icon input-icon" style="color:#bfbfbf" />
......@@ -10,7 +10,7 @@
</div>
</transition-group>
</template>
<script>
// draggable 属性规定元素是否可拖动
// dragstart 事件在用户开始拖动元素或选择的文本时触发
......@@ -77,14 +77,14 @@ export default {
}
}
</script>
<style lang="scss" scoped>
.container {
max-width: 350px;
height: 150px;
overflow-y: scroll;
padding: 0;
border: 1px solid #ccc;
border: 1px solid #e7eaec;
&::-webkit-scrollbar {
width: 7px;
......@@ -121,4 +121,4 @@ export default {
.item:hover {
background-color: #c6e2ff;
}
</style>
\ No newline at end of file
</style>
......
<template>
<div ref="barEcharts" class="yl-echarts-container bar-echarts"></div>
</template>
<script>
import { optionBar } from "./optionConfig"
export default {
data() {
return {};
},
computed: {},
watch: {},
created() {},
mounted() {
// 初始化echarts实例
const myChart = this.$echarts.init(this.$refs.barEcharts);
console.log(myChart);
// 绘制图表
myChart.setOption(optionBar);
},
methods: {},
};
</script>
<style lang='scss'>
.yl-echarts-container{
// height: 200px;
}
</style>
export const optionBar = {
xAxis: {
type: "category",
data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
},
yAxis: {
type: "value",
},
series: [
{
data: [120, 200, 150, 80, 70, 110, 130],
type: "bar",
showBackground: true,
backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)",
},
},
],
};
......@@ -27,6 +27,8 @@ import tableHeaders from '@/assets/languages/tableHeaders'
import dictLabels from "@/assets/languages/dictLabels.js"
import settings from './settings.js'
import * as filters from "./utils/filters.js";
import echarts from "@/assets/languages/echarts";
// 全局方法挂载
Vue.prototype.parseTime = parseTime
Vue.prototype.resetForm = resetForm
......@@ -42,7 +44,7 @@ Vue.prototype.isArray = isArray
Vue.prototype.tableHeaders = tableHeaders
Vue.prototype.dictLabels = dictLabels
Vue.prototype.settings = settings
Vue.prototype.$echarts = echarts;
Vue.prototype.msgSuccess = function (msg) {
this.$message({ showClose: true, message: msg, type: "success" });
}
......
......@@ -73,10 +73,19 @@ export const constantRoutes = [
hidden: true,
children: [
{
path: "/info/:handle/id=:id;routeStatus=:routeStatus;fltNo=:fltNo;route=:route;fltDate=:fltDate;status=:status",
path: "/edit",
component: (resolve) =>
require(["@/views/allocationConfig/flightAllocConfig/info"], resolve),
name: "FlightAllocConfigInfo",
require(["@/views/et86Config/et86RuleConfig/edit"], resolve),
name: "edit",
meta: { title: "ET86规则", icon: "user", noCache: true },
},
{
path: "/routeInfo",
component: (resolve) =>
require([
"@/views/allocationConfig/flightAllocConfig/flightRouteInfo",
], resolve),
name: "routeInfo",
meta: { title: "航班配舱", icon: "user" },
},
{
......
......@@ -401,7 +401,7 @@ export function sortList(arr, key) {
});
}
// 获取计算元素的属性的margin + padding + clientHeight
// 获取计算元素的属性的marginTop + marginBottom + paddingTop + paddingBottom值
function getPropertyValue(el) {
let style, marginTop, marginBottom, paddingTop, paddingBottom;
style = window.getComputedStyle(el, null);
......@@ -454,3 +454,101 @@ export function restTableHeight($refs) {
let topHeaderClientHeight = document.querySelector(".headerRef").clientHeight;
return heigth + topHeaderClientHeight;
}
/**
* Array Json去重 & 排序
* @author SunYu
* @param {Array} arr
* @param {string || Object} keys
* @description 对数组中指定的JSON字段去重和指定的字段进行排序
* @example
* 当指定一个字段去重时:removeDuplicates(arr, "name")
* 当指定一个字段去重并且排序如下:
* removeDuplicates(res.data.list, {
* duplicate: "name", // 去重字段
* sortType: "Number", // 排序类型
* sortAttr: "id", // 排序字段
* })
*/
export function removeDuplicates(arr, keys) {
let duplicate, dateTime;
if (typeof keys == "object") {
duplicate = keys.duplicate;
dateTime = keys.dateTime;
}
// 去重
let map = new Map();
for (let i = 0; i < arr.length; i++) {
let item = arr[i];
if (
!map.has(item[duplicate]) ||
new Date(map.get(item[duplicate])[dateTime]) < new Date(item[dateTime])
) {
map.set(item[duplicate], item);
}
}
const result = Array.from(map.values());
// 返回去重结果
if (typeof keys == "string") return result;
// 排序
if (typeof keys == "object") {
if (keys.sort) {
if (keys.sortType.toLowerCase().trim() == "number") {
if (result.length) {
result = sortFn();
}
// 返回排序去重结果
}
}
return result;
}
// 排序方法
function sortFn() {
if (isNaN(Number(result[0][keys.sortAttr]))) {
return result.sort((a, b) =>
a[keys.sortAttr].localeCompare(b[keys.sortAttr])
); // 按字母排序
} else {
return result.sort((a, b) => a[keys.sortAttr] - b[keys.sortAttr]); // 按数字排序
}
}
}
/**
* Array Json
* @author SunYu
* @param {Array} arr
* @param {string} key
* @description 把所有重复的过滤出来
* @example
* filterRepeat(arr, "name")
*/
export function filterRepeat(arr, key) {
const newArr = arr
.map((item) => item[key])
.filter((key, index, array) => array.indexOf(key) !== index);
return arr.filter((item) => newArr.includes(item[key]));
}
/**
* Array Json
* @author SunYu
* @param {Array} arr
* @param {string} key
* @param {string} time
* @description 把数组JSON字段重复的值过滤出来,并且根据时间戳返回最新的那一条且返回新的数组
* @example
* filterRepeatNewData(arr, "name", "createTime")
*/
export function filterRepeatNewData(arr, key, time) {
// 找出最大时间戳
const maxDate = filterRepeat(arr, key).reduce(
(max, obj) =>
new Date(obj[time]).getTime() > max ? new Date(obj[time]).getTime() : max,
-Infinity
);
// 找出最大时间戳对应的数据并且返回新的数组
const result = filterRepeat(arr, key).filter(
(obj) => new Date(obj[time]).getTime() === maxDate
);
return result;
}
......
<template>
<el-card>
<div class="row">
<div class="col-6">
<draggable
class="list-group"
tag="ul"
v-model="routeList"
v-bind="dragOptions"
@start="dragStart"
@end="dragEnd"
>
<transition-group type="transition" name="flip-list">
<li
class="list-group-item"
v-for="(item, i) in routeList"
:key="item.route"
>
<i
:class="
item.fixed ? 'fa fa-anchor' : 'glyphicon glyphicon-pushpin'
"
@click="item.fixed = !item.fixed"
aria-hidden="true"
></i>
<span v-if="item.isEtesRoute == 'Y' || item.etesRule == 'Y'"
><i class="route-count">{{ ++i }}</i
>{{ item.route }}ET86航线】</span
>
<span v-else
><i class="route-count">{{ ++i }}</i
>{{ item.route }}</span
>
</li>
</transition-group>
</draggable>
</div>
</div>
</el-card>
</template>
<script>
import draggable from "vuedraggable";
export default {
name: "YlDraggable",
props: {
routeList: {
// 航线
type: Array,
default: () => [],
},
dragOptions: {
// 拖拽配置
type: Object,
default: () => {
return {
animation: 200,
group: "description",
disabled: false,
ghostClass: "ghost",
};
},
},
},
components: {
draggable,
},
data() {
return {};
},
created() {},
methods: {
// 排序
sort() {
this.routeList = this.routeList.sort(
(a, b) => a.routePriority - b.routePriority
);
},
// 开始拖拽
dragStart() {},
// 结束拖拽
dragEnd() {
this.$emit("dragEnd", this.routeList);
},
},
};
</script>
<style lang="scss">
.el-card__body {
padding: 15px 10px 0px 10px !important;
}
.list-group {
min-height: 20px;
max-height: 150px;
overflow: auto;
margin-top: 0;
padding: 0;
&::-webkit-scrollbar {
width: 7px;
height: 7px;
}
&::-webkit-scrollbar-track {
background-color: #fff;
}
&::-webkit-scrollbar-thumb {
background-color: #ccc;
border-radius: 20px;
}
&::-webkit-scrollbar-thumb:hover {
background-color: #409eff;
}
&::-webkit-scrollbar-track-piece {
background: #f2f6fc;
}
}
.list-group-item {
cursor: move;
padding: 5px 0px;
}
.list-group-item i {
cursor: pointer;
}
.route-count {
font-family: initial;
font-style: inherit;
margin-right: 15px;
}
</style>
<template>
<div>
<el-dialog title="航线优先级排序" :visible.sync="open" width="25%" :close-on-click-modal="false" :show-close="false"
@close="close" append-to-body center>
<el-form ref="routeOrder" label-width="auto" label-position="left" size="small" @submit.native.prevent>
<el-form-item label="航班号:" prop="fltNo">
<span>{{ fltNo }}</span>
</el-form-item>
<el-form-item label="航班日期:" prop="fltDate">
<span>{{ fltDate }}</span>
</el-form-item>
<el-form-item label="航线优先级" prop="route">
<Drag :routes="routeList" @drag="drag"></Drag>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="submit">确 定</el-button>
<el-button @click="close">取 消</el-button>
</div>
</el-dialog>
</div>
<div>
<el-dialog
title="航线优先级排序"
:visible.sync="open"
width="25%"
:close-on-click-modal="false"
:show-close="false"
@close="close"
append-to-body
center
>
<el-form
ref="routeOrder"
label-width="auto"
label-position="left"
size="small"
@submit.native.prevent
>
<el-form-item label="航班号:" prop="fltNo">
<span>{{ fltNo }}</span>
</el-form-item>
<el-form-item label="航班日期:" prop="fltDate">
<span>{{ fltDate }}</span>
</el-form-item>
<el-form-item label="航线优先级" prop="route">
<Drag :routes="routeList" @drag="drag"></Drag>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" :loading="loading" @click="submit"
>确 定</el-button
>
<el-button @click="close">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { allRouteQuery, saveOrUpdateSpecifyDateRoute } from "@/api/destinationFlight";
import {
allRouteQuery,
saveOrUpdateSpecifyDateRoute,
} from "@/api/destinationFlight";
export default {
name: "",
props: {
open: {
type: Boolean,
default: false
},
fltData: {
type: Object,
default: null
}
name: "",
props: {
open: {
type: Boolean,
default: false,
},
data() {
return {
fltNo: '',
fltDate: '',
routeList: [],
submitData: [],
loading: false
}
fltData: {
type: Object,
default: null,
},
watch: {
open(val) {
this.routeList = []
this.submitData = []
if (val) {
this.fltNo = this.fltData.fltNo
this.fltDate = this.fltData.fltDate
allRouteQuery({
fltNo: this.fltNo,
routeDate: this.fltDate
}).then(res => {
if (res.code === 200) {
this.routeList = res.data.list
this.submitData = res.data.list
} else {
this.msgWarning(res.msg)
}
}).catch(err => {
console.log(err)
})
},
data() {
return {
fltNo: "",
fltDate: "",
routeList: [],
submitData: [],
loading: false,
};
},
watch: {
open(val) {
this.routeList = [];
this.submitData = [];
if (val) {
this.fltNo = this.fltData.fltNo;
this.fltDate = this.fltData.fltDate;
allRouteQuery({
fltNo: this.fltNo,
routeDate: this.fltDate,
})
.then((res) => {
if (res.code === 200) {
this.routeList = res.data.list;
this.submitData = res.data.list;
} else {
this.msgWarning(res.msg);
}
}
})
.catch((err) => {
console.log(err);
});
}
},
methods: {
submit() {
saveOrUpdateSpecifyDateRoute(this.submitData).then(res => {
if (res.code === 200) {
this.msgSuccess('保存成功')
this.close()
} else {
this.msgWarning(res.msg)
}
}).catch(err => {
console.log(err)
})
},
close() {
this.routeList = []
this.submitData = []
this.$emit('close')
},
drag(val) {
val.forEach((item, index) => {
item.ordinal = index + 1
})
this.submitData = val
}
}
}
},
methods: {
submit() {
saveOrUpdateSpecifyDateRoute(this.submitData)
.then((res) => {
if (res.code === 200) {
this.msgSuccess("保存成功");
this.close(res.code);
} else {
this.msgWarning(res.msg);
}
})
.catch((err) => {
console.log(err);
});
},
close(code) {
this.routeList = [];
this.submitData = [];
this.$emit("close", code);
},
drag(val) {
val.forEach((item, index) => {
item.ordinal = index + 1;
});
this.submitData = val;
},
},
};
</script>
<style lang="scss" scoped>
</style>
\ No newline at end of file
<style lang="scss" scoped></style>
......
export const formConfig = [
{
label: "航班号",
type: "Input",
name: "purposeOfFlightNo",
prop: "purposeOfFlightNo",
placeholder: "请输入航班号",
span: 4,
trigger: "blur",
labelWidth: "55px",
disable: false,
},
{
label: "航班日期",
type: "Date",
name: "flightDate",
prop: "flightDate",
placeholder: "请选择航班日期",
format: "yyyy-MM-dd",
colWidth: "18%",
inputWidth: "100%",
disable: false,
hidden: false,
},
{
label: "航线",
type: "Input",
name: "flightRouteListStr",
prop: "flightRouteListStr",
placeholder: "",
span: 6,
labelWidth: "40px",
trigger: "blur", // 事件名
disable: false,
hidden: false,
},
{
label: "航线优先级",
type: "slot",
name: "flightRoute",
prop: "flightRoute",
placeholder: "",
colWidth: "23%",
labelWidth: "85px",
trigger: "blur", // 事件名
},
];
// 航线规则表单
export const routeRuleForm = {
config: true,
purposeOfFlightNo: "",
flightRoute: "", // 飞行航线
routeSpecifyDateSeq: "", // 航线优先级
declarationCategory: "",
location: null, // 包含始发站
notLocation: null, // 不包含始发站
destinationSite: null, // 包含目的站
notDestinationSite: null, // 不包含目的站
includeUrsa: "", // URSA包含
notIncludeUrsa: "", // URSA不包含
minNumOfPieces: "", // 最小件数
maxNumOfPieces: "", // 最大件数
minWeight: "", // 最小重量
maxWeight: "", // 最大重量
typeOfGoods: [], // 申报类别
cargoType: [], // 货物类型
puporpuxCode: [], // 取件扫描号
serviceCode: [], // Service Code
handlingCode: [], // Handling Code
subCategory: [], // Sub Category
ruleDate: "",
};
// 校验表单域的选项
export const validateForm = [
"location",
"notLocation",
"destinationSite",
"notDestinationSite",
"includeUrsa",
"notIncludeUrsa",
"minNumOfPieces",
"maxNumOfPieces",
"minWeight",
"maxWeight",
"typeOfGoods",
"cargoType",
"puporpuxCode",
"serviceCode",
"handlingCode",
"subCategory",
];
<template>
<div>
<el-form ref="flightAllocForm" :model="queryParams" class="form-header" size="small" label-position="right"
label-width="auto" @submit.native.prevent>
<el-form
ref="flightAllocForm"
:model="queryParams"
class="form-header"
size="small"
label-position="right"
label-width="auto"
@submit.native.prevent
>
<el-row>
<el-col :span="6">
<el-form-item label="航班号">
<el-input class="formItem" v-model.trim="purposeOfFlightNo" placeholder="航班号" @keyup.enter.native="getList">
<el-input
class="formItem"
v-model.trim="purposeOfFlightNo"
placeholder="航班号"
@keyup.enter.native="getList"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="航班日期">
<el-date-picker class="formItem" v-model="queryParams.flightDate" type="date" placeholder="选择日期"
value-format="yyyy-MM-dd" clearable :disabled="queryParams.querySpecifyData == '2'">
<el-date-picker
class="formItem"
v-model="queryParams.flightDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
clearable
:disabled="queryParams.querySpecifyData == '2'"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="状态">
<el-select class="formItem" v-model="queryParams.status" placeholder="状态">
<el-select
class="formItem"
v-model="queryParams.status"
placeholder="状态"
>
<el-option label="有效" value="1"></el-option>
<el-option label="停用" value="3"></el-option>
</el-select>
......@@ -26,35 +49,76 @@
</el-col>
</el-row>
<div>
<el-button type="primary" icon="el-icon-search" :loading="loading" @click="getList" size="mini">查询</el-button>
<el-button class="mb20" type="primary" icon="el-icon-plus" size="mini" v-hasPermi="['allocation:alloc:add']"
@click="
$router.push({
name: 'FlightAllocConfigInfo',
params: { handle: 'add', fltNo: 'new', fltDate: ' ', status: null, routeStatus: '' },
})
">添加</el-button>
<el-switch style="margin-left: 10px;" v-model="queryParams.querySpecifyData" inactive-text="日期查询" active-value="1"
inactive-value="2" active-color="#13ce66" inactive-color="#909399" @change="switchChange"></el-switch>
<el-button
type="primary"
icon="el-icon-search"
:loading="loading"
@click="getList"
size="mini"
>查询</el-button
>
<el-button
class="mb20"
type="primary"
icon="el-icon-plus"
size="mini"
v-hasPermi="['allocation:alloc:add']"
@click="addFlightRouteConfig"
>添加</el-button
>
<el-switch
style="margin-left: 10px"
v-model="queryParams.querySpecifyData"
inactive-text="日期查询"
active-value="1"
inactive-value="2"
active-color="#13ce66"
inactive-color="#909399"
@change="switchChange"
></el-switch>
</div>
</el-form>
<Tables ref="newTables" ductName="FlightAlloc" :data="flyList" :headerData="tableHeaders['flightAlloc']" :order="true"
:totalCount="total" :loading="loading" :limitSize="queryParams.limit" :limitStart="queryParams.start"
:page="curPage" :pageSizes="[20]" :height="tableHeight" @currentChange="currentChange">
<Tables
ref="newTables"
ductName="FlightAlloc"
:data="flyList"
:headerData="tableHeaders['flightAlloc']"
:order="true"
:totalCount="total"
:loading="loading"
:limitSize="queryParams.limit"
:limitStart="queryParams.start"
:page="curPage"
:pageSizes="[20]"
:height="tableHeight"
@currentChange="currentChange"
>
<template v-slot:ruleDate="scope">
<el-link v-if="scope.row.ruleDate" type="primary" @click="toRouteOrder(scope.row)">
{{
scope.row.ruleDate
}}<i class="el-icon-link"></i> </el-link>
<el-link
v-if="scope.row.ruleDate"
type="primary"
@click="toRouteOrder(scope.row)"
>
{{ scope.row.ruleDate }}<i class="el-icon-link"></i>
</el-link>
</template>
<template slot="optionColumn">
<el-table-column label="操作" align="center" width="150">
<template slot-scope="scope">
<el-button type="text" size="mini" icon="el-icon-view"
@click="handleClick(scope.row.purposeOfFlightNo, 'detail', scope.row.ruleDate, scope.row.status)">查看
<el-button
type="text"
size="mini"
icon="el-icon-view"
@click="handleClick(scope.row, 'view')"
>查看
</el-button>
<el-button type="text" size="mini" icon="el-icon-edit" v-hasPermi="['allocation:alloc:update']"
@click="handleClick(scope.row.purposeOfFlightNo, 'update', scope.row.ruleDate, scope.row.status)">修改
<el-button
type="text"
size="mini"
icon="el-icon-edit"
v-hasPermi="['allocation:alloc:update']"
@click="handleClick(scope.row, 'edit')"
>修改
</el-button>
<!-- <el-button type="text" size="mini" icon="el-icon-delete" style="color:#ff4949"
v-hasPermi="['allocation:alloc:delete']" @click="del(scope.row.id, scope.row.status)">删除</el-button>
......@@ -71,22 +135,20 @@
</template>
<script>
import {
findFlightDimRuleByFlightNo
} from "@/api/destinationFlight";
import Dialog from './dialog.vue'
import { findFlightDimRuleByFlightNo } from "@/api/destinationFlight";
import Dialog from "./dialog.vue";
export default {
name: "FlightAllocConfig",
components: {
Dialog
Dialog,
},
data() {
return {
queryParams: {
purposeOfFlightNo: null,
flightDate: undefined,
querySpecifyData: '2',
querySpecifyData: "2",
status: "1",
start: 0,
limit: 20,
......@@ -114,13 +176,14 @@ export default {
// })
},
mounted() {
this.tableHeight = window.innerHeight - this.$refs.flightAllocForm.$el.offsetHeight - 200
this.tableHeight =
window.innerHeight - this.$refs.flightAllocForm.$el.offsetHeight - 200;
},
activated() {
this.getList()
this.getList();
},
deactivated() {
this.flyList = []
this.flyList = [];
},
methods: {
getList() {
......@@ -130,59 +193,78 @@ export default {
this.queryParams.start = 0;
}
this.loading = true;
findFlightDimRuleByFlightNo(this.queryParams).then(res => {
this.loading = false
if (res.code === 200) {
this.flyList = res.data.list
this.total = res.data.totalCount
} else {
this.msgWarning(res.msg)
}
}).catch(err => {
this.loading = false
console.log(err)
})
findFlightDimRuleByFlightNo(this.queryParams)
.then((res) => {
this.loading = false;
if (res.code === 200) {
this.flyList = res.data.list;
this.total = res.data.totalCount;
} else {
this.msgWarning(res.msg);
}
})
.catch((err) => {
this.loading = false;
console.log(err);
});
},
// 添加
addFlightRouteConfig() {
this.$router.push({
path: "/routeInfo",
query: {
flightDate: "", // 跳转的时候默认当天日期
purposeOfFlightNo: "",
flightRouteListStr: "",
status: "",
pageName: "flightAllocConfig",
dataStatus: "add",
disable: "",
},
});
},
//跳转到查看,修改页面
handleClick(fltNo, handle, fltDate, status) {
let obj = {
id: ' ',
handle: handle,
fltNo: fltNo,
fltDate: fltDate != null ? fltDate : ' ',
route: ' ',
routeStatus: 'FlightAllocConfig',
status: status == '3' ? '3' : ' ',
createStatus: 1
}
handleClick({ purposeOfFlightNo, ruleDate, flightRoute, status }, name) {
this.$router.push({
name: "FlightAllocConfigInfo",
params: obj,
path: "/routeInfo",
query: {
flightDate: ruleDate,
purposeOfFlightNo: purposeOfFlightNo,
flightRouteListStr: flightRoute,
status: status,
pageName: "flightAllocConfig",
dataStatus: name,
querySpecifyData: this.queryParams.querySpecifyData,
disable: true,
},
});
},
//航班优先级修改
toRouteOrder(val) {
this.colData = {
fltNo: val.purposeOfFlightNo,
fltDate: val.ruleDate
}
this.open = true
fltDate: val.ruleDate,
};
this.open = true;
},
//开关改变
switchChange(val) {
if (val == '2') {
this.queryParams.flightDate = undefined
if (val == "2") {
this.queryParams.flightDate = undefined;
}
},
close() {
this.open = false
close(code) {
if (code == 200) {
this.getList();
}
this.open = false;
},
//翻页
currentChange(val) {
this.curPage = val.page
this.curPage = val.page;
this.queryParams.start = val.start;
this.getList();
}
},
},
computed: {
purposeOfFlightNo: {
......@@ -196,5 +278,3 @@ export default {
},
};
</script>
......
......@@ -1220,15 +1220,20 @@ export default {
queryRouteByFltNo({ fltNo: this.infoForm.fltNo }).then(res => {
if (res.code === 200) {
if (res.data.list.length > 0) {
this.routeList = res.data.list
res.data.list.forEach(item => {
let isEtesRoute = res.data.list.filter((item) => item.isEtesRoute == "N"); // 过滤ET86航线
this.routeList = isEtesRoute
if(isEtesRoute.length){
isEtesRoute.forEach(item => {
this.infoForm.list.push({
purposeOfFlightNo: this.infoForm.fltNo,
ruleDate: this.infoForm.fltDate,
flightRoute: item.route,
routePriority: item.ordinal
})
})
})
}else{
this.msgWarning('未查询到航线信息!')
}
} else {
this.msgWarning('未查询到航线信息!')
this.routeList = []
......
This diff is collapsed. Click to expand it.
......@@ -67,7 +67,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit"
@click="handleClick(scope.row.actualFlight, 'detail', scope.row.flightDate, ' ', ' ')">查看配置维度
@click="handleClick(scope.row)">查看配置维度
</el-button>
</template>
</el-table-column>
......@@ -275,21 +275,18 @@ export default {
},
methods: {
//跳转到查看,修改页面
handleClick(fltNo, handle, fltDate, route, status) {
handleClick({ actualFlight, flightDate, route }) {
this.openFlightDate = false;
let obj = {
id: ' ',
handle: handle,
fltNo: fltNo,
fltDate: fltDate != null ? fltDate : ' ',
route: route,
routeStatus: 'FlightRandConfig',
status: status,
createStatus: 1,
}
this.$router.push({
name: "FlightAllocConfigInfo",
params: obj,
path: "/routeInfo",
query: {
flightDate: flightDate,
purposeOfFlightNo: actualFlight,
flightRouteListStr: route,
status: "",
pageName: "flightRandConfig",
disable: true,
},
});
},
/** 查询原航班顺位规则*/
......
......@@ -17,7 +17,7 @@
</el-row>
</el-form>
<Tables ref="cargoLog" ductName="cargoLog" :order="false" :border='false' :data="data.tableData"
:headerData="tableHeader" tableAlign="center" :showOverflowTooltip="false" :height="tableHeight"
:headerData="tableHeader" tableAlign="center" :showOverflowTooltip="false"
:page="selectData.page" :limitSize="selectData.size" :pageSizes="[100]" :pagination="false"
:loading="loading" @currentChange="currentChange">
</Tables>
......
......@@ -132,7 +132,7 @@
<el-form-item>
<template slot="label">
<div style="display:inline-block">配载航线
<el-tooltip class="item" effect="dark" content="选择航线需要先输入配载航班号,才能选择对应航线" placement="top-start">
<el-tooltip class="item" effect="dark" content="选择航线需要先输入配载航班号,才能选择对应航线" placement="top-start">
<span class="el-icon-warning" style="color:#1890ff;font-size:16px"></span>
</el-tooltip>
</div>
......
import YlElInputNumber from "./src/input-number";
YlElInputNumber.install = function (Vue) {
Vue.component(YlElInputNumber.name, YlElInputNumber);
};
// 该组件是基于Element UI InputNumber 计数器
export default YlElInputNumber;
<template>
<div
@dragstart.prevent
:class="[
'el-input-number',
inputNumberSize ? 'el-input-number--' + inputNumberSize : '',
{ 'is-disabled': inputNumberDisabled },
{ 'is-without-controls': !controls },
{ 'is-controls-right': controlsAtRight }
]">
<span
class="el-input-number__decrease"
role="button"
v-if="controls"
@click="decrease"
:class="{'is-disabled': minDisabled}"
@keydown.enter="decrease">
<i :class="`el-icon-${controlsAtRight ? 'arrow-down' : 'minus'}`"></i>
</span>
<span
class="el-input-number__increase"
role="button"
v-if="controls"
@click="increase"
:class="{'is-disabled': maxDisabled}"
@keydown.enter="increase">
<i :class="`el-icon-${controlsAtRight ? 'arrow-up' : 'plus'}`"></i>
</span>
<el-input
ref="input"
:value="displayValue"
:placeholder="placeholder"
:disabled="inputNumberDisabled"
:size="inputNumberSize"
:max="max"
:min="min"
:name="name"
:label="label"
@keydown.up.native.prevent="increase"
@keydown.down.native.prevent="decrease"
@blur="handleBlur"
@focus="handleFocus"
@input="handleInput"
@change="handleInputChange">
</el-input>
</div>
</template>
<script>
export default {
name: 'YlElInputNumber',
inject: {
elForm: {
default: ''
},
elFormItem: {
default: ''
}
},
props: {
step: {
type: Number,
default: 1
},
stepStrictly: {
type: Boolean,
default: false
},
max: {
type: Number,
default: Infinity
},
min: {
type: Number,
default: -Infinity
},
value: {},
disabled: Boolean,
size: String,
controls: {
type: Boolean,
default: true
},
controlsPosition: {
type: String,
default: ''
},
name: String,
label: String,
placeholder: String,
precision: {
type: Number,
validator(val) {
return val >= 0 && val === parseInt(val, 10);
}
}
},
data() {
return {
currentValue: 0,
userInput: null
};
},
watch: {
value: {
immediate: true,
handler(value) {
let newVal = value === undefined ? value : Number(value);
if (newVal !== undefined) {
if (isNaN(newVal)) {
return;
}
if (this.stepStrictly) {
const stepPrecision = this.getPrecision(this.step);
const precisionFactor = Math.pow(10, stepPrecision);
newVal = Math.round(newVal / this.step) * precisionFactor * this.step / precisionFactor;
}
if (this.precision !== undefined) {
newVal = this.toPrecision(newVal, this.precision);
}
}
if (newVal >= this.max) newVal = this.max;
if (newVal <= this.min) newVal = this.min;
this.currentValue = newVal;
this.userInput = null;
this.$emit('input', newVal);
}
}
},
computed: {
minDisabled() {
return this._decrease(this.value, this.step) < this.min;
},
maxDisabled() {
return this._increase(this.value, this.step) > this.max;
},
numPrecision() {
const { value, step, getPrecision, precision } = this;
const stepPrecision = getPrecision(step);
if (precision !== undefined) {
if (stepPrecision > precision) {
console.warn('[Element Warn][InputNumber]precision should not be less than the decimal places of step');
}
return precision;
} else {
return Math.max(getPrecision(value), stepPrecision);
}
},
controlsAtRight() {
return this.controls && this.controlsPosition === 'right';
},
_elFormItemSize() {
return (this.elFormItem || {}).elFormItemSize;
},
inputNumberSize() {
return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;
},
inputNumberDisabled() {
return this.disabled || !!(this.elForm || {}).disabled;
},
displayValue() {
if (this.userInput !== null) {
return this.userInput;
}
let currentValue = this.currentValue;
if (typeof currentValue === 'number') {
if (this.stepStrictly) {
const stepPrecision = this.getPrecision(this.step);
const precisionFactor = Math.pow(10, stepPrecision);
currentValue = Math.round(currentValue / this.step) * precisionFactor * this.step / precisionFactor;
}
if (this.precision !== undefined) {
currentValue = currentValue.toFixed(this.precision);
}
}
return currentValue;
}
},
methods: {
toPrecision(num, precision) {
if (precision === undefined) precision = this.numPrecision;
return parseFloat(Math.round(num * Math.pow(10, precision)) / Math.pow(10, precision));
},
getPrecision(value) {
if (value === undefined) return 0;
const valueString = value.toString();
const dotPosition = valueString.indexOf('.');
let precision = 0;
if (dotPosition !== -1) {
precision = valueString.length - dotPosition - 1;
}
return precision;
},
_increase(val, step) {
if (typeof val !== 'number' && val !== undefined) return this.currentValue;
const precisionFactor = Math.pow(10, this.numPrecision);
return this.toPrecision((precisionFactor * val + precisionFactor * step) / precisionFactor);
},
_decrease(val, step) {
if (typeof val !== 'number' && val !== undefined) return this.currentValue;
const precisionFactor = Math.pow(10, this.numPrecision);
return this.toPrecision((precisionFactor * val - precisionFactor * step) / precisionFactor);
},
increase() {
if (this.inputNumberDisabled || this.maxDisabled) return;
const value = this.value || 0;
const newVal = this._increase(value, this.step);
this.setCurrentValue(newVal);
},
decrease() {
if (this.inputNumberDisabled || this.minDisabled) return;
const value = this.value || 0;
const newVal = this._decrease(value, this.step);
this.setCurrentValue(newVal);
},
handleBlur(event) {
this.$emit('blur', event);
},
handleFocus(event) {
this.$emit('focus', event);
},
setCurrentValue(newVal) {
const oldVal = this.currentValue;
if (typeof newVal === 'number' && this.precision !== undefined) {
newVal = this.toPrecision(newVal, this.precision);
}
if (newVal >= this.max) newVal = this.max;
if (newVal <= this.min) newVal = this.min;
if (oldVal === newVal) return;
this.userInput = null;
this.$emit('input', newVal);
this.$emit('change', newVal, oldVal);
this.currentValue = newVal;
},
handleInput(value) {
this.userInput = value;
},
handleInputChange(value) {
const newVal = value === '' ? undefined : Number(value);
if (!isNaN(newVal) || value === '') {
this.setCurrentValue(newVal);
}
this.userInput = null;
},
select() {
this.$refs.input.select();
}
},
mounted() {
let innerInput = this.$refs.input.$refs.input;
innerInput.setAttribute('role', 'spinbutton');
innerInput.setAttribute('aria-valuemax', this.max);
innerInput.setAttribute('aria-valuemin', this.min);
innerInput.setAttribute('aria-valuenow', this.currentValue);
innerInput.setAttribute('aria-disabled', this.inputNumberDisabled);
},
updated() {
if (!this.$refs || !this.$refs.input) return;
const innerInput = this.$refs.input.$refs.input;
innerInput.setAttribute('aria-valuenow', this.currentValue);
}
};
</script>
......@@ -74,10 +74,11 @@
<script>
import Chart from '@/components/echarts/echarts-series.vue'
import { findDmPreMdeCondition, findPreMdeReport } from "@/api/preMdeConfig";
// import YlEchartsBar from "@/components/YlEcharts/YlEchartsBar"
export default {
components: {
Chart
Chart,
// YlEchartsBar
},
data() {
return {
......
......@@ -71,15 +71,13 @@
</el-col>
<el-col :span="24">
<el-form-item label="所属角色:" prop="roleIds">
<el-checkbox-group v-model="roleid" :disabled="userFormDisabled" @change="change">
<el-row>
<el-col :span="4" v-for="item in roleList" :key="item.id">
<el-checkbox-group v-model="roleid" :disabled="userFormDisabled" @change="change" style="padding-top: 6px;box-sizing: border-box;">
<span v-for="(item,i) in roleList" :key="item.id" style="vertical-align:middle;" :style="{ marginLeft: i !=0 ? '15px' : 0 }">
<el-checkbox :label="item.id">
{{ item.name }}
<Tooltips :content="item.englishName" :refName="item.code"></Tooltips>
</el-checkbox>
</el-col>
</el-row>
</span>
</el-checkbox-group>
</el-form-item>
</el-col>
......@@ -275,6 +273,12 @@ export default {
};
</script>
<style>
</style>
\ No newline at end of file
<style lang="scss" scoped>
.el-checkbox-group .el-checkbox {
width: auto !important;
margin-left: 15px !important;
}
.el-checkbox:first-child{
margin-left: 0px !important;
}
</style>
......
<template>
<div>
<el-form ref="dmLogForm" class="form-header" :model="selectForm" label-width="auto" size="small"
@submit.native.prevent>
<el-form
ref="dmLogForm"
class="form-header"
:model="selectForm"
label-width="auto"
size="small"
@submit.native.prevent
>
<el-row type="flex" style="flex-wrap: wrap !important">
<el-col :span="6">
<el-form-item label="ACCS原航班号">
<el-input v-model.trim="fltNo" class="formItem" placeholder="请输入航班号" clearable></el-input>
<el-input
v-model.trim="fltNo"
class="formItem"
placeholder="请输入航班号"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="数据接收日期" prop="createTime">
<el-date-picker v-model="selectForm.createTime" class="formItem" type="date" placeholder="选择日期"
:value-format="valueFormat" clearable>
<el-date-picker
v-model="selectForm.createTime"
class="formItem"
type="date"
placeholder="选择日期"
:value-format="valueFormat"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="运单号">
<el-input v-model="selectForm.awbNbr" class="formItem" placeholder="请输入运单号" clearable></el-input>
<el-input
v-model="selectForm.awbNbr"
class="formItem"
placeholder="请输入运单号"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="处理状态级别">
<el-select v-model="selectForm.status" class="formItem" placeholder="不限" clearable>
<el-select
v-model="selectForm.status"
class="formItem"
placeholder="不限"
clearable
>
<el-option label="未处理" value="0"></el-option>
<el-option label="处理成功" value="1"></el-option>
<el-option label="无需处理" value="2"></el-option>
......@@ -34,52 +61,85 @@
</el-col>
<el-col :span="6">
<el-form-item label="ACCS原航班日期">
<el-date-picker v-model="selectForm.fltDate" class="formItem" type="date" placeholder="选择日期"
:value-format="valueFormat" clearable>
<el-date-picker
v-model="selectForm.fltDate"
class="formItem"
type="date"
placeholder="选择日期"
:value-format="valueFormat"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="回推ACCS结果">
<el-select v-model="selectForm.sendLogSendResult" class="formItem" placeholder="不限" clearable>
<el-option label="未推" value="0">
</el-option>
<el-option label="推送成功" value="1">
</el-option>
<el-option label="推送失败" value="2">
</el-option>
<el-select
v-model="selectForm.sendLogSendResult"
class="formItem"
placeholder="不限"
clearable
>
<el-option label="未推" value="0"> </el-option>
<el-option label="推送成功" value="1"> </el-option>
<el-option label="推送失败" value="2"> </el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div class="ml20" style="display: flex">
<el-button type="primary" size="mini" icon="el-icon-search" :loading="loading" @click="selectDMData(0)">查询
<el-button
type="primary"
size="mini"
icon="el-icon-search"
:loading="loading"
@click="selectDMData(0)"
>查询
</el-button>
</div>
</el-form>
<Tables ref="dmLogTables" ductName="logDmData" :order="true" :data="data" :headerData="tableHeader"
tableAlign="center" :showOverflowTooltip="false" :height="tableHeight" :page="selectForm.page"
:limitSize="selectForm.size" :pageSizes="[100]" :totalCount="total" :loading="loading"
@currentChange="currentChange">
<Tables
ref="dmLogTables"
ductName="logDmData"
:order="true"
:data="data"
:headerData="tableHeader"
tableAlign="center"
:showOverflowTooltip="false"
:height="tableHeight"
:page="selectForm.page"
:limitSize="selectForm.size"
:pageSizes="[100]"
:totalCount="total"
:loading="loading"
@currentChange="currentChange"
>
<template v-slot:awbNbr="scope">
<el-link type="primary" @click="gotoWeatherTable(scope.row)">
{{
scope.row.awbNbr
}}<i class="el-icon-link"></i> </el-link>
{{ scope.row.awbNbr }}<i class="el-icon-link"></i>
</el-link>
</template>
<template v-slot:flightFltNo="scope">
<el-link v-if="scope.row.allocDimId" type="primary"
@click="$router.push({ name: 'FlightAllocConfigInfo', params: { id: scope.row.allocDimId, handle: 'detail', fltNo: scope.row.flightFltNo, fltDate: scope.row.flightFltDate ? scope.row.flightFltDate : ' ', routeStatus: 'dmLog', route: scope.row.currentFlightRoute ? scope.row.currentFlightRoute : ' ', status: ' ', createStatus: 1, } })">
{{
scope.row.flightFltNo
}}<i class="el-icon-link"></i> </el-link>
<el-link
v-if="scope.row.allocDimId"
type="primary"
@click="viewRouteConfig(scope.row)"
>
{{ scope.row.flightFltNo }}<i class="el-icon-link"></i>
</el-link>
<span v-else>{{ scope.row.flightFltNo }}</span>
</template>
<template v-slot:remarksDetail="scope">
<span v-if="scope.row.remarksDetail == null || scope.row.remarksDetail == ''">{{ scope.row.remarksDetail
}}</span>
<span
v-if="
scope.row.remarksDetail == null || scope.row.remarksDetail == ''
"
>{{ scope.row.remarksDetail }}</span
>
<div v-else>
<div v-for="item in scope.row.remarksDetail.split('\\r\\n')">{{ item }}</div>
<div v-for="item in scope.row.remarksDetail.split('\\r\\n')">
{{ item }}
</div>
</div>
</template>
</Tables>
......@@ -100,7 +160,7 @@ export default {
size: 100,
},
data: [],
tableHeader: this.tableHeaders['DM'],
tableHeader: this.tableHeaders["DM"],
portList: [],
rules: {
createTime: [
......@@ -122,14 +182,14 @@ export default {
},
created() {
this.selectForm.createTime = this.nowDate();
// this.$nextTick(()=>{
// let height = window.innerHeight - this.$refs.dmLogForm.$el.offsetHeight - 130;
// if(height < 300){
// this.tableHeight = 300;
// }else{
// this.tableHeight = height;
// }
// })
// this.$nextTick(()=>{
// let height = window.innerHeight - this.$refs.dmLogForm.$el.offsetHeight - 130;
// if(height < 300){
// this.tableHeight = 300;
// }else{
// this.tableHeight = height;
// }
// })
},
activated() {
this.selectDMData();
......@@ -138,7 +198,8 @@ export default {
this.data = [];
},
mounted() {
this.tableHeight = window.innerHeight - this.$refs.dmLogForm.$el.offsetHeight - 130;
this.tableHeight =
window.innerHeight - this.$refs.dmLogForm.$el.offsetHeight - 130;
},
methods: {
//数据查询
......@@ -151,32 +212,37 @@ export default {
getDmDataList(this.selectForm).then((res) => {
this.loading = false;
if (res.code === 200) {
this.total = res.data.total
this.total = res.data.total;
if (res.data.total === 0) {
this.msgWarning('未查询到数据')
this.msgWarning("未查询到数据");
} else {
this.data = res.data.list;
}
} else {
this.msgWarning(res.msg)
this.msgWarning(res.msg);
}
});
},
//跳转流水
gotoWeatherTable(val) {
getDmFlowInformation('accsId=' + val.dmAccsId).then(res => {
if (res.code === 200) {
if (res.data.list.length > 0) {
this.$router.push({ name: 'weatherTable', params: { data: res.data.list, awbNbr: val.awbNbr } })
getDmFlowInformation("accsId=" + val.dmAccsId)
.then((res) => {
if (res.code === 200) {
if (res.data.list.length > 0) {
this.$router.push({
name: "weatherTable",
params: { data: res.data.list, awbNbr: val.awbNbr },
});
} else {
this.msgWarning("未查询到该条数据的流水");
}
} else {
this.msgWarning('未查询到该条数据的流水')
this.msgWarning(res.msg);
}
} else {
this.msgWarning(res.msg)
}
}).catch(err => {
console.log(err)
})
})
.catch((err) => {
console.log(err);
});
},
//分页
currentChange(val) {
......@@ -204,6 +270,20 @@ export default {
item.index = index;
});
},
// 当前配载航班号跳转查看航线配置详情
viewRouteConfig(row) {
this.$router.push({
path: "/routeInfo",
query: {
id: row.allocDimId,
purposeOfFlightNo: row.flightFltNo,
flightDate: row.flightFltDate,
flightRouteListStr: row.currentFlightRoute,
pageName: "dmLog",
disable: true,
},
});
},
},
computed: {
fltNo: {
......