Commit 26ca5b61 authored by dragondean@qq.com's avatar dragondean@qq.com
parents 8aef4bed a5f8e809
...@@ -120,6 +120,7 @@ ...@@ -120,6 +120,7 @@
<el-dropdown-item command="error">异常登记</el-dropdown-item> <el-dropdown-item command="error">异常登记</el-dropdown-item>
<el-dropdown-item command="cost">费用登记</el-dropdown-item> <el-dropdown-item command="cost">费用登记</el-dropdown-item>
<el-dropdown-item command="delete">删除</el-dropdown-item> <el-dropdown-item command="delete">删除</el-dropdown-item>
<el-dropdown-item command="editLadingBill">编辑提货单</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
...@@ -143,15 +144,18 @@ ...@@ -143,15 +144,18 @@
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" @pagination="getList" /> <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"> <el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.open" :width="dialogCfg.width" append-to-body class="shippingSea-dialog">
<template v-if="dialogType === 'edit' || dialogType === 'add'"> <template v-if="dialogCfg.dialogType === 'edit' || dialogCfg.dialogType === 'add'">
<editForm v-if="open" @closeDialog="closeDialog" :shipmentObj="currRow" :warehouseList="warehouseList" :transportTypes="transportTypes" :cabinetList="cabinetList" /> <editForm v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" :warehouseList="warehouseList" :transportTypes="transportTypes" :cabinetList="cabinetList" />
</template> </template>
<template v-if="dialogType === 'cost'"> <template v-if="dialogCfg.dialogType === 'cost'">
<costForm v-if="open" @closeDialog="closeDialog" :shipmentObj="currRow" /> <costForm v-if="dialogCfg.open" @closeDialog="closeDialog" :shipmentObj="currRow" />
</template> </template>
<template v-if="dialogType === 'error'"> <template v-if="dialogCfg.dialogType === 'error'">
<regError v-if="open" @closeDialog="closeDialog" :shipmentObj="currRow" /> <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> </template>
</el-dialog> </el-dialog>
</div> </div>
...@@ -165,6 +169,7 @@ import { getListTree } from "@/api/ecw/region"; ...@@ -165,6 +169,7 @@ import { getListTree } from "@/api/ecw/region";
import costForm from "./costForm.vue"; import costForm from "./costForm.vue";
import regError from "./regError.vue"; import regError from "./regError.vue";
import editForm from "./editForm.vue"; import editForm from "./editForm.vue";
import ladingBill from "./ladingBill.vue";
export default { export default {
name: "indexSea", name: "indexSea",
...@@ -172,6 +177,7 @@ export default { ...@@ -172,6 +177,7 @@ export default {
costForm, costForm,
regError, regError,
editForm, editForm,
ladingBill,
}, },
data() { data() {
return { return {
...@@ -194,13 +200,16 @@ export default { ...@@ -194,13 +200,16 @@ export default {
// 出货列表 // 出货列表
list: [], list: [],
// 弹出层标题 // 弹出层标题
title: "",
// 弹出类型 // 弹出类型
dialogType: "", dialogCfg: {
title: "",
dialogType: "",
width: "600px",
// 是否显示弹出层
open: false,
},
// 当前行 // 当前行
currRow: {}, currRow: {},
// 是否显示弹出层
open: false,
dateRangeCreateTime: [], dateRangeCreateTime: [],
// 查询参数 // 查询参数
queryParams: { queryParams: {
...@@ -281,18 +290,20 @@ export default { ...@@ -281,18 +290,20 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.open = true; this.$set(this.dialogCfg, "open", true);
this.title = "添加出货"; this.$set(this.dialogCfg, "title", "添加出货");
this.dialogType = "add"; this.$set(this.dialogCfg, "dialogType", "add");
this.$set(this.dialogCfg, "width", "600px");
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {
const id = row.id; const id = row.id;
getbox(id).then((response) => { getbox(id).then((response) => {
this.currRow = response.data; this.currRow = response.data;
this.open = true; this.$set(this.dialogCfg, "open", true);
this.title = "修改出货"; this.$set(this.dialogCfg, "title", "修改出货");
this.dialogType = "edit"; this.$set(this.dialogCfg, "dialogType", "edit");
this.$set(this.dialogCfg, "width", "600px");
}); });
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
...@@ -330,7 +341,7 @@ export default { ...@@ -330,7 +341,7 @@ export default {
}, },
/* 关闭弹窗 */ /* 关闭弹窗 */
closeDialog(type) { closeDialog(type) {
this.open = false; this.$set(this.dialogCfg, "open", false);
if (type === "add" || type === "edit") { if (type === "add" || type === "edit") {
this.getList(); this.getList();
} }
...@@ -346,22 +357,36 @@ export default { ...@@ -346,22 +357,36 @@ export default {
this.handleUpdate(row); this.handleUpdate(row);
break; 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": case "delete":
this.handleDelete(row); this.handleDelete(row);
break; break;
case "cost": case "cost":
this.title = "费用登记"; this.$set(this.dialogCfg, "open", true);
this.dialogType = "cost"; this.$set(this.dialogCfg, "title", "费用登记");
this.open = true; this.$set(this.dialogCfg, "dialogType", "cost");
this.$set(this.dialogCfg, "width", "600px");
this.currRow = row; this.currRow = row;
break; break;
case "error": case "error":
this.title = "异常登记"; this.$set(this.dialogCfg, "open", true);
this.dialogType = "error"; this.$set(this.dialogCfg, "title", "异常登记");
this.open = true; this.$set(this.dialogCfg, "dialogType", "error");
this.$set(this.dialogCfg, "width", "600px");
this.currRow = row; this.currRow = row;
break; break;
case "detail": case "detail":
this.$router.push("/boxSea/query/" + row.id); this.$router.push("/boxSea/query/" + row.id);
break; break;
......
<template>
</template>
<script>
export default {
name: "ladingBill",
};
</script>
<style lang="scss" scoped>
</style>
...@@ -24,10 +24,10 @@ ...@@ -24,10 +24,10 @@
<el-button type="primary" @click="showOrder">订单列表</el-button> <el-button type="primary" @click="showOrder">订单列表</el-button>
</el-row> </el-row>
<div v-if="boxBackVO.preInstallInfo && boxBackVO.preInstallInfo.applyReason"> <div v-if="approvalInfo.applyReason">
<p>申请原因</p> <h1>申请原因</h1>
<div> <div>
{{boxBackVO.preInstallInfo.applyReason}} {{approvalInfo.applyReason}}
</div> </div>
</div> </div>
...@@ -110,6 +110,7 @@ export default { ...@@ -110,6 +110,7 @@ export default {
}, },
data() { data() {
return { return {
approvalInfo: {},
boxBackVO: {}, boxBackVO: {},
loadDetail: {}, loadDetail: {},
// 柜型 // 柜型
...@@ -131,6 +132,7 @@ export default { ...@@ -131,6 +132,7 @@ export default {
/* 获取详情 */ /* 获取详情 */
getApprovalDetail(processId) { getApprovalDetail(processId) {
approvalDetail({ approvalId: processId }).then((res) => { approvalDetail({ approvalId: processId }).then((res) => {
this.approvalInfo = res.data.approvalInfo;
this.boxBackVO = res.data.boxBackVO; this.boxBackVO = res.data.boxBackVO;
this.loadDetail = res.data.loadDetail; this.loadDetail = res.data.loadDetail;
}); });
......
...@@ -22,13 +22,13 @@ ...@@ -22,13 +22,13 @@
<!-- 开始装柜 --> <!-- 开始装柜 -->
<el-dialog title="开始装柜" :visible.sync="dialogVisible" fullscreen :modal-append-to-body=false append-to-body> <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-dialog>
<!-- 操作 --> <!-- 操作 -->
<el-row class="operate-button"> <el-row class="operate-button">
<el-button type="primary" @click="onSubmit(1)">保存</el-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 @click="cancel">关闭</el-button>
<el-button type="danger" @click="startCabinet" :disabled="isStartCabinet">开始装柜</el-button> <el-button type="danger" @click="startCabinet" :disabled="isStartCabinet">开始装柜</el-button>
</el-row> </el-row>
...@@ -99,6 +99,10 @@ export default { ...@@ -99,6 +99,10 @@ export default {
} }
}); });
}, },
closeDialog(type) {
this.dialogVisible = false;
if (type) this.cancel(type);
},
/** 取消 */ /** 取消 */
cancel(type) { cancel(type) {
this.$emit("closeDialog", type); this.$emit("closeDialog", type);
...@@ -112,7 +116,7 @@ export default { ...@@ -112,7 +116,7 @@ export default {
isStartCabinet() { isStartCabinet() {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
const status = shipmentObj[currNode.keyName]; const status = shipmentObj[currNode.keyName];
return status === 46 ? true : false; return status === 47 ? true : false;
}, },
}, },
}; };
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<!-- 表格 --> <!-- 表格 -->
<el-row class="table-content"> <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="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo"> <el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -100,16 +100,27 @@ ...@@ -100,16 +100,27 @@
<p>容量:</p> <p>容量:</p>
<p>{{calcCapacity}}</p> <p>{{calcCapacity}}</p>
</div> </div>
<div>已装 无返回</div> <div>已装 {{getInstallNumCount}}</div>
</el-col> </el-col>
</el-row> </el-row>
<!-- 操作 --> <!-- 审核流程 -->
<el-row class="button-area"> <el-row class="process-area">
<el-button type="primary" @click="handlerClick('supplementOrder','补单')" v-if="!isUnderReview">补单</el-button> <div class="process">
<el-button type="primary" v-if="!isUnderReview" @click="applyCloseCabinet">申请封柜</el-button> <div>审批流程</div>
<el-button type="primary" @click="handlerClick('modifyCabinet','修改柜信息')" v-if="!isUnderReview">修改柜信息</el-button> <work-flow xmlkey="close_container" v-model="selectedUsers"></work-flow>
<el-button type="primary" v-if="isUnderReview">封柜审核中</el-button> </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> </el-row>
<!-- 对话框 --> <!-- 对话框 -->
...@@ -202,6 +213,7 @@ import { ...@@ -202,6 +213,7 @@ import {
remove, remove,
boxUpdate, boxUpdate,
approvalCreate, approvalCreate,
approvalCancel,
} from "@/api/ecw/boxSea"; } from "@/api/ecw/boxSea";
import { import {
getTotlContent, getTotlContent,
...@@ -210,6 +222,7 @@ import { ...@@ -210,6 +222,7 @@ import {
sumStatistics, sumStatistics,
} from "../../utils"; } from "../../utils";
import splitOrder from "./splitOrder.vue"; import splitOrder from "./splitOrder.vue";
import WorkFlow from "@/components/WorkFlow";
/** /**
* 开始装柜 * 开始装柜
...@@ -220,6 +233,7 @@ export default { ...@@ -220,6 +233,7 @@ export default {
components: { components: {
supplementOrder, supplementOrder,
splitOrder, splitOrder,
WorkFlow,
}, },
props: { props: {
shipmentObj: Object, shipmentObj: Object,
...@@ -230,10 +244,6 @@ export default { ...@@ -230,10 +244,6 @@ export default {
listData: [], listData: [],
// 表格数据 // 表格数据
tableData: {}, tableData: {},
// 统计数据
sumData: {
count: { num: 0, volume: 0, weight: 0 },
},
// 弹窗配置 // 弹窗配置
dialogConfig: { dialogConfig: {
title: "", title: "",
...@@ -267,6 +277,7 @@ export default { ...@@ -267,6 +277,7 @@ export default {
}, },
// 当前行 // 当前行
currRow: {}, currRow: {},
selectedUsers: [],
}; };
}, },
created() { created() {
...@@ -408,6 +419,7 @@ export default { ...@@ -408,6 +419,7 @@ export default {
params.orderNumCode = this.qrCode; params.orderNumCode = this.qrCode;
singleCreate(params).then((res) => { singleCreate(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.qrCode = "";
this.getLoadSecGoodsList(); this.getLoadSecGoodsList();
}); });
}); });
...@@ -415,6 +427,7 @@ export default { ...@@ -415,6 +427,7 @@ export default {
params.orderNo = this.batchObj.qrCode; params.orderNo = this.batchObj.qrCode;
batchCreate(params).then((res) => { batchCreate(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.closeDialog();
this.getLoadSecGoodsList(); this.getLoadSecGoodsList();
}); });
}); });
...@@ -431,12 +444,14 @@ export default { ...@@ -431,12 +444,14 @@ export default {
if (type === "single") { if (type === "single") {
singleDelete(params).then((res) => { singleDelete(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.closeDialog();
this.getLoadSecGoodsList(); this.getLoadSecGoodsList();
}); });
}); });
} else { } else {
batchDelete(params).then((res) => { batchDelete(params).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.closeDialog();
this.getLoadSecGoodsList(); this.getLoadSecGoodsList();
}); });
}); });
...@@ -474,11 +489,15 @@ export default { ...@@ -474,11 +489,15 @@ export default {
/* 申请封柜 */ /* 申请封柜 */
applyCloseCabinet() { applyCloseCabinet() {
approvalCreate({ approvalCreate({
shipmentId: this.shipmentObj.id, applyReason: "封柜审核",
approvalStatus: 0, approvalStatus: 0,
approvalType: 2, // 封柜 approvalType: 2, // 封柜
copyUserId: this.selectedUsers,
shipmentId: this.shipmentObj.id,
}).then((res) => { }).then((res) => {
serviceMsg(res, this); serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
});
}); });
}, },
/* 是否显示拆单 */ /* 是否显示拆单 */
...@@ -488,11 +507,17 @@ export default { ...@@ -488,11 +507,17 @@ export default {
} }
return false; return false;
}, },
}, /* 取消审核 */
watch: { canclAudit() {
listData(val) { approvalCancel({
const count = sumStatistics(val); applyReason: "取消审核",
this.$set(this.sumData, "count", count); id: this.shipmentObj["cabinetApprovalInfo"].id,
shipmentId: this.shipmentObj.id,
}).then((res) => {
serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit");
});
});
}, },
}, },
computed: { computed: {
...@@ -517,6 +542,19 @@ export default { ...@@ -517,6 +542,19 @@ export default {
getSumData() { getSumData() {
return sumStatistics(this.listData); 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> </script>
...@@ -613,8 +651,19 @@ export default { ...@@ -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> </style>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<el-form-item label="截关时间"> <el-form-item label="截关时间">
<el-date-picker type="date" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd"></el-date-picker> <el-date-picker type="date" placeholder="请选择日期" v-model="cusDeclarationObj.dcCutOffTime" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="状态"> <el-form-item label="状态" prop="dcCustomsStatus">
<el-radio-group v-model="cusDeclarationObj.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 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> </el-radio-group>
...@@ -160,6 +160,7 @@ export default { ...@@ -160,6 +160,7 @@ export default {
dcBoxWgt: [{ required: true, message: "必填", trigger: "change" }], dcBoxWgt: [{ required: true, message: "必填", trigger: "change" }],
dcGoodsWgt: [{ required: true, message: "必填", trigger: "change" }], dcGoodsWgt: [{ required: true, message: "必填", trigger: "change" }],
dcCustomsType: [{ required: true, message: "必填", trigger: "change" }], dcCustomsType: [{ required: true, message: "必填", trigger: "change" }],
dcCustomsStatus: [{ required: true, message: "必填", trigger: "change" }],
}, },
// 弹窗配置 // 弹窗配置
dialogConfig: { dialogConfig: {
......
...@@ -268,23 +268,24 @@ ...@@ -268,23 +268,24 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-row> </el-row>
<el-row>
<el-button type="primary" @click="onSubmit">提交申请</el-button>
</el-row>
</el-row> </el-row>
<!-- 审核流程 --> <!-- 审核流程 -->
<el-row class="process-area" v-show="isAudit"> <el-row class="process-area">
<div class="process"> <div class="process">
<div>审批流程</div> <div>审批流程</div>
<work-flow xmlkey="shipment_preassemble" v-model="selectedUsers"></work-flow> <work-flow xmlkey="shipment_preassemble" v-model="selectedUsers"></work-flow>
</div> </div>
<div> <div v-show="isAudit">
<el-button type="primary" :disabled=true>审核中</el-button> <el-button type="primary" :disabled=true>审核中</el-button>
<el-button plain type="primary" @click="canclAudit">取消审核</el-button> <el-button plain type="primary" @click="canclAudit">取消审核</el-button>
<el-button plain type="primary" @click="closeDialog">返回</el-button> <el-button plain type="primary" @click="closeDialog">返回</el-button>
</div> </div>
<div v-show="!isAudit">
<el-button type="primary" @click="onSubmit">提交申请</el-button>
</div>
</el-row> </el-row>
</div> </div>
</template> </template>
...@@ -447,9 +448,11 @@ export default { ...@@ -447,9 +448,11 @@ export default {
if (valid) { if (valid) {
approvalCreate({ approvalCreate({
...this.operatorData, ...this.operatorData,
shipmentId: this.$attrs.shipmentObj.id, applyReason: "预装审核",
approvalStatus: 0, approvalStatus: 0,
approvalType: 1, // 预装 approvalType: 1, // 预装
copyUserId: this.selectedUsers,
shipmentId: this.$attrs.shipmentObj.id,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit"); this.$emit("closeDialog", "submit");
...@@ -599,9 +602,9 @@ export default { ...@@ -599,9 +602,9 @@ export default {
const { currNode, shipmentObj } = this.$attrs; const { currNode, shipmentObj } = this.$attrs;
const { voName } = currNode; const { voName } = currNode;
approvalCancel({ approvalCancel({
applyReason: "取消审核",
id: shipmentObj[voName].id, id: shipmentObj[voName].id,
shipmentId: shipmentObj.id, shipmentId: shipmentObj.id,
applyReason: "取消审核",
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.$emit("closeDialog", "submit"); this.$emit("closeDialog", "submit");
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<el-button size="small" @click="$emit('closeDialog')">关闭</el-button> <el-button size="small" @click="$emit('closeDialog')">关闭</el-button>
</el-row> </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> </div>
</template> </template>
......
...@@ -83,8 +83,9 @@ export default { ...@@ -83,8 +83,9 @@ export default {
this.$emit("closeDialog", type); this.$emit("closeDialog", type);
}, },
/* 关闭弹窗 */ /* 关闭弹窗 */
closeStart() { closeStart(type) {
this.dialogVisible = false; this.dialogVisible = false;
if (type) this.cancel(type);
}, },
// 开始卸柜 // 开始卸柜
startUnloading() { startUnloading() {
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<!-- 表格 --> <!-- 表格 -->
<el-row class="table-area"> <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="序号" type="index" align="center" width="50" />
<el-table-column label="订单号" align="center" prop="orderNo"> <el-table-column label="订单号" align="center" prop="orderNo">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -73,8 +73,22 @@ ...@@ -73,8 +73,22 @@
</div> </div>
</el-row> </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> </el-row>
<!-- 对话框 --> <!-- 对话框 -->
...@@ -91,9 +105,11 @@ import { ...@@ -91,9 +105,11 @@ import {
batchUnload, batchUnload,
allUnload, allUnload,
approvalCreate, approvalCreate,
approvalCancel,
getSectionList, getSectionList,
} from "@/api/ecw/boxSea"; } from "@/api/ecw/boxSea";
import { serviceMsg, getTotlContent } from "../../utils"; import { serviceMsg, getTotlContent } from "../../utils";
import WorkFlow from "@/components/WorkFlow";
/** /**
* 开始卸柜 * 开始卸柜
...@@ -101,7 +117,7 @@ import { serviceMsg, getTotlContent } from "../../utils"; ...@@ -101,7 +117,7 @@ import { serviceMsg, getTotlContent } from "../../utils";
export default { export default {
name: "startUnloading", name: "startUnloading",
inheritAttrs: false, inheritAttrs: false,
components: { unloadingError }, components: { unloadingError, WorkFlow },
data() { data() {
return { return {
// 标签号 // 标签号
...@@ -128,6 +144,7 @@ export default { ...@@ -128,6 +144,7 @@ export default {
sectionOrderList: [], sectionOrderList: [],
totalStatistics: {}, totalStatistics: {},
}, },
selectedUsers: [],
}; };
}, },
created() { created() {
...@@ -168,6 +185,7 @@ export default { ...@@ -168,6 +185,7 @@ export default {
shipmentId: this.$attrs.shipmentObj.id, shipmentId: this.$attrs.shipmentObj.id,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then((res) => { serviceMsg(res, this).then((res) => {
this.labelNo = "";
this.getLoadGoodsList(); this.getLoadGoodsList();
}); });
}); });
...@@ -192,6 +210,7 @@ export default { ...@@ -192,6 +210,7 @@ export default {
shipmentId: this.$attrs.shipmentObj.id, shipmentId: this.$attrs.shipmentObj.id,
approvalStatus: 0, approvalStatus: 0,
approvalType: 3, // 卸柜 approvalType: 3, // 卸柜
copyUserId: this.selectedUsers,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
this.cancel(); this.cancel();
...@@ -200,7 +219,7 @@ export default { ...@@ -200,7 +219,7 @@ export default {
}, },
/** 取消 */ /** 取消 */
cancel() { cancel() {
this.$emit("closeStart"); this.$emit("closeStart", "submit");
}, },
/* 关闭弹窗 */ /* 关闭弹窗 */
closeDialog(type) { closeDialog(type) {
...@@ -229,8 +248,26 @@ export default { ...@@ -229,8 +248,26 @@ export default {
sectionChange() { sectionChange() {
this.getLoadGoodsList(); 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: { computed: {
/* 是否审核中 */
isUnderReview() {
const { currNode, shipmentObj } = this.$attrs;
return shipmentObj[currNode.keyName] === 183 ? true : false;
},
// 部分信息 // 部分信息
getSectionInfo() { getSectionInfo() {
const { totalStatistics, secStatistics } = this.pageData; const { totalStatistics, secStatistics } = this.pageData;
......
...@@ -29,6 +29,7 @@ function getStatusName(statu) { ...@@ -29,6 +29,7 @@ function getStatusName(statu) {
statusName.set(44, "封柜审核中"); statusName.set(44, "封柜审核中");
statusName.set(45, "封柜审核失败"); statusName.set(45, "封柜审核失败");
statusName.set(46, "封柜审核成功"); statusName.set(46, "封柜审核成功");
statusName.set(47, "已封柜,待出仓");
statusName.set(51, "未报关"); statusName.set(51, "未报关");
statusName.set(52, "报关中"); statusName.set(52, "报关中");
...@@ -186,14 +187,14 @@ function seaBaseData() { ...@@ -186,14 +187,14 @@ function seaBaseData() {
type: "cabinet", type: "cabinet",
dataKey: "4", // 字典数据键值 dataKey: "4", // 字典数据键值
/** /**
* 装柜状态:41、未装柜;42、装柜中;43、已装柜、待封柜;44、封柜审核中;45、封柜审核失败;46、封柜审核成功 * 装柜状态:41、未装柜;42、装柜中;43、已装柜、待封柜;44、封柜审核中;45、封柜审核失败;46、封柜审核成功;47、已封柜,待出仓
*/ */
voName: "cabinetInfo", voName: "cabinetInfo",
keyName: "ldStatus", keyName: "ldStatus",
status: { status: {
start: [41], start: [41],
wait: [42, 43, 44, 45], wait: [42, 43, 44, 45, 46],
end: [46], end: [47],
}, },
}, },
], ],
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="!scope.row.identityAuditStatus">未提交</div> <div v-if="!scope.row.identityAuditStatus">未提交</div>
<dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.identityAuditStatus" ></dict-tag> <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> <i class="el-icon-question"></i>
</el-tooltip> </el-tooltip>
</template> </template>
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="!scope.row.enterpriseAuditStatus">未提交</div> <div v-if="!scope.row.enterpriseAuditStatus">未提交</div>
<dict-tag v-else :type="DICT_TYPE.AUDIT_STATUS" :value="scope.row.enterpriseAuditStatus" ></dict-tag> <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> <i class="el-icon-question"></i>
</el-tooltip> </el-tooltip>
</template> </template>
...@@ -409,7 +409,7 @@ export default { ...@@ -409,7 +409,7 @@ export default {
},//清空企业 },//清空企业
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNo = 1; this.queryParams.page = 1;
this.getList(); this.getList();
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
...@@ -645,10 +645,5 @@ export default { ...@@ -645,10 +645,5 @@ export default {
.el-textarea{ .el-textarea{
width: 300px; width: 300px;
} }
.el-button{
width: 180px;
height: 50px;
margin: 0 10px;
}
} }
</style> </style>
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="关键字" prop="nickname">
<el-input v-model="queryParams.searchKey" placeholder="搜索昵称、姓名、手机、Email" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="成交" prop="mobile">
<el-select v-model="queryParams.isDeal">
<el-option v-for="item in [{label:'全部',value:''},{label:'是',value:true},{label:'否',value:false}]" :value="item.value" :label="item.label" :key="item.value" ></el-option>
</el-select>
</el-form-item>
<el-form-item label="认证" prop="password">
<el-select v-model="queryParams.authType">
<el-option v-for="item in [{label: '全部',value: ''},{label:'营业执照认证',value:1},{label:'身份证认证',value:2},{label:'双认证',value:3}]" :key="item.value" :value="item.value" :label="item.label"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-button :loading="exportLoading" type="primary" @click="exportFn">导 出</el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="公司名称" align="center" prop="enterpriseName" />
<el-table-column label="用户昵称" align="center" prop="nickname" />
<el-table-column label="真实姓名" align="center" prop="identityName" />
<el-table-column label="区号">
<template v-slot:default = 'scope'>
{{scope.row.areaCode ? `${scope.row.areaCode}`:''}}
</template>
</el-table-column>
<el-table-column label="手机号" show-overflow-tooltip align="center" prop="mobile" >
</el-table-column>
<el-table-column label="成交" align="center" prop="" show-overflow-tooltip />
<el-table-column label="认证" align="center" :formatter="authentication" />
<el-table-column label="状态" align="center" prop="status" >
<template slot-scope="scope">
<el-switch v-model="scope.row.status" :active-value="0" :inactive-value="1" @change="handleStatusChange(scope.row)" />
</template>
</el-table-column>
<el-table-column label="身份证审核状态" align="center" prop="createTime" width="180">
<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.row.identityAuditRemark" placement="bottom">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
</el-table-column>
<el-table-column label="营业执照审核状态" align="center" prop="createTime" width="180">
<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.row.rowenterpriseAuditRemark" placement="bottom">
<i class="el-icon-question"></i>
</el-tooltip>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="200px">
<template slot-scope="scope" >
<el-button size="mini" type="text" @click="guarantee(scope.row)">保函/证书</el-button>
<el-button size="mini" type="text" @click="operationLogFn(scope.row)">操作日志</el-button>
<el-button v-if="scope.row.identityAuditStatus !== 0 && scope.row.identityAuditStatus !== undefined" size="mini" type="text" @click="identityFn(scope.row , '1')">身份证</el-button>
<el-button size="mini" type="text" @click="identityFn(scope.row, '2')">营业执照</el-button>
<el-button size="mini" type="text" @click="deleteFn(scope.row)"> </el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows"
@pagination="getList"/>
<el-dialog
title="保函/证书"
:visible.sync="guaranteeShow"
:before-close="()=>{guaranteeUrl = ''; guaranteeShow = false;}"
width="50%">
<el-form>
<el-form-item label="保函/证书">
<el-row :gutter="20" type="flex" justify="center" >
<el-col :span="12"><el-input v-model="guaranteeUrl" ></el-input></el-col>
<el-col :span="4"><div style="height: 45px;overflow: hidden;">
<file-upload v-model="guaranteeUrl" :fileType="['png', 'jpg', 'jpeg','pdf']" :limit="1" :isShowTip="false"></file-upload>
</div></el-col>
<el-col :span="6">
<div>可上传图片,pdf文档</div>
</el-col>
</el-row>
</el-form-item>
</el-form>
<div style="text-align: center;"><el-button @click="setGuarantee"> </el-button></div>
</el-dialog>
<el-dialog
title="操作日志"
:visible.sync="operationLogShow"
width="50%">
<el-table :data="operationLogList">
<el-table-column label="标题" prop="title"></el-table-column>
<el-table-column label="操作内容" prop="content"></el-table-column>
<el-table-column label="操作人" prop="userId"></el-table-column>
<el-table-column label="操作时间">
<template v-slot:default ="scope">
{{parseTime(scope.row.createTime) }}
</template>
</el-table-column>
<el-table-column label="操作ip" prop="ip"></el-table-column>
</el-table>
<pagination v-show="totalLog > 0" :total="totalLog" :page.sync="operationLogFrom.page" :limit.sync="operationLogFrom.row"
@pagination="getOperationLogList"/>
</el-dialog>
<el-dialog
title="认证"
:visible.sync="attestationShow"
width="80%">
<div class="details">
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="身份证" name="1" v-if="this.publicObj && this.publicObj.identityAuditStatus !== 0 && this.publicObj.identityAuditStatus !== undefined">
<div style="padding:0 40px;box-sizing: border-box;">
<el-form ref="formId" label-position="left" label-width="100px" :rules="rulesId" :model="IdDetails" >
<el-form-item label="姓名" prop="name">
<el-input v-model="IdDetails.name"></el-input>
</el-form-item>
<el-form-item label="证件类型" prop="cardType">
<dict-selector v-model="IdDetails.cardType" :type="DICT_TYPE.CERTIFICATE_TYPE" ></dict-selector>
</el-form-item>
<el-form-item label="证件号码" prop="cardNumber">
<el-input v-model="IdDetails.cardNumber"></el-input>
</el-form-item>
<el-form-item label="证件正面照" prop="img1">
<div>
<el-input readonly style="margin-bottom: 20px" v-model="IdDetails.img1"></el-input>
<ImageUpload :isShowTip="false" v-model="IdDetails.img1" :limit="1"></ImageUpload>
</div>
</el-form-item>
<el-form-item label="证件背面照" prop="img2">
<div>
<el-input readonly style="margin-bottom: 20px" v-model="IdDetails.img2"></el-input>
<ImageUpload :isShowTip="false" :limit="1" v-model="IdDetails.img2"></ImageUpload>
</div>
</el-form-item>
<el-form-item label="审核状态">
{{getDictDatas(DICT_TYPE.AUDIT_STATUS)[IdDetails.status].label}}
</el-form-item>
<el-form-item label="审核时间" v-if="IdDetails.status === 2 || IdDetails.status === 3">
{{parseTime(IdDetails.auditTime)}}
</el-form-item>
<el-form-item v-if="IdDetails.status === 1 || IdDetails.status === 3" label="审核备注">
<el-input v-model="IdDetails.auditRemark" :disabled="IdDetails.status === 3" type="textarea"></el-input>
</el-form-item>
</el-form>
<div v-if="IdDetails.status === 1" style="text-align: center;margin-top: 20px;">
<el-button type="primary" @click="idCardAuditFn(2)">审核通过</el-button>
<el-button type="primary" @click="idCardAuditFn(3)">审核不通过</el-button>
<el-button @click="attestationShow = false"> </el-button>
</div>
<div v-if="IdDetails.status === 2 || IdDetails.status === 3" style="text-align: center;margin-top: 20px;">
<el-button type="primary" @click="setMemberUserUpdateIdCard"> </el-button>
<el-button @click="attestationShow = false"> </el-button>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="营业执照" name="2" >
<div style="width: 500px;padding:0 40px;box-sizing: border-box;">
<el-form :rules="rulesEnterprise" :model="enterpriseFrom" label-position="left" ref="formEnter" label-width="100px">
<el-form-item label="企业名称" prop="name">
<el-input v-model="enterpriseFrom.name" ></el-input>
</el-form-item>
<el-form-item label="企业法人" prop="legalName">
<el-input v-model="enterpriseFrom.legalName" ></el-input>
</el-form-item>
<el-form-item label="证件号码" prop="cardNumber">
<el-input v-model="enterpriseFrom.cardNumber"></el-input>
</el-form-item>
<el-form-item label="证件照" prop="img1">
<div>
<el-input readonly style="margin-bottom: 20px" v-model="enterpriseFrom.img1"></el-input>
<ImageUpload :isShowTip="false" :limit="1" v-model="enterpriseFrom.img1"></ImageUpload>
</div>
</el-form-item>
<el-form-item label="附件">
<el-input readonly v-model="enterpriseFrom.img2"></el-input>
<ImageUpload :isShowTip="false" :limit="1" v-model="enterpriseFrom.img2"></ImageUpload>
</el-form-item>
<el-form-item label="审核状态">{{getDictDatas(DICT_TYPE.AUDIT_STATUS)[enterpriseFrom.status].label}}</el-form-item>
<el-form-item v-if="enterpriseFrom.status === 2 || enterpriseFrom.status === 3" label="审核时间">{{parseTime(enterpriseFrom.auditTime)}}</el-form-item>
<el-form-item v-if="enterpriseFrom.status === 1 || enterpriseFrom.status === 3" label="审核备注">
<el-input v-model="enterpriseFrom.auditRemark" :disabled="enterpriseFrom.status === 3" type="textarea"></el-input>
</el-form-item>
</el-form>
<div v-if="enterpriseFrom.status === 1" style="text-align: center;margin-top: 20px;">
<el-button type="primary" @click="certificateVerificationFn(2)">审核通过</el-button>
<el-button type="primary" @click="certificateVerificationFn(3)">审核不通过</el-button>
<el-button @click="attestationShow = false"> </el-button>
</div>
<div v-if="enterpriseFrom.status === 2 || enterpriseFrom.status === 3" style="text-align: center;margin-top: 20px;">
<el-button type="primary" @click="setMemberUserUpdateEnterprise"> </el-button>
<el-button @click="attestationShow = false"> </el-button>
</div>
<div v-if="enterpriseFrom.status === 0" style="text-align: center;margin-top: 20px;">
<el-button type="primary" @click="submit"> </el-button>
<el-button @click="attestationShow = false"> </el-button>
</div>
</div>
</el-tab-pane>
</el-tabs>
</div>
</el-dialog>
</div>
</template>
<script>
import {
createUser,
updateUser,
deleteUser,
getUserPage,
exportUserExcel,
operationLogApi,
seTupdateBackletter,
memberGetAuthIdcardInfo,
memberGetAuthEnterpriseInfo,
memberUserAuditIdCard,
memberUserUpdateIdCard,
memberUserUpdateEnterprise, setUserUpdateStatus, userCreateAuditEnterprise
} from "@/api/member/user";
import {DICT_TYPE, getDictDatas} from "@/utils/dict";
import FileUpload from "@/components/FileUpload"
import ImageUpload from "@/components/ImageUpload";
import uploadImage from "@/components/UploadImage";
import {CommonStatusEnum} from "@/utils/constants";
import {changeUserStatus, listServiceUser, listSimpleUsers} from "@/api/system/user";
let stateId = {
0:'审核中',
1:'审核通过',
2:'审核不通过',
3:'已过期'
}
export default {
name: "underReview",
components: {
FileUpload,
ImageUpload,uploadImage
},
data() {
return {
totalLog:0,
stateId,
IdDetails:{},
enterpriseFrom:{},
guaranteeUrl:undefined,
DICT_TYPE,
getDictDatas,
// audit_status
activeName:"1",
// 遮罩层
loading: true,
// 导出遮罩层
exportLoading: false,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 用户列表
list: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
dateRangeLoginDate: [],
dateRangeCreateTime: [],
// 查询参数
queryParams: {
page: 1,
rows: 10,
isDeal:undefined,// 是否成交
searchKey:undefined,//关键字
auditStatus:1,//审核状态
authType:undefined,//关键字
},
// 表单参数
form: {},
// 表单校验
rulesId: {
name: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
cardType: [{ required: true, message: "证件类型不能为空", trigger: "blur" }],
cardNumber: [{ required: true, message: "证件号码不能为空", trigger: "blur" }],
img1: [{ required: true, message: "身份正面照不能为空", trigger: ['blur','change'] }],
img2: [{ required: true, message: "身份正面照不能为空", trigger: ['blur','change'] }],
},
rulesEnterprise: {
name: [{required: true, message: "企业名称不能为空", trigger: "blur"}],
legalName: [{required: true, message: "企业法人不能为空", trigger: "blur"}],
cardNumber: [{required: true, message: "证件号码不能为空", trigger: "blur"}],
img1: [{required: true, message: "证件照不能为空", trigger: ['blur','change']}],
},
publicObj:undefined,
operationLogShow:false,
guaranteeShow:false,
operationLogFrom:{
page:1,
row:10,
userId:undefined
},
operationLogList:[],
attestationShow:false
};
},
created() {
this.resetId();
this.resetEnterprise()
this.getList();
},
methods: {
deleteFn(row){
console.log(row)
this.$modal.confirm(`是否要删除昵称为${row.nickname}的会员`).then(function (){
return deleteUser(row.id)
}).then( res => {
if(res.code === 0) this.getList(); this.$message.success('删除成功')
}).catch(() =>{
this.$message.success('删除失败')
}
)
},
//导出
exportFn(){
this.$modal.confirm('是否确认导出所有用户数据项?').then(() => {
this.exportLoading = true;
return exportUserExcel(this.queryParams);
}).then(response => {
this.$download.excel(response, '${table.classComment}.xls');
this.exportLoading = false;
}).catch(() => {});
},
// 用户状态修改
handleStatusChange(row) {
let text = row.status === CommonStatusEnum.ENABLE ? "启用" : "停用";
this.$modal.confirm('确认要"' + text + '""' + row.nickname + '"用户吗?').then(function() {
return setUserUpdateStatus({id:row.id,status:row.status})
}).then(() => {
this.$modal.msgSuccess(text + "成功");
}).catch(function() {
row.status = row.status === CommonStatusEnum.ENABLE ? CommonStatusEnum.DISABLE
: CommonStatusEnum.ENABLE;
});
},
/** 查询列表 */
getList() {
this.loading = true;
// 处理查询参数
let params = {...this.queryParams};
this.addBeginAndEndTime(params, this.dateRangeLoginDate, 'loginDate');
this.addBeginAndEndTime(params, this.dateRangeCreateTime, 'createTime');
// 执行查询
getUserPage(params).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 表单重置 */
resetId(){
this.IdDetails = {
auditRemark: undefined,
auditTime: undefined,
cardNumber: undefined,
cardType: 0,
createTime: undefined,
id: 0,
img1: undefined,
img2: undefined,
name: '',
status: 0,
userId: 0
}
},//清空身份证
resetEnterprise(){
this.enterpriseFrom = {
auditRemark: undefined,
auditTime: undefined,
cardNumber: undefined,
createTime: undefined,
id: undefined,
img1: undefined,
img2: undefined,
legalName: undefined,
name: undefined,
status: 0,
userId: undefined
}
},//清空企业
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.page = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRangeLoginDate = [];
this.dateRangeCreateTime = [];
this.resetForm("queryForm");
this.handleQuery();
},
// 保函证书
guarantee(row) {
this.publicObj = row;
this.guaranteeShow = true;
this.guaranteeUrl = row.backLetterImg;
},
// 操作日志
operationLogFn(row){
this.publicObj = row;
this.operationLogFrom.page = 1;
this.operationLogFrom.userId = row.id
this.operationLogShow = true;
this.operationLogList = [];
this.getOperationLogList();
},
getOperationLogList(){
operationLogApi(this.operationLogFrom).then(r=>{
if(r.code === 0){
this.operationLogList = r.data.list
this.totalLog = r.data.total
}
})
},
setGuarantee(){
seTupdateBackletter({userId:this.publicObj.id,backLetter:this.guaranteeUrl}).then(r=>{
if(r.code === 0){
this.publicObj.backLetterImg = this.guaranteeUrl;
this.guaranteeShow = false;
this.$message.success('保存成功');
}
})
},
identityFn(row,val){
this.attestationShow = true;
this.activeName = val;
this.publicObj = row;
if(val == 1){
this.getIdentityDetails();
}else {
this.getEnterpriseFn();
}
},
handleClick(val){
if(val.name == 1){
this.getIdentityDetails();
}else {
this.getEnterpriseFn();
}
},
getIdentityDetails(){
this.resetId();
memberGetAuthIdcardInfo({userId:this.publicObj.id}).then(r=>{
if(r.code === 0 && !!r.data){
this.IdDetails = r.data
}
})
},
getEnterpriseFn(){
this.resetEnterprise();
memberGetAuthEnterpriseInfo({userId:this.publicObj.id}).then(r => {
if(r.code === 0 && !!r.data){
this.enterpriseFrom = r.data
}
})
},
//身份证审核
idCardAuditFn(val){
let p = {
auditStatus:val,
userCardAuthId:this.IdDetails.id,
auditRemark:this.IdDetails.auditRemark
}
if(val === 2){
p.auditRemark = undefined
}
memberUserAuditIdCard(p).then(r => {
if(r.code === 0){
this.$message.success('修改成功');
this.getList()
this.getIdentityDetails()
}
})
},
// 企业证书审核
certificateVerificationFn(val){
let p = {
auditStatus:val,
userCardAuthId:this.enterpriseFrom.id,
auditRemark:this.enterpriseFrom.auditRemark
}
if(val === 2){
p.auditRemark = undefined
}
memberUserAuditEnterprise(p).then(r => {
if(r.code === 0){
this.getList()
this.getEnterpriseFn();
}
})
},
setMemberUserUpdateIdCard(){
this.$refs.formId.validate(async valid =>{
let p ={
cardNumber:this.IdDetails.cardNumber,
cardType:this.IdDetails.cardType,
img1:this.IdDetails.img1,
img2:this.IdDetails.img2,
name:this.IdDetails.name,
userCardAuthId:this.IdDetails.id,
};
if(valid && this.IdDetails.status === 3){
let res = await new Promise((resolve)=>{
this.$confirm('是否要将当前状态修改为审核成功?', '状态修改', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(r =>{
resolve(r)
}).catch((r)=>{
resolve(r)
})
})
p.auditPass = res === 'confirm' ? true : false;
} else if(valid) {
p.auditPass = false;
} else {
return
}
memberUserUpdateIdCard(p).then(r => {
if(r.code === 0){
this.$message.success('修改成功')
if(p.auditPass === true ){
this.getIdentityDetails()
}
this.getList()
}
})
})
},
setMemberUserUpdateEnterprise(){
this.$refs.formEnter.validate(async valid =>{
let p = {
cardNumber:this.enterpriseFrom.cardNumber,
img1:this.enterpriseFrom.img1,
img2:this.enterpriseFrom.img2,
legalName:this.enterpriseFrom.legalName,
name:this.enterpriseFrom.name,
userEnterpriseAuthId:this.enterpriseFrom.id,
}
if(valid && this.enterpriseFrom.status === 3){
let res = await new Promise((resolve)=>{
this.$confirm('是否要将当前状态修改为审核成功?', '状态修改', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(r =>resolve(r)).catch(r => resolve(r))
})
p.auditPass = res === 'confirm' ? true : false;
}else if(valid){
p.auditPass = false;
}else {
return
}
memberUserUpdateEnterprise(p).then(r =>{
if(r.code === 0){
if(p.auditPass === 3){
this.getEnterpriseFn();
}
this.getList()
this.$message.success('修改成功');
}
})
})
},
authentication(row){
if(!row.identityAuditStatus && !row.enterpriseAuditRemark){
return ''
}else if(row.identityAuditStatus >= 0 && row.enterpriseAuditRemark >= 0){
return '双认证'
} else if(row.identityAuditStatus >= 0){
return '身份'
}else if(row.enterpriseAuditRemark >= 0){
return '营业'
}
},
submit(){
let p = {
cardNumber:this.enterpriseFrom.cardNumber,
img1:this.enterpriseFrom.img1,
img2:this.enterpriseFrom.img2,
legalName:this.enterpriseFrom.legalName,
name:this.enterpriseFrom.name,
userEnterpriseAuthId:this.enterpriseFrom.id,
userId:this.publicObj.id
}
userCreateAuditEnterprise(p).then(r => {
console.log(r);
if(r.code === 0){
this.$message.success('添加成功!');
this.enterpriseFrom.status = 2
this.enterpriseFrom.auditTime = new Date().getTime()
this.getEnterpriseFn();
}
})
}
},
watch:{
attestationShow(newVal){
if(!newVal){
this.resetId();
this.resetEnterprise()
this.publicObj = undefined;
}
}
}
};
</script>
<style lang="scss" scoped>
.details{
.el-input {
width: 300px;
}
.el-textarea{
width: 300px;
}
}
</style>
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