Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/maintenance/libraryOverhaulProjectBlocList.jsp

729 lines
33 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;
// 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 () {
$("#projectTable").bootstrapTable('refresh');
};
var projectFun = function () {
var modelId = $('#modelId').val();
$("#projectTable").bootstrapTable('destroy');
$("#projectTable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/maintenance/libraryOverhaulProjectBloc/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: unitId,
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 用于维修库新增使用
$('#projectId').val(row.id);
$('#projectNameId').html('(' + row.projectName + ')');
contentFun();
},
//rowStyle:rowStyleFault,//通过自定义函数设置行样式
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'projectNumber', // 返回json数据中的name
align: 'center', // 左右居中
title: '项目编号', // 表格表头显示文字
valign: 'middle',
width: '8%',
formatter: function (value, row, index) {
return row.projectNumber;
}
}, {
field: 'projectName', // 返回json数据中的name
title: '项目名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '12%',
formatter: function (value, row, index) {
return row.projectName;
}
}, {
field: 'cycle', // 返回json数据中的name
title: '周期(年)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '8%',
formatter: function (value, row, index) {
return row.cycle;
}
}, {
field: 'condition', // 返回json数据中的name
title: '大修条件', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '31%',
formatter: function (value, row, index) {
return row.condition;
}
},
/*{
field: 'insideRepairTime', // 返回json数据中的name
title: '总工时(时)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
if (row.libraryOverhaulProjectModelBloc != null) {
return row.libraryOverhaulProjectModelBloc.insideRepairTime;
}
}
}, */
{
field: 'outsideRepairCost', // 返回json数据中的name
title: '委外费(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
if (row.libraryOverhaulProjectModelBloc != null) {
return row.libraryOverhaulProjectModelBloc.outsideRepairCost;
}
}
}, {
field: 'materialCost', // 返回json数据中的name
title: '物资费(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '9%',
formatter: function (value, row, index) {
if (row.libraryOverhaulProjectModelBloc != null) {
return row.libraryOverhaulProjectModelBloc.materialCost;
}
}
}, {
field: 'totalCost', // 返回json数据中的name
title: '总大修费(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '10%',
formatter: function (value, row, index) {
if (row.libraryOverhaulProjectModelBloc != null) {
return row.libraryOverhaulProjectModelBloc.totalCost;
}
}
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: '13%', // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
//if(modelId == '-1'){
buts += '<button class="btn btn-default btn-sm" onclick="editProjectFun(\'' + 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="showProjectBizList(\'' + row.id + '\',\'' + row.unitId + '\')" 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="deleteProjectFun(\'' + 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 btn-group-sm">' + buts + '</div>';
/*}else{
buts += '<button class="btn btn-default btn-sm" disabled="disabled" 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" disabled="disabled" data-toggle="tooltip" title="删除"><i class="fa fa-trash-o "></i><span class="hidden-md hidden-lg"> 删除</span></button>';
buts = '<div class = "btn-group btn-group-sm">' + buts + '</div>';
}*/
return buts;
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("projectTable");
contentFun();
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
};
var contentFun = function () {
var classId = '${param.classId}';
var modelId = $('#modelId').val();
var projectId = $('#projectId').val();
$("#contentTable").bootstrapTable('destroy');
$("#contentTable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/maintenance/libraryOverhaulContentBloc/getListJsonBloc.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
projectId: projectId,
classId: classId,
modelId: modelId,
unitId: unitId,
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: 'button',
checkbox: true, // 显示一个勾选框
}, {
field: 'contentNumber', // 返回json数据中的name
title: '内容编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: '8%',
formatter: function (value, row, index) {
return row.contentNumber;
}
}, {
field: 'repairContent', // 返回json数据中的name
title: '内容描述', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '59%',
formatter: function (value, row, index) {
return row.repairContent;
}
}, {
field: 'repairPartyType', // 返回json数据中的name
title: '委外/自修', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '10%',
formatter: function (value, row, index) {
if (row.repairPartyType == '${Maintain_IN}') {
return '自修';
}
if (row.repairPartyType == '${Maintain_OUT}') {
return '委外';
}
}
}, {
field: 'insideRepairTime', // 返回json数据中的name
title: '自修工时(小时)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '10%',
formatter: function (value, row, index) {
if (row.repairPartyType == '${Maintain_IN}') {
if (row.libraryOverhaulContentModelBloc != null) {
return row.libraryOverhaulContentModelBloc.insideRepairTime;
} else {
return '-';
}
}
if (row.repairPartyType == '${Maintain_OUT}') {
return '-';
}
}
},
/*{
field: 'outsideRepairCost', // 返回json数据中的name
title: '委外工时费定额(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '10%',
formatter: function (value, row, index) {
if(row.repairPartyType=='${Maintain_IN}'){
return '-';
}
if(row.repairPartyType=='${Maintain_OUT}'){
if(row.libraryOverhaulContentModelBloc!=null){
return row.libraryOverhaulContentModelBloc.outsideRepairCost;
}else{
return '-';
}
}
}
}, {
field: 'materialCost', // 返回json数据中的name
title: '物资费定额(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '10%',
formatter: function (value, row, index) {
if(row.libraryOverhaulContentModelBloc!=null){
return row.libraryOverhaulContentModelBloc.materialCost;
}else{
return '-';
}
}
}, {
field: 'totalCost', // 返回json数据中的name
title: '总大修定额费(元)', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
width: '10%',
formatter: function (value, row, index) {
if(row.libraryOverhaulContentModelBloc!=null){
return row.libraryOverhaulContentModelBloc.totalCost;
}else{
return '-';
}
}
},*/
{
field: 'cs',
title: "操作",
align: 'center',
valign: 'middle',
width: '13%', // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" onclick="editContentFun(\'' + 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="showContentBizList(\'' + 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="deleteContentFun(\'' + 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("contentTable");
var data = $('#contentTable').bootstrapTable('getData', true);
//合并单元格
//mergeCells(data, "contentNumber", 1, $('#contentTable'));
//mergeCells(data, "repairContent", 1, $('#contentTable'));
},
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: 'repairContent',
colspan: colspan,
rowspan: count
});
$(target).bootstrapTable('mergeCells', {
index: index,
field: 'repairPartyType',
colspan: colspan,
rowspan: count
});
index += count;
}
}
//新增项目
var addProjectFun = function () {
var pid = '${param.classId}';
var modelId = $('#modelId').val();
$.post(ext.contextPath + '/maintenance/libraryOverhaulProjectBloc/doadd.do', {
pid: pid,
modelId: modelId,
unitId: unitId
}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
//修改项目
var editProjectFun = function (id) {
var modelId = $('#modelId').val();
var companyId = unitId;
$.post(ext.contextPath + '/maintenance/libraryOverhaulProjectBloc/doedit.do', {
id: id,
modelId: modelId,
unitId: companyId
}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
//新增内容
var addContentFun = function () {
var projectId = $('#projectId').val();
if (projectId != null && projectId != '') {
$.post(ext.contextPath + '/maintenance/libraryOverhaulContentBloc/doadd.do', {projectId: projectId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
} else {
showAlert('d', '请先点击大修项目', 'mainAlertdiv');
}
};
//修改内容
var editContentFun = function (id) {
var modelId = $('#modelId').val();
$.post(ext.contextPath + '/maintenance/libraryOverhaulContentBloc/doedit.do', {
id: id,
modelId: modelId,
unitId: unitId
}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
//删除故障库
var deleteProjectFun = 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/libraryOverhaulProjectBloc/dodelete.do', {id: id}, function (data) {
var datastr = eval('(' + data + ')');
if (datastr.code == 1) {
$("#projectTable").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
//删除维修库
var deleteContentFun = 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/libraryOverhaulContentBloc/dodelete.do', {id: id}, function (data) {
var datastr = eval('(' + data + ')');
if (datastr.code == 1) {
$("#contentTable").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
function showProjectBizList(id, unitId) {
var modelId = $('#modelId').val();
$.post(ext.contextPath + '/maintenance/libraryOverhaulProjectBloc/showListBizQuota.do', {
pid: id,
modelId: modelId,
unitId: unitId
}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
function showContentBizList(id, unitId) {
var modelId = $('#modelId').val();
$.post(ext.contextPath + '/maintenance/libraryOverhaulContentBloc/showListBizQuota.do', {
pid: id,
modelId: modelId,
unitId: unitId
}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
//选择分厂定额 来更新业务区定额
function doChoiceProjectQuota(id, modelId, equipmentId) {
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) {
if (modelId != null && modelId != '无') {
$.post(ext.contextPath + "/maintenance/libraryOverhaulProjectBloc/doChoiceProjectQuota.do", {
id: id,
modelId: modelId,
unitId: unitId,
equipmentId: equipmentId
}, function (data) {
if (data.code == 1) {
closeModal('subModal');
$("#projectTable").bootstrapTable('refresh');
} else if (data.code == 0) {
showAlert('d', data.msg);
} else {
showAlert('d', data.msg);
}
}, 'json');
} else {
alert('该设备无型号!');
}
projectFun();
}
});
}
$(function () {
projectFun();
//contentFun();
});
</script>
</head>
<input type="hidden" id="classId" name="classId" value="${param.classId}">
<input type="hidden" id="projectId" name="projectId" 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 id="projectadd" type="button" class="btn btn-default" onclick="addProjectFun();"><i
class="fa fa-plus"></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="projectTable"></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 id="contentadd" type="button" class="btn btn-default" onclick="addContentFun();"><i
class="fa fa-plus"></i> 新增
</button>
</div>
</div>
<div class="box-body ">
<div>
<table id="contentTable"></table>
</div>
</div>
</div>
</html>