Elements-SY

modify

......@@ -10,9 +10,9 @@ export function findHsCodeList(data) {
}
// HScode黑名单删除
export function delBlackList(data) {
export function delHsCodeListList(data) {
return request({
url: "/etes/delBlackList",
url: "/etes/delHsCodeListList",
method: "post",
data: data,
});
......
......@@ -19,9 +19,9 @@ export function uploadShipmentDesc(data) {
}
// HScode黑名单/英文品名删除
export function delBlackList(data) {
export function delShipmentDescList(data) {
return request({
url: "/etes/delBlackList ",
url: "/etes/delShipmentDescList ",
method: "post",
data: data,
});
......
......@@ -45,7 +45,7 @@
<!-- 输入框 -->
<el-input
v-if="item.type === 'Input'"
v-model.trim="tempQueryForm[item.prop]"
v-model="tempQueryForm[item.prop]"
:style="{ width: item.inputWidth }"
:disabled="item.disable"
:placeholder="
......
<template>
<template>
<div class="table-container">
<el-row
v-if="attrs.btnCofig.isBtn"
......@@ -161,6 +161,7 @@ export default {
// this.columns
}
},
mounted() {
//阻止火狐拖拽新建新页面
document.body.addEventListener(
......@@ -171,14 +172,8 @@ export default {
},
false
);
if (this.tableData.length) {
this.getTrCurrentHeight();
window.addEventListener("resize", this.getTrCurrentHeight);
// 拖拽行更新排序
// this.rowDrop();
// 拖拽列更新排序
this.columnDrop();
}
this.getTrCurrentHeight();
window.addEventListener("resize", this.getTrCurrentHeight);
},
destroyed() {
if (this.tableData.length) {
......@@ -281,22 +276,31 @@ export default {
this.useTableFunc("doLayout");
});
},
tableData() {
if (this.tableData.length && this.attrs.isDragSort) {
// 拖拽行更新排序
// this.rowDrop();
// 拖拽列更新排序
this.columnDrop();
}
},
},
};
</script>
<style lang="scss">
.el-table {
th {
padding: 0;
}
td{
padding: 0;
}
}
.first-span,.span{
display: inline-block;
.el-table {
th {
padding: 0;
}
.span{
margin-left: 6px;
td {
padding: 0;
}
}
.first-span,
.span {
display: inline-block;
}
.span {
margin-left: 6px;
}
</style>
......
This diff is collapsed. Click to expand it.
......@@ -546,6 +546,9 @@ export default {
) {
// 航班配舱设置非日期级别情况下
return true;
} else if (item.status == "1" && this.$route.query.dataStatus == "add") {
// 添加航班配舱设置非日期级别情况下
return true;
} else if (item.status == "2") {
return true;
} else {
......
......@@ -280,7 +280,7 @@ export default {
},
// 保存
saveSubmit(item, index) {
item.flightRoute = item.route;
item.flightRoute = item.route || item.flightRoute;
let parmas = JSON.parse(JSON.stringify(item));
this.returnString(parmas, "cargoType");
this.returnString(parmas, "typeOfGoods");
......@@ -289,11 +289,7 @@ export default {
this.returnString(parmas, "handlingCode");
this.returnString(parmas, "subCategory");
if (parmas.minWeight || parmas.maxWeight) {
if (
!/^(0|[1-9]\d*)(.\d{1,5})?$/.test(
parmas.minWeight || parmas.maxWeight
)
) {
if (!/^(0|[1-9]\d*)(.\d{1,5})?$/.test(parmas.minWeight || parmas.maxWeight)) {
this.msgWarning("请输入有效重量,小数保留5位");
return;
}
......@@ -336,7 +332,8 @@ export default {
];
let validate = keys.some((key) => parmas[key]);
if (validate) {
this.loading = true;
// this.loading = true;
if(parmas.flightRoute == null)return
updateOrAddFlight(parmas)
.then((res) => {
const { code, msg, data } = res;
......
......@@ -369,16 +369,15 @@
@blur="blurRoute"
:loading="routeLoading"
:multiple="true"
:key="routeMultiple"
>
<el-option
v-for="item in routeList"
:key="item.id"
:key="item.route"
:label="item.route"
:value="item.isEtesRoute"
:value="item.route"
>
<span style="float: left">{{ item.route }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{
<span style="float: right; margin-right: 30px; color: #8492a6; font-size: 13px">{{
item.isEtesRoute == 'Y' ? '(ET86)' : ''
}}</span>
</el-option>
......@@ -395,16 +394,15 @@
@blur="blurRoute"
:loading="routeLoading"
:multiple="false"
:key="routeMultiple"
>
<el-option
v-for="item in routeList"
:key="item.id"
:label="item.route"
:value="item.isEtesRoute"
:value="item.route"
>
<span style="float: left">{{ item.route }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{
<span style="float: right; margin-right: 30px; color: #8492a6; font-size: 13px">{{
item.isEtesRoute == 'Y' ? '(ET86)' : ''
}}</span>
</el-option>
......
......@@ -38,7 +38,7 @@ import { tableAttr, columnHeader } from "./tableConfig";
import { restTableHeight } from "@/utils";
import {
findHsCodeList, // ShipmentDesc查询
delBlackList, // ShipmentDesc删除
delHsCodeListList, // ShipmentDesc删除
downLoadTemplate, // ShipmentDesc下载模板
uploadHsCode, // ShipmentDesc导入
} from "@/api/et86HsCodeBlack";
......@@ -105,8 +105,8 @@ export default {
.catch(() => {});
},
// 删除黑名单
toDelBlackList(params) {
delBlackList(params)
toDelHsCodeListList(params) {
delHsCodeListList(params)
.then((res) => {
const { code, msg } = res;
if (code == 200) {
......@@ -149,7 +149,7 @@ export default {
if (res) {
const blob = new Blob([res]);
const link = document.createElement("a"); //创建a标签
link.download = "HSCODE黑名单.xlsx"; //a标签添加属性
link.download = "HSCODE黑名单模板.xlsx"; //a标签添加属性
link.style.display = "none";
link.href = URL.createObjectURL(blob);
document.body.appendChild(link);
......@@ -176,10 +176,6 @@ export default {
// 删除
deleteData(row) {
if (this.multipleSelection.length) {
let params = [];
this.multipleSelection.map((item) => {
params.push(item.id);
});
this.$confirm("是否确认删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -187,7 +183,7 @@ export default {
center: true,
})
.then(() => {
this.toDelBlackList(params);
this.toDelHsCodeListList(this.multipleSelection);
})
.catch(() => {});
} else {
......@@ -232,7 +228,7 @@ export default {
center: true,
})
.then(() => {
this.toDelBlackList([row.id]);
this.toDelHsCodeListList([row]);
})
.catch(() => {});
},
......
......@@ -74,6 +74,12 @@ export const columnHeader = (indexAdd, deleteRow) => [
index: indexAdd,
},
{
label: "口岸",
prop: "portName",
align: "center",
minWidth: 100,
},
{
label: "HSCODE",
prop: "blackValue",
align: "center",
......
......@@ -170,7 +170,7 @@
</el-col>
<el-col :span="14">
<el-form-item label="">
<el-col :span="4" style="text-align: end; width: 8%">
<el-col :span="4" style="text-align: end; width: 9%">
<span
style="
width: 10%;
......@@ -235,12 +235,13 @@
:rows="4"
placeholder="URSA之间用分号分隔,例:F2;F3;P_"
:disabled="!getRouter"
@blur="includeUrsa"
></el-input>
</el-form-item>
</el-col>
<el-col :span="14">
<el-form-item label="">
<el-col :span="8" style="text-align: end; width: 27%"
<el-col :span="8" style="text-align: end; width: 28%"
><span
class="ursa-label"
style="
......@@ -262,6 +263,7 @@
:rows="4"
placeholder="URSA之间用分号分隔,例:F2;F3;P_"
:disabled="!getRouter"
@blur="notIncludeUrsa"
></el-input>
</el-col>
</el-form-item>
......@@ -302,7 +304,8 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="件数" class="custom-label-pieces">
<el-form-item label="" class="custom-label">
<span class="custom-label-title">件数</span>
<el-col :span="10">
<el-input
v-model.trim="queryForm.minNumOfPieces"
......@@ -357,9 +360,9 @@
<span class="custom-label-title">人民币</span>
<el-col :span="10">
<el-input
v-model.trim="minCNYCustomVal"
v-model.trim="queryForm.minCustomVal"
placeholder="最小申报价值"
@blur="inputBlurMin($event, 'minCNYCustomVal')"
@blur="inputCNYBlurMin($event, 'minCNYCustomVal')"
:disabled="!getRouter"
></el-input>
<span
......@@ -370,21 +373,22 @@
<el-col style="text-align: center" :span="1">-</el-col>
<el-col :span="10">
<el-input
v-model.trim="maxCNYCustomVal"
v-model.trim="queryForm.maxCustomVal"
placeholder="最大申报价值"
@blur="inputBlurMax($event, 'maxCNYCustomVal')"
@blur="inputCNYBlurMax($event, 'maxCNYCustomVal')"
:disabled="!getRouter"
></el-input>
</el-col>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="美元" class="custom-label-pieces">
<el-form-item label="" class="custom-label">
<span class="custom-label-title">美元</span>
<el-col :span="10">
<el-input
v-model.trim="minSUDCustomVal"
v-model.trim="queryForm.minUsdCustomVal"
placeholder="最小申报价值"
@blur="inputBlurMin($event, 'minSUDCustomVal')"
@blur="inputSUDBlurMin($event, 'minSUDCustomVal')"
:disabled="!getRouter"
></el-input>
<span
......@@ -395,9 +399,9 @@
<el-col style="text-align: center" :span="1">-</el-col>
<el-col :span="10">
<el-input
v-model.trim="maxSUDCustomVal"
v-model.trim="queryForm.maxUsdCustomVal"
placeholder="最大申报价值"
@blur="inputBlurMax($event, 'maxSUDCustomVal')"
@blur="inputSUDBlurMax($event, 'maxSUDCustomVal')"
:disabled="!getRouter"
></el-input>
</el-col>
......@@ -458,9 +462,12 @@ export default {
maxWeight: "",
minNumOfPieces: "", // 最小件数
maxNumOfPieces: "",
currencyCd: "", // 币种
minCustomVal: "", // 最小申报值
maxCustomVal: "",
currencyCd: "CNY", // 人民币种
currencyCdUsd: "SUD", // 美元币种
minCustomVal: "", // 人民币最小申报值
maxCustomVal: "", // 人民币最大申报值
minUsdCustomVal: "", // 美元最小申报值
maxUsdCustomVal: "" // 美元最大申报值
},
tableAttr: tableAttr, // table配置项
tableData: [], // ET86配舱航班顺位
......@@ -492,6 +499,11 @@ export default {
},
created() {
this.getAllDictData(); // 获取全部字典
if (this.$route.query.name == "view"){
tableAttr.isDragSort = false;
}else{
tableAttr.isDragSort = true;
}
if (this.$route.query.name == "view" || this.$route.query.name == "edit") {
this.queryFindEtesRuleById(this.$route.query); // ET86详情
} else {
......@@ -568,15 +580,13 @@ export default {
} else {
this.checkboxClassType = [];
}
// 人民币
if (data.list.fltRuleDto.currencyCd == "CNY") {
this.minCNYCustomVal = data.list.fltRuleDto.minCustomVal;
this.maxCNYCustomVal = data.list.fltRuleDto.maxCustomVal;
}
// 美元
if (data.list.fltRuleDto.currencyCd == "USD") {
this.minSUDCustomVal = data.list.fltRuleDto.minCustomVal;
this.maxSUDCustomVal = data.list.fltRuleDto.maxCustomVal;
// 服务种类
if(data.list.fltRuleDto.includeServiceType){
this.isServiceCode = "1";
}else if(data.list.fltRuleDto.notIncludeServiceType){
this.isServiceCode = "2";
}else{
this.isServiceCode = "1";
}
this.queryForm = data.list.fltRuleDto; // ET86配舱航班顺位维度
} else {
......@@ -721,6 +731,9 @@ export default {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
this.tableData.map((item,i)=>{
item.priority = ++i
})
// 爆仓是否继续配舱
const newtTableData = JSON.parse(JSON.stringify(this.tableData));
const tableData = newtTableData;
......@@ -732,23 +745,6 @@ export default {
}
});
// 校验ET86配舱航班顺位维度
if (
this.minCNYCustomVal.length != "" ||
this.maxCNYCustomVal.length != ""
) {
this.queryForm.currencyCd = "CNY";
this.queryForm.minCustomVal = this.minCNYCustomVal;
this.queryForm.maxCustomVal = this.maxCNYCustomVal;
} else if (
this.minSUDCustomVal.length != "" ||
this.maxSUDCustomVal.length != ""
) {
this.queryForm.currencyCd = "USD";
this.queryForm.minCustomVal = this.minSUDCustomVal;
this.queryForm.maxCustomVal = this.maxSUDCustomVal;
} else {
this.queryForm.currencyCd = null;
}
let fltNo = this.tableData.some((item) => item.flightNo == ""); // 通过遍历判断航班顺位列表有没有填写的航班号
let fltNoRoute = this.tableData.some(
(item) => item.flightRoute == ""
......@@ -765,14 +761,12 @@ export default {
this.msgError("原航班号不可为空");
return;
}
this.queryForm.includeServiceType =
this.isServiceCode == "1" && this.serviceCode.length > 0
? this.serviceCode
: ""; // 包含服务种类
this.queryForm.notIncludeServiceType =
this.isServiceCode == "2" && this.serviceCode.length > 0
? this.serviceCode
: ""; // 不包含服务种类
// 服务种类包含不包含二选一
if(this.isServiceCode == "1"){
this.queryForm.notIncludeServiceType = "";
}else{
this.queryForm.includeServiceType = "";
}
let parmas = {
flightRankDtoList: tableData, // ET86配舱航班顺位
fltRuleDto: this.queryForm,
......@@ -871,9 +865,4 @@ export default {
}
}
}
::v-deep .custom-label-pieces {
.el-form-item__content {
width: 80%;
}
}
</style>
......
......@@ -52,7 +52,12 @@ export default {
},
// 处理serviceCode包不包含
serviceCodeCofig() {
let str = this.serviceCode.replace(/;|;/g, ",");
let str = "";
if (this.isServiceCode == "1") {
str = this.queryForm.includeServiceType.replace(/;|;/g, ",");
} else {
str = this.queryForm.notIncludeServiceType.replace(/;|;/g, ",");
}
let arr = str.split(",");
if (arr[arr.length - 1] == "") {
arr.splice(arr.length - 1, 1);
......@@ -75,12 +80,12 @@ export default {
if (val == 1) {
if (this.serviceCodeCofig().noInclude.length) {
let tip = this.serviceCodeCofig().noInclude.toString();
this.msgError(`${tip} 不包含`);
// this.msgError(`${tip} 不包含`);
}
} else {
if (this.serviceCodeCofig().include.length) {
let tip = this.serviceCodeCofig().include.toString();
this.msgError(`${tip} 已包含`);
// this.msgError(`${tip} 已包含`);
}
}
},
......@@ -98,5 +103,31 @@ export default {
}
}
},
// 不包含
includeUrsa() {
let inUrsa = this.queryForm.includeUrsa.split(";");
// 校验开头以字母开头下划线结尾的
// let _inUrsa = inUrsa.every((item) => {
// if (item) {
// return /^[a-zA-Z]*_$/.test(item);
// }
// });
// console.log(_inUrsa);
// function hasDuplicate(arr) {
// return new Set(arr).size !== arr.length;
// }
/*
使用JavaScript写一个只能开头以字母开头下划线和分号结尾的正则表达式;
使用JavaScript写一个判断数组中有重复的字符返回true,
*/
// 要有下划线且不能出现重复的
// console.log(this.queryForm.includeUrsa.split(";"));
},
// 不包含
notIncludeUrsa() {
// 不要有下划线且不能出现重复的
},
},
};
......
......@@ -19,6 +19,7 @@
:tableData="tableData"
:pageConfig="pageConfig"
@search="searchBtn"
@download="downloadTemplate"
@upload="toUpload"
@export="exportTemplate"
@delete="deleteData"
......@@ -38,8 +39,11 @@ import { restTableHeight } from "@/utils";
import {
findShipmentDescList, // HScode英文品名黑名单查询
uploadShipmentDesc, // HScode英文品名黑名单导入
delBlackList, // HScode黑名单/英文品名删除
delShipmentDescList, // HScode黑名单/英文品名删除
} from "@/api/et86ShipmentDesc";
import {
downLoadTemplate, // ShipmentDesc/英文品名黑名下载模板
} from "@/api/et86HsCodeBlack";
import { downLoadXlsx } from "@/utils/zipdownload";
export default {
name: "et86ShipmentDesc",
......@@ -103,8 +107,8 @@ export default {
.catch(() => {});
},
// 删除黑名单
toDelBlackList(params) {
delBlackList(params)
toDelShipmentDescList(params) {
delShipmentDescList(params)
.then((res) => {
const { code, msg } = res;
if (code == 200) {
......@@ -140,13 +144,33 @@ export default {
})
.catch(() => {});
},
// 下载【英文品名黑名单下载模板】
downloadTemplate() {
downLoadTemplate("shipmentDesc")
.then((res) => {
if (res) {
const blob = new Blob([res]);
const link = document.createElement("a"); //创建a标签
link.download = "英文品名黑名单模板.xlsx"; //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("下载失败");
}
})
.catch(() => {});
},
// 导出
exportTemplate(row, i) {
this.tableAttr.btnCofig.btnGroup[i].loading = true;
downLoadXlsx(
"/etes/exportShipmentDescList",
this.queryForm,
"HSCODE英文品名黑名单表"
"英文品名黑名单表"
)
.then(() => {
this.tableAttr.btnCofig.btnGroup[i].loading = false;
......@@ -158,10 +182,6 @@ export default {
// 删除
deleteData(row) {
if (this.multipleSelection.length) {
let params = [];
this.multipleSelection.map((item) => {
params.push(item.id);
});
this.$confirm("是否确认删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
......@@ -169,7 +189,7 @@ export default {
center: true,
})
.then(() => {
this.toDelBlackList(params);
this.toDelShipmentDescList(this.multipleSelection);
})
.catch(() => {});
} else {
......@@ -185,10 +205,10 @@ export default {
});
},
// 翻页序号递增
indexAdd(index){
const page = this.pageConfig.pageData.page // 当前页码
const pagesize = this.pageConfig.pageData.size // 每页条数
return index + 1 + (page - 1) * pagesize
indexAdd(index) {
const page = this.pageConfig.pageData.page; // 当前页码
const pagesize = this.pageConfig.pageData.size; // 每页条数
return index + 1 + (page - 1) * pagesize;
},
//条数变化
handleSizeChange(e) {
......@@ -214,7 +234,7 @@ export default {
center: true,
})
.then(() => {
this.toDelBlackList([row.id]);
this.toDelShipmentDescList([row]);
})
.catch(() => {});
},
......
......@@ -17,6 +17,15 @@ export const tableAttr = {
},
{
type: "primary",
icon: "el-icon-download",
btnName: "下载模板",
size: "mini",
round: false,
loading: false,
event: "download",
},
{
type: "primary",
icon: "el-icon-upload",
btnName: "导入",
size: "mini",
......@@ -65,6 +74,12 @@ export const columnHeader = (indexAdd, deleteRow) => [
index: indexAdd,
},
{
label: "口岸",
prop: "portName",
align: "center",
minWidth: 100,
},
{
label: "ShipmentDesc",
prop: "blackValue",
align: "center",
......