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

729 lines
33 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;
// 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>