tao.mo

Merge remote-tracking branch 'origin/master'

import request from "@/utils/request";
// 分页查询全部提单
export function getTableFindAll(data) {
return request({
url: "/icleartw/declare/findAll",
method: "post",
data: data,
});
}
// 删除
export function declareDeleteById(data) {
return request({
url: "/icleartw/declare/deleteById/" + data,
method: "post",
data: data,
});
}
// 查看全部信息
export function findDetailsById(data) {
return request({
url: "/icleartw/declare/findDetailsById/" + data,
method: "get",
});
}
// reedit/{id} 重新编辑运单
export function reedit(data) {
return request({
url: "/icleartw/declare/reedit/" + data,
method: "post",
data: data,
});
}
import request from "@/utils/request";
// 新增申报信息
export function saveStepOne(data) {
return request({
url: "/icleartw/declareInfo/save",
method: "post",
data: data,
});
}
// 修改申报信息
export function updateStepOne(data) {
return request({
url: "/icleartw/declareInfo/update",
method: "post",
data: data,
});
}
// 根据id获取申报信息
export function getFindById(data) {
return request({
url: "/icleartw/declareInfo/findById/" + data,
method: "get",
});
}
// 根据id获取模板
export function getTemById(data) {
return request({
url: "/icleartw/declareTemplate/findById?id=" + data,
method: "get",
});
}
// 根据模板名称校验用户下是否已经存相同名称模板
export function getTemByTemName(data) {
return request({
url: "/icleartw/declareTemplate/findTempByName?tempName=" + data,
method: "get",
});
}
// 根据id删除模板
export function deleteTemById(data) {
return request({
url: "/icleartw/declareTemplate/deleteById?id=" + data,
method: "post",
});
}
// 查询当前用户模板
export function findCurUserTem(data) {
return request({
url: "/icleartw/declareTemplate/findTempListByName?tempName=" + data,
method: "get",
});
}
// 修改申报信息模板
export function updateTemplate(data) {
return request({
url: "/icleartw/declareTemplate/update",
method: "post",
data: data,
});
}
// 新增申报信息模板
export function addSaveTemplate(data) {
return request({
url: "/icleartw/declareTemplate/save",
method: "post",
data: data,
});
}
// 查询币别
export function findAllCurrencyCd() {
return request({
url: "/icleartw/dictionary/findAllCurrencyCd",
method: "get",
});
}
// 保存申报出口核检信息
export function declareCheckInfoSave(data) {
return request({
url: "/icleartw/declareCheckInfo/save",
method: "post",
data: data,
});
}
// 修改申报出口核检信息
export function declareCheckInfoUpdate(data) {
return request({
url: "/icleartw/declareCheckInfo/update",
method: "post",
data: data,
});
}
// 根据id获取检核表信息
export function getDeclareCheckInfo(data) {
return request({
url: "/icleartw/declareCheckInfo/findById/" + data,
method: "get",
});
}
// 上传报关文件
export function uploadCustomsFiles(data, id) {
return request({
url: "/icleartw/cusFile/uploadCustomsFiles?deliveryId=" + id,
method: "post",
data: data,
});
}
// 删除单个报关文件
export function deleteUploadFile(data, id) {
return request({
url: "/icleartw/cusFile/deleteFile/" + data + "?cusFileId=" + id,
method: "post",
});
}
// 获取报关文件列表(仅包含用户上传)
export function getCusFileBySys(data) {
return request({
url: "/icleartw/cusFile/getCusFileBySys/" + data,
method: "get",
});
}
// 根据申报id获取文件信息(仅包含系统生成)
export function getFindSysByDeclareId(data) {
return request({
url: "/icleartw/cusFile/findSysByDeclareId/" + data,
method: "get",
});
}
// 提单提交
export function saveCommitAll(data) {
return request({
url: "/icleartw/declare/commit?declareId=" + data,
method: "post",
data: data,
});
}
// 保存文件
export function saveStep3Files(data) {
let str = `?declareId=${data.id}&isClear=`
if (data.isClear !== undefined) {
str = `${str}${data.isClear}`
}
return request({
url: "/icleartw/cusFile/saveFiles" + str,
method: "post",
});
}
// 保存文件
export function saveByDetails(data) {
return request({
url: "/icleartw/declare/saveByDetails/" + data,
method: "post",
});
}
// 查看全部信息
export function findDetailsById(data) {
return request({
url: "/icleartw/declare/findDetailsById/" + data,
method: "get",
});
}
// 分页查询当前用户使用者(根据使用者名称模糊查询)
export function findTempListByName(data) {
return request({
url: "/icleartw/declareTemplate/findTempListByName",
method: "post",
data: data
});
}
//生成 检核表pdf
export function generatePdf(data) {
return request({
url: "/icleartw/declareCheckInfo/generatePdf?declareId=" + data,
method: "post",
data: data
});
}
//生成 联络方式...pdf
export function generateStepOnePdf(data) {
return request({
url: "/icleartw/declareInfo/generatePdf?declareId=" + data,
method: "post",
data: data
});
}
//多条件模糊查询模板
export function findTempListByAll(data) {
return request({
url: "/icleartw/declareTemplate/findTempList",
method: "post",
data: data
});
}
import request from '@/utils/request'
// 首页数据获取
/**
* @param fltDate * 航班日期
* @param kindId 航班类型
*/
export function getOneDayFlight(data) {
return request({
url: '/index/getOneDayFlight',
method: 'post',
data: data
})
}
import request from '@/utils/request'
//数据字典名称
/**
* @param
*/
export function getDictNameList() {
return request({
url: '/dictionary/queryMain',
method: 'get',
})
}
//字典表查询
/**
* @param dictCode 字典名 *
* @param chineseName 数据名称
* @param page 页数 null
* @param size 每页长度 null
*/
export function getDictionaryList(data) {
return request({
url: '/dictionary/query',
method: 'post',
data: data
})
}
//serviceCode字典表查询
/**
* @param
*/
export function getServiceCodeList() {
return request({
url: '/dictionary/queryServiceCode',
method: 'get',
})
}
//新增字典(单条)
/**
* @param chineseName 字典名称 *
* @param description 描述
* @param dictCode 字典表名称 *
*/
export function addDict(data) {
return request({
url: '/dictionary/addDict',
method: 'POST',
data: data
})
}
//新增字典(批量)
/**
* @param nameList 字典名称 * list
* @param dictCode 字典表名称 *
*/
export function addDictBatch(data) {
return request({
url: '/dictionary/addDictBatch',
method: 'POST',
data: data
})
}
//serviceCode子字典添加
/**
* @param array [{}]
* @param serviceCodeKey serviceCode父级key *
* @param serviceCodeValue 字典名称 *
*/
export function addServiceCodeBatch(data) {
return request({
url: '/dictionary/addServiceCodeBatch',
method: 'POST',
data: data
})
}
//serviceCode子字典删除
/**
* @param array []
* @param serviceCodeValue 字典名称 *
*/
export function delServiceCodeCihild(data) {
return request({
url: '/dictionary/delServiceCodeCihild',
method: 'POST',
data: data
})
}
//字典删除
/**
* @param array []
* @param id 字典ID *
*/
export function delDict(data) {
return request({
url: '/dictionary/delDict',
method: 'POST',
data: data
})
}
//虚拟航班查询
/**
* @param flightNo 航班名称
* @param page 页数 null *
* @param size 每页长度 null *
*/
export function flightType(data) {
return request({
url: '/dictionary/flightType',
method: 'post',
data: data
})
}
//虚拟航班新增
/**
* @param flightNo 航班名称 list *
*/
export function addFlight(data) {
return request({
url: '/dictionary/addFlight',
method: 'post',
data: data
})
}
//虚拟航班删除
/**
* @param flightNo 航班名称 list *
*/
export function delFlight(data) {
return request({
url: '/dictionary/delFlight',
method: 'post',
data: data
})
}
//查询航线
/**
* @param fltNo 航班号
* @param page 页数
* @param size 页长
*/
export function queryRoute(data) {
return request({
url: '/dictionary/queryRoute',
method: 'post',
data: data
})
}
//新增航线
/**
* @param fltNo 航班号 *
* @param route 航线 *
*/
export function addRoute(data) {
return request({
url: '/dictionary/addRoute',
method: 'post',
data: data
})
}
//删除航线
/**
* @param id *
*/
export function delRoute(data) {
return request({
url: '/dictionary/delRoute',
method: 'post',
data: data
})
}
//航线排序
/**
* @param id *
*/
export function orderRoute(data) {
return request({
url: '/dictionary/orderRoute',
method: 'post',
data: data
})
}
//航线删除确认
/**
* @param fltNo 航班号
* @param route 航线
*/
export function checkFlightRoute(data) {
return request({
url: '/FlightPreserveController/checkFlightRoute',
method: 'post',
data: data
})
}
//更新航线
export function updateRoute(data) {
return request({
url: `/dictionary/updateRoute`,
method: "post",
data: data,
});
}
......
import request from '@/utils/request'
// DM数据查询
/**
* @param createTime 创建时间 *
* @param fltNo 航班号
* @param fltDate 航班日期
* @param status 状态
* @param portName 口岸名称
* @param page 页数 *
* @param size 数据长度
*/
export function getDmDataList(data) {
return request({
url: '/dmDataLog/getDmDataList',
method: 'post',
data: data
})
}
// 流水查询
/**
* @param accsId accsid *
*/
export function getDmFlowInformation(data) {
return request({
url: '/dmDataLog/getDmFlowInformation?' + data,
method: 'post',
})
}
//运单日志查询
/**
* @param accsId accsid *
*/
export function findCargoDataChangeLog(data) {
return request({
url: '/cargo/findCargoDataChangeLog?accsId=' + data,
method: 'post',
})
}
// 功能模块查询
/**
*
*/
export function findModuleCondition() {
return request({
url: '/systemOperationLog/findModuleCondition',
method: 'post',
})
}
//操作日志查询
/**
* @param module 功能模块
* @param createTimeStart 操作时间开始
* @param createTimeEnd 操作时间结束
* @param page 页数
* @param size 页长
*/
export function getSystemOperationLogData(data) {
return request({
url: '/systemOperationLog/getSystemOperationLogData',
method: 'post',
data: data
})
}
//归档数据查询
/**
* @param createTimeStart 操作时间开始
* @param createTimeEnd 操作时间结束
* @param page 页数
* @param size 页长
*/
export function findArchiveCargoLog(data) {
return request({
url: '/archiveCargoLog/findArchiveCargoLog',
method: 'post',
data: data
})
}
//查询归档文件是否可下载
/**
* @param object 查询结果集行数据
*/
export function isExistZip(data) {
return request({
url: '/archiveCargoLog/isExistZip',
method: 'post',
data: data
})
}
\ No newline at end of file
import request from '@/utils/request'
//预审航班查询
/**
* @param fltNo 航班号
* @param suatus 状态
* @param page 页数
* @param size 每页条数
*/
export function getpreAudit(data) {
return request({
url: '/preAudit/query',
method: 'post',
data: data
})
}
//添加预审航班
/**
* @param 航班号 *
*/
export function addPreFlight(data) {
return request({
url: '/preAudit/addFlight',
method: 'post',
data: data
})
}
//添加预审航班
/**
* @param id 航班id *
* @param status 状态 * 0关闭 1开启 2删除
*/
export function updatePreStatus(data) {
return request({
url: '/preAudit/updateStatus',
method: 'post',
data: data
})
}
......@@ -81,10 +81,10 @@ export default {
// 全局入口页
layout: {
register: "Login",
fedexLogin: "fedex.com user log in",
fedexLogin: "Fedex.com user account login",
fedexRegister: "Employee log in",
onlineDeclare: "線上申報平臺帳號登錄",
registerNumber: "註冊線上申報平臺帳號",
registerNumber: "Register a Fedex.com account",
userInfo: "用戶信息維護",
logOut: "log out",
logOutDia: "Are you sure to log out and exit the system?",
......@@ -108,7 +108,7 @@ export default {
selectTem: "選擇使用者",
insterTem: "新增使用者",
updateTem: "修改使用者",
number: "提單號碼",
number: "Waybill inquiry",
contacts: "聯絡人",
exporterNum: "貨物輸出統一編號",
email: "聯絡人 e-mail",
......
......@@ -72,6 +72,11 @@
{{ $t("layout.fedexRegister") }}
</span>
</el-dropdown-item>
<el-dropdown-item>
<span>
{{ $t("layout.registerNumber") }}
</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<!-- <el-select
......@@ -156,7 +161,7 @@ export default {
type: "warning",
}).then(() => {
this.$store.dispatch("LogOut").then(() => {
location.href = "/IcTw";
location.href = "/ImpPer";
});
});
},
......
<template>
<div class="view-option">
<div class="menu-info">
<span class="info" v-if="activeRoute.name == 'declarationInput'">
{{ $t("fillIn.number") }}:&nbsp;{{ deliveryNo || "" }}
<span
class="info"
v-if="
activeRoute.name == 'WaybillInquiry' ||
activeRoute.name == 'UploadDetail'
"
>
{{ $t("fillIn.number") }}
<!-- :&nbsp;{{ deliveryNo || "" }} -->
</span>
<span class="info" v-else>
{{ activeRoute.meta.title }}
......@@ -54,10 +61,10 @@ export default {
font-size: 0.88rem;
border-bottom: 1px solid $fedexBorder;
background-color: #fff;
margin-left: 231px;
margin-left: 230px;
.info {
font-weight: 500;
font-weight: 600;
}
}
</style>
......
......@@ -60,20 +60,20 @@ service.interceptors.response.use(
const msg = errorCode[code] || res.data.msg || errorCode["default"];
if (code === 301) {
MessageBox.confirm(
"登錄狀態已過期,您可以繼續留在該頁面,或者重新登錄",
"系統提示",
"The login status has expired. You can continue to stay on this page or log in again.",
"System prompt",
{
confirmButtonText: "重新登錄",
cancelButtonText: "取消",
confirmButtonText: "Login again",
cancelButtonText: "Close",
type: "warning",
}
).then(() => {
store.dispatch("FedLogOut").then(() => {
location.href = "/IcTw";
location.href = "/ImpPer";
});
});
} else if (code === 500) {
MessageBox.alert(msg, "註意", {
MessageBox.alert(msg, "Attention", {
dangerouslyUseHTMLString: true,
});
return Promise.reject(new Error(msg));
......@@ -87,11 +87,11 @@ service.interceptors.response.use(
console.log("err" + error);
let { message } = error;
if (message == "Network Error") {
message = "系統異常,請聯繫清關部門";
message = "System exception, please contact the customs clearance department";
} else if (message.includes("timeout")) {
message = "請求超時,請聯繫清關部門";
message = "Request timeout, please contact the customs clearance department";
} else if (message.includes("Request failed with status code")) {
message = "系統接口" + message.substr(message.length - 3) + "異常,請聯繫清關部門";
message = "System interface abnormality" + message.substr(message.length - 3) + ",please contact the customs clearance department";
}
Message({
message: message,
......
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
<template>
<div class="fill-step">
<!-- <div
v-for="(item, index) in steps"
:key="index"
:class="
item.state1 == curStep
? 'edit-color'
: stepStates.includes(item.state2)
? setSelectIndex==2 && item.state1==2 ? 'cur-color':'finish-color'
: 'cur-color'
"
>
<div>
<i
class="el-icon-success"
v-if="stepStates.includes(item.state2) && item.state1 != curStep "
></i>
<i class="el-icon-success" v-else></i>
<span> {{ item.label }}</span>
</div>
<div v-if="setSelectIndex==2 && item.state1==2"></div>
<el-button
type="text"
v-else-if="stepStates.includes(item.state2) && item.state1 != curStep"
@click="editStepBtn(item)"
:loading="editLoading && curClickStep == item.state1"
>編輯</el-button
>
</div> -->
<div
v-for="(item, index) in steps"
:key="index"
:class="item.state1 == curStep
? 'edit-color'
: stepStates.includes(item.state2)
? setSelectIndex == 2 && item.state1 == 2 ? 'cur-color' : 'finish-color'
: 'cur-color'
"
>
<div>
<i
class="el-icon-success"
v-if="stepStates.includes(item.state2) && item.state1 != curStep"
></i>
<i class="el-icon-success" v-else></i>
<span> {{ item.label }}</span>
</div>
<div v-if="setSelectIndex == 2 && item.state1 == 2"></div>
<el-button
type="text"
v-else-if="stepEdit.includes(item.state2) && item.state1 != curStep"
@click="editStepBtn(item)"
:loading="editLoading && curClickStep == item.state1"
:disabled="editDisabled"
>編輯</el-button
>
</div>
</div>
</template>
<script>
import { mapGetters } from "vuex";
export default {
props: {
curStep: {
type: Number,
default() {
return 1;
},
},
//控制颜色
stepStates: {
type: Array,
default() {
return [];
},
},
//控制编辑按钮显示
stepEdit: {
type: Array,
default() {
return [];
},
},
editLoading: {
type: Boolean,
default() {
return false;
},
},
editDisabled: {
type: Boolean,
default() {
return false;
},
},
setSelectIndex: {
type: Number,
},
},
data() {
return {
curClickStep: null,
};
},
created() {},
computed: {
steps() {
return [
{
label: this.$t("fillIn.step1"),
state1: 1,
state2: "finish1",
},
{
label: this.$t("fillIn.step2"),
state1: 2,
state2: "finish2",
},
{
label: this.$t("fillIn.step3"),
state1: 3,
state2: "finish3",
},
];
},
},
methods: {
editStepBtn(val) {
this.curClickStep = val.state1;
let filtStep = this.stepStates.filter((item) => item != val.state2);
this.$emit("setStepStates", [...new Set(filtStep)]);
this.$emit("editNextStep", {
curStep: val.state1,
leaveStep: this.curStep,
});
},
},
};
</script>
<style lang="scss" scoped>
.fill-step {
padding: 16px 16px;
line-height: 40px;
// display: flex;
// flex-direction: column
.cur-color {
display: flex;
justify-content: space-between;
color: #919191;
}
.edit-color {
display: flex;
justify-content: space-between;
color: #4d148c;
}
.finish-color {
display: flex;
justify-content: space-between;
font-weight: 500;
font-size: 14px;
color: #008a00;
}
}
</style>
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
<template>
<el-dialog
title="下載附件"
:visible.sync="dialogVisible"
width="50%"
:show-close="true"
class="detail-dialog"
>
<Table
class="fedexDetialTable mt20"
:data="tableData"
:headerData="headerData"
:selection="false"
height="400px"
:order="false"
:border="false"
:pagination="false"
:selectFixed="false"
:pageSizes="[20, 30, 50, 100]"
@selectionChange="handleSelectionChange"
:loading="tableLodaing"
>
<template v-slot:name="scope">
<p> {{ scope.row.name }}{{ scope.row.type }}</p>
</template>
<template v-slot:down="scope">
<el-button
class="plain"
size="mini"
@click.native.stop="downLoadOneFile(scope.row)"
:loading="scope.row.downloadLoading"
>下載</el-button
>
</template>
</Table>
<div class="width-btn-box">
<el-button
class="entrySaveButton entrySaveButton-background"
@click="batchDownloadBtn"
style="margin-right: 30px;width: 110px;"
:loading="allDownload"
:disabled="this.tableData<=0"
>
下載全部
</el-button>
<el-button class="entrySaveButton" style="width: 110px;" @click="closeDialog">取消</el-button>
</div>
</el-dialog>
</template>
<script>
import { getFindSysByDeclareId } from "@/api/fillForm.js";
import { downLoadZip,downLoadFile } from "@/utils/zipdownload";
export default {
components: {},
props: {},
data() {
return {
tableLodaing:false,
allDownload:false,
dialogVisible: false,
declareId: null,
tableData: [],
headerData: [
{
name: "附件名稱",
value: "name",
width: "",
align: "left",
slot: true,
},
{
name: "操作",
value: "down",
width: "100",
align: "center",
slot: true,
},
],
selectCheckList: [],
customsFileId: null,
};
},
methods: {
// 打开弹窗
openDialog(row) {
this.dialogVisible = true;
this.declareId = row.id;
this.customsFileId = row.customsFileId;
this.getUploadFileList();
},
// 关闭弹窗
closeDialog() {
this.dialogVisible = false;
},
// 选择下载的附件
handleSelectionChange(val) {
this.selectCheckList = val;
},
// 下载
downLoadOneFile(fileRow) {
fileRow.downloadLoading=true;
downLoadFile(
"/icleartw/cusFile/downLoadFile",
fileRow.id,
fileRow.name+ fileRow.type
).then(() => {
this.$message.success("下載成功");
this.exportLoading = false;
})
.catch(() => {
this.exportLoading = false;
}).finally(()=>{
fileRow.downloadLoading = false;
})
},
// 批量下载
batchDownloadBtn() {
this.allDownload=true;
downLoadZip(
"/icleartw/cusFile/downLoadCusFileAll",
this.customsFileId,
"附件"
)
.then(() => {
this.allDownload = false;
this.exportLoading = false;
})
.catch(() => {
this.exportLoading = false;
});
},
// 获取文件列表
getUploadFileList() {
this.tableData=[];
this.tableLodaing=true;
getFindSysByDeclareId(this.declareId).then((res) => {
if (res.code == 200) {
this.tableData = res.data;
if (this.tableData != null) {
this.tableData = this.tableData.map(item => {
return {
...item,
downloadLoading: false
};
});
}
}else{
this.$message.error(res.msg);
}
}).catch((res)=>{
this.$message.error(res.msg);
}).finally(()=>{
this.tableLodaing = false;
})
},
},
};
</script>
<style lang="scss" scoped>
.detail-dialog {
.title-box {
font-size: 16px;
font-weight: 600;
// line-height: 22px;
color: #000000;
display: flex;
justify-content: space-between;
.el-button {
padding: 0;
font-size: 12px;
}
}
.content {
color: #333;
font-size: 12px;
.small-title {
margin: 12px 0 4px 0;
font-size: 14px;
}
.info-box {
width: 100%;
height: 50px;
line-height: 17px;
background: #f2f2f2;
padding: 8px;
margin-bottom: 4px;
}
}
.download {
.el-button {
padding: 0;
font-size: 12px;
}
img {
vertical-align: -4px;
}
}
::v-deep .el-dialog {
padding: 20px 100px;
}
::v-deep .el-dialog__header {
text-align: center;
}
.width-btn-box {
width: 100%;
text-align: center;
margin-top: 16px;
.el-button {
width: 100px;
}
}
::v-deep .el-table__body-wrapper .el-table__body tbody tr {
height: 50px;
}
}
</style>
This diff is collapsed. Click to expand it.
export const tableHeaderKeys = [
{
label: "提單號碼",
prop: "deliveryNo",
width: 150,
align: "left",
sort: false,
},
{
label: "報單類別",
prop: "customsDeclarationType",
width: 150,
align: "left",
sort: false,
},
{
label: "操作狀態/時間",
prop: "operStatusAndTime1",
width: 150,
align: "left",
tem: "operStatusAndTime1",
sort: "custom",
},
{
label: "傳送狀態/時間",
prop: "delStatus",
width: 150,
align: "left",
tem: "delStatus",
sort: "custom",
},
{
label: "是否適用在目的地進口清關",
prop: "isClear",
width: 150,
align: "left",
tem: "isClear",
sort: false,
},
{
label: "操作",
prop: "opt",
width: 150,
align: "center",
tem: "opt",
sort: false,
},
];