390 lines
17 KiB
Plaintext
390 lines
17 KiB
Plaintext
|
|
<%@ page language="java" pageEncoding="UTF-8"%>
|
|||
|
|
<%@page import="com.sipai.entity.maintenance.Maintenance"%>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
|||
|
|
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security"%>
|
|||
|
|
<%request.setAttribute("Status_Finish",Maintenance.Status_Finish);%>
|
|||
|
|
<!-- 补录状态 -->
|
|||
|
|
<%request.setAttribute("TYPE_SUPPLEMENT",Maintenance.TYPE_SUPPLEMENT);%>
|
|||
|
|
<!-- 运维主流程状态 -->
|
|||
|
|
<%request.setAttribute("TYPE_MAINTENANCE",Maintenance.TYPE_MAINTENANCE);%>
|
|||
|
|
|
|||
|
|
<style type="text/css">
|
|||
|
|
.select2-container .select2-selection--single{
|
|||
|
|
height:34px;
|
|||
|
|
line-height: 34px;
|
|||
|
|
}
|
|||
|
|
.select2-selection__arrow{
|
|||
|
|
margin-top:3px;
|
|||
|
|
}
|
|||
|
|
.problem-bg{
|
|||
|
|
margin-bottom:5px;
|
|||
|
|
padding-top :5px;
|
|||
|
|
padding-bottom :1px;
|
|||
|
|
padding-right :10px;
|
|||
|
|
padding-left :10px;
|
|||
|
|
border-color :#3c8dbc ;
|
|||
|
|
border-style: solid;
|
|||
|
|
border-width: 2px 2px 2px 2px;
|
|||
|
|
border-top-left-radius:10px;
|
|||
|
|
border-top-right-radius:10px;
|
|||
|
|
border-bottom-left-radius:10px;
|
|||
|
|
border-bottom-right-radius:10px;
|
|||
|
|
}
|
|||
|
|
</style>
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
var masterId=$('#maintenanceId').val();
|
|||
|
|
var tbName_problem='tb_maintenance_problem_fille'; //数据表
|
|||
|
|
var tbName_maintenance='tb_maintenance_file'; //数据表
|
|||
|
|
var nameSpace='MaintenanceProblem';//保存文件夹
|
|||
|
|
var previews = new Array();
|
|||
|
|
var previewConfigs = new Array();
|
|||
|
|
/* var student = {
|
|||
|
|
"caption":"lilei",
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
previewConfigs[0]=student; */
|
|||
|
|
//初始化fileinput控件(第一次初始化)
|
|||
|
|
function showFileInput(ctrlName) {
|
|||
|
|
var control = $('#' + ctrlName);
|
|||
|
|
|
|||
|
|
control.fileinput('destroy');
|
|||
|
|
control.fileinput({
|
|||
|
|
language: 'zh', //设置语言
|
|||
|
|
showUpload: false, //是否显示上传按钮
|
|||
|
|
showRemove:false,
|
|||
|
|
showCaption: false,//是否显示标题
|
|||
|
|
showBrowse:false,//选择按钮
|
|||
|
|
showClose:false,//右上角关闭按钮
|
|||
|
|
dropZoneEnabled: false,//是否显示拖拽区域
|
|||
|
|
fileActionSettings:{
|
|||
|
|
showDrag:false
|
|||
|
|
},
|
|||
|
|
browseClass: "btn btn-primary", //按钮样式
|
|||
|
|
maxFileCount: 10, //表示允许同时上传的最大文件个数
|
|||
|
|
enctype: 'multipart/form-data',
|
|||
|
|
validateInitialCount:true,
|
|||
|
|
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
|
|||
|
|
initialPreviewAsData: true,
|
|||
|
|
initialPreview: previews,
|
|||
|
|
initialPreviewConfig:previewConfigs,
|
|||
|
|
layoutTemplates:{
|
|||
|
|
actionUpload:'',
|
|||
|
|
actionDelete:''
|
|||
|
|
},
|
|||
|
|
deleteUrl:ext.contextPath+"/base/deleteInputFile.do",
|
|||
|
|
deleteExtraData:function () { //传参
|
|||
|
|
var data = {
|
|||
|
|
"tbName": tbName
|
|||
|
|
};
|
|||
|
|
return data;
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
$('#kvFileinputModal').on("hidden.bs.modal", function() {
|
|||
|
|
$(this).removeData("bs.modal");
|
|||
|
|
//modal重复打开会导致前面的滚动条失去作用
|
|||
|
|
$('.modal').css("overflow","auto");
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
//名称定义不可修改
|
|||
|
|
var getFileList = function() {
|
|||
|
|
$.post(ext.contextPath + '/base/getInputFileList.do', {masterId:masterId,tbName:tbName_problem} , function(data) {
|
|||
|
|
//console.info(data)
|
|||
|
|
if(data.length>0){
|
|||
|
|
previews=new Array();
|
|||
|
|
$('#problemfile').show();
|
|||
|
|
for(var i=0;i<data.length;i++){
|
|||
|
|
var previewConfig = new Object();
|
|||
|
|
var path = data[i].abspath;
|
|||
|
|
path=path.substring(path.indexOf('webapps')+7,path.length);
|
|||
|
|
path =ext.basePath.replace(ext.contextPath,'')+ path.replace(/\\/g,"\/");;
|
|||
|
|
previews.push(path);
|
|||
|
|
previewConfig['width']= '50px';
|
|||
|
|
previewConfig['caption']= data[i].filename;
|
|||
|
|
previewConfig['key']= data[i].id;
|
|||
|
|
previewConfigs.push(previewConfig);
|
|||
|
|
}
|
|||
|
|
showFileInput("problemfile");
|
|||
|
|
}else{
|
|||
|
|
$('#problemfile').hide();
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
$.post(ext.contextPath + '/base/getInputFileList.do', {masterId:masterId,tbName:tbName_maintenance} , function(data) {
|
|||
|
|
//console.info(data)
|
|||
|
|
if(data.length>0){
|
|||
|
|
previews=new Array();
|
|||
|
|
$('#maintenancefile').show();
|
|||
|
|
for(var i=0;i<data.length;i++){
|
|||
|
|
var previewConfig = new Object();
|
|||
|
|
var path = data[i].abspath;
|
|||
|
|
path=path.substring(path.indexOf('webapps')+7,path.length);
|
|||
|
|
path =ext.basePath.replace(ext.contextPath,'')+ path.replace(/\\/g,"\/");;
|
|||
|
|
previews.push(path);
|
|||
|
|
previewConfig['width']= '50px';
|
|||
|
|
previewConfig['caption']= data[i].filename;
|
|||
|
|
previewConfig['key']= data[i].id;
|
|||
|
|
previewConfigs.push(previewConfig);
|
|||
|
|
}
|
|||
|
|
showFileInput("maintenancefile");
|
|||
|
|
}else{
|
|||
|
|
$('#maintenancefile').hide();
|
|||
|
|
$('#label_maintenancefile').hide();
|
|||
|
|
}
|
|||
|
|
},'json');
|
|||
|
|
|
|||
|
|
};
|
|||
|
|
var number=0;
|
|||
|
|
function addHandleDetailFun() {
|
|||
|
|
var detailId="detailId" +number;
|
|||
|
|
var problem ="problem"+number;
|
|||
|
|
var handleDetail = "handleDetail"+number;
|
|||
|
|
var handledt ="handledt"+number;
|
|||
|
|
var processSectionId ="processSectionId"+number;
|
|||
|
|
var equipmentIds="equipmentIds"+number;
|
|||
|
|
var equipmentName="equipmentName"+number;
|
|||
|
|
var faultLibraryId ="faultLibraryId"+number;
|
|||
|
|
|
|||
|
|
var handleDetails= JSON.parse('${businessUnitHandleDetails}')
|
|||
|
|
var len =handleDetails.length;
|
|||
|
|
var detailId_content="";
|
|||
|
|
var problem_content="";
|
|||
|
|
var handledetail_content="";
|
|||
|
|
var equipmentNames_content="";
|
|||
|
|
var equipmentids_content="";
|
|||
|
|
var processsectionid_content="";
|
|||
|
|
var handledt_content="";
|
|||
|
|
var faultlibraryid_content="";
|
|||
|
|
if(len>number){
|
|||
|
|
detailId_content=handleDetails[number].id;
|
|||
|
|
problem_content=handleDetails[number].problem;
|
|||
|
|
handledetail_content=handleDetails[number].handledetail;
|
|||
|
|
equipmentNames_content=handleDetails[number].equipmentNames;
|
|||
|
|
equipmentids_content=handleDetails[number].equipmentids;
|
|||
|
|
processsectionid_content=handleDetails[number].processsectionid;
|
|||
|
|
handledt_content=handleDetails[number].handledt;
|
|||
|
|
faultlibraryid_content=handleDetails[number].faultlibraryid;
|
|||
|
|
}
|
|||
|
|
$('#handleDetailList').append(
|
|||
|
|
'<div class="problem-bg">'+
|
|||
|
|
'<input type="hidden" class="form-control " id ="'+detailId+'" value="'+detailId_content+'">'+
|
|||
|
|
'<div class="form-group">'+
|
|||
|
|
' <label class="col-sm-2 ">问题描述</label>'+
|
|||
|
|
' <div class="col-sm-10 ">'+
|
|||
|
|
' <span >'+problem_content+'</span>'+
|
|||
|
|
' </div>'+
|
|||
|
|
'</div>'+
|
|||
|
|
'<div class="form-group">'+
|
|||
|
|
' <label class="col-sm-2 ">处理方式</label>'+
|
|||
|
|
' <div class="col-sm-10">'+
|
|||
|
|
' <span class="">'+handledetail_content+'</span>'+
|
|||
|
|
' </div>'+
|
|||
|
|
'</div>'+
|
|||
|
|
'<div class="form-group " >'+
|
|||
|
|
' <div class="col-sm-2">'+
|
|||
|
|
' <label class="control-label">维护日期</label>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' <div class="col-sm-10">'+
|
|||
|
|
' <div class="input-group date">'+
|
|||
|
|
' <div class="input-group-addon">'+
|
|||
|
|
' <i class="fa fa-calendar"></i>'+
|
|||
|
|
' <input type="text" class="form-control" id="'+handledt+'" name="'+handledt+'" style="width: 182px;">'+
|
|||
|
|
' </div>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' <div class="col-sm-2">'+
|
|||
|
|
' <label class="control-label">*维护日期</label>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' '+
|
|||
|
|
' <div class="col-sm-10">'+
|
|||
|
|
' <div class="input-group date">'+
|
|||
|
|
' <div class="input-group-addon">'+
|
|||
|
|
' <i class="fa fa-calendar"></i>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' <input type="text" class="form-control" id="'+handledt+'" name="'+handledt+'" style="width: 182px;">'+handledt_content+
|
|||
|
|
' </div>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' <div class="form-group " >'+
|
|||
|
|
' <label class="control-label col-sm-2">工艺段</label>'+
|
|||
|
|
' <div class="col-sm-10">'+
|
|||
|
|
' <select class="form-control select2" id="'+processSectionId+'" name ="'+processSectionId+'" style="width: 220px;" >'+
|
|||
|
|
' </select>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' <div class="form-group">'+
|
|||
|
|
' <label class="col-sm-2 control-label">关联设备</label>'+
|
|||
|
|
' <div class="col-sm-10">'+
|
|||
|
|
' <textarea class="form-control" rows="2" id="'+equipmentName+'" name ="'+equipmentName+'" placeholder="选择相关设备..." onclick="showEquipment4SelectsFun(\'detailForm\',\''+equipmentIds+'\',\''+equipmentName+'\');">'+equipmentNames_content+'</textarea>'+
|
|||
|
|
' <input type="hidden" id="'+equipmentIds+'" name ="'+equipmentIds+'" value="'+equipmentids_content+'" ></input>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' <div class="form-group " >'+
|
|||
|
|
' <label class="control-label col-sm-2">故障类型</label>'+
|
|||
|
|
' <div class="col-sm-10">'+
|
|||
|
|
' <select class="form-control select2" id="'+faultLibraryId+'" name ="'+faultLibraryId+'" style="width: 220px;" >'+
|
|||
|
|
' </select>'+
|
|||
|
|
' </div>'+
|
|||
|
|
' </div>'+
|
|||
|
|
|
|||
|
|
'</div>'
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
initialProcessSection(processSectionId,processsectionid_content);
|
|||
|
|
//initialHandleDt('detailForm',handledt,handledt_content)
|
|||
|
|
initialFaultLibrary(faultLibraryId,faultlibraryid_content);
|
|||
|
|
number++;
|
|||
|
|
};
|
|||
|
|
//初始化工艺段
|
|||
|
|
function initialProcessSection(objId,id){
|
|||
|
|
$.post(ext.contextPath + "/work/mpoint/getProcessSectionList4Select.do", {companyId:'${companyId}'}, function(data) {
|
|||
|
|
var selelct_ =$("#"+objId).select2({
|
|||
|
|
data: data,
|
|||
|
|
cache : false,
|
|||
|
|
placeholder:'请选择',//默认文字提示
|
|||
|
|
allowClear: false,//允许清空
|
|||
|
|
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
|||
|
|
language: "zh-CN",
|
|||
|
|
minimumInputLength: 0,
|
|||
|
|
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
|||
|
|
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
|||
|
|
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
|||
|
|
});
|
|||
|
|
selelct_.val(id).trigger("change");
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
//选择时间
|
|||
|
|
function initialHandleDt(formId,objId,dt) {
|
|||
|
|
$('#'+objId).datepicker({
|
|||
|
|
language: 'zh-CN',
|
|||
|
|
autoclose: true,
|
|||
|
|
todayHighlight: true,
|
|||
|
|
format:'yyyy-mm-dd',
|
|||
|
|
}).on('hide',function(e) {
|
|||
|
|
$('#'+formId).data('bootstrapValidator')
|
|||
|
|
.updateStatus(objId, 'NOT_VALIDATED',null)
|
|||
|
|
.validateField(objId);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
//日期格式需对齐,不然会不准
|
|||
|
|
if(dt==null|| dt==""){
|
|||
|
|
$('#'+objId).datepicker('setDate','${nowDate.substring(0, 10)}');
|
|||
|
|
}else{
|
|||
|
|
$('#'+objId).datepicker('setDate',dt.substring(0, 10));
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var showEquipment4SelectsFun = function(formId,hiddenId,textId) {
|
|||
|
|
var companyId='${companyId}';
|
|||
|
|
var equipmentIds=$('#'+hiddenId).val();;
|
|||
|
|
$.post(ext.contextPath + '/equipment/showEquipmentCardForSelects.do', {formId:formId,hiddenId:hiddenId,textId:textId,companyId:companyId,equipmentIds:equipmentIds} , function(data) {
|
|||
|
|
$("#equ4SelectDiv").html(data);
|
|||
|
|
openModal("equipment4SelectModal");
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
//初始故障类型
|
|||
|
|
function initialFaultLibrary(objId,id){
|
|||
|
|
$.post(ext.contextPath + "/maintenance/faultLibrary/getFaultTypesActive.do", function(data) {
|
|||
|
|
var selelct_ =$("#"+objId).select2({
|
|||
|
|
data: data,
|
|||
|
|
cache : false,
|
|||
|
|
placeholder:'请选择',//默认文字提示
|
|||
|
|
allowClear: false,//允许清空
|
|||
|
|
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
|||
|
|
language: "zh-CN",
|
|||
|
|
minimumInputLength: 0,
|
|||
|
|
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
|||
|
|
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
|||
|
|
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
|||
|
|
});
|
|||
|
|
selelct_.val(id).trigger("change");
|
|||
|
|
},'json');
|
|||
|
|
};
|
|||
|
|
$(function() {
|
|||
|
|
/* var handleDetails= JSON.parse('${businessUnitHandleDetails}')
|
|||
|
|
var len =handleDetails.length;
|
|||
|
|
while(len>number){
|
|||
|
|
//addHandleDetailFun();
|
|||
|
|
} */
|
|||
|
|
getFileList();
|
|||
|
|
})
|
|||
|
|
</script>
|
|||
|
|
<div class="modal fade" id="handleDetailModal">
|
|||
|
|
<div class="modal-dialog">
|
|||
|
|
<div class="modal-content">
|
|||
|
|
<div class="modal-header">
|
|||
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|||
|
|
<span aria-hidden="true">×</span></button>
|
|||
|
|
<h4 class="modal-title">处理详情</h4>
|
|||
|
|
</div>
|
|||
|
|
<div class="modal-body" >
|
|||
|
|
<form class="form-horizontal" id="detailForm" >
|
|||
|
|
<c:forEach items="${businessUnitHandleDetails}" var="item" varStatus="status">
|
|||
|
|
<div class="problem-bg" >
|
|||
|
|
<%-- <div class="form-group">
|
|||
|
|
<label class="col-sm-2 ">问题描述</label>
|
|||
|
|
<div class="col-sm-10">
|
|||
|
|
<span >${item.problem}</textarea>
|
|||
|
|
</div>
|
|||
|
|
</div> --%>
|
|||
|
|
<div class="form-group">
|
|||
|
|
<label class="col-sm-2 ">处理内容</label>
|
|||
|
|
<div class="col-sm-10">
|
|||
|
|
<span >${item.handledetail}</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<security:authorize buttonUrl="maintenance/showSupplement.do">
|
|||
|
|
<div class="form-group">
|
|||
|
|
<label class="col-sm-2 ">使用材料</label>
|
|||
|
|
<div class="col-sm-10">
|
|||
|
|
<span >${item.detailsupplement}</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</security:authorize>
|
|||
|
|
<div class="form-group">
|
|||
|
|
<label class="col-sm-2 ">实际费用</label>
|
|||
|
|
<div class="col-sm-10">
|
|||
|
|
<span >${maintenanceDetail.actualMoney}元</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-group " >
|
|||
|
|
<div class="col-sm-2">
|
|||
|
|
<label >处理日期</label>
|
|||
|
|
</div>
|
|||
|
|
<div class="col-sm-4">
|
|||
|
|
<span ><c:if test="${item.handledt!=''}">${item.handledt.substring(0,10)}</c:if></span>
|
|||
|
|
</div>
|
|||
|
|
<div class="col-sm-2">
|
|||
|
|
<label >处理人员</label>
|
|||
|
|
</div>
|
|||
|
|
<div class="col-sm-4">
|
|||
|
|
<span >${item.insuserName}</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<%-- <div class="form-group " >
|
|||
|
|
<label class=" col-sm-2">工艺段</label>
|
|||
|
|
<div class="col-sm-4">
|
|||
|
|
<span >${item.processSectionName}</span>
|
|||
|
|
</div>
|
|||
|
|
<label class=" col-sm-2">故障类型</label>
|
|||
|
|
<div class="col-sm-4">
|
|||
|
|
<span >${item.faultLibraryName}</span>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-group">
|
|||
|
|
<label class="col-sm-2 ">关联设备</label>
|
|||
|
|
<div class="col-sm-10">
|
|||
|
|
<span >${item.equipmentNames}</span>
|
|||
|
|
</div>
|
|||
|
|
</div> --%>
|
|||
|
|
</div>
|
|||
|
|
</c:forEach>
|
|||
|
|
</form>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="modal-footer">
|
|||
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<!-- /.modal-content -->
|
|||
|
|
</div>
|
|||
|
|
<!-- /.modal-dialog -->
|
|||
|
|
</div>
|
|||
|
|
|