Commit 26ca5b61 authored by dragondean@qq.com's avatar dragondean@qq.com
parents 8aef4bed a5f8e809
......@@ -120,6 +120,7 @@
<el-dropdown-item command="error">异常登记</el-dropdown-item>
<el-dropdown-item command="cost">费用登记</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item>
<el-dropdown-item command="editLadingBill">编辑提货单</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown trigger="click">
......@@ -143,15 +144,18 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" />
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body class="shippingSea-dialog">
<template v-if="dialogType === 'edit' || dialogType === 'add'">
<editForm v-if="open" @closeDialog="closeDialog" :shipmentObj="currRow" :warehouseList="warehouseList" :transportTypes="transportTypes" :cabinetList="cabinetList" />
<el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.open" :width="dialogCfg.width" append-to-body class="shippingSea-dialog">
<template v-if="dialogCfg.dialogType === 'edit' || dialogCfg.dialogType === 'add'">
<editForm v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" :warehouseList="warehouseList" :transportTypes="transportTypes" :cabinetList="cabinetList" />
</template>
<template v-if="dialogType === 'cost'">
<costForm v-if="open" @closeDialog="closeDialog" :shipmentObj="currRow" />
<template v-if="dialogCfg.dialogType === 'cost'">
<costForm v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" />
</template>
<template v-if="dialogType === 'error'">
<regError v-if="open" @closeDialog="closeDialog" :shipmentObj="currRow" />
<template v-if="dialogCfg.dialogType === 'error'">
<regError v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" />
</template>
<template v-if="dialogCfg.dialogType === 'editLadingBill'">
<ladingBill v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" />
</template>
</el-dialog>
</div>
......@@ -165,6 +169,7 @@ import { getListTree } from "@/api/ecw/region";
import costForm from "./costForm.vue";
import regError from "./regError.vue";
import editForm from "./editForm.vue";
import ladingBill from "./ladingBill.vue";
export default {
name: "indexSea",
......@@ -172,6 +177,7 @@ export default {
costForm,
regError,
editForm,
ladingBill,
},
data() {
return {
......@@ -194,13 +200,16 @@ export default {
// 出货列表
list: [],
// 弹出层标题
title: "",
// 弹出类型
dialogType: "",
dialogCfg: {
title: "",
dialogType: "",
width: "600px",
// 是否显示弹出层
open: false,
},
// 当前行
currRow: {},
// 是否显示弹出层
open: false,
dateRangeCreateTime: [],
// 查询参数
queryParams: {
......@@ -281,18 +290,20 @@ export default {
},
/** 新增按钮操作 */
handleAdd() {
this.open = true;
this.title = "添加出货";
this.dialogType = "add";
this.$set(this.dialogCfg, "open", true);
this.$set(this.dialogCfg, "title", "添加出货");
this.$set(this.dialogCfg, "dialogType", "add");
this.$set(this.dialogCfg, "width", "600px");
},
/** 修改按钮操作 */
handleUpdate(row) {
const id = row.id;
getbox(id).then((response) => {
this.currRow = response.data;
this.open = true;
this.title = "修改出货";
this.dialogType = "edit";
this.$set(this.dialogCfg, "open", true);
this.$set(this.dialogCfg, "title", "修改出货");
this.$set(this.dialogCfg, "dialogType", "edit");
this.$set(this.dialogCfg, "width", "600px");
});
},
/** 删除按钮操作 */
......@@ -330,7 +341,7 @@ export default {
},
/* 关闭弹窗 */
closeDialog(type) {
this.open = false;
this.$set(this.dialogCfg, "open", false);
if (type === "add" || type === "edit") {
this.getList();
}
......@@ -346,22 +357,36 @@ export default {
this.handleUpdate(row);
break;
case "editLadingBill":
const cabinetLabel = this.getCabinetName(row.cabinetId);
const title = `查看提单 ${row.selfNo} 柜号:${row.cubNo} 柜型:${cabinetLabel}`;
this.$set(this.dialogCfg, "open", true);
this.$set(this.dialogCfg, "title", title);
this.$set(this.dialogCfg, "dialogType", "editLadingBill");
this.$set(this.dialogCfg, "width", "60%");
this.currRow = row;
break;
case "delete":
this.handleDelete(row);
break;
case "cost":
this.title = "费用登记";
this.dialogType = "cost";
this.open = true;
this.$set(this.dialogCfg, "open", true);
this.$set(this.dialogCfg, "title", "费用登记");
this.$set(this.dialogCfg, "dialogType", "cost");
this.$set(this.dialogCfg, "width", "600px");
this.currRow = row;
break;
case "error":
this.title = "异常登记";
this.dialogType = "error";
this.open = true;
this.$set(this.dialogCfg, "open", true);
this.$set(this.dialogCfg, "title", "异常登记");
this.$set(this.dialogCfg, "dialogType", "error");
this.$set(this.dialogCfg, "width", "600px");
this.currRow = row;
break;
case "detail":
this.$router.push("/boxSea/query/" + row.id);
break;
......
<template>
</template>
<script>
export default {
name: "ladingBill",
};
</script>
<style lang="scss" scoped>
</style>
......@@ -24,10 +24,10 @@
<el-button type="primary" @click="showOrder">订单列表</el-button>
</el-row>
<div v-if="boxBackVO.preInstallInfo && boxBackVO.preInstallInfo.applyReason">
<p>申请原因</p>
<div v-if="approvalInfo.applyReason">
<h1>申请原因</h1>
<div>
{{boxBackVO.preInstallInfo.applyReason}}
{{approvalInfo.applyReason}}
</div>
</div>
......@@ -110,6 +110,7 @@ export default {
},
data() {
return {
approvalInfo: {},
boxBackVO: {},
loadDetail: {},
// 柜型
......@@ -131,6 +132,7 @@ export default {
/* 获取详情 */
getApprovalDetail(processId) {
approvalDetail({ approvalId: processId }).then((res) => {
this.approvalInfo = res.data.approvalInfo;
this.boxBackVO = res.data.boxBackVO;
this.loadDetail = res.data.loadDetail;
});
......
......@@ -22,13 +22,13 @@
<!-- 开始装柜 -->
<el-dialog title="开始装柜" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body>
<startPacking v-bind="$attrs" v-if="dialogVisible" />
<startPacking v-bind="$attrs" v-if="dialogVisible" @closeDialog="closeDialog" />
</el-dialog>
<!-- 操作 -->
<el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-button>
<el-button type="success" @click="onSubmit(2)">封柜</el-button>
<el-button type="success" @click="onSubmit(2)" :disabled="isStartCabinet">封柜</el-button>
<el-button @click="cancel">关闭</el-button>
<el-button type="danger" @click="startCabinet" :disabled="isStartCabinet">开始装柜</el-button>
</el-row>
......@@ -99,6 +99,10 @@ export default {
}
});
},
closeDialog(type) {
this.dialogVisible = false;
if (type) this.cancel(type);
},
/** 取消 */
cancel(type) {
this.$emit("closeDialog", type);
......@@ -112,7 +116,7 @@ export default {
isStartCabinet() {
const { currNode, shipmentObj } = this.$attrs;
const status = shipmentObj[currNode.keyName];
return status === 46 ? true : false;
return status === 47 ? true : false;
},
},
};
......
......@@ -36,7 +36,7 @@
<!-- 表格 -->
<el-row class="table-content">
<el-table :data="tableData.sectionOrderList" border>
<el-table :data="tableData.sectionOrderList" border max-height="500px">
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope">
......@@ -100,16 +100,27 @@
<p>容量:</p>
<p>{{calcCapacity}}</p>
</div>
<div>已装 无返回</div>
<div>已装 {{getInstallNumCount}}</div>
</el-col>
</el-row>
<!-- 操作 -->
<el-row class="button-area">
<el-button type="primary" @click="handlerClick('supplementOrder','补单')" v-if="!isUnderReview">补单</el-button>
<el-button type="primary" v-if="!isUnderReview" @click="applyCloseCabinet">申请封柜</el-button>
<el-button type="primary" @click="handlerClick('modifyCabinet','修改柜信息')" v-if="!isUnderReview">修改柜信息</el-button>
<el-button type="primary" v-if="isUnderReview">封柜审核中</el-button>
<!-- 审核流程 -->
<el-row class="process-area">
<div class="process">
<div>审批流程</div>
<work-flow xmlkey="close_container" v-model="selectedUsers"></work-flow>
</div>
<!-- 操作 -->
<div v-if="!isUnderReview">
<el-button type="primary" @click="handlerClick('supplementOrder','补单')">补单</el-button>
<el-button type="primary" @click="applyCloseCabinet">封柜申请</el-button>
<el-button type="primary" @click="handlerClick('modifyCabinet','修改柜信息')">修改柜信息</el-button>
</div>
<div v-if="isUnderReview">
<el-button type="primary" :disabled=true>封柜审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="$emit('closeDialog')">返回</el-button>
</div>
</el-row>
<!-- 对话框 -->
......@@ -202,6 +213,7 @@ import {
remove,
boxUpdate,
approvalCreate,
approvalCancel,
} from "@/api/ecw/boxSea";
import {
getTotlContent,
......@@ -210,6 +222,7 @@ import {
sumStatistics,
} from "../../utils";
import splitOrder from "./splitOrder.vue";
import WorkFlow from "@/components/WorkFlow";
/**
* 开始装柜
......@@ -220,6 +233,7 @@ export default {
components: {
supplementOrder,
splitOrder,
WorkFlow,
},
props: {
shipmentObj: Object,
......@@ -230,10 +244,6 @@ export default {
listData: [],
// 表格数据
tableData: {},
// 统计数据
sumData: {
count: { num: 0, volume: 0, weight: 0 },
},
// 弹窗配置
dialogConfig: {
title: "",
......@@ -267,6 +277,7 @@ export default {
},
// 当前行
currRow: {},
selectedUsers: [],
};
},
created() {
......@@ -408,6 +419,7 @@ export default {
params.orderNumCode = this.qrCode;
singleCreate(params).then((res) => {
serviceMsg(res, this).then(() => {
this.qrCode = "";
this.getLoadSecGoodsList();
});
});
......@@ -415,6 +427,7 @@ export default {
params.orderNo = this.batchObj.qrCode;
batchCreate(params).then((res) => {
serviceMsg(res, this).then(() => {
this.closeDialog();
this.getLoadSecGoodsList();
});
});
......@@ -431,12 +444,14 @@ export default {
if (type === "single") {
singleDelete(params).then((res) => {
serviceMsg(res, this).then(() => {
this.closeDialog();
this.getLoadSecGoodsList();
});
});
} else {
batchDelete(params).then((res) => {
serviceMsg(res, this).then(() => {
this.closeDialog();
this.getLoadSecGoodsList();
});
});
......@@ -474,11 +489,15 @@ export default {
/* 申请封柜 */
applyCloseCabinet() {
approvalCreate({
shipmentId: this.shipmentObj.id,
applyReason: "封柜审核",
approvalStatus: 0,
approvalType: 2, // 封柜
copyUserId: this.selectedUsers,
shipmentId: this.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this);
serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
});
});
},
/* 是否显示拆单 */
......@@ -488,11 +507,17 @@ export default {
}
return false;
},
},
watch: {
listData(val) {
const count = sumStatistics(val);
this.$set(this.sumData, "count", count);
/* 取消审核 */
canclAudit() {
approvalCancel({
applyReason: "取消审核",
id: this.shipmentObj["cabinetApprovalInfo"].id,
shipmentId: this.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
});
});
},
},
computed: {
......@@ -517,6 +542,19 @@ export default {
getSumData() {
return sumStatistics(this.listData);
},
/* 已装总数 */
getInstallNumCount() {
let count = 0;
if (Array.isArray(this.listData)) {
this.listData.forEach((item) => {
const { sectionOrderList } = item;
sectionOrderList.forEach((item) => {
count = count + item.installNum;
});
});
}
return count;
},
},
};
</script>
......@@ -613,8 +651,19 @@ export default {
}
}
}
.button-area {
text-align: center;
.process-area {
margin-top: 15px;
padding-bottom: 30px;
.process {
display: flex;
flex-direction: column;
> :first-child {
color: #606266;
font-weight: bolder;
font-size: 16px;
}
}
}
}
</style>
......@@ -29,7 +29,7 @@
<el-form-item label="截关时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="状态">
<el-form-item label="状态" prop="dcCustomsStatus">
<el-radio-group v-model="cusDeclarationObj.dcCustomsStatus">
<el-radio v-for="item in this.getDictDatas(DICT_TYPE.BOX_SHIPPING_DCCUSTOMS_STATUS)" :key="item.value" :label="item.value">{{item.label}}</el-radio>
</el-radio-group>
......@@ -160,6 +160,7 @@ export default {
dcBoxWgt: [{ required: true, message: "必填", trigger: "change" }],
dcGoodsWgt: [{ required: true, message: "必填", trigger: "change" }],
dcCustomsType: [{ required: true, message: "必填", trigger: "change" }],
dcCustomsStatus: [{ required: true, message: "必填", trigger: "change" }],
},
// 弹窗配置
dialogConfig: {
......
......@@ -268,23 +268,24 @@
</el-form-item>
</el-form>
</el-row>
<el-row>
<el-button type="primary" @click="onSubmit">提交申请</el-button>
</el-row>
</el-row>
<!-- 审核流程 -->
<el-row class="process-area" v-show="isAudit">
<el-row class="process-area">
<div class="process">
<div>审批流程</div>
<work-flow xmlkey="shipment_preassemble" v-model="selectedUsers"></work-flow>
</div>
<div>
<div v-show="isAudit">
<el-button type="primary" :disabled=true>审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="closeDialog">返回</el-button>
</div>
<div v-show="!isAudit">
<el-button type="primary" @click="onSubmit">提交申请</el-button>
</div>
</el-row>
</div>
</template>
......@@ -447,9 +448,11 @@ export default {
if (valid) {
approvalCreate({
...this.operatorData,
shipmentId: this.$attrs.shipmentObj.id,
applyReason: "预装审核",
approvalStatus: 0,
approvalType: 1, // 预装
copyUserId: this.selectedUsers,
shipmentId: this.$attrs.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
......@@ -599,9 +602,9 @@ export default {
const { currNode, shipmentObj } = this.$attrs;
const { voName } = currNode;
approvalCancel({
applyReason: "取消审核",
id: shipmentObj[voName].id,
shipmentId: shipmentObj.id,
applyReason: "取消审核",
}).then((res) => {
serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
......
......@@ -24,7 +24,7 @@
<el-button size="small" @click="$emit('closeDialog')">关闭</el-button>
</el-row>
<warehouse-area-dialog ref="area" :visible.sync="visible" v-model="storageSpaces" :order-id="orderId" :modal-append-to-body=false append-to-body v-if="visible" />
<warehouse-area-dialog ref="area" :visible.sync="visible" v-model="storageSpaces" :order-id="orderId" :modal-append-to-body=false append-to-body />
</div>
</template>
......
......@@ -83,8 +83,9 @@ export default {
this.$emit("closeDialog", type);
},
/* 关闭弹窗 */
closeStart() {
closeStart(type) {
this.dialogVisible = false;
if (type) this.cancel(type);
},
// 开始卸柜
startUnloading() {
......
......@@ -26,7 +26,7 @@
<!-- 表格 -->
<el-row class="table-area">
<el-table v-loading="loading" :data="pageData.sectionOrderList" border>
<el-table v-loading="loading" :data="pageData.sectionOrderList" border max-height="500px">
<el-table-column label="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope">
......@@ -73,8 +73,22 @@
</div>
</el-row>
<el-row>
<el-button type="success" @click="onSubmit">卸柜完成</el-button>
<!-- 审核流程 -->
<el-row class="process-area">
<div class="process">
<div>审批流程</div>
<work-flow xmlkey="unload_container" v-model="selectedUsers"></work-flow>
</div>
<!-- 操作 -->
<div v-if="!isUnderReview">
<el-button type="success" @click="onSubmit">卸柜完成</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">返回</el-button>
</div>
<div v-if="isUnderReview">
<el-button type="primary" :disabled=true>卸柜审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="$emit('closeStart')">返回</el-button>
</div>
</el-row>
<!-- 对话框 -->
......@@ -91,9 +105,11 @@ import {
batchUnload,
allUnload,
approvalCreate,
approvalCancel,
getSectionList,
} from "@/api/ecw/boxSea";
import { serviceMsg, getTotlContent } from "../../utils";
import WorkFlow from "@/components/WorkFlow";
/**
* 开始卸柜
......@@ -101,7 +117,7 @@ import { serviceMsg, getTotlContent } from "../../utils";
export default {
name: "startUnloading",
inheritAttrs: false,
components: { unloadingError },
components: { unloadingError, WorkFlow },
data() {
return {
// 标签号
......@@ -128,6 +144,7 @@ export default {
sectionOrderList: [],
totalStatistics: {},
},
selectedUsers: [],
};
},
created() {
......@@ -168,6 +185,7 @@ export default {
shipmentId: this.$attrs.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then((res) => {
this.labelNo = "";
this.getLoadGoodsList();
});
});
......@@ -192,6 +210,7 @@ export default {
shipmentId: this.$attrs.shipmentObj.id,
approvalStatus: 0,
approvalType: 3, // 卸柜
copyUserId: this.selectedUsers,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.cancel();
......@@ -200,7 +219,7 @@ export default {
},
/** 取消 */
cancel() {
this.$emit("closeStart");
this.$emit("closeStart", "submit");
},
/* 关闭弹窗 */
closeDialog(type) {
......@@ -229,8 +248,26 @@ export default {
sectionChange() {
this.getLoadGoodsList();
},
/* 取消审核 */
canclAudit() {
const { shipmentObj } = this.$attrs;
approvalCancel({
applyReason: "取消审核",
id: shipmentObj['cabinetUnloadApprovalInfo'].id,
shipmentId: shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.cancel();
});
});
},
},
computed: {
/* 是否审核中 */
isUnderReview() {
const { currNode, shipmentObj } = this.$attrs;
return shipmentObj[currNode.keyName] === 183 ? true : false;
},
// 部分信息
getSectionInfo() {
const { totalStatistics, secStatistics } = this.pageData;
......
......@@ -29,6 +29,7 @@ function getStatusName(statu) {
statusName.set(44, "封柜审核中");
statusName.set(45, "封柜审核失败");
statusName.set(46, "封柜审核成功");
statusName.set(47, "已封柜,待出仓");
statusName.set(51, "未报关");
statusName.set(52, "报关中");
......@@ -186,14 +187,14 @@ function seaBaseData() {
type: "cabinet",
dataKey: "4", // 字典数据键值
/**
* 装柜状态:41、未装柜;42、装柜中;43、已装柜、待封柜;44、封柜审核中;45、封柜审核失败;46、封柜审核成功
* 装柜状态:41、未装柜;42、装柜中;43、已装柜、待封柜;44、封柜审核中;45、封柜审核失败;46、封柜审核成功;47、已封柜,待出仓
*/
voName: "cabinetInfo",
keyName: "ldStatus",
status: {
start: [41],
wait: [42, 43, 44, 45],
end: [46],
wait: [42, 43, 44, 45, 46],
end: [47],
},
},
],
......
......@@ -54,7 +54,7 @@
<template slot-scope="scope">
<div v-if="!scope.row.identityAuditStatus">未提交</div>
<dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.identityAuditStatus" ></dict-tag>
<el-tooltip v-if="scope.row.identityAuditStatus === 3" class="item" effect="dark" :content="scope.identityAuditRemark" placement="bottom">
<el-tooltip v-if="scope.row.identityAuditStatus === 3" class="item" effect="dark" :content="scope.row.identityAuditRemark" placement="bottom">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
......@@ -63,7 +63,7 @@
<template slot-scope="scope">
<div v-if="!scope.row.enterpriseAuditStatus">未提交</div>
<dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.enterpriseAuditStatus" ></dict-tag>
<el-tooltip v-if="scope.row.enterpriseAuditStatus === 3" class="item" effect="dark" :content="scope.rowenterpriseAuditRemark" placement="bottom">
<el-tooltip v-if="scope.row.enterpriseAuditStatus === 3" class="item" effect="dark" :content="scope.row.rowenterpriseAuditRemark" placement="bottom">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
......@@ -409,7 +409,7 @@ export default {
},//清空企业
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.queryParams.page = 1;
this.getList();
},
/** 重置按钮操作 */
......@@ -645,10 +645,5 @@ export default {
.el-textarea{
width: 300px;
}
.el-button{
width: 180px;
height: 50px;
margin: 0 10px;
}
}
</style>
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment