巡视计划

This commit is contained in:
lSun 2024-08-20 16:00:08 +08:00
parent 393303d5c4
commit 70b8d154c9
5 changed files with 634 additions and 0 deletions

8
.idea/modules.xml Normal file
View File

@ -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>

View File

@ -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>

View File

@ -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>&nbsp;
<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>

View File

@ -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>&nbsp;&nbsp;`
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()为子页面的方法
},
});
}

View File

@ -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();
}