已废弃
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

397 lines
21 KiB

2 years ago
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>分步表单</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="/static/css/public.css" media="all">
<link rel="stylesheet" href="/static/js/lay-module/step-lay/step.css" media="all">
<link rel="stylesheet" href="/static/lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body" style="padding-top: 0px;">
<div id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
<div style="margin-top: 30px">
<button th:style="'display:'+${display}" onclick="downloadExcel()">下载</button>
<table id="demo" class="layui-table"
style="margin: 0 auto;max-width: 800px;">
<colgroup>
<col width="150">
<col width="200">
</colgroup>
<tbody>
<tr>
<td>申请编号</td>
<td id="applicationId" th:text="${record.getCode()}">123456</td>
</tr>
<tr>
<td>出库业务类型</td>
<td id="outTypeName" th:text="${record.getOutTypeName()}">备注</td>
</tr>
<input style="display: none" id="id" th:value="${record.getId()}">
<tr th:each="recordMin,iterStar: ${recordMinList}">
<td>物料名称</td>
<td>
<button th:text="${recordMin.getMname()}" th:value="${recordMin.getId()}"
onclick="selectThisMinRecord(this)"></button>
</td>
</tr>
<tr>
<td>是否为转移申请</td>
<td id="isTransfer" th:text="${record.getIstransfer() == 2 ?'否':'是'} ">外芯仓库</td>
</tr>
<tr>
<td>仓库名称</td>
<td id="depositoryName" th:text="${record.getDepositoryName()}">外芯仓库</td>
</tr>
<tr th:style="'display:'+${adisplay}">
<td>申请部门</td>
<td id="adminorg" th:text="${record.getAdminorgName()}">部门</td>
</tr>
<tr>
2 years ago
<td>使用部门</td>
<td id="useAdminorg" th:text="${record.getUseAdminorgName()}">部门</td>
</tr>
<tr th:style="'display:'+${cdisplay}">
<td>施工单位</td>
<td id="constructUnitId" th:text="${record.getConstructionUnitName()}">施工单位</td>
</tr>
<tr>
<td>处理人</td>
<td th:text="${outDisposer}"></td>
</tr>
<tr>
<td>所处库位</td>
<td id="placeCode" th:text="${record.getPCode()}">0000</td>
</tr>
<tr>
<td>数量</td>
<td id="quantity" th:text="${record.getQuantity()}">409</td>
</tr>
<tr th:style="'display:'+${display}">
<td>金额</td>
<td id="price" th:text="${record.getPrice()}">2016-11-28</td>
</tr>
<tr>
<td>状态</td>
<td id="state" th:text="${record.getState()}">2016-11-28</td>
<td id="pass" th:text="${record.getPass()}" style="display:none;"></td>
</tr>
</tbody>
</table>
<!-- 用于展示审批流程-->
<div class="layui-timeline">
<div class="layui-timeline-item" id="applicantNode">
<i class="layui-icon layui-timeline-axis layui-icon-friends"></i>
<div class="layui-timeline-content layui-text">
<h3 class="layui-timeline-title">申请人:</h3>
<p>
<img th:src="${record.getApplicantUserIconPhoto()}"
style="vertical-align:middle;height: 50px">
<span th:text="${record.getApplicantName()}"></span>
</p>
<p th:text="'申请时间:'+${record.getApplicantTime()}"></p>
<p th:text="'申请事由:'+${record.getApplyRemark()}"></p>
</div>
</div>
<div class="layui-timeline-item" id="firstApprovalNode">
<i id="firstApprovalNodeIcon"
class="layui-icon layui-timeline-axis layui-icon-friends"></i>
<div class="layui-timeline-content layui-text">
<h3 id="firstApprovalNodeTitle" class="layui-timeline-title">审批人:审批中</h3>
<div th:each="d,iterStar:${record.getDepartmentheadUserIconPhoto()}">
<img th:src="${d.getValue()}" style="vertical-align:middle;height: 50px">
<span id="firstApprovalNodeUserName" th:text="${d.getKey()}"></span>
</div>
</div>
</div>
</div>
2 years ago
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script>
function selectThisMinRecord(obj) {
}
function downloadExcel() {
}
// 用于构造审批节点
function createApprovalNode(nodeName, record, timeLineStartItemForId) {
}
2 years ago
layui.use(['form', 'step'], function () {
var $ = layui.$,
form = layui.form,
step = layui.step;
step.render({
elem: '#stepForm',
filter: 'stepForm',
width: '100%', //设置容器宽度
stepWidth: '750px',
height: '100%',
// number:number,
// position: position,
stepItems: []
});
let id = $("#id").val();
// 定义当前查看的出库单
let record = {};
/**
* 用于生成审批节点
* @param nodeName 当前节点名称
* @param record 当前数据
* @param timeLineStartItemForId 开始行
*/
createApprovalNode = function (nodeName, record, timeLineStartItemForId) {
let timeLineEndItem = `</div></div>`;
let approvalNode;
let nodeState = record[nodeName + "Pass"];
if (nodeState === "3") {
// 如果平衡岗未审批
let approvalNodeForTitleName = '<h3 class="layui-timeline-title">审批人:</h3>';
let UserIconPhoto = record[nodeState + "UserIconPhoto"];
let approvalNodeForIconPhoto = '';
for (let key in UserIconPhoto) {
if (UserIconPhoto.hasOwnProperty(key)) {
let depositoryManagerIconPhotoItem = '<div>' +
'<img alt="头像" src="' + UserIconPhoto[key] + '" style="vertical-align: middle;height: 50px;">' +
'<span>' + key + '</span>' +
'</div>';
approvalNodeForIconPhoto += depositoryManagerIconPhotoItem;
}
}
approvalNode = timeLineStartItemForId + approvalNodeForTitleName + approvalNodeForIconPhoto + timeLineEndItem;
} else {
let approvalNodeForTitleName = '<h3 class="layui-timeline-title">审批人:';
let approvalNodeForDisposeMessage = '<p>审批意见:' + record[nodeName + "Message"] + '</p>';
let timeLineStartItemForIcon;
let UserIconPhoto = record[nodeName + "UserIconPhoto"];
let approvalNodeForIconPhoto = '';
for (let key in UserIconPhoto) {
if (UserIconPhoto.hasOwnProperty(key)) {
let IconPhotoItem = '<div>' +
'<img alt="头像" src="' + UserIconPhoto[key] + '" style="vertical-align: middle;height: 50px;">' +
'<span>' + key + '</span>' +
'<div style="position: absolute;right: 0;top: 35px">';
if (nodeState === "1") {
IconPhotoItem += '已通过&nbsp;&nbsp;&nbsp;&nbsp;';
} else if (nodeState === "2") {
IconPhotoItem += '已驳回&nbsp;&nbsp;&nbsp;&nbsp;';
}
IconPhotoItem += record[nodeName + "Time"] + '</div></div>';
approvalNodeForIconPhoto += IconPhotoItem;
}
}
if (nodeState === "1") {
// 如果审批通过
timeLineStartItemForIcon = timeLineStartItemForId.replace("layui-icon-friends", "layui-icon-ok");
approvalNodeForTitleName += '已通过</h3>';
} else if (nodeState === "2") {
timeLineStartItemForIcon = timeLineStartItemForId.replace("layui-icon-friends", "layui-icon-close");
approvalNodeForTitleName += '已驳回</h3>';
}
approvalNode = timeLineStartItemForIcon + approvalNodeForTitleName + approvalNodeForIconPhoto + approvalNodeForDisposeMessage + timeLineEndItem;
}
return approvalNode;
};
$.ajax({
url: "/depositoryRecord/getApplicationOutRecord",
type: "post",
dataType: 'json',
data: JSON.stringify({"id": id}),
contentType: "application/json;charset=utf-8",
beforeSend: function () {
this.layerIndex = layer.open({type:3,shade:[0.25,'#000'],icon:2,speed:0});
},
success: function (res) {
record = res.data;
// 用于创造时间线节点
let timeLineStartItem = `<div class="layui-timeline-item" id="placeholder">
<i class="layui-icon layui-timeline-axis layui-icon-friends"></i>
<div class="layui-timeline-content layui-text">`;
let timeLineEndItem = `</div></div>`;
// 获取第一个审批节点
let firstApprovalNode = $("#firstApprovalNode");
// 获取第一个审批节点图标
let firstApprovalNodeIcon = $("#firstApprovalNodeIcon");
// 获取第一个审批节点标题
let firstApprovalNodeTitle = $("#firstApprovalNodeTitle");
// 获取第一个审批节点用户名
let firstApprovalNodeUserName = $("#firstApprovalNodeUserName");
// 获取部门负责人节点审批相关信息(第一个节点)
let departmentheadTime = record.departmentheadTime;
let departmentheadPass = record.departmentheadPass;
let departmentheadMessage = record.departmentheadMessage;
// 获取仓储中心负责人节点审批相关信息(第二个节点)
let depositoryManagerPass = record.depositoryManagerPass;
// 获取平衡岗人员相关信息
let balancePoster = record.balancePoster;
let balancePosterPass = record.balancePosterPass;
if (departmentheadPass !== "3") {
// 如果已经进行了审批
firstApprovalNodeIcon.removeClass("layui-icon-friends"); // 删除当前图标
let firstApprovalTime = '<div style="position: absolute;right: 0;top: 35px">';
// 如果部门负责人审批时间不为空
if (departmentheadPass === "1") {
firstApprovalNodeTitle.text("审批人:已通过");
firstApprovalNodeIcon.addClass("layui-icon-ok"); // 更换为审批通过
firstApprovalTime += "已通过&nbsp&nbsp&nbsp&nbsp";
} else {
firstApprovalTime += "已驳回&nbsp&nbsp&nbsp&nbsp";
firstApprovalNodeTitle.text("审批人:已驳回");
firstApprovalNodeIcon.addClass("layui-icon-close"); // 更换为审批未通过
}
firstApprovalTime = firstApprovalTime + departmentheadTime + '</div></div>';
firstApprovalNodeUserName.after(firstApprovalTime);
firstApprovalNodeUserName.after("<p>审批意见:" + departmentheadMessage + "</p>");
// 声明用于depositoryManager节点是第几个节点(默认第二个审批节点)
let flagForBalancerNode = 2;
// 配置平衡岗节点(第二个节点)
if (balancePoster !== "" && departmentheadPass === "1") {
let nodeName = "balancePoster";
let timeLineStartItemForId = timeLineStartItem.replace("placeholder", "secondApprovalNode");
let approvalNode = createApprovalNode(nodeName, record, timeLineStartItemForId);
// 如果需要平衡岗且第一个节点审批完成
if (balancePosterPass === "3") {
flagForBalancerNode = -1; // 不展示
} else {
if (balancePosterPass === "1") {
// 如果平衡岗审批通过
flagForBalancerNode = 3; // 为第三个节点
} else if (balancePosterPass === "2") {
// 如果平衡岗未审批通过
flagForBalancerNode = -1; // 不展示
}
}
firstApprovalNode.after(approvalNode);
}
// 配置仓储管理员节点(第三或第二个节点)
if (depositoryManagerPass !== "4" && departmentheadPass === "1" && flagForBalancerNode !== -1) {
let timeLineStartItemForId;
if (flagForBalancerNode === 2) {
// 如果是第二个节点
timeLineStartItemForId = timeLineStartItem.replace("placeholder", "secondApprovalNode");
} else {
// 如果是第三个节点
timeLineStartItemForId = timeLineStartItem.replace("placeholder", "thirdApprovalNode");
}
// 如果可以查看该节点
let nodeName = "depositoryManager";
let approvalNode = createApprovalNode(nodeName, record, timeLineStartItemForId);
if (flagForBalancerNode === 2) {
// 如果是第二个节点
firstApprovalNode.after(approvalNode);
} else {
// 如果是第三个节点
$("#secondApprovalNode").after(approvalNode);
}
}
// 配置出库人员节点
if (departmentheadPass === "1" && (depositoryManagerPass === "4" || depositoryManagerPass === "1")) {
let completeOutUserName = record.completeOutUserName;
let completeOutTime = record.outTime;
let pass = record.pass;
let approvalNodeForCompleteOutUserName = '<h3 class="layui-timeline-title">出库处理人:</h3>';
let approvalCompleteOutNode;
let completeOutUserIconPhoto = record.completeOutUserIconPhoto;
let approvalNodeForCompleteOutUserIconPhoto = '';
for (let key in completeOutUserIconPhoto) {
if (completeOutUserIconPhoto.hasOwnProperty(key)) {
let depositoryManagerIconPhotoItem = '<p>' +
'<img alt="头像" src="' + completeOutUserIconPhoto[key] + '" style="vertical-align: middle;height: 50px;">' +
'<span>' + key + '</span>' +
'</p>';
approvalNodeForCompleteOutUserIconPhoto += depositoryManagerIconPhotoItem;
}
}
if (pass === 1) {
let approvalNodeForCompleteOutState = '<p>处理状态:出库完成</p>';
let approvalNodeForCompleteOutTime = '<p>出库时间:' + completeOutTime + '</p>';
approvalCompleteOutNode = timeLineStartItem.replace("layui-icon-friends", "layui-icon-ok") + approvalNodeForCompleteOutUserName + approvalNodeForCompleteOutUserIconPhoto + approvalNodeForCompleteOutState + approvalNodeForCompleteOutTime + timeLineEndItem;
} else {
approvalCompleteOutNode = timeLineStartItem + approvalNodeForCompleteOutUserName + approvalNodeForCompleteOutUserIconPhoto + timeLineEndItem;
}
if (flagForBalancerNode === 2) {
if (depositoryManagerPass !== "4") {
$("#secondApprovalNode").after(approvalCompleteOutNode);
} else {
firstApprovalNode.after(approvalCompleteOutNode);
}
} else if (flagForBalancerNode === 3) {
$("#thirdApprovalNode").after(approvalCompleteOutNode);
}
}
}
layer.close(this.layerIndex);
}
});
2 years ago
selectThisMinRecord = function (obj) {
// console.log(obj)
var minId = obj.value;
layer.open({
type: 2,
title: '详情',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['100%', '100%'],
move: '.layui-layer-title',
fixed: false,
content: '/form_step_lookByminRecordOut?id=' + minId,
});
};
downloadExcel = function () {
2 years ago
window.open("/depositoryRecord/downloadOutRecord?id=" + id, "_self");
};
})
</script>
</body>
</html>