zhanbo.xu

feat: 根据需求优化和开发

No preview for this file type
......@@ -235,7 +235,7 @@
}
.entrySave {
margin-top: 64px;
margin-top: 50px;
text-align: center;
.el-button {
......
@import './variables.scss';
@import './mixin.scss';
@import './transition.scss';
@import './element-ui.scss';
@import './sidebar.scss';
@import './btn.scss';
@import "./variables.scss";
@import "./mixin.scss";
@import "./transition.scss";
@import "./element-ui.scss";
@import "./sidebar.scss";
@import "./btn.scss";
@font-face {
font-family: FedExSans;
font-style: normal;
font-weight: 300;
src: url('../fonts/FedExSans_W-Light.woff') format("woff")
src: url("../fonts/FedExSans_W-Light.woff") format("woff");
}
@font-face {
font-family: FedExSans;
font-style: normal;
font-weight: 400;
src: url('../fonts/FedExSans_W-Regular.woff') format("woff")
src: url("../fonts/FedExSans_W-Regular.woff") format("woff");
}
@font-face {
font-family: FedExSans;
font-style: normal;
font-weight: 700;
src: url('../fonts/FedExSans_W-Bold.woff') format("woff")
src: url("../fonts/FedExSans_W-Bold.woff") format("woff");
}
@font-face {
font-family: FedExSansArabic;
font-style: normal;
font-weight: 700;
src: url('../fonts/FedExSans_W-Bold.woff') format("woff")
src: url("../fonts/FedExSans_W-Bold.woff") format("woff");
}
@font-face {
font-family: FedExSansArabic;
font-style: normal;
font-weight: 300;
src: url('../fonts/FedExSans_W-Light.woff') format("woff")
src: url("../fonts/FedExSans_W-Light.woff") format("woff");
}
@font-face {
font-family: FedExSansArabic;
font-style: normal;
font-weight: 400;
src: url('../fonts/FedExSans_W-Regular.woff') format("woff")
src: url("../fonts/FedExSans_W-Regular.woff") format("woff");
}
@font-face {
font-family: "iconfont";
font-style: normal;
font-weight: 200;
src: url("../fonts/fedex_table_fonticon.ttf?t=1748505224980")
format("truetype");
}
html,
......@@ -160,7 +167,8 @@ aside {
display: block;
line-height: 32px;
font-size: 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
color: #2c3e50;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
......@@ -190,7 +198,7 @@ aside {
}
.text-center {
text-align: center
text-align: center;
}
.sub-navbar {
......@@ -201,7 +209,13 @@ aside {
text-align: right;
padding-right: 20px;
transition: 600ms ease position;
background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
background: linear-gradient(
90deg,
rgba(32, 182, 249, 1) 0%,
rgba(32, 182, 249, 1) 0%,
rgba(33, 120, 241, 1) 100%,
rgba(33, 120, 241, 1) 100%
);
.subtitle {
font-size: 20px;
......@@ -246,7 +260,6 @@ aside {
z-index: 1000 !important;
}
.el-checkbox__input.is-checked+.el-checkbox__label {
.el-checkbox__input.is-checked + .el-checkbox__label {
color: #333333 !important;
}
......
......@@ -45,32 +45,6 @@
>
</el-table-column>
</el-table>
<!-- <Table
class="fedexDetialTable mt20"
:data="rowData.popoverData"
:headerData="receiptDataHead"
:selection="false"
:selectFixed="false"
:order="false"
:border="true"
:rowSelectDataType="false"
:pagination="false"
:page="1"
:totalCount="0"
:loading="tableLoading"
:emptyText="
loadingDatas &&
rowData &&
rowData.popoverData &&
!rowData.popoverData.length
? '数据加载中'
: $t('portEntry.emptyText')
"
:height="tableHeight"
:maxHeight="tableHeight"
rowKey="id"
>
</Table> -->
</div>
<el-button
slot="reference"
......
This diff is collapsed. Click to expand it.
......@@ -201,21 +201,49 @@
{{ scope.row.completedCount }}
</el-button>
/
<el-button type="text" @click.stop="linkChange(scope, 1)">
<el-button
type="text"
style="margin-left: 0"
@click.stop="linkChange(scope, 1)"
>
{{ scope.row.uncompletedCount }}
</el-button>
</template>
<template v-slot:listDontReleaseCount="scope">
清单放行:{{ scope.row.listReleaseCount }}/{{
scope.row.listDontReleaseCount
}}
<!-- <el-button type="text" style="margin-left: 0">
清单放行:
<el-button
type="text"
style="margin-left: 0"
@click.stop="linkChange(scope, 3)"
>
{{ scope.row.listReleaseCount }}
</el-button>
/
<el-button type="text">
<el-button
type="text"
style="margin-left: 0"
@click.stop="linkChange(scope, 4)"
>
{{ scope.row.listDontReleaseCount }}
</el-button> -->
</el-button>
</template>
<template v-slot:listDontReleaseCountEnd="scope">
清单结关:
<el-button
type="text"
style="margin-left: 0"
@click.stop="linkChange(scope, 5)"
>
{{ scope.row.listClearanceCount }}
</el-button>
/
<el-button
type="text"
style="margin-left: 0"
@click.stop="linkChange(scope, 6)"
>
{{ scope.row.listNotClearedCount }}
</el-button>
</template>
<template v-slot:arrivalInReceiptStatus="scope">
<TablePopover
......@@ -322,7 +350,7 @@ import {
import DialogVue from "./dialog.vue";
import DataPreview from "../reportingData/data-preview.vue";
import TimeDialog from "../reportingData/time-dialog.vue";
import { getPortInfo } from "@/api/system/customer-ai.js";
import { getCurrUserPortInfo } from "@/api/system/user.js";
export default {
name: "SupervisePlaceManage",
......@@ -388,6 +416,12 @@ export default {
slot: true,
},
{
name: "航班号",
value: "flightNumber",
width: "",
align: "left",
},
{
name: "清单审结进度",
value: "listReceiptStatus",
width: "",
......@@ -402,6 +436,13 @@ export default {
slot: true,
},
{
name: "清单结关进度",
value: "listDontReleaseCountEnd",
width: "",
align: "left",
slot: true,
},
{
name: "清单总分单回执",
value: "totalReceiptStatus",
width: "",
......@@ -499,7 +540,7 @@ export default {
},
//获取口岸子字典
searchPortDictData() {
getPortInfo()
getCurrUserPortInfo()
.then((res) => {
console.log(res);
if (res.code === "200") {
......@@ -567,8 +608,15 @@ export default {
},
// 运单号跳转
linkChange(record, type) {
const { billNo, completedLogisticsNo, uncompletedLogisticsNo } =
record.row;
const {
billNo,
completedLogisticsNo,
uncompletedLogisticsNo,
listReleaseLogisticsNo,
listDontReleaseLogisticsNo,
listClearanceLogisticsNo,
listNotClearedLogisticsNo,
} = record.row;
const query = { billNo, search: true };
if (+type === 1) {
query["logisticsNo"] = uncompletedLogisticsNo;
......@@ -576,6 +624,18 @@ export default {
if (+type === 2) {
query["logisticsNo"] = completedLogisticsNo;
}
if (+type === 3) {
query["logisticsNo"] = listReleaseLogisticsNo;
}
if (+type === 4) {
query["logisticsNo"] = listDontReleaseLogisticsNo;
}
if (+type === 5) {
query["logisticsNo"] = listClearanceLogisticsNo;
}
if (+type === 6) {
query["logisticsNo"] = listNotClearedLogisticsNo;
}
console.log(query, record);
this.$router.push({
......
......@@ -27,21 +27,87 @@
<el-transfer
v-model="transferValue"
:data="logisticsWaybillDimension"
:right-default-checked="currentItem"
filterable
target-order="push"
:props="{ label: 'itemChineseName', key: 'itemValue' }"
:titles="['未选内容', '已选内容']"
></el-transfer>
@right-check-change="choose"
>
<span
class="el-icon-arrow-up"
slot="right-footer"
style="margin-left: 10px; cursor: pointer"
@click="handleUp('transferValue')"
title="上移"
>
</span>
<span
class="el-icon-arrow-down"
slot="right-footer"
style="cursor: pointer; margin-left: 8px"
@click="handleDown('transferValue')"
title="下移"
>
</span>
<!-- <el-button
class="transer-footer"
size="mini"
>上移</el-button
> -->
<!-- <el-button
class="transer-footer"
slot="right-footer"
size="mini"
@click="handleDown('transferValue')"
>下移</el-button
> -->
</el-transfer>
</template>
<template v-if="radio === 6">
<el-transfer
v-model="transferValue1"
:data="commodityDetailDimension"
:right-default-checked="currentItem"
filterable
target-order="push"
:props="{ label: 'itemChineseName', key: 'itemValue' }"
:titles="['未选内容', '已选内容']"
></el-transfer>
@right-check-change="choose"
>
<span
class="el-icon-arrow-up"
slot="right-footer"
style="margin-left: 10px; cursor: pointer"
@click="handleUp('transferValue1')"
title="上移"
>
</span>
<span
class="el-icon-arrow-down"
slot="right-footer"
style="cursor: pointer; margin-left: 8px"
@click="handleDown('transferValue1')"
title="下移"
>
</span>
<!-- <el-button
class="transer-footer"
slot="right-footer"
style="margin-left: 10px"
size="mini"
@click="handleUp('transferValue1')"
>上移</el-button
>
<el-button
class="transer-footer"
slot="right-footer"
size="mini"
@click="handleDown('transferValue1')"
>下移</el-button
> -->
</el-transfer>
</template>
</div>
<div class="dialogOption entrySave revokeOperation">
......@@ -97,6 +163,7 @@ export default {
commodityDetailDimension: [],
logisticsWaybillDimension: [],
historyInfo: {},
currentItem: [],
};
},
watch: {
......@@ -104,6 +171,7 @@ export default {
if (val) {
this.customVisible = val;
this.getList();
this.radio = 3;
}
},
},
......@@ -171,6 +239,7 @@ export default {
? this.historyInfo.commodityDetailDimension
: this.historyInfo.defaultCommodityDetail;
}
this.currentItem = [];
},
formSubmit() {
......@@ -228,8 +297,62 @@ export default {
cancelModify(val) {
this.customVisible = false;
this.dialogLoading = false;
this.currentItem = [];
this.$emit("cancelModify", val);
},
//===============
//上移事件
handleUp(key) {
let self = this;
let item = self.currentItem;
let index;
if (item.length == 1) {
self[key].find((val, indexs, arr) => {
if (val == item[0]) {
index = indexs;
}
});
if (index == 0) {
self.msgError("已经到顶了");
return;
}
//改变的数组
let changeItem = JSON.parse(JSON.stringify(self[key][index - 1]));
self[key].splice(index - 1, 1);
self[key].splice(index, 0, changeItem);
} else {
self.msgError("只能选择一条数据进行上下移动");
return;
}
},
choose(value) {
this.currentItem = value;
}, //下移事件
handleDown(key) {
let self = this;
let item = self.currentItem;
let index;
if (item.length == 1) {
//选中值的下标
self[key].find((val, indexs, arr) => {
if (val == item) {
index = indexs;
}
});
if (index == self[key].length - 1) {
// 这里是length-1,因为下标值从0开始
self.msgError("已经到底了");
return;
}
let changeItem = JSON.parse(JSON.stringify(self[key][index]));
self[key].splice(index, 1);
self[key].splice(index + 1, 0, changeItem);
} else {
self.msgError("只能选择一条数据进行上下移动");
return;
}
},
// ===========
},
};
</script>
......@@ -239,13 +362,38 @@ export default {
::v-deep {
.el-transfer-panel .el-checkbox__inner {
height: 17px;
width: 13px;
width: 14px;
}
.el-button--primary,
.el-button--primary:hover,
.el-button--primary:focus {
color: #ff6200;
}
/* .el-transfer-panel__list.is-filterable {
padding-bottom: 40px;
} */
.el-transfer-panel__body {
height: 260px;
}
.el-transfer-panel__list.is-filterable {
height: 240px;
}
.is-with-footer {
.el-transfer-panel__list.is-filterable {
height: 205px;
}
}
.el-transfer__buttons {
display: inline-flex;
flex-direction: column;
.el-button + .el-button {
margin-left: 0;
}
}
.el-transfer-panel {
width: 235px;
height: 350px;
}
}
.revokeOperation {
......
......@@ -338,6 +338,7 @@ export default {
getHsCodeSingleSync({ id: record.skuCode }).then((res) => {
if (+res.code === 200) {
this.alertSuccessMsg(res.message);
this.search(0);
} else {
this.alertWarningMsg(res.message);
}
......
......@@ -21,7 +21,7 @@
>
<el-row :gutter="5">
<el-col :span="24">
<Formitem label="同步日期" prop="beginDate" type="edit">
<Formitem label="起始日期" prop="beginDate" type="edit">
<el-date-picker
class="inputInner--beginDate"
id="inputInner-edit-beginDate"
......@@ -76,7 +76,7 @@ export default {
{
required: true,
trigger: "change",
message: "同步日期不能为空!",
message: "起始日期不能为空!",
},
],
},
......
......@@ -535,7 +535,8 @@ import BatchModify from "./batchModify.vue";
import TimeDialog from "./time-dialog.vue";
import DataPreview from "./data-preview.vue";
import WeightAdjust from "./weight-adjust.vue";
import { getPortInfo } from "@/api/system/customer-ai.js";
import { getCurrUserPortInfo } from "@/api/system/user.js";
import { listStatus, receiptStatus, totalScoreStatus } from "../../utils/dict";
export default {
name: "ReportingData",
components: {
......@@ -573,6 +574,9 @@ export default {
},
tableData: [],
orderStatus: [],
waybillStatus: [],
listStatus: [],
totalScoreStatus: [],
headerData: [
{
name: "提运单号",
......@@ -617,59 +621,19 @@ export default {
align: "left",
slot: true,
columnKey: "orderReceiptStatus",
filters: [
{
text: "已提交",
value: "0",
},
{
text: "xml报文加签失败",
value: "-2",
},
{
text: "xml报文上传失败",
value: "-3",
},
{
text: "电子口岸申报中",
value: "2",
},
{
text: "发送海关成功",
value: "3",
},
{
text: "发送海关失败",
value: "4",
},
{
text: "海关退单",
value: "100",
},
{
text: "海关入库",
value: "120",
},
{
text: "回执异常",
value: "-1",
},
],
// filterMethod: this.filterMethodFn,
filterPlacement: "bottom-right",
filters: [...receiptStatus()],
},
// {
// name: "收款单回执",
// value: "",
// width: "",
// align: "left",
// slot: true,
// },
{
name: "运单回执",
value: "wayBillReceipt",
width: "",
align: "left",
slot: true,
columnKey: "wayBillReceipt",
filterPlacement: "bottom-right",
filters: [...receiptStatus()],
},
{
name: "清单回执",
......@@ -677,6 +641,9 @@ export default {
width: "",
align: "left",
slot: true,
columnKey: "listReceiptStatus",
filterPlacement: "bottom-right",
filters: [...listStatus()],
},
{
......@@ -685,6 +652,9 @@ export default {
width: "",
align: "left",
slot: true,
columnKey: "totalSplitOrderStatus",
filterPlacement: "bottom-right",
filters: [...totalScoreStatus()],
},
// {
// // release-v1.0.9
......@@ -818,13 +788,16 @@ export default {
},
methods: {
filterChange(value) {
this.orderStatus = value.orderReceiptStatus;
this.orderStatus = value?.orderReceiptStatus;
this.waybillStatus = value?.wayBillReceipt;
this.listStatus = value?.listReceiptStatus;
this.totalScoreStatus = value?.totalSplitOrderStatus;
console.log(value, this.orderStatus);
this.search(0);
},
//获取口岸子字典
searchPortDictData() {
getPortInfo()
getCurrUserPortInfo()
.then((res) => {
console.log(res);
if (res.code === "200") {
......@@ -919,6 +892,9 @@ export default {
obj.endCreateTime = obj.createTime[1];
}
obj.orderStatus = this.orderStatus;
obj.waybillStatus = this.waybillStatus;
obj.listStatus = this.listStatus;
obj.totalScoreStatus = this.totalScoreStatus;
searchDeclareData(obj)
.then((res) => {
if (res.code === "200") {
......@@ -958,6 +934,10 @@ export default {
dataSource: [],
ebcName: "",
};
// this.orderStatus = [];
// this.waybillStatus = [];
// this.listStatus = [];
// this.totalScoreStatus = [];
this.clearPort();
this.clearStatus();
},
......@@ -1451,11 +1431,35 @@ export default {
.el-table th.el-table__cell > .cell {
display: flex;
align-items: center;
gap: 30px;
justify-content: space-between;
cursor: pointer;
/* gap: 30px;
justify-content: space-between; */
&.highlight {
color: #007ab7;
.el-icon-arrow-down {
color: #007ab7;
}
}
}
.el-table__column-filter-trigger {
display: inline-flex;
height: 34px;
cursor: pointer;
align-items: center;
}
.el-table__column-filter-trigger i {
transform: scale(1);
padding-left: 5px;
font-family: "iconfont" !important;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
position: relative;
top: 1px;
}
.el-icon-arrow-down:before {
content: "\e7d6";
font-size: 18px;
}
}
}
......