巡视计划
This commit is contained in:
parent
393303d5c4
commit
70b8d154c9
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/yn_hxy_web.iml" filepath="$PROJECT_DIR$/.idea/yn_hxy_web.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
|
|
@ -0,0 +1,242 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>月计划审核</title>
|
||||
<script src="../../../plugs/jquery/jquery-3.6.0.min.js"></script>
|
||||
<script src="../../../js/public/jq.js"></script>
|
||||
<script src="../../../js/public/public.js"></script>
|
||||
<script src="../../../js/public/public_utils.js"></script>
|
||||
<script src="../../../js/public/aescbc.js"></script>
|
||||
<script src="../../../plugs/layui-v2.9.2/layui/layui.js"></script>
|
||||
<link href="../../../plugs/layui-v2.9.2/layui/css/layui.css" rel="stylesheet">
|
||||
<!-- <script src="../../../util/Interceptor.js"></script> -->
|
||||
<!--业务js-->
|
||||
<script src="../../../js/dataStatistics/viewPlan/monthPlanAuditTotal.js"></script>
|
||||
|
||||
<!-- css -->
|
||||
<!-- <link type="text/css" media="screen" href="../../../css/dataTable.css" rel="stylesheet"> -->
|
||||
|
||||
<style>
|
||||
body,html {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
float: left;
|
||||
background-color: #F0F2F5;
|
||||
}
|
||||
.title{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 100px;
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 14px;
|
||||
height: 16.4%;
|
||||
}
|
||||
.title>div{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.title>div:nth-child(1){
|
||||
margin-left: 40px;
|
||||
}
|
||||
#planName{
|
||||
color: #666666;
|
||||
font-size: 18px;
|
||||
font-weight: 800;
|
||||
margin-left: 20px;
|
||||
}
|
||||
#subComName{
|
||||
margin-left: 20px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
.title>div:nth-child(2){
|
||||
margin-right: 40px;
|
||||
}
|
||||
.overview{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background-color: #ffffff;
|
||||
border-radius: 10px;
|
||||
padding: 30px 0 30px 0;
|
||||
}
|
||||
.overview>div:nth-child(1),
|
||||
.overview>div:nth-child(3),
|
||||
.overview>div:nth-child(5){
|
||||
width: 158px;
|
||||
}
|
||||
.planAuditStatus1,
|
||||
.planAuditStatus2,
|
||||
.planAuditStatus3{
|
||||
text-align: center;
|
||||
}
|
||||
.chargePersonIcon1,
|
||||
.chargePersonIcon2,
|
||||
.chargePersonIcon3{
|
||||
margin-top: 10px;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
.chargePerson1,
|
||||
.chargePerson2,
|
||||
.chargePerson3{
|
||||
margin-top: 10px;
|
||||
color:#666666;
|
||||
text-align: center;
|
||||
}
|
||||
.planStatus1,
|
||||
.planStatus2,
|
||||
.planStatus3{
|
||||
margin-top: 15px;
|
||||
color:#999999;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.comAuditLine{
|
||||
width: 480px;
|
||||
text-align: center;
|
||||
border-bottom: 4px solid #19BE6B;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
.totalAuditLine{
|
||||
width: 480px;
|
||||
text-align: center;
|
||||
border-bottom: 4px solid #409EFF;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
/* 滚动槽 */
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 5px #e8eceb;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
/* 滚动条滑块 */
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 10px;
|
||||
background: #ffffff;
|
||||
-webkit-box-shadow: inset 0 0 6px #cbb7b7;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:window-inactive {
|
||||
background: #e8eceb;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-corner {
|
||||
background-color: #e8eceb;
|
||||
// 颜色
|
||||
}
|
||||
.planAuditStatus1{
|
||||
color: #ffffff;
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
background: url(../../../image/dialogBox_blue.png) no-repeat;
|
||||
background-size: 50% 100%;
|
||||
background-position: center;
|
||||
}
|
||||
.planAuditStatus2{
|
||||
color: #ffffff;
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
background: url(../../../image/dialogBox_green.png) no-repeat;
|
||||
background-size: 50% 100%;
|
||||
background-position: center;
|
||||
}
|
||||
.planAuditStatus3{
|
||||
color: #ffffff;
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
background: url(../../../image/dialogBox_gren.png) no-repeat;
|
||||
background-size: 50% 100%;
|
||||
background-position: center;
|
||||
}
|
||||
.planAuditStatus4 {
|
||||
color: #ffffff;
|
||||
height: 30px;
|
||||
padding-top: 5px;
|
||||
background: url(../../../image/dialogBox_red.png) no-repeat;
|
||||
background-size: 50% 100%;
|
||||
background-position: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="title">
|
||||
<div>
|
||||
<img src="../../../image/deliverCardIcon.png" height="60px"/>
|
||||
<div>
|
||||
<div id="planName">
|
||||
<span id="fgsName"></span>
|
||||
<span id="yjName"></span>
|
||||
<span id="insMonth" style="color: #409EFF;"></span>
|
||||
月护线员工作计划
|
||||
</div>
|
||||
<div id="subComName"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<button class="layui-btn" onclick="pass()">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
通过
|
||||
</button>
|
||||
<button class="layui-btn layui-bg-red" onclick="noPass()">
|
||||
<i class="layui-icon layui-icon-close"></i>
|
||||
拒绝
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="background-color: #F0F2F5 !important;width: 98%;height: 74%;overflow: auto;flex-direction: column;margin: 0 auto;background-color: #FFFFFF;border-radius: 10px;padding: 10px;">
|
||||
<div class="overview">
|
||||
<div>
|
||||
<div class="planAuditStatus1">提交</div>
|
||||
<div style="text-align: center;">
|
||||
<img class="chargePersonIcon1" src="../../../image/userIcon.png">
|
||||
</div>
|
||||
<div class="chargePerson1" id="createUser"></div>
|
||||
<div class="planStatus1" id="createTime"></div>
|
||||
</div>
|
||||
<div class="comAuditLine">
|
||||
分公司审核
|
||||
</div>
|
||||
<div>
|
||||
<div class="planAuditStatus3" id="aiDitStatuses"></div>
|
||||
<div style="text-align: center;">
|
||||
<img class="chargePersonIcon2" src="../../../image/userIcon.png">
|
||||
</div>
|
||||
<div class="chargePerson2" id="auditUserName"></div>
|
||||
<div class="planStatus2" id="auditTime"></div>
|
||||
</div>
|
||||
<div class="totalAuditLine">
|
||||
总公司审核
|
||||
</div>
|
||||
<div>
|
||||
<div class="planAuditStatus3" id="aiDitStatusTotal"></div>
|
||||
<div style="text-align: center;">
|
||||
<img class="chargePersonIcon3" src="../../../image/userIcon.png">
|
||||
</div>
|
||||
<div class="chargePerson3" id="auditUserNameTotal"></div>
|
||||
<div class="planStatus3" id="auditTimeTotal"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<div class="widget-body no-padding">
|
||||
<table id="table" class="layui-table" lay-skin="row" style="width:100%;white-space: nowrap;">
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>分公司-审核不通过</title>
|
||||
<script src="../../../plugs/jquery/jquery-3.6.0.min.js"></script>
|
||||
<script src="../../../js/public/jq.js"></script>
|
||||
<script src="../../../js/public/public.js"></script>
|
||||
<script src="../../../js/public/public_utils.js"></script>
|
||||
<script src="../../../js/public/aescbc.js"></script>
|
||||
<script src="../../../plugs/layui-v2.9.2/layui/layui.js"></script>
|
||||
<link href="../../../plugs/layui-v2.9.2/layui/css/layui.css" rel="stylesheet">
|
||||
<!-- <script src="../../../util/Interceptor.js"></script> -->
|
||||
<script src="../../../js/dataStatistics/viewPlan/noPassReasonTotal.js"></script>
|
||||
<style type="text/css">
|
||||
button {
|
||||
margin-left: 73.5%;
|
||||
margin-top: 1%;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-form" onsubmit="return false">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline" style="width: 566px;margin-left: 7%;">
|
||||
<label class="layui-form-label" style="width: 150px;text-align: left;padding: 9px 0" left>
|
||||
<i class="tip-required" style="color: red;font-size: 20px">*</i>原因:</label>
|
||||
<div class="layui-input-inline" style="width: 610px;">
|
||||
<textarea oninput="wordCount(this)" type="text" name="revokeReason" id="revokeReason"
|
||||
maxlength="300" lay-verify="required" cols="78" rows="10"
|
||||
style="text-indent: 5px;border-color:#EEEEEE;padding:10px"></textarea>
|
||||
<div style="color: #999999;font-size: 12px;">
|
||||
<span>已输入</span>
|
||||
<span id="wordCount">0</span>
|
||||
<span>/300</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button id="closeBt" class="layui-btn layui-btn-primary layui-border-blue">取消</button>
|
||||
<button id="searchBt" class="layui-btn" lay-submit lay-filter="formDemo">保存</button>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,256 @@
|
|||
var pers = []
|
||||
var table, form, laydate
|
||||
|
||||
var yjIds, insMonths, ids;
|
||||
// 静态数据
|
||||
var tableData = [];
|
||||
|
||||
function setData(data, yjId, insMonth, id) {
|
||||
yjIds = yjId;
|
||||
insMonths = insMonth;
|
||||
ids = id;
|
||||
|
||||
layui.use(['form', 'layer', 'table', 'laydate'], function() {
|
||||
table = layui.table;
|
||||
form = layui.form;
|
||||
laydate = layui.laydate
|
||||
|
||||
if (data.length > 0) {
|
||||
$('#fgsName').html(data[0].fgsName);
|
||||
$('#yjName').html(data[0].yjName);
|
||||
$('#insMonth').html(data[0].insMonth);
|
||||
setAiDitStatus(data[0].aiDitStatus);
|
||||
|
||||
$('#createUser').html(data[0].createUser);
|
||||
$('#createTime').html(data[0].createTime);
|
||||
//分公司
|
||||
if (data[0].aiDitStatuses) {
|
||||
// 获取元素
|
||||
var element = document.getElementById('aiDitStatuses');
|
||||
// 移除旧的类
|
||||
element.classList.remove('planAuditStatus3');
|
||||
if (data[0].aiDitStatuses == 2) {
|
||||
element.classList.add('planAuditStatus2');
|
||||
$('#aiDitStatuses').html("审核通过");
|
||||
} else if (data[0].aiDitStatuses == 3) {
|
||||
element.classList.add('planAuditStatus4');
|
||||
$('#aiDitStatuses').html("审核不通过");
|
||||
}
|
||||
|
||||
$('#auditUserName').html(data[0].auditUserName);
|
||||
$('#auditTime').html(data[0].auditTime);
|
||||
} else {
|
||||
$('#aiDitStatuses').html("");
|
||||
$('#auditUserName').html("");
|
||||
$('#auditTime').html("待处理");
|
||||
}
|
||||
|
||||
//总公司
|
||||
if (data[0].aiDitStatusTotal) {
|
||||
|
||||
// 获取元素
|
||||
var element = document.getElementById('aiDitStatusTotal');
|
||||
// 移除旧的类
|
||||
element.classList.remove('planAuditStatus3');
|
||||
if (data[0].aiDitStatusTotal == 2) {
|
||||
element.classList.add('planAuditStatus2');
|
||||
$('#aiDitStatusTotal').html("审核通过");
|
||||
} else if (data[0].aiDitStatusTotal == 3) {
|
||||
element.classList.add('planAuditStatus4');
|
||||
$('#aiDitStatusTotal').html("审核不通过");
|
||||
}
|
||||
$('#auditUserNameTotal').html(data[0].auditUserNameTotal);
|
||||
$('#auditTimeTotal').html(data[0].auditTimeTotal);
|
||||
} else {
|
||||
$('#aiDitStatusTotal').html("");
|
||||
$('#auditUserNameTotal').html("");
|
||||
$('#auditTimeTotal').html("待处理");
|
||||
}
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
tableData.push({
|
||||
id: data[i].id,
|
||||
proName: data[i].proName,
|
||||
yjId: data[i].yjId,
|
||||
insMonth: data[i].insMonth,
|
||||
|
||||
workContent: data[i].workContent,
|
||||
stateTime: data[i].stateTime,
|
||||
enTime: data[i].enTime,
|
||||
dutyUser: data[i].dutyUser,
|
||||
supervisor: data[i].supervisor,
|
||||
complete: data[i].complete,
|
||||
remarks: data[i].remarks,
|
||||
|
||||
})
|
||||
}
|
||||
init();
|
||||
} else {
|
||||
init();
|
||||
layer.alert("无数据,请联系管理员", {
|
||||
icon: 2
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function setAiDitStatus(status) {
|
||||
$("#subComName").empty();
|
||||
var text;
|
||||
var color;
|
||||
var html = "";
|
||||
if (status == '2') {
|
||||
text = '已通过';
|
||||
color = '#19BE6B';
|
||||
}
|
||||
if (status == '0') {
|
||||
text = '待审核';
|
||||
color = '#FF9900';
|
||||
}
|
||||
if (status == '3') {
|
||||
text = '未通过';
|
||||
color = '#F56C6C';
|
||||
}
|
||||
if (status == '1') {
|
||||
text = '已撤销';
|
||||
color = '#999999';
|
||||
}
|
||||
html += "<span style='display: flex;align-items: center'>"
|
||||
html += `<span style='width: 5px;height: 5px;background: ${color};border-radius: 50%'></span> `
|
||||
html += `<span>${text}</span>`
|
||||
html += "</span>"
|
||||
|
||||
$("#subComName").append(html);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化数据
|
||||
*/
|
||||
function init() {
|
||||
// 渲染表格
|
||||
table.render({
|
||||
elem: '#table',
|
||||
skin: 'line', // 表格样式
|
||||
cols: [
|
||||
[{
|
||||
title: '序号',
|
||||
field: 'zizeng',
|
||||
align: 'center',
|
||||
type: 'numbers',
|
||||
width: '5%'
|
||||
},
|
||||
{
|
||||
field: 'proName',
|
||||
title: '线路名称',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
field: 'workContent',
|
||||
title: '工作内容',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
field: 'stateTime',
|
||||
title: '计划开始时间',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
field: 'enTime',
|
||||
title: '计划结束时间',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
field: 'dutyUser',
|
||||
title: '责任人(护线员)',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
field: 'supervisor',
|
||||
title: '督办人(设备主人)',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
field: 'complete',
|
||||
title: '完成标准',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
field: 'remarks',
|
||||
title: '备注',
|
||||
align: 'center'
|
||||
},
|
||||
]
|
||||
],
|
||||
data: tableData,
|
||||
done: function(res, curr, count, origin) {
|
||||
|
||||
},
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
//审核通过按钮点击
|
||||
function pass() {
|
||||
layer.confirm("是否确定审核通过?", {
|
||||
icon: 3
|
||||
}, function() {
|
||||
// 加载提示
|
||||
let loadingMsg = layer.msg('数据上传中,请稍候...', {
|
||||
icon: 16,
|
||||
scrollbar: false,
|
||||
time: 0,
|
||||
shade: [0.8, '#393D49']
|
||||
});
|
||||
// form请求地址
|
||||
let formUrl = PATH_URL + "/inspectionPlan/updateTotalExamine";
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: formUrl, // 请求地址
|
||||
contentType: "application/json; charset=utf-8",
|
||||
data: JSON.stringify({
|
||||
"insMonth": insMonths,
|
||||
"yjId": yjIds,
|
||||
"id": ids,
|
||||
"auditStatus": 4
|
||||
}),
|
||||
success: function(data) {
|
||||
layer.close(loadingMsg); // 关闭提示层
|
||||
if (data.code == 200) {
|
||||
parent.layer.msg("审核成功", {
|
||||
icon: 1
|
||||
});
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
reloading();
|
||||
} else {
|
||||
layer.alert(data.msg);
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, e) {
|
||||
layer.close(loadingMsg);
|
||||
layer.msg('数据请求发生异常,请稍后重试', {
|
||||
icon: 16,
|
||||
scrollbar: false
|
||||
});
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
//审核不通过按钮点击
|
||||
function noPass() {
|
||||
let height = '65%';
|
||||
let width = '41%';
|
||||
var index = layer.open({
|
||||
title: ['审核不通过', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
|
||||
type: 2,
|
||||
content: './noPassReason.html',
|
||||
area: [width, height],
|
||||
maxmin: false,
|
||||
success: function(layero, index) {
|
||||
var myIframe = window[layero.find('iframe')[0]['name']];
|
||||
var fnc = myIframe.setData(yjIds, insMonths, ids); //aaa()为子页面的方法
|
||||
},
|
||||
});
|
||||
}
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
//全局的页面遮盖
|
||||
let loadingMsg;
|
||||
var startWorkFiles = {};
|
||||
var upload;
|
||||
var id;
|
||||
var formData;
|
||||
|
||||
var yjIds, insMonths, ids;
|
||||
|
||||
function setData(yjId, insMonth, id) {
|
||||
yjIds = yjId;
|
||||
insMonths = insMonth;
|
||||
ids = id;
|
||||
layui.use(['form', 'layer', 'table', 'laydate'], function() {
|
||||
let form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
|
||||
form.render();
|
||||
|
||||
$("#closeBt").click(function() {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
});
|
||||
$("#searchBt").click(function() {
|
||||
// 加载提示
|
||||
let loadingMsg = layer.msg('数据上传中,请稍候...', {
|
||||
icon: 16,
|
||||
scrollbar: false,
|
||||
time: 0,
|
||||
shade: [0.8, '#393D49']
|
||||
});
|
||||
// form请求地址
|
||||
let formUrl = PATH_URL + "/inspectionPlan/updateTotalExamine";
|
||||
|
||||
let revokeReason = $("#revokeReason").val();
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: formUrl, // 请求地址
|
||||
contentType: "application/json; charset=utf-8",
|
||||
data: JSON.stringify({
|
||||
"insMonth": insMonths,
|
||||
"yjId": yjIds,
|
||||
"id": ids,
|
||||
"auditStatus": 2,
|
||||
"auditReason":revokeReason
|
||||
}),
|
||||
success: function(data) {
|
||||
layer.close(loadingMsg); // 关闭提示层
|
||||
if (data.code == 200) {
|
||||
parent.layer.msg("审核成功", {
|
||||
icon: 1
|
||||
});
|
||||
var index = parent.layer.getFrameIndex(window
|
||||
.name); //先得到当前 iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
reloading();
|
||||
} else {
|
||||
layer.alert(data.msg);
|
||||
}
|
||||
},
|
||||
error: function(XMLHttpRequest, textStatus, e) {
|
||||
layer.close(loadingMsg);
|
||||
layer.msg('数据请求发生异常,请稍后重试', {
|
||||
icon: 16,
|
||||
scrollbar: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
//设置弹窗关闭
|
||||
function reloading() {
|
||||
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
||||
parent.layer.close(index); //再执行关闭
|
||||
window.parent.location.reload();
|
||||
}
|
||||
Loading…
Reference in New Issue