Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/maintenance/libraryFaultBlocList.jsp
2026-01-16 14:13:44 +08:00

762 lines
26 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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