Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/maintenance/equipmentPlanEdit.jsp

625 lines
28 KiB
Plaintext
Raw Permalink Normal View History

2026-01-16 14:13:44 +08:00
<%@ taglib prefix="c" uri="/jodd" %>
<%@ page language="java" pageEncoding="UTF-8" %>
<%@page import="com.sipai.tools.CommString" %>
<%request.setAttribute("Active_False", CommString.Active_False); %>
<%request.setAttribute("Active_True", CommString.Active_True); %>
<%@ page import="com.sipai.entity.maintenance.EquipmentPlan" %>
<%request.setAttribute("Status_NoStart", EquipmentPlan.Status_NoStart); %>
<%request.setAttribute("Status_Start", EquipmentPlan.Status_Start); %>
<%request.setAttribute("Status_Finish", EquipmentPlan.Status_Finish); %>
<%@page import="com.sipai.entity.maintenance.EquipmentPlanType" %>
<%request.setAttribute("Code_Type_Wx", EquipmentPlanType.Code_Type_Wx); %>
<%request.setAttribute("Code_Type_By", EquipmentPlanType.Code_Type_By); %>
<%request.setAttribute("Code_Type_Dx", EquipmentPlanType.Code_Type_Dx); %>
<script type="text/javascript">
//流程审核文件上传所需参数
var masterId_process = '${id}';//业务Id
var tbName_process = 'TB_Process_UploadFile'; //数据表
var nameSpace_process = 'ProcessUploadFile';//保存文件夹
var status = 'delete';//有删除权限
function dosave() {
//保存前先赋值班组
var val = $('#_groupDetailId').val();
var rolestr = "";
if (val != null && val != '') {
$.each(val, function (index, value, array) {
if (rolestr != "") {
rolestr += ","
}
rolestr += value;
})
$('#groupDetailId').val(rolestr);//赋值班组
}
$("#subForm").data('bootstrapValidator').addField('auditMan', {
validators: {
notEmpty: {
message: '验收人员不能为空'
}
}
});
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {
//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/maintenance/equipmentPlan/doupdate.do", $("#subForm").serialize(), function (data) {
if (data.res == 1) {
$("#table").bootstrapTable('refresh');
closeModal("subModal");
} else if (data.res == 0) {
showAlert('d', '保存失败');
} else {
showAlert('d', data.res);
}
}, 'json');
}
}
//计划提交审核
function dosubmit() {
//保存前先赋值班组
var val = $('#_groupDetailId').val();
var rolestr = "";
if (val != null && val != '') {
$.each(val, function (index, value, array) {
if (rolestr != "") {
rolestr += ","
}
rolestr += value;
})
$('#groupDetailId').val(rolestr);//赋值班组
}
$("#status").val('${Status_NoStart}');
$('#subForm').data('bootstrapValidator')
.updateStatus('auditMan', 'NOT_VALIDATED', null)
.validateField('auditMan');
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/maintenance/equipmentPlan/startPlanAudit.do", $("#subForm").serialize(), function (data) {
if (data.res == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else if (data.res == 0) {
showAlert('d', '保存失败');
} else if (data.res == 2) {
showAlert('d', '未检测到设备计划审核流程,请先部署流程!');
} else {
showAlert('d', data.res);
}
}, 'json');
}
}
//提交时先验证审核人不能为空,保存时审核人可以为空
function submitFun() {
//新增的输入框添加验证
$("#subForm").data('bootstrapValidator').addField('auditMan', {
validators: {
notEmpty: {
message: '验收人员不能为空'
},
}
});
dosubmit();
}
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
planNumber: {
validators: {
notEmpty: {
message: '计划编号不能为空'
},
/* remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值获得一个json数据。例表示正确{"valid",true}
url: ext.contextPath + '/maintenance/equipmentPlan/checkExist.do',//验证地址
message: '计划编号已存在',//提示消息
type: 'POST',//请求方式
data: function(validator) {
return {
planNumber: $('#planNumber').val()
};
}
}, */
}
},
cycle: {
validators: {
notEmpty: {
message: '周期不能为空'
}
}
},
planDate: {
validators: {
notEmpty: {
message: '计划日期不能为空'
}
}
},
// planMoney: {
// validators: {
// notEmpty: {
// message: '预算不能为空'
// }
// }
// },
/*planTypeName: {
validators: {
notEmpty: {
message: '请选择计划类型'
}
}
},*/
unitId: {
validators: {
notEmpty: {
message: '厂区不能为空'
}
}
},
planContents: {
validators: {
notEmpty: {
message: '保养内容不能为空'
}
}
}
}
});
//厂区ID
var companyId = "${company.id}";
$(function () {
//初始化班组
refreshSelect('${equipmentPlan.groupTypeId}');
//初始化文件显示
getFileList_process();
//下发日期选择
$('#planDate').datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm',
}).on('hide', function (e) {
//当日期选择框关闭时,执行刷新校验
$('#subForm').data('bootstrapValidator')
.updateStatus('planDate', 'NOT_VALIDATED', null)
.validateField('planDate');
});
$("#table_equipmentCard").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/maintenance/equipmentPlanEqu/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [300, 5000], // 设置页面可以显示的数据条数
pageSize: 300, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
pid: '${equipmentPlan.id}'
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [
{
checkbox: true, // 显示一个勾选框
width: '40px'
}, {
field: 'equipmentcardid', // 返回json数据中的name
title: '设备编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '35%',
formatter: function (value, row, index) {
if (row.equipmentCard != null && row.equipmentCard != '') {
// return row.equipmentCard.equipmentcardid;
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.equipmentCard.equipmentcardid + "'>" + row.equipmentCard.equipmentcardid + "</span>";
}
}
}, {
field: 'equipmentname', // 返回json数据中的name
title: '设备名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '35%',
formatter: function (value, row, index) {
if (row.equipmentCard != null && row.equipmentCard != '') {
// return row.equipmentCard.equipmentname;
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.equipmentCard.equipmentname + "'>" + row.equipmentCard.equipmentname + "</span>";
}
}
},
/*{
field: 'nr', // 返回json数据中的name
title: '内容', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '25%',
formatter: function (value, row, index) {
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.contents + "'>" + row.contents + "</span>";
}
}, */
{
field: 'ys', // 返回json数据中的name
title: '预算(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '15%',
formatter: function (value, row, index) {
return row.planMoney;
}
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: '15%', // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
//if (row.status == '${Status_NoStart}') {
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editEquFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteEquFun(\'' + row.id + '\')"><i class="fa fa fa-trash-o"></i><span class="hidden-md hidden-lg">删除</span></button';
/*} else {
buts += '<button class="btn btn-default btn-sm" onclick="processDetailViewFun(\'' + row.id + '\')" data-toggle="tooltip" title="查看详情"><i class="fa fa-history"></i><span class="hidden-md hidden-lg"> 查看详情</span></button>'
}*/
buts = '<div class="btn-group" >' + buts + '</div>';
return buts;
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("table_equipmentCard");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
})
var selectType = $("#planTypeBigName").select2({
minimumResultsForSearch: 10
})
var selectType = $("#planTypeSmallName").select2({
minimumResultsForSearch: 10
})
$("#cycle").select2({minimumResultsForSearch: 10}).val("${equipmentPlan.cycle}").trigger("change");
});
var editEquFun = function (id) {
$.post(ext.contextPath + '/maintenance/equipmentPlanEqu/doedit.do', {id: id}, function (data) {
$("#subDivEqu").html(data);
openModal('subModalEqu');
});
};
var deleteEquFun = function (id) {
swal({
text: "您确定要删除此记录?",
dangerMode: true,
buttons: {
cancel: {
text: "取消",
value: null,
visible: true,
className: "btn btn-default btn-sm",
closeModal: true,
},
confirm: {
text: "确定",
value: true,
visible: true,
className: "btn btn-danger btn-sm",
closeModal: true
}
}
})
.then(function (willDelete) {
if (willDelete) {
$.post(ext.contextPath + '/maintenance/equipmentPlanEqu/dodelete.do', {id: id}, function (data) {
if (data == 1) {
$("#table_equipmentCard").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
var deletesEquipment = function () {
var checkedItems = $("#table_equipmentCard").bootstrapTable('getSelections');
var datas = "";
$.each(checkedItems, function (index, item) {
datas += item.id + ",";
});
if (datas == "") {
showAlert('d', '请先选择记录', 'mainAlertdiv');
} else {
swal({
text: "您确定要删除此记录?",
dangerMode: true,
buttons: {
cancel: {
text: "取消",
value: null,
visible: true,
className: "btn btn-default btn-sm",
closeModal: true,
},
confirm: {
text: "确定",
value: true,
visible: true,
className: "btn btn-danger btn-sm",
closeModal: true
}
}
})
.then(function (willDelete) {
if (willDelete) {
$.post(ext.contextPath + '/maintenance/equipmentPlanEqu/dodeletes.do', {ids: datas}, function (data) {
if (data > 0) {
$("#table_equipmentCard").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
}
};
//选择审核人
var showUser4AuditSelectsFun = function () {
var userIds = $("#auditId").val();
// $.post(ext.contextPath + '/user/userForSelect.do', {
$.post(ext.contextPath + '/user/userForSelectByCompany.do', {
formId: "subForm",
hiddenId: "auditId",
textId: "auditMan",
userIds: userIds,
jobIds: '${jobIds}'
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
var doEditEquipment = function () {
$.post(ext.contextPath + '/equipment/selectEquipmentCard4Choice.do', {
unitId: '${equipmentPlan.unitId}',
equPlanId: '${equipmentPlan.id}',
choiceType: 'main'//通过保养模块过来的,需要筛选近期需要保养的功能
}, function (data) {
$("#subDiv_Equipment").html(data);
openModal("equipment4SelectModal");
});
}
//保存选择设备 datas为id
var doFinishSelectEquipment = function (datas_id, datas_name) {
$.post(ext.contextPath + '/maintenance/equipmentPlanEqu/updateEquipmentCards.do', {
pid: '${equipmentPlan.id}',
equipmentCardIds: datas_id
}, function (data) {
if (data.res) {
closeModal("equipment4SelectModal");
doRefreshEquipmentCards();
}
}, 'json');
}
var doRefreshEquipmentCards = function () {
$("#table_equipmentCard").bootstrapTable('refresh');
};
//初始化 任务班组
function refreshSelect(groupTypeId) {
$.post(ext.contextPath + "/work/groupDetail/getlistForSelect2.do", {
unitId: unitId,
grouptype: groupTypeId
}, function (data) {
//先清空下拉选项 避免数据叠加
$("#_groupDetailId").empty();
//加载下拉选项
var selelct = $("#_groupDetailId").select2({
data: data,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
var roleitems = new Array();
var roles = JSON.parse(decodeURIComponent('${dept}'));
for (var i = 0; i < roles.length; i++) {
roleitems.push(roles[i].id);
}
selelct.val(roleitems).trigger("change");
}, 'json');
};
//初始化 班组类型
var selectType = $("#sheetName").select2({minimumResultsForSearch: 10});
$.post(ext.contextPath + "/work/groupType/getGroupTypeTree.do", {unitId: unitId}, function (data) {
$("#groupTypeName").empty();
var selelct_ = $("#groupTypeName").select2({
data: data,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 5,//数据超过5个启用搜索框
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
selelct_.val('${equipmentPlan.groupTypeId}').trigger("change");
selelct_.on('change', function (e) {
$('#groupTypeId').val(e.target.value);
$('#groupDetailId').val('');
$('#_groupDetailId').val('');
refreshSelect(e.target.value);
})
}, 'json');
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑计划</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<input name="status" id="status" type="hidden" value="${Status_NoStart}"/>
<input name="id" id="id" type="hidden" value="${equipmentPlan.id}"/>
<input name="planTypeBig" id="planTypeBig" type="hidden" value="${equipmentPlan.planTypeBig}"/>
<div class="form-group">
<label class="col-sm-2 control-label">所属厂区</label>
<div class="col-sm-4">
<input name="unitId" id="unitId" type="hidden" value="${equipmentPlan.unitId}"/>
<p class="form-control-static">${companyName}</p>
</div>
<label class="col-sm-2 control-label">计划编号</label>
<div class="col-sm-4">
<p class="form-control-static">${equipmentPlan.planNumber}</p>
<input type="hidden" class="form-control" id="planNumber" name="planNumber"
placeholder="计划编号" value="${equipmentPlan.planNumber}" readonly>
</div>
</div>
<c:if test="${param.type == Code_Type_By}">
<div class="form-group">
<label class="col-sm-2 control-label">类别</label>
<div class="col-sm-4">
<p class="form-control-static">${planTypeSmallName}</p>
<input type="hidden" name="planTypeSmall" value="${equipmentPlan.planTypeSmall}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">班组类型</label>
<div class="col-sm-4">
<select class="form-control select2" id="groupTypeName" name="groupTypeName"
style="width: 100%;">
</select>
<input type="hidden" name="groupTypeId" id="groupTypeId" value="${equipmentPlan.groupTypeId}">
</div>
<label class="col-sm-2 control-label">任务班组</label>
<div class="col-sm-4">
<select class="form-control select2" id="_groupDetailId" name="_groupDetailId" style="width: 100%;">
</select>
<input type="hidden" name="groupDetailId" id="groupDetailId" value="">
</div>
</div>
</c:if>
<div class="form-group">
<label class="col-sm-2 control-label">预算 (元)</label>
<div class="col-sm-4">
<input type="number" class="form-control" id="planMoney" name="planMoney" placeholder="计划费用"
min="0" step="50.01" value="${equipmentPlan.planMoney}" autocomplete="off">
</div>
<label class="col-sm-2 control-label">*计划日期</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="planDate" name="planDate"
style="width: 230px;" placeholder="请选择"
value="${equipmentPlan.planDate.substring(0,7)}" autocomplete="off"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*计划内容</label>
<div class="col-sm-10">
<textarea class="form-control " id="planContents" name="planContents"
rows="2">${equipmentPlan.planContents}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验收人员</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="auditMan" name="auditMan" placeholder="点击选择"
onclick="showUser4AuditSelectsFun();" value="${userName}" autocomplete="off">
<input id="auditId" name="auditId" type="hidden" value="${equipmentPlan.auditId}"/>
</div>
</div>
<!-- 文件上传,显示 -->
<%--<div class="form-group" style="margin:8px">
<label class="col-sm-2 control-label"></label>
<button type="button" class="btn btn-default btn-file" onclick="fileinput_process()"
><i class="fa fa-paperclip"></i>上传文件
</button>
</div>
<div id="fileArea"></div>--%>
</form>
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">关联设备</h3>
<div class="box-tools pull-right">
<a onclick="doEditEquipment()" class="btn btn-box-tool" data-toggle="tooltip"
title="新增"><i class="fa fa-plus"></i></a>
<a onclick="deletesEquipment()" class="btn btn-box-tool" data-toggle="tooltip"
title="删除"><i class="fa fa-minus"></i></a>
</div>
</div>
<div class="box-body ">
<table id="table_equipmentCard" style="table-layout:fixed;"></table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="dosave()" id="btn_save">保存</button>
<button type="button" class="btn btn-primary" onclick="submitFun()" id="btn_submit">提交审核</button>
</div>
</div>
</div>
</div>