Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/maintenance/libraryFaultBlocList.jsp

762 lines
26 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<%@page import="com.sipai.entity.maintenance.MaintainCommStr"%>
<%request.setAttribute("Maintain_RepairType_Small", MaintainCommStr.Maintain_RepairType_Small);%>
<%request.setAttribute("Maintain_RepairType_Medium", MaintainCommStr.Maintain_RepairType_Medium);%>
<%request.setAttribute("Maintain_IN", MaintainCommStr.Maintain_IN);%>
<%request.setAttribute("Maintain_OUT", MaintainCommStr.Maintain_OUT);%>
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ page import="com.sipai.entity.base.ServerObject"%>
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security"%>
<%String contextPath = request.getContextPath();%>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%></title>
<!-- 引用页头及CSS页-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.min.css" />
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/js/bootstrap-switch.min.js" charset="utf-8"></script>
<script type="text/javascript">
var companyId = '-1';
// var viewFun = function (id) {
// $.post(ext.contextPath + '/timeEfficiency/patrolModel/doview.do', { id: id }, function (data) {
// $("#subDiv").html(data);
// openModal('subModal');
// });
// }
var deletesFun = function () {
var checkedItems = $("#table").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 + '/timeEfficiency/patrolContents/dodeletes.do', { ids: datas }, function (data) {
if (data > 0) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
}
};
var dosearch = function () {
$("#faultTable").bootstrapTable('refresh');
};
var faultFun = function () {
var modelId = $('#modelId').val();
$("#faultTable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/maintenance/libraryFaultBloc/getListJsonBloc.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [5], // 设置页面可以显示的数据条数
pageSize: 5, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
classId: '${param.classId}',
modelId: modelId,
unitId: companyId,
search_name: $('#search_name').val()
}
},
/* onClickRow: function (row) {//单击行事件,执行查看功能
viewFun(row.id);
}, */
/*responseHandler: function(res){
return res.result
},*/
sortName: 'insdt', // 要排序的字段
sortOrder: 'desc', // 排序规则
onClickRow: function (row) {//单击行事件,执行查看功能
//赋值一个故障库id 用于维修库新增使用
$('#faultId').val(row.id);
$('#projectNameId').html('('+row.faultName+')');
repairFun(row.id);
},
//rowStyle:rowStyleFault,//通过自定义函数设置行样式
columns: [
{
checkbox: true, // 显示一个勾选框
width: '40px',
}, {
field: 'faultNumber', // 返回json数据中的name
title: '故障编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '10%',
formatter: function (value, row, index) {
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.faultNumber + "'>" + row.faultNumber + "</span>";
}
}, {
field: 'faultName', // 返回json数据中的name
title: '故障名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '30%',
formatter: function (value, row, index) {
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.faultName + "'>" + row.faultName + "</span>";
}
}, {
field: 'faultDescribe', // 返回json数据中的name
title: '故障描述', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '50%',
formatter: function (value, row, index) {
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.faultDescribe + "'>" + row.faultDescribe + "</span>";
}
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: '10%', // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" onclick="editFaultFun(\'' + row.id + '\')" data-toggle="tooltip" title="编辑"><i class="fa fa-edit "></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" onclick="deleteFaultFun(\'' + row.id + '\')" data-toggle="tooltip" title="删除"><i class="fa fa-trash-o "></i><span class="hidden-md hidden-lg"> 删除</span></button>';
buts = '<div class = "btn-group">' + buts + '</div>';
return buts;
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("faultTable");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
};
var repairFun = function () {
var classId = '${param.classId}';
var modelId = $('#modelId').val();
var faultId = $('#faultId').val();
$("#repairTable").bootstrapTable('destroy');
$("#repairTable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/maintenance/libraryRepairBloc/getListJsonBloc.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [12,24], // 设置页面可以显示的数据条数
pageSize: 12, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
faultId: faultId,
classId: classId,
modelId: modelId,
unitId:companyId,
search_name: $('#search_name').val()
}
},
/* onClickRow: function (row) {//单击行事件,执行查看功能
viewFun(row.id);
}, */
/*responseHandler: function(res){
return res.result
},*/
sortName: 'insdt', // 要排序的字段
sortOrder: 'desc', // 排序规则
//rowStyle:rowStyleRepair,//通过自定义函数设置行样式
columns: [
{
field: 'cs',
checkbox: true, // 显示一个勾选框
width: '40px',
}, {
field: 'repairNumber', // 返回json数据中的name
title: '维修编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '10%',
formatter: function (value, row, index) {
return row.repairNumber;
}
}, {
field: 'repairName', // 返回json数据中的name
title: '维修名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '20%',
formatter: function (value, row, index) {
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.repairName + "'>" + row.repairName + "</span>";
}
},
// {
// field: 'repairContent', // 返回json数据中的name
// title: '维修内容', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle', // 上下居中
// width: '15%',
// formatter: function (value, row, index) {
// return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + row.repairContent + "'>" + row.repairContent + "</span>";
// }
// },
{
field: 'repairPartyType', // 返回json数据中的name
title: '委外/自修', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
if(row.repairPartyType=='${Maintain_IN}'){
return '自修';
}
if(row.repairPartyType=='${Maintain_OUT}'){
return '委外';
}
}
}, {
field: 'repairType', // 返回json数据中的name
title: '小修/中修', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
if(row.repairType=='${Maintain_RepairType_Small}'){
return '小修';
}
if(row.repairType=='${Maintain_RepairType_Medium}'){
return '中修';
}
}
}, {
field: 'insideRepairTime', // 返回json数据中的name
title: '自修工时(时)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '10%',
formatter: function (value, row, index) {
if(row.repairPartyType=='${Maintain_IN}'){
/*if(row.libraryRepairModelBloc!=null){
return row.libraryRepairModelBloc.insideRepairTime;
}else{
return '-';
}*/
return row.insideRepairTime;
}
if(row.repairPartyType=='${Maintain_OUT}'){
return '-';
}
}
}, {
field: 'outsideRepairCost', // 返回json数据中的name
title: '委外费(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
if(row.repairPartyType=='${Maintain_IN}'){
return '-';
}
if(row.repairPartyType=='${Maintain_OUT}'){
/*if(row.libraryRepairModelBloc!=null){
return row.libraryRepairModelBloc.outsideRepairCost;
}else{
return '-';
}*/
return row.outsideRepairCost;
}
}
}, {
field: 'materialCost', // 返回json数据中的name
title: '物资费(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
/*if(row.libraryRepairModelBloc!=null){
return row.libraryRepairModelBloc.materialCost;
}else{
return '-';
}*/
return row.materialCost;
}
}, {
field: 'totalCost', // 返回json数据中的name
title: '总费用(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
/*if(row.libraryRepairModelBloc!=null){
return row.libraryRepairModelBloc.totalCost;
}else{
return '-';
}*/
return row.totalCost;
}
}, {
field: 'button',
title: "操作",
align: 'center',
valign: 'middle',
width: '15%', // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" onclick="editRepairFun(\'' + row.id + '\')" data-toggle="tooltip" title="编辑"><i class="fa fa-edit "></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
// buts += '<button class="btn btn-default btn-sm" onclick="showBizList(\'' + row.id + '\')" data-toggle="tooltip" title="查看"><i class="glyphicon glyphicon-th-list"></i><span class="hidden-md hidden-lg"> 查看</span></button>';
buts += '<button class="btn btn-default btn-sm" onclick="deleteRepairFun(\'' + row.id + '\')" data-toggle="tooltip" title="删除"><i class="fa fa-trash-o "></i><span class="hidden-md hidden-lg"> 删除</span></button>';
buts = '<div class = "btn-group">' + buts + '</div>';
return buts;
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("repairTable");
var data = $('#repairTable').bootstrapTable('getData', true);
//合并单元格
//mergeCells(data, "repairNumber", 1, $('#repairTable'));
//mergeCells(data, "name", 1, $('#repairTable'));
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
};
/**
* 合并单元格
* @param data 原始数据(在服务端完成排序)
* @param fieldName 合并属性名称
* @param colspan 合并列
* @param target 目标表格对象
*/
function mergeCells(data,fieldName,colspan,target){
//声明一个map计算相同属性值在data对象出现的次数和
var sortMap = {};
for(var i = 0 ; i < data.length ; i++){
for(var prop in data[i]){
if(prop == fieldName){
var key = data[i][prop]
if(sortMap.hasOwnProperty(key)){
sortMap[key] = sortMap[key] * 1 + 1;
} else {
sortMap[key] = 1;
}
break;
}
}
}
for(var prop in sortMap){
console.log(prop,sortMap[prop])
}
var index = 0;
for(var prop in sortMap){
var count = sortMap[prop] * 1;
$(target).bootstrapTable('mergeCells',{index:index, field:fieldName, colspan: colspan, rowspan: count});
$(target).bootstrapTable('mergeCells',{index:index, field:'cs', colspan: colspan, rowspan: count});
$(target).bootstrapTable('mergeCells',{index:index, field:'button', colspan: colspan, rowspan: count});
$(target).bootstrapTable('mergeCells',{index:index, field:'name', colspan: colspan, rowspan: count});
$(target).bootstrapTable('mergeCells',{index:index, field:'repairPartyType', colspan: colspan, rowspan: count});
$(target).bootstrapTable('mergeCells',{index:index, field:'repairType', colspan: colspan, rowspan: count});
$(target).bootstrapTable('mergeCells',{index:index, field:'repairContent', colspan: colspan, rowspan: count});
index += count;
}
}
/*
维修库table高亮显示
*/
// function rowStyleFault(row, index) {
// var search_name = $('#search_name').val();//维修库浏览界面的搜索内容
// var style = {};
// if(search_name!=null && search_name!=''){
// if((row.name).indexOf(search_name)!=-1 || (row.faultNumber).indexOf(search_name)!=-1){
// style={css:{'color':'#ed5565'}};
// }
// }
// return style;
// }
/*
故障库table单元格符合条件高亮显示
*/
function cellStyleFault(value, row, index){
var search_name = $('#search_name').val();//维修库浏览界面的搜索内容
var style = {};
if(search_name!=null && search_name!=''){
if((value).indexOf(search_name)!=-1){
style={css:{'color':'#ed5565'}};
}
}
return style;
}
/*
维修库table高亮显示
*/
// function rowStyleRepair(row, index) {
// var search_name = $('#search_name').val();//维修库浏览界面的搜索内容
// var style = {};
// if(search_name!=null && search_name!=''){
// if((row.name).indexOf(search_name)!=-1 || (row.repairNumber).indexOf(search_name)!=-1){
// style={css:{'color':'#ed5565'}};
// }
// }
// return style;
// }
/*
维修库table单元格符合条件高亮显示
*/
/*function cellStyleRepair(value, row, index){
var search_name = $('#search_name').val();//维修库浏览界面的搜索内容
var style = {};
if(search_name!=null && search_name!=''){
if(value!=null && value!=''){
if((value).indexOf(search_name)!=-1){
style={css:{
'color':'#ed5565',
'white-space': 'nowrap',
'text-overflow': 'ellipsis',
'overflow': 'hidden'
}};
}
}
}
return style;
}*/
/*function cellStyleQuotaType(value, row, index){
var quotaTypes = document.getElementsByName("quotaType");//定额类型 低中高
//定额类型
var check_val = [];
for (k in quotaTypes){
if(quotaTypes[k].checked){
check_val.push(quotaTypes[k].value);
}
}
var style = {};
if(check_val!=null && check_val!=''){
if((value).indexOf(check_val)!=-1){
style={css:{'color':'#ed5565'}};
}
}
return style;
}*/
//新增故障库
var addFaultFun = function () {
var pid = '${param.classId}';
$.post(ext.contextPath + '/maintenance/libraryFaultBloc/doadd.do', { pid: pid, unitId: companyId }, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
//修改故障库
var editFaultFun = function (id) {
$.post(ext.contextPath + '/maintenance/libraryFaultBloc/doedit.do', { id: id, unitId: companyId }, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
//新增维修库
var addRepairFun = function () {
var faultId = $('#faultId').val();
if(faultId!=null && faultId!=''){
$.post(ext.contextPath + '/maintenance/libraryRepairBloc/doadd.do', { faultId: faultId }, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}else{
showAlert('d', '请先点击故障内容', 'mainAlertdiv');
}
};
//修改维修库
var editRepairFun = function (id) {
var modelId = $('#modelId').val();
$.post(ext.contextPath + '/maintenance/libraryRepairBloc/doedit4Bloc.do', { id: id, modelId: modelId, unitId:companyId }, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
//删除故障库
var deleteFaultFun = 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/libraryFaultBloc/dodelete.do', { id: id }, function (data) {
var datastr = eval('(' + data + ')');
if (datastr.code == 1) {
$("#faultTable").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
//删除故障库--多删
var deleteFaultsFun = function() {
var checkedItems = $("#faultTable").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/libraryFaultBloc/dodeletes.do', {ids:datas} , function(data) {
var datastr = eval('(' + data + ')');
if (datastr.code == 1) {
$("#faultTable").bootstrapTable('refresh');
$("#repairTable").bootstrapTable('refresh');
}else{
showAlert('d','删除失败','mainAlertdiv');
}
});
}
});
}
};
//删除维修库--单条
var deleteRepairFun = 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/libraryRepairBloc/dodelete.do', { id: id }, function (data) {
var datastr = eval('(' + data + ')');
if (datastr.code == 1) {
$("#repairTable").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
//删除维修库--多删
var deleteRepairsFun = function() {
var checkedItems = $("#repairTable").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/libraryRepairBloc/dodeletes.do', {ids:datas} , function(data) {
var datastr = eval('(' + data + ')');
if (datastr.code == 1) {
$("#repairTable").bootstrapTable('refresh');
}else{
showAlert('d','删除失败','mainAlertdiv');
}
});
}
});
}
};
function showBizList(id){
var modelId = $('#modelId').val();
$.post(ext.contextPath + '/maintenance/libraryRepairEquBiz/showList.do', {contentId: id,modelId: modelId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
$(function () {
faultFun();
repairFun();
});
</script>
</head>
<input type="hidden" id="classId" name="classId" value="${param.classId}">
<input type="hidden" id="faultId" name="faultId" value="">
<input type="hidden" id="modelId" name="modelId" value="${param.modelId}">
<!-- <input type="text" id="search_name" name="search_name" value="${param.search_name}"> -->
<div class="box box-solid">
<div class="box-header with-border">
<h3 class="box-title">故障内容</h3>&nbsp;&nbsp;<h3 class="box-title" style="color:#3C8DBC;font-size:14px;" id="modelNameId">(通用)</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-default" onclick="addFaultFun();"><i class="fa fa-plus"></i> 新增</button>
<button type="button" class="btn btn-default" onclick="deleteFaultsFun();"><i class="fa fa-trash-o"></i> 删除</button>
</div>
</div>
<div class="box-body ">
<div>
<%--<div id="alertDiv_power"></div>
<div id="powerDiv"></div>
<div id="menu4SelectDiv_func"></div>--%>
<table id="faultTable" style="table-layout:fixed;"></table>
</div>
</div>
</div>
<div class="box box-solid">
<div class="box-header with-border">
<h3 class="box-title">维修内容</h3>&nbsp;&nbsp;<h3 class="box-title" style="color:#3C8DBC;font-size:14px;" id="projectNameId">(所有)</h3>
<div class="box-tools pull-right">
<button type="button" class="btn btn-default" onclick="addRepairFun();"><i class="fa fa-plus"></i> 新增</button>
<button type="button" class="btn btn-default" onclick="deleteRepairsFun();"><i class="fa fa-trash-o"></i> 删除</button>
</div>
</div>
<div class="box-body ">
<div>
<div id="alertDiv_power"></div>
<div id="powerDiv"></div>
<div id="menu4SelectDiv_func"></div>
<table id="repairTable" style="table-layout:fixed;"></table>
</div>
</div>
</div>
</html>