jinhui.wang

航班信息维护按钮新增,字段新增,bug修复

let ductLabels = {
"cargoRulesStatus": {
"1": "手动",
"2": "自动"
"cargo": {//货物查询
"cargoRulesStatus": {
"1": "手动",
"2": "自动"
},
"releasing": {
"1": "正在释放"
}
},
"menuType": {
"M": "菜单",
"C": "菜单",
"B": "按钮"
"menu": {//菜单设置
"menuType": {
"M": "菜单",
"C": "菜单",
"B": "按钮"
},
"status": {
"1": "启用",
"2": "停用",
},
},
"status": {
"1": "启用",
"2": "停用",
"role": {//角色设置
"valid": {
"1": "开启",
"2": "关闭",
},
},
"valid": {
"1": "开启",
"2": "关闭",
"user": {//用户设置
"isValid": {
"1": "开启",
"2": "关闭",
},
},
"isValid": {
"1": "开启",
"2": "关闭",
"FlightInformation": {//航班信息维护
"ticketToPiece": {
"1": "是",
"0": "否",
},
"needRequired": {
"1": "是",
"0": "否",
},
"highLowPriceFlg": {
"1": "开启",
"0": "未开启",
},
"pushDateSwitch": {
"1": "是",
"2": "否",
},
},
"ticketToPiece": {
"1": "是",
"0": "否",
},
"needRequired": {
"1": "是",
"0": "否",
},
"highLowPriceFlg": {
"1": "开启",
"0": "未开启",
"logDmData": {//DM数据
"status": {
"0": "未处理",
"1": "已处理",
"2": "处理失败",
"3": "无需处理",
},
}
}
export default ductLabels;
\ No newline at end of file
......
......@@ -18,47 +18,74 @@
:default-expand-all="defaultExpandAll"
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
v-loading="loading"
:cell-class-name="cellClassName"
:header-cell-class-name="headerCellClassName"
@sort-change="sortChange"
@select="tableSelect"
@select-all="tableSelectAll"
@select-change="SelectChange"
>
<!-- 复选框 -->
<el-table-column
v-for="(item, index) in newHeader"
:type="item.type"
:prop="item.value"
:label="item.name"
:width="item.width"
:align="item.align"
:fixed="item.fixed"
:column-key="index.toString()"
:show-overflow-tooltip="showOverflowTooltip"
:sortable="item.sorTable"
:formatter="formatter"
header-align="center"
:sort-orders="['descending', 'ascending', null]"
:slotHeader="slotHeader"
:render-header="renderHeader"
:key="index"
v-if="item.disabled"
>
<!-- <template slot-scope="scope">
<exSlot
v-if="item.render"
:render="item.render"
:row="scope.row"
:index="scope.$index"
:column="item"
></exSlot>
<span v-else>{{ scope.row[item.value] || "" }}</span>
</template> -->
</el-table-column>
<slot></slot>
v-if="selection"
type="selection"
:fixed="true"
width="50"
align="center"
></el-table-column>
<!-- 序号 -->
<el-table-column type="index" width="50" align="center"></el-table-column>
<template v-for="(item, index) in newHeader">
<!-- 自定义插槽 -->
<el-table-column
v-if="item.slot"
:prop="item.value"
:label="item.name"
:width="item.width"
:align="item.align"
:fixed="item.fixed"
:show-overflow-tooltip="showOverflowTooltip"
:sortable="item.sorTable"
:formatter="formatter"
header-align="center"
:sort-orders="['descending', 'ascending', null]"
:slotHeader="slotHeader"
:render-header="renderHeader"
:key="index"
>
<template slot-scope="scope">
<slot :name="item.value" :row="scope.row"></slot>
</template>
</el-table-column>
<!-- 默认数据 -->
<el-table-column
v-else
:prop="item.value"
:label="item.name"
:index="item.index"
:width="item.width"
:align="item.align"
:fixed="item.fixed"
:sortable="item.sorTable"
:column-key="index.toString()"
:show-overflow-tooltip="showOverflowTooltip"
header-align="center"
:sort-orders="['descending', 'ascending', null]"
:slotHeader="slotHeader"
:render-header="renderHeader"
:formatter="formatter"
:key="index"
>
</el-table-column>
</template>
<slot name="optionColumn"></slot>
</el-table>
<!-- 分页 -->
<el-pagination
:total="totalCount"
:page-size.sync="limitSize"
:current-page.sync="pageNum"
:page-sizes="pageSizes"
background
layout="prev, pager, next, jumper, ->, sizes, total"
class="tablePagination"
......@@ -68,6 +95,7 @@
@current-change="currentChange"
>
</el-pagination>
<!-- 表头控制 -->
<div class="tableInfo" v-if="infoShow">
<ul class="tableList" v-show="show">
<el-checkbox-group v-model="checkDisabled">
......@@ -75,7 +103,6 @@
class="flexList"
v-for="(item, index) in newHeader"
:key="index"
v-if="!item.type"
:title="item.name"
>
<div>
......@@ -100,40 +127,15 @@
</template>
<script>
let exSlot = {
fucntional: true,
props: {
row: Object,
render: Function,
index: [Number, String],
column: {
type: Object,
default: null,
},
},
render: (h, data) => {
console.log(data);
if (data) {
const params = {
row: data.props.row,
index: data.props.index,
};
if (data.props.column) params.column = data.props.column;
return data.props.render(h, params);
}
},
};
import dictLabels from "../../assets/languages/dictLabels.js";
import { scrollTo } from "@/utils/scroll-to";
export default {
name: "Table",
components: {
exSlot,
},
props: {
//dom名称
tableName: { type: String, default: "tables" },
//表格数据
ductName: { type: String, default: null },
data: {
type: Array,
default() {
......@@ -158,9 +160,13 @@ export default {
default: "mini",
},
height: {
type: [String,Number],
type: [String, Number],
default: "400",
},
selection: {
type: Boolean,
default: false,
},
fit: {
type: Boolean,
default: true,
......@@ -207,10 +213,10 @@ export default {
type: Number,
default: 1,
},
// pageSizes:{
// type:Array,
// default:[10, 20, 30, 40, 50, 100]
// },
pageSizes: {
type: Array,
default: [10, 20, 30, 40, 50, 100],
},
//每页长度
limitSize: {
type: Number,
......@@ -242,10 +248,10 @@ export default {
type: Boolean,
default: false,
},
infoShow:{
type:Boolean,
default:false,
}
infoShow: {
type: Boolean,
default: true,
},
},
inheritAttrs: false,
data() {
......@@ -264,7 +270,6 @@ export default {
},
//表头数据格式
// {
// type: "",
// name: "",
// value: "",
// width: "",
......@@ -288,17 +293,17 @@ export default {
this.data.forEach((item, index) => {
item.index = index;
});
this.$nextTick(()=>{
this.$refs.tables.doLayout()
})
this.$nextTick(() => {
this.$refs.tables.doLayout();
});
},
headerData(val, oldVal) {
this.newHeader = val;
},
},
methods: {
sizeChange(val){
this.$emit("sizeChange",val)
sizeChange(val) {
this.$emit("sizeChange", val);
},
//下一页
nextClick() {
......@@ -413,14 +418,14 @@ export default {
"div",
{
class: ["thead-cell"],
// on: {
// mousedown: ($event) => {
// this.handleMouseDown($event, column);
// },
// mousemove: ($event) => {
// this.handleMouseMove($event, column);
// },
// },
on: {
mousedown: ($event) => {
this.handleMouseDown($event, column);
},
mousemove: ($event) => {
this.handleMouseMove($event, column);
},
},
},
[
// 添加 <a> 用于显示表头 label
......@@ -432,84 +437,79 @@ export default {
]
);
},
// 按下鼠标开始拖动
// handleMouseDown(e, column) {
// this.dragState.dragging = true;
// this.dragState.start = parseInt(column.columnKey);
// // 给拖动时的虚拟容器添加宽高
// let table = document.getElementsByClassName("w-table")[0];
// let virtual = document.getElementsByClassName("virtual");
// for (let item of virtual) {
// item.style.height = table.clientHeight - 1 + "px";
// item.style.width = item.parentElement.parentElement.clientWidth + "px";
// }
// document.addEventListener("mouseup", this.handleMouseUp);
// },
handleMouseDown(e, column) {
this.dragState.dragging = true;
this.dragState.start = parseInt(column.columnKey);
// 给拖动时的虚拟容器添加宽高
let table = document.getElementsByClassName("w-table")[0];
let virtual = document.getElementsByClassName("virtual");
for (let item of virtual) {
item.style.height = table.clientHeight - 1 + "px";
item.style.width = item.parentElement.parentElement.clientWidth + "px";
}
document.addEventListener("mouseup", this.handleMouseUp);
},
// 鼠标放开结束拖动
// handleMouseUp() {
// this.dragColumn(this.dragState);
// // 初始化拖动状态
// this.dragState = {
// start: -9,
// end: -9,
// dragging: false,
// direction: undefined,
// };
// document.removeEventListener("mouseup", this.handleMouseUp);
// },
handleMouseUp() {
this.dragColumn(this.dragState);
// 初始化拖动状态
this.dragState = {
start: -9,
end: -9,
dragging: false,
direction: undefined,
};
document.removeEventListener("mouseup", this.handleMouseUp);
},
// 拖动中
// handleMouseMove(e, column) {
// if (this.dragState.dragging) {
// let index = parseInt(column.columnKey); // 记录起始列
// if (index - this.dragState.start !== 0) {
// this.dragState.direction =
// index - this.dragState.start < 0 ? "left" : "right"; // 判断拖动方向
// this.dragState.end = parseInt(column.columnKey);
// } else {
// this.dragState.direction = undefined;
// }
// } else {
// return false;
// }
// },
handleMouseMove(e, column) {
if (this.dragState.dragging) {
let index = parseInt(column.columnKey); // 记录起始列
if (index - this.dragState.start !== 0) {
this.dragState.direction =
index - this.dragState.start < 0 ? "left" : "right"; // 判断拖动方向
this.dragState.end = parseInt(column.columnKey);
} else {
this.dragState.direction = undefined;
}
} else {
return false;
}
},
// 拖动易位
// dragColumn({ start, end, direction }) {
// let tempData = [];
// let left = direction === "left";
// let min = left ? end : start - 1;
// let max = left ? start + 1 : end;
// for (let i = 0; i < this.newHeader.length; i++) {
// if (i === end) {
// tempData.push(this.newHeader[start]);
// } else if (i > min && i < max) {
// tempData.push(this.newHeader[left ? i - 1 : i + 1]);
// } else {
// tempData.push(this.newHeader[i]);
// }
// }
// this.newHeader = tempData;
// },
// headerCellClassName({ column, columnIndex }) {
// let active =
// columnIndex - 1 === this.dragState.end
// ? `darg_active_${this.dragState.direction}`
// : "";
// let start = columnIndex - 1 === this.dragState.start ? `darg_start` : "";
// return `${active} ${start}`;
// },
// cellClassName({ column, columnIndex }) {
// return columnIndex - 1 === this.dragState.start ? `darg_start` : "";
// },
dragColumn({ start, end, direction }) {
let tempData = [];
let left = direction === "left";
let min = left ? end : start - 1;
let max = left ? start + 1 : end;
for (let i = 0; i < this.newHeader.length; i++) {
if (i === end) {
tempData.push(this.newHeader[start]);
} else if (i > min && i < max) {
tempData.push(this.newHeader[left ? i - 1 : i + 1]);
} else {
tempData.push(this.newHeader[i]);
}
}
this.newHeader = tempData;
},
headerCellClassName({ column, columnIndex }) {
let active =
columnIndex - 1 === this.dragState.end
? `darg_active_${this.dragState.direction}`
: "";
let start = columnIndex - 1 === this.dragState.start ? `darg_start` : "";
return `${active} ${start}`;
},
cellClassName({ column, columnIndex }) {
return columnIndex - 1 === this.dragState.start ? `darg_start` : "";
},
//数据格式化
formatter(row, column, cellValue, index) {
if (dictLabels[column.property]) {
if (dictLabels[column.property][cellValue]) {
return dictLabels[column.property][cellValue];
if (dictLabels[this.ductName][column.property]) {
if (dictLabels[this.ductName][column.property][cellValue]) {
return dictLabels[this.ductName][column.property][cellValue];
}
}
if (column.property == "roleNames") {
......@@ -527,7 +527,7 @@ export default {
text-align: right;
}
.w-table {
height:100%;
height: 100%;
 .el-table .darg_start {
background-color: #f3f3f3;
}
......
......@@ -37,12 +37,14 @@
label-position="right"
label-width="auto"
style="width: 400px; margin: 30px auto"
v-model="formData"
>
<el-form-item label="航班号" prop="fltNo">
<el-input
v-model="fltNo"
size="medium"
placeholder="请输入航班号"
maxlength="10"
style="width: 350px"
></el-input>
</el-form-item>
......@@ -134,7 +136,7 @@ export default {
},
//确定配舱
submit() {
this.loading= true;
this.loading =true;
let arr = [];
this.tableData.forEach((item) => {
arr.push(item.id);
......@@ -142,6 +144,7 @@ export default {
this.formData.ids = arr;
if (this.formData.fltNo && this.formData.fltDate) {
allocationFlight(this.formData).then((res) => {
this.loading = false;
//code 200 配舱成功 202 重量已满需要确认 其余code直接输出msg
if (res.code === 200) {
this.$message({
......@@ -149,7 +152,6 @@ export default {
type: "success",
});
this.cleaerForm();
this.loading = false;
this.$emit("dialogBeforeClose", { close: false, reload: true });
} else if (res.code === 202) {
MessageBox.confirm(res.msg, "提示", {
......@@ -173,7 +175,6 @@ export default {
}
});
this.cleaerForm();
this.loading = false;
this.$emit("dialogBeforeClose", { close: false, reload: true });
})
.catch(() => {
......@@ -183,7 +184,6 @@ export default {
type: "success",
});
this.cleaerForm();
this.loading = false;
this.$emit("dialogBeforeClose", {
close: false,
reload: true,
......@@ -209,6 +209,7 @@ export default {
},
dialogBeforeClose() {
this.cleaerForm();
this.$refs['form'].clearValidate();
this.$emit("dialogBeforeClose", { close: false, reload: true });
},
formatter(row, column, cellValue, index){
......
......@@ -114,18 +114,10 @@
>新增</el-button
>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['base:flightInfo:delete']"
>删除
</el-button>
<el-button
type="primary"
icon="el-icon-circle-check"
size="mini"
:disabled="ids.length == 0"
@click="handleFlightStatus('flightStatus10')"
v-hasPermi="['base:flightInfo:open']"
>自动配舱开启</el-button
......@@ -134,16 +126,46 @@
type="primary"
icon="el-icon-circle-close"
size="mini"
:disabled="ids.length == 0"
@click="handleFlightStatus('flightStatus80')"
v-hasPermi="['base:flightInfo:close']"
>自动配舱关闭</el-button
>
<el-button
type="primary"
icon="el-icon-circle-check"
size="mini"
:disabled="ids.length == 0"
@click="autoPushBatch('open')"
v-hasPermi="['base:flightInfo:autoPushOpen']"
>自动推送开启</el-button
>
<el-button
type="primary"
icon="el-icon-circle-close"
size="mini"
:disabled="ids.length == 0"
@click="autoPushBatch('close')"
v-hasPermi="['base:flightInfo:autoPushClose']"
>自动推送关闭</el-button
>
<el-button
type="danger"
icon="el-icon-delete"
size="mini"
:disabled="ids.length == 0"
@click="handleDelete"
v-hasPermi="['base:flightInfo:delete']"
>删除
</el-button>
</el-form>
<Tables
ref="flightInfoTable"
ductName="FlightInformation"
:data="findAllFltDatList"
:headerData="tableHeader"
:infoData="tableHeader"
:selection="true"
:totalCount="total"
:loading="loading"
:limitSize="queryParams.limitSize"
......@@ -151,13 +173,14 @@
:shiftKey="shiftKey"
:infoShow="false"
:height="tableHeight"
:pageSizes="[20, 30, 40, 50, 100]"
@tableSelect="tableSelect"
@tableSelectAll="tableSelectAll"
@currentChange="currentChange"
@sortChange="sortChange"
@sizeChange="sizeChange"
>
<template>
<template slot="optionColumn">
<el-table-column
v-if="findAllFltDatList.length > 0"
label="操作"
......@@ -221,6 +244,24 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="cutOff时间" prop="cutOffTime">
<el-select
v-model="form.cutOffTime"
clearable
placeholder="选择时间"
type="string"
>
<el-option
v-for="item in selectOption.cutOffTime"
:key="item"
:label="item"
:value="item"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="航班路线" prop="route">
<el-input
style="width: 93%"
......@@ -428,6 +469,7 @@ import {
saveOrUpdate,
findFltCommonConf,
updateStatusBatch,
updateAutoPushBatch,
} from "@/api/findAllFltData";
export default {
name: "FlightInformationMaintenance",
......@@ -483,27 +525,6 @@ export default {
//表头
tableHeader: [
{
type: "selection",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: true,
disabled: true,
},
{
type: "index",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "航班日期",
value: "fltDate",
width: "100",
......@@ -513,7 +534,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班起飞时间",
value: "takeOffTime",
width: "120",
......@@ -523,7 +543,15 @@ export default {
disabled: true,
},
{
type: "",
name: "cutOff时间",
value: "cutOffTime",
width: "110",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
name: "航班号",
value: "fltNo",
width: "100",
......@@ -533,7 +561,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班路线",
value: "route",
width: "140",
......@@ -543,7 +570,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班类型",
value: "typeName",
width: "100",
......@@ -553,7 +579,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班种类",
value: "flightKindName",
width: "100",
......@@ -563,7 +588,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班状态",
value: "statusName",
width: "100",
......@@ -573,7 +597,15 @@ export default {
disabled: true,
},
{
type: "",
name: "是否自动推送",
value: "pushDateSwitch",
width: "120",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
name: "总重量",
value: "totalWeight",
width: "90",
......@@ -583,7 +615,6 @@ export default {
disabled: true,
},
{
type: "",
name: "原始重量(KG)",
value: "originalWeight",
width: "120",
......@@ -593,39 +624,35 @@ export default {
disabled: true,
},
{
type: "",
name: "总体积(cm³)",
value: "totalVolume",
width: "100",
name: "已配重量",
value: "alloctedWeight",
width: "90",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "是否限制一票一件",
value: "ticketToPiece",
width: "140",
name: "是否需要预审",
value: "needRequired",
width: "130",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "是否需要预审",
value: "needRequired",
width: "130",
name: "是否开启高地价",
value: "highLowPriceFlg",
width: "140",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "是否开启高地价",
value: "highLowPriceFlg",
name: "是否限制一票一件",
value: "ticketToPiece",
width: "140",
align: "center",
sorTable: false,
......@@ -633,7 +660,6 @@ export default {
disabled: true,
},
{
type: "",
name: "额外增重百分比",
value: "extraWeightPercent",
width: "140",
......@@ -643,7 +669,6 @@ export default {
disabled: true,
},
{
type: "",
name: "高价百分比",
value: "highPriceWeightPercent",
width: "120",
......@@ -653,7 +678,6 @@ export default {
disabled: true,
},
{
type: "",
name: "低价百分比",
value: "lowPriceWeightPercent",
width: "120",
......@@ -663,17 +687,15 @@ export default {
disabled: true,
},
{
type: "",
name: "已配重量",
value: "alloctedWeight",
width: "90",
name: "总体积(cm³)",
value: "totalVolume",
width: "100",
align: "center",
sorTable: false,
fixed: false,
disabled: true,
},
{
type: "",
name: "已配体积(cm³)",
value: "alloctedVolume",
width: "120",
......@@ -683,7 +705,6 @@ export default {
disabled: true,
},
{
type: "",
name: "航班优先级",
value: "priorityName",
width: "100",
......@@ -693,7 +714,6 @@ export default {
disabled: true,
},
{
type: "",
name: "配舱优先级",
value: "priorityRuleName",
width: "100",
......@@ -703,7 +723,6 @@ export default {
disabled: true,
},
{
type: "",
name: "创建人",
value: "createUserName",
width: "90",
......@@ -713,7 +732,6 @@ export default {
disabled: true,
},
{
type: "",
name: "创建时间",
value: "createTime",
width: "100",
......@@ -723,7 +741,6 @@ export default {
disabled: true,
},
{
type: "",
name: "最后修改人",
value: "lastModifyUserName",
width: "120",
......@@ -733,7 +750,6 @@ export default {
disabled: true,
},
{
type: "",
name: "最后修改时间",
value: "lastModifyTime",
width: "120",
......@@ -802,10 +818,6 @@ export default {
sourceFlightAndFlightDate: [],
//高价百分比是否打开
ishighPriceWeightPercent: true,
//非单个禁用
//single: true,
//非多个禁用
multiple: true,
//遮罩层
loading: false,
//遮罩层
......@@ -828,6 +840,8 @@ export default {
},
created() {
//查询条件数据源
let date = new Date()
this.queryParams.fltDateStart = `${date.getFullYear()}-${(date.getMonth()+1).length>1?(date.getMonth()+1):'0'+(date.getMonth()+1)}-${date.getDate()}`
this.findFltConditionData();
if (this.$store.state.tagsView.cachedViews.length == 0) {
this.findAllFltData();
......@@ -836,8 +850,8 @@ export default {
activated() {
this.findAllFltData();
},
deactivated(){
this.findAllFltDatList = []
deactivated() {
this.findAllFltDatList = [];
},
mounted() {
window.addEventListener("keydown", (code) => {
......@@ -851,7 +865,7 @@ export default {
}
});
this.tableHeight =
window.innerHeight - this.$refs.queryForm.$el.offsetHeight - 150;
window.innerHeight - this.$refs.queryForm.$el.offsetHeight - 120;
},
methods: {
//输入航班号后
......@@ -947,7 +961,6 @@ export default {
/** 航班信息维护查询*/
findAllFltData() {
this.ids = [];
this.multiple = true;
this.loading = true;
if (this.queryParams.pageNum > 1) {
this.queryParams.limitStart =
......@@ -1012,15 +1025,15 @@ export default {
if (this.form.highPriceWeightPercent >= 0) {
this.$set(
this.form,
"lowPriceWeightPercent",
100 - this.form.highPriceWeightPercent
);
this.$set(
this.form,
"highAvailableWeight",
(Weight - this.form.alloctedWeight) *
(this.form.highPriceWeightPercent / 100)
);
this.$set(
this.form,
"lowPriceWeightPercent",
100 - this.form.highPriceWeightPercent
);
// this.form.HighAvailableWeight = Weightall * (this.form.highPriceWeightPercent / 100)
} else if (
this.title == "修改航班信息" &&
......@@ -1081,9 +1094,7 @@ export default {
Weightall() {
let Weight = 0;
if (this.form.extraWeightPercent > 0) {
Weight =
this.form.originalWeight +
this.form.originalWeight * (this.form.extraWeightPercent / 100);
Weight =this.form.originalWeight * (this.form.extraWeightPercent / 100)+this.form.originalWeight;
} else {
Weight = this.form.originalWeight;
}
......@@ -1107,7 +1118,7 @@ export default {
//是否预审
// this.form.isNeedRequired = this.form.isNeedRequired === 1 ? true : false;
// 计算高地价可配
this.LowHighAvailable();
// this.LowHighAvailable();
} else {
this.msgError(response.msg);
}
......@@ -1214,32 +1225,76 @@ export default {
//批量开启/关闭航班
handleFlightStatus(status) {
let handle = status == "flightStatus80" ? "关闭" : "开启";
if (this.ids.length == 0) {
this.msgError("请选择批量" + handle + "的航班");
return;
let data = {
updateIds: [],
};
this.ids.map(item=>{
data.status = status;
if(status === 'flightStatus80'){
if(item.statusName === '已开启'){
data.updateIds.push(item.id)
}
}else{
if(item.statusName === '已关闭'){
data.updateIds.push(item.id)
}
}
})
if(data.updateIds.length > 0){
updateStatusBatch(data).then((response) => {
if (response.code === 200) {
this.msgSuccess(handle + "成功");
this.findAllFltData();
} else {
this.msgError(response.msg);
}
});
}
let data = {};
data.status = status;
data.updateIds = this.ids;
updateStatusBatch(data).then((response) => {
if (response.code === 200) {
this.msgSuccess(handle + "成功");
this.findAllFltData();
} else {
this.msgError(response.msg);
},
//自动推送开关
autoPushBatch(status) {
let msg = status == "open" ? "开启" : "关闭";
let data = {
updateIds: [],
};
this.ids.map((item) => {
if (status === "open") {
data.status = "1";
if (item.pushDateSwitch != "1") {
data.updateIds.push(item.id);
}
} else if (status === "close") {
data.status = "2";
if (item.pushDateSwitch != "2") {
data.updateIds.push(item.id);
}
}
});
if(data.updateIds.length > 0){
updateAutoPushBatch(data)
.then((res) => {
if (res.code === 200) {
this.msgSuccess(`自动推送${msg}成功`);
this.findAllFltData();
} else {
this.msgError(res.msg);
}
})
.catch(err => {
this.msgError(err);
});
}else{
this.msgSuccess(`自动推送${msg}成功`);
this.findAllFltData();
}
},
//多选框选中数据
tableSelect(val) {
this.ids = val.selection.map((item) => item.id);
this.multiple = !val.selection.length;
this.ids = val.selection;
},
//全选
tableSelectAll(val) {
this.ids = val.selection.map((item) => item.id);
this.multiple = !val.selection.length;
this.ids = val;
},
//分页
currentChange(val) {
......
......@@ -232,15 +232,21 @@
</el-form>
<Tables
ref="newTables"
ductName="cargo"
:data="tableData"
:headerData="tableHeader"
:infoData="tableHeader"
:selection="true"
:totalCount="totalCount"
:loading="tableLoading"
:limitSize="limitSize"
:limitStart="limitStart"
:page="page"
:shiftKey="shiftKey"
:infoShow="false"
:pageSizes="[100]"
:height="tableHeight"
@sizeChange="sizeChange"
@tableSelect="tableSelect"
@tableSelectAll="tableSelectAll"
@currentChange="currentChange"
......@@ -288,27 +294,6 @@ export default {
}, //表单数据
tableHeader: [
{
type: "selection",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: true,
disabled:true
},
{
type: "index",
name: "",
value: "",
width: "50",
align: "center",
sorTable: false,
fixed: false,
disabled:true
},
{
type: "",
name: "口岸代码",
value: "portName",
width: "120",
......@@ -318,7 +303,6 @@ export default {
disabled:true
},
{
type: "",
name: "取件日期",
value: "pickUpDate",
width: "120",
......@@ -328,7 +312,6 @@ export default {
disabled:true
},
{
type: "",
name: "取件扫描号",
value: "pickUpScanNo",
width: "120",
......@@ -338,7 +321,6 @@ export default {
disabled:true
},
{
type: "",
name: "站点",
value: "siteName",
width: "80",
......@@ -348,7 +330,6 @@ export default {
disabled:true
},
{
type: "",
name: "运单号",
value: "waybillNo",
width: "150",
......@@ -358,7 +339,6 @@ export default {
disabled:true
},
{
type: "",
name: "总单号",
value: "totalWaybillNo",
width: "150",
......@@ -368,7 +348,6 @@ export default {
disabled:true
},
{
type: "",
name: "服务类型",
value: "serviceTypeName",
width: "100",
......@@ -378,7 +357,6 @@ export default {
disabled:true
},
{
type: "",
name: "服务代码",
value: "serviceCode",
width: "90",
......@@ -388,7 +366,6 @@ export default {
disabled:true
},
{
type: "",
name: "URSA",
value: "ursa",
width: "100",
......@@ -398,7 +375,6 @@ export default {
disabled:true
},
{
type: "",
name: "申报类型",
value: "typeName",
width: "100",
......@@ -408,7 +384,6 @@ export default {
disabled:true
},
{
type: "",
name: "HandlingCode",
value: "handingCode",
width: "150",
......@@ -418,7 +393,6 @@ export default {
disabled:true
},
{
type: "",
name: "subcategory",
value: "subCategory",
width: "150",
......@@ -428,7 +402,6 @@ export default {
disabled:true
},
{
type: "",
name: "件数",
value: "qty",
width: "80",
......@@ -438,7 +411,6 @@ export default {
disabled:true
},
{
type: "",
name: "实际重量",
value: "actualWeight",
width: "100",
......@@ -448,7 +420,6 @@ export default {
disabled:true
},
{
type: "",
name: "收件人国家代码",
value: "consigneeCountry",
width: "150",
......@@ -458,7 +429,6 @@ export default {
disabled:true
},
{
type: "",
name: "品名描述",
value: "nameDescription",
width: "100",
......@@ -468,7 +438,6 @@ export default {
disabled:true
},
{
type: "",
name: "海关回执状态",
value: "customsReceiptStatusName",
width: "140",
......@@ -478,7 +447,6 @@ export default {
disabled:true
},
{
type: "",
name: "预审状态",
value: "preQualificationStatus",
width: "100",
......@@ -488,7 +456,6 @@ export default {
disabled:true
},
{
type: "",
name: "航班预审意见",
value: "caPretrialOpinion",
width: "140",
......@@ -498,7 +465,6 @@ export default {
disabled:true
},
{
type: "",
name: "货物状态",
value: "statusName",
width: "100",
......@@ -508,7 +474,6 @@ export default {
disabled:true
},
{
type: "",
name: "终配航班号",
value: "finalFlightNo",
width: "130",
......@@ -518,7 +483,6 @@ export default {
disabled:true
},
{
type: "",
name: "终配航班日期",
value: "finalFlightTime",
width: "150",
......@@ -528,7 +492,6 @@ export default {
disabled:true
},
{
type: "",
name: "二配航班号",
value: "twoMatchFlightNo",
width: "130",
......@@ -538,7 +501,6 @@ export default {
disabled:true
},
{
type: "",
name: "二配航班日期",
value: "twoMatchFlightTime",
width: "150",
......@@ -548,7 +510,6 @@ export default {
disabled:true
},
{
type: "",
name: "预配航班号",
value: "preplanFlightNo",
width: "130",
......@@ -558,7 +519,6 @@ export default {
disabled:true
},
{
type: "",
name: "预配航班日期",
value: "preplanFlightTime",
width: "150",
......@@ -568,7 +528,6 @@ export default {
disabled:true
},
{
type: "",
name: "ACCS原航班号",
value: "fltNoAccs",
width: "140",
......@@ -578,7 +537,6 @@ export default {
disabled:true
},
{
type: "",
name: "ACCS原航班日期",
value: "fltDateAccs",
width: "150",
......@@ -588,7 +546,6 @@ export default {
disabled:true
},
{
type: "",
name: "ACCS原航线",
value: "accsFlightRoute",
width: "150",
......@@ -598,7 +555,6 @@ export default {
disabled:true
},
{
type: "",
name: "是否RDE手工录入",
value: "manualRde",
width: "170",
......@@ -608,7 +564,6 @@ export default {
disabled:true
},
{
type: "",
name: "是否自动",
value: "cargoRulesStatus",
width: "100",
......@@ -618,7 +573,6 @@ export default {
disabled:true
},
{
type: "",
name: "发件人账号",
value: "shipperAccount",
width: "150",
......@@ -628,7 +582,6 @@ export default {
disabled:true
},
{
type: "",
name: "发件公司中文名称",
value: "shipperCompany",
width: "150",
......@@ -638,7 +591,6 @@ export default {
disabled:true
},
{
type: "",
name: "始发地城市名称",
value: "originCity",
width: "150",
......@@ -648,7 +600,6 @@ export default {
disabled:true
},
{
type: "",
name: "收件地",
value: "destinationSiteName",
width: "90",
......@@ -658,7 +609,6 @@ export default {
disabled:true
},
{
type: "",
name: "尺寸",
value: "sizeStr",
width: "80",
......@@ -668,7 +618,6 @@ export default {
disabled:true
},
{
type: "",
name: "大货预审意见(是否可以配置航班)",
value: "bigPretrialOpinion",
width: "250",
......@@ -678,7 +627,6 @@ export default {
disabled:true
},
{
type: "",
name: "大货预审时间",
value: "bigPretrialTime",
width: "150",
......@@ -688,7 +636,6 @@ export default {
disabled:true
},
{
type: "",
name: "海关回执时间",
value: "customsReceiptTime",
width: "150",
......@@ -698,7 +645,6 @@ export default {
disabled:true
},
{
type: "",
name: "航班预审时间",
value: "caPretrialTime",
width: "150",
......@@ -708,7 +654,6 @@ export default {
disabled:true
},
{
type: "",
name: "创建人",
value: "createUserName",
width: "90",
......@@ -718,7 +663,6 @@ export default {
disabled:true
},
{
type: "",
name: "创建时间",
value: "createTime",
width: "120",
......@@ -928,6 +872,10 @@ export default {
item.index = index;
});
},
sizeChange(val){
this.limitSize = val
this.select(0);
},
// 导出表格
xlse(page) {
this.progress = 1;
......
......@@ -19,24 +19,40 @@
default-expand-all
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column
v-for="(item, index) in tableHeader"
:prop="item.value"
:label="item.name"
:key="index"
:align="item.align"
header-align="center"
showOverflowTooltip
:width="item.width"
:formatter="formatter"
>
<template slot-scope="scope">
<el-tag v-if="item.value === 'menuType'" :type="scope.row.menuType === 'B'?'':'success'"
disable-transitions>{{scope.row.menuType === 'B'?'按钮':'菜单'}}</el-tag>
<span v-else>{{scope.row.title}}</span>
</template>
</el-table-column>
<template v-for="(item, index) in tableHeader">
<el-table-column
v-if="item.value === 'menuType'"
:prop="item.value"
:label="item.name"
:key="index"
:align="item.align"
header-align="center"
showOverflowTooltip
:width="item.width"
:formatter="formatter"
>
<template slot-scope="scope">
<el-tag
:type="scope.row.menuType === 'B' ? '' : 'success'"
disable-transitions
>{{ scope.row.menuType === "B" ? "按钮" : "菜单" }}</el-tag
>
</template>
</el-table-column>
<el-table-column
v-else
:prop="item.value"
:label="item.name"
:key="index"
:align="item.align"
header-align="center"
showOverflowTooltip
:width="item.width"
:formatter="formatter"
>
</el-table-column>
</template>
<el-table-column
header-align="center"
align="center"
......@@ -112,7 +128,7 @@ import dictLabels from "@/assets/languages/dictLabels.js";
import Drawer from "./drawer.vue";
import { MessageBox } from "element-ui";
export default {
name:"MenuConfig",
name: "MenuConfig",
components: {
Drawer,
},
......@@ -120,13 +136,12 @@ export default {
return {
drawer: false,
menuFormDisabled: false,
loading:false,
loading: false,
drawerTitle: "",
menuData: {},
data: [],
tableHeader: [
{
type: "",
name: "菜单名",
value: "title",
width: "200",
......@@ -134,7 +149,6 @@ export default {
sorTable: false,
},
{
type: "",
name: "菜单类型",
value: "menuType",
width: "100",
......@@ -142,7 +156,6 @@ export default {
sortable: false,
},
{
type: "",
name: "权限标识",
value: "permissionKey",
width: "auto",
......@@ -150,7 +163,6 @@ export default {
sortable: false,
},
{
type: "",
name: "菜单状态",
value: "status",
width: "100",
......@@ -158,7 +170,6 @@ export default {
sorTable: false,
},
{
type: "",
name: "菜单路由",
value: "path",
width: "auto",
......@@ -169,15 +180,15 @@ export default {
};
},
created() {
if(this.$store.state.tagsView.cachedViews.length == 0){
if (this.$store.state.tagsView.cachedViews.length == 0) {
this.menuAll();
}
},
activated(){
activated() {
this.menuAll();
},
deactivated(){
this.data = []
deactivated() {
this.data = [];
},
methods: {
addMenu() {
......@@ -202,24 +213,26 @@ export default {
//表格数据
menuAll() {
this.loading = true;
getAllAuth().then((res) => {
this.loading = false;
if (res.code === 200) {
res.data.length > 0
? (this.data = res.data)
: this.$message({
message: "数据为空",
type: "warning",
});
} else {
this.$message({
message: res.msg,
type: "warning",
});
}
}).catch(()=>{
this.loading = false;
});
getAllAuth()
.then((res) => {
this.loading = false;
if (res.code === 200) {
res.data.length > 0
? (this.data = res.data)
: this.$message({
message: "数据为空",
type: "warning",
});
} else {
this.$message({
message: res.msg,
type: "warning",
});
}
})
.catch(() => {
this.loading = false;
});
},
//菜单状态改变
......@@ -232,7 +245,7 @@ export default {
message: "操作成功",
type: "success",
});
location.reload()
location.reload();
} else {
this.$message({
message: res.msg,
......@@ -280,11 +293,11 @@ export default {
})
.catch(() => {});
},
formatter(row, column, cellValue, index) {
if (dictLabels[column.property]) {
if (dictLabels[column.property][cellValue]) {
return dictLabels[column.property][cellValue];
if (dictLabels["menu"][column.property]) {
if (dictLabels["menu"][column.property][cellValue]) {
return dictLabels["menu"][column.property][cellValue];
}
}
return cellValue;
......
......@@ -65,7 +65,6 @@
:props="defaultProps"
:show-checkbox="true"
:default-checked-keys="roleData.menuIds"
check-strictly
accordion
>
</el-tree>
......@@ -138,7 +137,7 @@ export default {
getAllAuth()
.then((res) => {
if (res.code === 200) {
this.treeData = res.data;
this.treeData = this.treeDataInfo(res.data);
} else {
this.$message({
message: res.msg,
......@@ -150,22 +149,22 @@ export default {
console.log(err);
});
},
watch:{
roleFormDisabled(){
this.treeData = this.treeDisabled(this.treeData)
watch: {
roleFormDisabled() {
this.treeData = this.treeDisabled(this.treeData);
},
drawer(val,oldVal){
if(val){
drawer(val, oldVal) {
if (val) {
this.roleForm = this.roleData;
}else{
} else {
this.loading = false;
}
}
}
},
},
methods: {
//关闭
handleClose() {
this.$refs['roleForm'].clearValidate();
this.$refs["roleForm"].clearValidate();
this.$emit("handleClose", false);
},
......@@ -173,7 +172,11 @@ export default {
submit() {
let formData = {};
this.loading = true;
formData.menuIdList = this.$refs.tree.getCheckedKeys();
let arr = [];
arr = this.$refs.tree.getCheckedKeys().filter((item,index)=>{
return this.$refs.tree.getCheckedKeys().indexOf(item) == index
})
formData.menuIdList = arr;
this.roleData ? (formData.id = this.roleData.id) : "";
formData.remark = this.roleForm.remark;
formData.valid = this.roleForm.valid;
......@@ -204,9 +207,24 @@ export default {
let data = [];
val.forEach((item) => {
item.disabled = this.roleFormDisabled;
data.push(item)
data.push(item);
if (item.children && item.children.length) {
item.children = this.treeDisabled(item.children);
}
});
return data;
},
treeDataInfo(val) {
let data = [];
val.forEach((item) => {
let menuItem = {};
menuItem.id = item.id;
menuItem.title = item.title;
data.push(menuItem)
if (item.children && item.children.length) {
item.children = this.treeDisabled(item.children)
menuItem.children = this.treeDataInfo(item.children);
menuItem.children.unshift({id:item.id,title:`${item.title}(菜单)`})
}
});
return data;
......
......@@ -28,8 +28,8 @@
<el-col :span="6">
<el-form-item label="状态">
<el-select v-model="formData.valid" placeholder="角色状态" clearable>
<el-option label="开启" value="1"> </el-option>
<el-option label="关闭" value="2"> </el-option>
<el-option label="启用" value="1"> </el-option>
<el-option label="停用" value="2"> </el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -49,19 +49,21 @@
>
</div>
<Tables
ductName="role"
:data="data"
:headerData="tableHeader"
:infoData="tableHeader"
:totalCount="total"
:limitSize="formData.size"
:page="formData.page"
:infoShow="false"
:pageSizes="[20,30,40,50]"
:loading="tableLoading"
height="600"
@sizeChange="sizeChange"
@currentChange="currentChange"
>
<template>
<template slot="optionColumn">
<el-table-column header-align="center" align="center" label="操作">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="buttonClick(scope, 0)"
......@@ -120,16 +122,6 @@ export default {
data: [], //表格数据
tableHeader: [
{
type: "index",
name: "",
value: "",
width: "",
align: "center",
sorTable: false,
disabled:true
},
{
type: "",
name: "角色名称",
value: "name",
width: "150px",
......@@ -138,7 +130,6 @@ export default {
disabled:true
},
{
type: "",
name: "角色状态",
value: "valid",
width: "150px",
......@@ -147,7 +138,6 @@ export default {
disabled:true
},
{
type: "",
name: "创建人",
value: "createUserName",
width: "150px",
......@@ -156,7 +146,6 @@ export default {
disabled:true
},
{
type: "",
name: "创建时间",
value: "createTime",
width: "150px",
......@@ -165,7 +154,6 @@ export default {
disabled:true
},
{
type: "",
name: "修改时间",
value: "updateTime",
width: "150px",
......@@ -174,7 +162,6 @@ export default {
disabled:true
},
{
type: "",
name: "备注",
value: "remark",
width: "400px",
......
......@@ -23,8 +23,8 @@
<el-col :span="6">
<el-form-item label="状态">
<el-select placeholder="用户状态" v-model="formData.isValid" clearable>
<el-option label="开启" value="1"> </el-option>
<el-option label="关闭" value="2"> </el-option>
<el-option label="启用" value="1"> </el-option>
<el-option label="停用" value="2"> </el-option>
</el-select>
</el-form-item>
</el-col>
......@@ -44,18 +44,20 @@
>
</div>
<Tables
ductName="user"
:data="data"
:headerData="tableHeader"
:limitSize="formData.size"
:totalCount="total"
:loading="loading"
:page="formData.page"
:infoShow="false"
:pageSizes="[20,30,40,50]"
height="600"
@sizeChange="sizeChange"
@currentChange="currentChange"
>
<template>
<template slot="optionColumn">
<el-table-column
header-align="center"
align="center"
......@@ -147,16 +149,6 @@ export default {
}, //查询条件
tableHeader: [
{
type: "index",
name: "",
value: "",
width: "",
align: "center",
sorTable: false,
disabled:true
},
{
type: "",
name: "员工号",
value: "loginName",
width: "150px",
......@@ -165,7 +157,6 @@ export default {
disabled:true
},
{
type: "",
name: "用户姓名",
value: "username",
width: "150px",
......@@ -174,7 +165,6 @@ export default {
disabled:true
},
{
type: "",
name: "所属口岸",
value: "portName",
width: "150px",
......@@ -183,7 +173,6 @@ export default {
disabled:true
},
{
type: "",
name: "所属角色",
value: "roleNames",
width: "150px",
......@@ -192,7 +181,6 @@ export default {
disabled:true
},
{
type: "",
name: "电子邮箱",
value: "email",
width: "150px",
......@@ -201,16 +189,14 @@ export default {
disabled:true
},
{
type: "",
name: "用户状态",
value: "isValid",
width: "100px",
align: "center",
sorTable: false,
disabled:true
disabled:true,
},
{
type: "",
name: "修改时间",
value: "updateTime",
width: "150px",
......@@ -219,7 +205,6 @@ export default {
disabled:true
},
{
type: "",
name: "备注",
value: "remark",
width: "150px",
......