first commit

This commit is contained in:
2026-01-16 14:13:44 +08:00
commit 903ff8d495
34603 changed files with 8585054 additions and 0 deletions

View File

@ -0,0 +1,315 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
});
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
$('#fileName').empty();
var file = document.getElementById('file');
file.value = '';
};
var fileSelected = function () {
var filenames = $('#file')[0].files;
var filename = "";
for( var i=0;i<filenames.length; i++ ){
filename += filenames[i].name+"<br>";
}
$('#fileName').html(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/safety/staffArchives/detail.do?id=' + userInfo.id, function (res) {
console.log(res.result)
if (res.code == 1) {
userInfo2 = res.result;
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
} else {
}
}, 'json')
}
$(function () {
//培训日期
$("#educationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//培训有效日期
$("#deadline").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
$('#file').val();
});
function initCompanyCondition(isInit) {
var currentValue = $("#companyCondition").val();
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/companyList.do', function (data) {
$("#companyCondition").empty();
var select_3 = $("#companyCondition").select2({
data: data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
if (isInit) {
select_3.val('').trigger('change');
} else {
select_3.val(currentValue).trigger('change');
}
},'json');
}
function saveFun() {
//console.log($("#addForm").serialize());
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationBuilder/save.do?unitId="+unitId,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
initCompanyCondition(false);
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationDate: {
validators: {
notEmpty: {
message: '培训日期不能为空。'
}
}
},
userName: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
company: {
validators: {
notEmpty: {
message: '请填写施工单位名称'
}
}
},
deadline: {
validators: {
notEmpty: {
message: '请选择培训有效期'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增培训记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<%-- <label class="col-sm-2 control-label" >* 培训记录编号:</label>--%>
<%-- <div class="col-sm-3">--%>
<input type="hidden" id="educationCode" name="educationCode" class="form-control"
placeholder="" readonly
value="${educationCode}">
<%-- </div>--%>
<label class="col-sm-2 control-label ">* 培训日期:</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="educationDate" name="educationDate"
placeholder="请选择.."/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 姓名:</label>
<div class="col-sm-10">
<input type="text" name="name" id="userName" class="form-control" placeholder="请输入姓名"
>
</div>
<label class="col-sm-2 control-label hidden">* 性别:</label>
<div class="col-sm-4 hidden ">
<select id="gender" name="gender" class="form-control select2">
<option value="男">男</option>
<option value="女">女</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 施工单位名称:</label>
<div class="col-sm-4 ">
<input type="text" name="company" id="company" class="form-control" placeholder=""
>
</div>
<label class="col-sm-2 control-label ">* 培训有效期:</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="deadline" name="deadline"
placeholder="请选择.."/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-8" id="fileName">
</div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()"
id="btn_save1"><i class="fa fa-trash-o"></i></button>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="files" id="file" multiple class="file-loading" accept="image/*"
onchange="fileSelected()"/>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px"
onclick="saveFun()">保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,336 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
var showImg = function () {
var fileId = '${bean.fileId}';
var fileName = '${fileName}';
if(fileId!=null && fileId!=''){
var fileIds = fileId.split(',');
var fileNames = fileName.split(',');
let str = '';
for(var i=0;i<fileIds.length;i++){
if(fileIds[i]!=null && fileIds[i]!=''){
str += '<a><p readonly onclick="fileDownload(\''+fileIds[i]+'\')" ' +
'style="margin-top: 8px;cursor:pointer;">'+fileNames[i]+'</p></a>';
}
}
$('#fileName').html(str);
}
}
var fileinput = function () {
$('#file').click();
};
var filedel = function (id) {
$('#fileName').empty();
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/deleteFile.do', {id : '${bean.id}'}, function(data) {
let res = JSON.parse(data)
if(res.code==1){
$("#table").bootstrapTable('refresh');
}else{
showAlert('d',res.msg,'alertDiv');
}
});
};
var fileSelected = function () {
var filenames = $('#file')[0].files;
var filename = "";
for( var i=0;i<filenames.length; i++ ){
filename += filenames[i].name+"<br>";
}
$('#fileName').html(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/safety/staffArchives/detail.do?id=' + userInfo.id, function (res) {
console.log(res.result)
if (res.code == 1) {
userInfo2 = res.result;
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
} else {
}
}, 'json')
}
$(function () {
//培训日期
$("#educationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//培训有效日期
$("#deadline").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
$('#file').val();
$('#gender').val('${bean.gender}').trigger("change");
showImg();
});
function initCompanyCondition(isInit) {
var currentValue = $("#companyCondition").val();
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/companyList.do', function (data) {
$("#companyCondition").empty();
var select_3 = $("#companyCondition").select2({
data: data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
if (isInit) {
select_3.val('').trigger('change');
} else {
select_3.val(currentValue).trigger('change');
}
},'json');
}
function saveFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationBuilder/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
initCompanyCondition(false);
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationDate: {
validators: {
notEmpty: {
message: '培训日期不能为空。'
}
}
},
name: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
company: {
validators: {
notEmpty: {
message: '请填写施工单位名称'
}
}
},
deadline: {
validators: {
notEmpty: {
message: '请选择培训有效期'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑培训记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">* 培训记录编号:</label>
<div class="col-sm-4">
<input type="text" id="educationCode" name="educationCode" class="form-control"
placeholder="" readonly
value="${bean.educationCode}">
<input type="hidden" id="id" name="id" class="form-control"
placeholder="" readonly
value="${bean.id}">
</div>
<label class="col-sm-2 control-label">* 培训日期:</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="educationDate" name="educationDate"
placeholder="请选择.."
value="${bean.educationDate.substring(0,10)}">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 姓名:</label>
<div class="col-sm-10">
<input type="text" name="name" id="userName" class="form-control" placeholder=""
value="${bean.name}">
</div>
<label class="col-sm-2 control-label hidden">* 性别:</label>
<div class="col-sm-4 hidden ">
<select id="gender" name="gender" class="form-control select2">
<option value="男">男</option>
<option value="女">女</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 施工单位名称:</label>
<div class="col-sm-4 ">
<input type="text" name="company" id="company" class="form-control" placeholder=""
value="${bean.company}">
</div>
<label class="col-sm-2 control-label ">* 培训有效期:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="deadline" name="deadline"
placeholder="请选择.."
value="${bean.deadline.substring(0,10)}">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-8" id="fileName"></div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()" id="btn_save"><i
class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()" id="btn_save1"><i
class="fa fa-trash-o"></i></button>
<input type="file" name="files" id="file" multiple class="file-loading" onchange="fileSelected()" accept="image/*" />
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px"
onclick="saveFun()">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,523 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%request.setAttribute("AUDIT", SparePartCommString.STATUS_STOCK_AUDIT); %>
<%request.setAttribute("START", SparePartCommString.STATUS_STOCK_START); %>
<%request.setAttribute("FINISH", SparePartCommString.STATUS_STOCK_FINISH); %>
<%request.setAttribute("FAIL", SparePartCommString.STATUS_STOCK_FAIL); %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<!-- 引入viewer.js-->
<link rel="stylesheet"
href="<%=request.getContextPath()%>/node_modules/viewer-js/viewer.min.css" />
<script type="text/javascript"
src="<%=request.getContextPath()%>/node_modules/viewer-js/viewer.min.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
.modal-full {
width: 100%;
margin: 0;
}
.viewer{
margin: 0;
padding: 0;
}
.viewer>li{
overflow: hidden;
width: calc(100% / 5);
float: left;
cursor: pointer;
padding: 0 1px;
}
.viewer>li>img{
width: 100%;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/add.do', {unitId: unitId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
;
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyEducationBuilder/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
initCompanyCondition();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
}
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 + '/safety/SafetyEducationBuilder/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
initCompanyCondition();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyEducationBuilder/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
company: $('#companyCondition').val(),
likeString: $('#likeString').val(),
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'educationCode', // 返回json数据中的name
title: '培训记录编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'educationDate', // 返回json数据中的name
title: '培训日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}, {
field: 'name', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
/* field: 'gender', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {*/
field: 'company', // 返回json数据中的name
title: '施工单位名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'deadline', // 返回json数据中的name
title: '培训有效期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
/*if (row.fileId) {
buts += '<button class="btn btn-default btn-sm" title="下载" onclick="fileDownload(\'' + row.fileId + '\')"><i class="fa fa-paperclip"></i><span class="hidden-md hidden-lg">下载</span></button>';
}*/
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
initCompanyCondition(true);
});
function initCompanyCondition(isInit) {
var currentValue = $("#companyCondition").val();
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/companyList.do', function (data) {
$("#companyCondition").empty();
var select_3 = $("#companyCondition").select2({
data: data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
if (isInit) {
select_3.val('').trigger('change');
} else {
select_3.val(currentValue).trigger('change');
}
},'json');
}
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">施工单位:</label>
<select class="form-control select2" name="company" id="companyCondition"
style="width:180px;height: 30px">
</select>
</div>
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入培训记录编号/姓名">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,379 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
padding-left: 60px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var bindFun = function () {
var checkedItems = $("#tabll").bootstrapTable('getSelections');
var datas = "";
$.each(checkedItems, function (index, item) {
datas += item.id + ",";
});
if (datas == "") {
showAlert('d', '请先选择记录');
} 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 + '/safety/SafetyEducationBuilder/bindJobInside.do?jobId=${bizId}',
{
ids: datas,
}, function (data) {
if (data.code == 1) {
showAlert('s', '关联成功!');
$("#table20").bootstrapTable('refresh');
closeModel();
} else {
showAlert('d', '关联失败');
}
}, "json");
}
});
}
};
var refreshjob = function () {
$("#tabll").bootstrapTable('refresh');
};
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#tabll").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyEducationBuilder/getUnbindList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
company: $('#companyCondition').val(),
likeString: $('#likeString').val(),
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'educationCode', // 返回json数据中的name
title: '培训记录编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'educationDate', // 返回json数据中的name
title: '培训日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}, {
field: 'name', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'gender', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'company', // 返回json数据中的name
title: '施工单位名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'deadline', // 返回json数据中的name
title: '培训有效期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("tabll");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
function consTrucTionUnit() {
var select_Data = jQuery.parseJSON('${companyList}');
console.log(select_Data);
var select_3 = $("#companyCondition").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
}
$(function () {
initDate1();
consTrucTionUnit();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
var select_Data = jQuery.parseJSON('${educationTypeCondition}');
var select_3 = $("#educationTypeCondition").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示educationTypeCondition
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
function closeModel() {
closeModal('educationModal');
}
var timeDdel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
<div class="modal fade" id="educationModal">
<div class="modal-dialog" style="width:86%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" onclick="closeModel()" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">关联安全培训</h4>
</div>
<div class="modal-body">
<section class="content container-fluid">
<form id="subSearchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">施工单位:</label>
<select class="form-control select2" name="company" id="companyCondition"
style="width:180px;height: 30px">
</select>
</div>
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;"
id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timeDdel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString"
class="form-control pull-right"
placeholder="请输入培训记录编号/姓名">
<div class="input-group-btn">
<button type="button" class="btn btn-default" onclick="refreshjob()"><i
class="fa fa-search"></i></button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="tabll"></table>
</section>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " onclick="closeModel()">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="bindFun()">
关联
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,379 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
padding-left: 60px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var bindFun = function () {
var checkedItems = $("#tabll").bootstrapTable('getSelections');
var datas = "";
$.each(checkedItems, function (index, item) {
datas += item.id + ",";
});
if (datas == "") {
showAlert('d', '请先选择记录');
} 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 + '/safety/SafetyEducationBuilder/bindJobOutside.do?jobId=${bizId}',
{
ids: datas,
}, function (data) {
if (data.code == 1) {
showAlert('s', '关联成功!');
$("#table20").bootstrapTable('refresh');
closeModel();
} else {
showAlert('d', '关联失败');
}
}, "json");
}
});
}
};
var refreshjob = function () {
$("#tabll").bootstrapTable('refresh');
};
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#tabll").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyEducationBuilder/getUnbindList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
company: $('#companyCondition').val(),
likeString: $('#likeString').val(),
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'educationCode', // 返回json数据中的name
title: '培训记录编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'educationDate', // 返回json数据中的name
title: '培训日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}, {
field: 'name', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'gender', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'company', // 返回json数据中的name
title: '施工单位名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'deadline', // 返回json数据中的name
title: '培训有效期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("tabll");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
function consTrucTionUnit() {
var select_Data = jQuery.parseJSON('${companyList}');
console.log(select_Data);
var select_3 = $("#companyCondition").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
}
$(function () {
initDate1();
consTrucTionUnit();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
var select_Data = jQuery.parseJSON('${educationTypeCondition}');
var select_3 = $("#educationTypeCondition").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示educationTypeCondition
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
function closeModel() {
closeModal('educationModal');
}
var timeDdel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
<div class="modal fade" id="educationModal">
<div class="modal-dialog" style="width:86%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" onclick="closeModel()" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">关联安全培训</h4>
</div>
<div class="modal-body">
<section class="content container-fluid">
<form id="subSearchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">施工单位:</label>
<select class="form-control select2" name="company" id="companyCondition"
style="width:180px;height: 30px">
</select>
</div>
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;"
id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timeDdel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString"
class="form-control pull-right"
placeholder="请输入培训记录编号/姓名">
<div class="input-group-btn">
<button type="button" class="btn btn-default" onclick="refreshjob()"><i
class="fa fa-search"></i></button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="tabll"></table>
</section>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " onclick="closeModel()">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="bindFun()">
关联
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,229 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/ display: flex;*/
/ padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
padding-left: 60px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
var viewer = null;
var showImg = function () {
var fileId = '${bean.fileId}';
if(fileId!=null && fileId!=''){
var fileIds = fileId.split(',');
let str = '';
for(var i=0;i<fileIds.length;i++){
if(fileIds[i]!=null && fileIds[i]!=''){
var url = ext.contextPath+'/safety/SafetyFiles/toFindImgById?fileId='+fileIds[i];
str += '<li><img data-original="'+url+'" src="'+url+'" alt="图片"></li>';
}
}
$('#viewer').html(str);
if (viewer) {
viewer.destroy();
}
viewer = new Viewer(document.getElementById('viewer'), {
url: 'data-original',
fullscreen: false,
});
}
}
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/safety/staffArchives/detail.do?id=' + userInfo.id, function (res) {
console.log(res.result)
if (res.code == 1) {
userInfo2 = res.result;
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
} else {
}
}, 'json')
}
$(function () {
$('#file').val();
$('#gender').val('${bean.gender}').trigger("change");
showImg();
});
function saveFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationBuilder/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:55%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">施工人员详情</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">培训记录编号:</label>
<div class="col-sm-3">
<p class="form-control-static">${bean.educationCode}</p>
<%-- <input type="text" id="educationCode" name="educationCode" class="form-control"--%>
<%-- placeholder="" readonly--%>
<%-- value="${bean.educationCode}">--%>
<%-- <input type="hidden" id="id" name="id" class="form-control"--%>
<%-- placeholder="" readonly--%>
<%-- value="${bean.id}">--%>
</div>
<label class="col-sm-2 control-label right ">培训日期:</label>
<div class="col-sm-3 ">
<div class="input-group date">
<p class="form-control-static">${bean.educationDate.substring(0,10)}</p>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">姓名:</label>
<div class="col-sm-10">
<p class="form-control-static">${bean.name}</p>
</div>
<%--<label class="col-sm-2 control-label right">性别:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.gender}</p>
</div>--%>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">施工单位名称:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.company}</p>
</div>
<label class="col-sm-2 control-label right ">培训有效期:</label>
<div class="col-sm-3 ">
<div class="input-group date">
<p class="form-control-static">${bean.deadline.substring(0,10)}</p>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-10">
<%--<a><p name="fileName" id="fileName" readonly
style="margin-top: 8px;cursor:pointer;">${fileName}</p></a>--%>
<!-- 多张图片 -->
<ul id="viewer" class="viewer">
</ul>
</div>
<%--<div class="col-sm-2" style="display: flex">
<input type="file" id="file" name="file" onclick="fileSelected()"
style="display: none"/>
<input type="hidden" id="fileId" name="fileId" value="${bean.fileId}"/>
</div>--%>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,376 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
var select_Data = jQuery.parseJSON('${educationType}');
console.log(select_Data);
var select_3 = $("#educationType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
<%--select_3.val('${kpiDimension.status}').trigger("change");--%>
});
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
$('#fileName').val('');
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "userid",
textId: "userName",
bean: "bean",
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath +'/safety/staffArchives/detail.do?id='+userInfo.id,function (res) {
console.log(res.result)
if(res.code==1){
userInfo2=res.result;
$('#jobTitle').val(userInfo2.jobTitle);
$('#duty').val(userInfo2.duty);
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
$('#hiredate').val(userInfo2.hiredate);
$('#workTime').val(userInfo2.workTime);
$('#idcard').val(userInfo2.idcard);
$('#birthday').val(userInfo2.birthday);
}else {
}
},'json')
}
$(function () {
$('#file').val();
});
function saveFun() {
//console.log($("#addForm").serialize());
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationInsider/save.do?unitId="+unitId,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationType: {
validators: {
notEmpty: {
message: '培训类型不能为空'
}
}
},
userName: {
validators: {
notEmpty: {
message: '请填写姓名'
}
}
},
userCardId: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
birthday: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
idcard: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
workTime: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
hiredate: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
deptName: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
post: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
point: {
validators: {
notEmpty: {
message: '综合考试成绩不能为空'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增培训记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<%-- <label class="col-sm-2 control-label" >* 培训记录编号:</label>--%>
<%-- <div class="col-sm-3">--%>
<input type="hidden" id="educationCode" name="educationCode" class="form-control" placeholder="" readonly
value="${educationCode}">
<%-- </div>--%>
<label class="col-sm-2 control-label ">* 培训类型:</label>
<div class="col-sm-4 ">
<select class="form-control" name="educationType" id="educationType"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 姓名:</label>
<div class="col-sm-4">
<input type="text" name="userName" id="userName" class="form-control" placeholder="请选择..."
onclick="showUser4OneSelectFun();">
<input type="hidden" name="userid" id="userid" class="form-control" placeholder=""
readonly>
<input type="text" name="bean" id="bean" class="form-control" placeholder="" disabled
style="display:none;" onchange="userInfoChage();">
</div>
<label class="col-sm-2 control-label">* 工号:</label>
<div class="col-sm-4">
<input type="text" name="userCardId" id="userCardId" class="form-control" placeholder=""
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 性别:</label>
<div class="col-sm-4">
<input type="text" name="gender" id="gender" class="form-control" placeholder="" readonly>
</div>
<label class="col-sm-2 control-label">* 出生日期:</label>
<div class="col-sm-4 ">
<input type="text" name="birthday" id="birthday" class="form-control" placeholder=""
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 身份证号:</label>
<div class="col-sm-4">
<input type="text" name="idcard" id="idcard" class="form-control" placeholder="" readonly>
</div>
<label class="col-sm-2 control-label">* 参加工作时间:</label>
<div class="col-sm-4">
<input type="text" name="workTime" id="workTime" class="form-control" placeholder=""
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 入职本司时间:</label>
<div class="col-sm-4">
<input type="text" name="hiredate"id="hiredate" class="form-control" placeholder=""
readonly>
</div>
<label class="col-sm-2 control-label">* 所属部门:</label>
<div class="col-sm-4">
<input type="text" name="deptName" id="deptName" class="form-control" placeholder=""
readonly>
<input type="hidden" name="deptId" id="deptId" class="form-control" placeholder=""
readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 从事岗位:</label>
<div class="col-sm-4">
<input type="text" name="post" id="post" class="form-control" placeholder="" readonly>
</div>
<label class="col-sm-2 control-label">职务:</label>
<div class="col-sm-4">
<input type="text" name="duty" id="duty" class="form-control" placeholder="" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">职称:</label>
<div class="col-sm-4">
<input type="text" name="jobTitle" id="jobTitle" class="form-control" placeholder=""
readonly>
</div>
<label class="col-sm-2 control-label">* 综合考试成绩:</label>
<div class="col-sm-4">
<input type="text" id="point" name="point" class="form-control" placeholder="请输入...">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName"
style="width:350px;display:inline;border:none"/>
</div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()"
id="btn_save1"><i class="fa fa-trash-o"></i></button>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px"
onclick="saveFun()">保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,394 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
var select_Data = jQuery.parseJSON('${educationType}');
var select_3 = $("#educationType").select2({
desabled: true,
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.educationType}').trigger("change");
});
var fileinput = function () {
$('#file').click();
};
var filedel = function (id) {
$('#fileName').val('');
console.log('-------------', )
$.post(ext.contextPath + '/safety/SafetyEducationInsider/deleteFile.do', {id : '${bean.id}'}, function(data) {
let res = JSON.parse(data)
if(res.code==1){
$("#table").bootstrapTable('refresh');
}else{
showAlert('d',res.msg,'mainAlertdiv');
}
});
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/safety/staffArchives/detail.do?id=' + userInfo.id, function (res) {
console.log(res.result)
if (res.code == 1) {
userInfo2 = res.result;
$('#jobTitle').val(userInfo2.jobTitle);
$('#duty').val(userInfo2.duty);
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
$('#hiredate').val(userInfo2.hiredate);
$('#workTime').val(userInfo2.workTime);
$('#idcard').val(userInfo2.idcard);
$('#birthday').val(userInfo2.birthday);
} else {
}
}, 'json')
}
$(function () {
$('#file').val();
});
function saveFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationInsider/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationType: {
validators: {
notEmpty: {
message: '培训类型不能为空'
}
}
},
userName: {
validators: {
notEmpty: {
message: '请填写姓名'
}
}
},
userCardId: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
birthday: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
idcard: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
workTime: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
hiredate: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
deptName: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
post: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
point: {
validators: {
notEmpty: {
message: '综合考试成绩不能为空'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑培训记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">* 培训记录编号:</label>
<div class="col-sm-4">
<input type="hidden" id="id" name="id" class="form-control" placeholder="" readonly
value="${bean.id}">
<input type="text" id="educationCode" name="educationCode" class="form-control"
placeholder="" readonly
value="${bean.educationCode}">
</div>
<label class="col-sm-2 control-label">* 培训类型:</label>
<div class="col-sm-4">
<select disabled readonly class="form-control" name="educationType"
id="educationType"
style="width: 100%;">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 姓名:</label>
<div class="col-sm-4">
<input type="text" name="userName" id="userName" class="form-control" placeholder=""
onclick="showUser4OneSelectFun();" value="${bean.userName}">
<input type="hidden" name="userid" id="userid" class="form-control" placeholder=""
readonly value="${bean.userid}">
<input type="text" name="bean" id="bean" class="form-control" placeholder=""
disabled
style="display:none;" onchange="userInfoChage();">
</div>
<label class="col-sm-2 control-label">* 工号:</label>
<div class="col-sm-4">
<input type="text" name="userCardId" id="userCardId" class="form-control"
placeholder=""
readonly value="${bean.userCardId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 性别:</label>
<div class="col-sm-4">
<input type="text" name="gender" id="gender" class="form-control" placeholder=""
readonly value="${bean.gender}">
</div>
<label class="col-sm-2 control-label">* 出生日期:</label>
<div class="col-sm-4">
<input type="text" name="birthday" id="birthday" class="form-control" placeholder=""
readonly value="${bean.birthday}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 身份证号:</label>
<div class="col-sm-4">
<input type="text" name="idcard" id="idcard" class="form-control" placeholder=""
readonly value="${bean.idcard}">
</div>
<label class="col-sm-2 control-label">* 参加工作时间:</label>
<div class="col-sm-4">
<input type="text" name="workTime" id="workTime" class="form-control" placeholder=""
readonly value="${bean.workTime}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 入职本司时间:</label>
<div class="col-sm-4">
<input type="text" name="hiredate" id="hiredate" class="form-control" placeholder=""
readonly value="${bean.hiredate}">
</div>
<label class="col-sm-2 control-label">* 所属部门:</label>
<div class="col-sm-4">
<input type="text" name="deptName" id="deptName" class="form-control" placeholder=""
readonly value="${bean.deptName}">
<input type="hidden" name="deptId" id="deptId" class="form-control" placeholder=""
readonly value="${bean.deptId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 从事岗位:</label>
<div class="col-sm-4">
<input type="text" name="post" id="post" class="form-control" placeholder=""
readonly value="${bean.post}">
</div>
<label class="col-sm-2 control-label">职务:</label>
<div class="col-sm-4">
<input type="text" name="duty" id="duty" class="form-control" placeholder=""
readonly value="${bean.duty}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">职称:</label>
<div class="col-sm-4">
<input type="text" name="jobTitle" id="jobTitle" class="form-control" placeholder=""
readonly value="${bean.jobTitle}">
</div>
<label class="col-sm-2 control-label">* 综合考试成绩:</label>
<div class="col-sm-4">
<input type="text" id="point" name="point" class="form-control" placeholder="请输入..."
value="${bean.point}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<input type="text" name="fileName" id="fileName"
style="border: none;height: 30px;width: 380px;background-color: #ffffff"
value="${fileName}" readonly/>
</div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()" id="btn_save"><i
class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()" id="btn_save1"><i
class="fa fa-trash-o"></i></button>
<input type="file" name="file" id="file" multiple class="file-loading" onchange="fileSelected()" />
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px" onclick="saveFun()">保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,517 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%request.setAttribute("AUDIT", SparePartCommString.STATUS_STOCK_AUDIT); %>
<%request.setAttribute("START", SparePartCommString.STATUS_STOCK_START); %>
<%request.setAttribute("FINISH", SparePartCommString.STATUS_STOCK_FINISH); %>
<%request.setAttribute("FAIL", SparePartCommString.STATUS_STOCK_FAIL); %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyEducationInsider/add.do', {unitId: unitId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
;
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyEducationInsider/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyEducationInsider/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyEducationInsider/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
}
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "searchForm",
hiddenId: "deptIdCondition",
textId: "deptNameCondition"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
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 + '/safety/SafetyEducationInsider/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyEducationInsider/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
likeString: $('#likeString').val(),
educationType: $('#educationTypeCondition').val(),
deptId: $('#deptIdCondition').val(),
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'educationCode', // 返回json数据中的name
title: '培训记录编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'userCardId', // 返回json数据中的name
title: '工号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'deptName', // 返回json数据中的name
title: '所属部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'userName', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'gender', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle'
}, {
field: 'jobTitle', // 返回json数据中的name
title: '从事岗位', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'hiredate', // 返回json数据中的name
title: '入职\\转岗\\复岗时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'educationTypeName', // 返回json数据中的name
title: '培训类型', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'point', // 返回json数据中的name
title: '综合考核成绩', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
if(row.fileId){
buts += '<button class="btn btn-default btn-sm" title="下载" onclick="fileDownload(\'' + row.fileId + '\')"><i class="fa fa-paperclip"></i><span class="hidden-md hidden-lg">下载</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
var select_Data = jQuery.parseJSON('${educationTypeCondition}');
var select_3 = $("#educationTypeCondition").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示educationTypeCondition
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<div id="unit4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">培训类型:</label>
<select class="form-control select2" name="educationType" id="educationTypeCondition"
style="width:180px;height: 30px">
</select>
</div>
<div class="form-group">
<label class="form-label">所属部门:</label>
<input type="text" class="form-control" id="deptNameCondition" name="deptName"
placeholder="请选择部门.."
style="border-radius:4px;background-color:white;height: 30px"
onclick="showUnit4SelectFun();" value="" readonly/>
<input id="deptIdCondition" name="deptId" type="hidden" value=""/>
</div>
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入工号/姓名">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,284 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/ display: flex;*/
/ padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
padding-left: 60px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
var select_Data = jQuery.parseJSON('${educationType}');
var select_3 = $("#educationType").select2({
desabled: true,
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
return repo.text;
} // 函数用于呈现当前的选择
});
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.educationType}').trigger("change");
});
var fileDownload = function () {
/*window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=${bean.fileId}';*/
var url = ext.contextPath+'/safety/SafetyFiles/toFindImgById?fileId=${bean.fileId}';
layer.open({
type: 1,
title: false,
closeBtn: 0,
area: ['60%', '80%'],
skin: 'layui-layer-nobg', //没有背景色
shadeClose: true,
content: '<img style="width: 100%;height: 100%" src="'+url+'"/>'
});
}
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "viewForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/safety/staffArchives/detail.do?id=' + userInfo.id, function (res) {
console.log(res.result)
if (res.code == 1) {
userInfo2 = res.result;
$('#jobTitle').val(userInfo2.jobTitle);
$('#duty').val(userInfo2.duty);
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
$('#hiredate').val(userInfo2.hiredate);
$('#workTime').val(userInfo2.workTime);
$('#idcard').val(userInfo2.idcard);
$('#birthday').val(userInfo2.birthday);
} else {
}
}, 'json')
}
$(function () {
$('#file').val();
});
function saveFun() {
//console.log($("#viewForm").serialize());
$("#viewForm").bootstrapValidator('validate');//提交验证
if ($("#viewForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#viewForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationInsider/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:55%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">详情记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为viewForm -->
<form class="form-horizontal" id="viewForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">培训记录编号:</label>
<div class="col-sm-3">
<p class="form-control-static">${bean.educationCode}</p>
</div>
<label class="col-sm-2 control-label right">培训类型:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.educationType}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">姓名:</label>
<div class="col-sm-3">
<p class="form-control-static">${bean.userName}</p>
</div>
<label class="col-sm-2 control-label right">工号:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.userCardId}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">性别:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.gender}</p>
</div>
<label class="col-sm-2 control-label right">出生日期:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.birthday}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">身份证号:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.idcard}</p>
</div>
<label class="col-sm-2 control-label right">参加工作时间:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.workTime}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">入职本司时间:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.hiredate}</p>
</div>
<label class="col-sm-2 control-label right">所属部门:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.deptName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">从事岗位:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.post}</p>
</div>
<label class="col-sm-2 control-label right">职务:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.duty}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">职称:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.jobTitle}</p>
</div>
<label class="col-sm-2 control-label right">综合考试成绩:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.point}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<a><p name="fileName" id="fileName" readonly onclick="fileDownload()"
style="margin-top: 8px;cursor:pointer;">${fileName}</p></a>
</div>
<div class="col-sm-2" style="display: flex">
<input type="file" id="file" name="file" onclick="fileSelected()"
style="display: none"/>
<input type="hidden" id="fileId" name="fileId" value="${bean.fileId}"/>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,300 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
});
var fileinput = function () {
$('#file').click();
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath +'/safety/staffArchives/detail.do?id='+userInfo.id,function (res) {
console.log(res.result)
if(res.code==1){
userInfo2=res.result;
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
}else {
}
},'json')
}
$(function () {
$('#file').val();
//培训日期
$("#educationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//培训有效日期
$("#deadline").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
//console.log($("#addForm").serialize());
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationTrainee/save.do?unitId="+unitId,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationDate: {
validators: {
notEmpty: {
message: '请选择日期。'
}
}
},
name: {
validators: {
notEmpty: {
message: '请填写姓名'
}
}
},
deptName: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
post: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
company: {
validators: {
notEmpty: {
message: '请填写实习单位名称'
}
}
},
deadline: {
validators: {
notEmpty: {
message: '请选择培训有效期'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增实习人员</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<%-- <label class="col-sm-2 control-label" >* 培训记录编号:</label>--%>
<%-- <div class="col-sm-3">--%>
<input type="hidden" id="educationCode" name="educationCode" class="form-control" placeholder="" readonly
value="${educationCode}">
<%-- </div>--%>
<label class="col-sm-2 control-label ">* 培训日期:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="educationDate" name="educationDate"
placeholder="请选择.."/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 姓名:</label>
<div class="col-sm-4">
<input type="text" name="name" id="userName" class="form-control" placeholder="请选择..."
onclick="showUser4OneSelectFun();">
<input type="hidden" name="userid" id="userid" class="form-control" placeholder=""
readonly>
<input type="text" name="bean" id="bean" class="form-control" placeholder="" disabled
style="display:none;" onchange="userInfoChage();">
</div>
<label class="col-sm-2 control-label">* 性别:</label>
<div class="col-sm-4">
<input type="text" name="gender" id="gender" class="form-control" placeholder="" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 所属部门:</label>
<div class="col-sm-4">
<input type="text" name="deptName" id="deptName" class="form-control" placeholder=""
readonly>
<input type="hidden" name="deptId" id="deptId" class="form-control" placeholder=""
readonly>
</div>
<label class="col-sm-2 control-label">* 从事岗位:</label>
<div class="col-sm-4">
<input type="text" name="post" id="post" class="form-control" placeholder="" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 实习单位名称:</label>
<div class="col-sm-4">
<input type="text" name="company" id="company" class="form-control" placeholder=""
>
</div>
<label class="col-sm-2 control-label">* 培训有效期:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="deadline" name="deadline"
placeholder="请选择.."/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName"
style="width:350px;display:inline;border:none"/>
</div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()"
id="btn_save1"><i class="fa fa-trash-o"></i></button>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px"
onclick="saveFun()">保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,332 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
});
var fileinput = function () {
$('#file').click();
};
var filedel = function (id) {
$('#fileName').val('');
console.log('-------------', )
$.post(ext.contextPath + '/safety/SafetyEducationTrainee/deleteFile.do', {id : '${bean.id}'}, function(data) {
let res = JSON.parse(data)
if(res.code==1){
$("#table").bootstrapTable('refresh');
}else{
showAlert('d',res.msg,'mainAlertdiv');
}
});
};
var fileDownload = function () {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=${bean.fileId}';
}
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/safety/staffArchives/detail.do?id=' + userInfo.id, function (res) {
console.log(res.result)
if (res.code == 1) {
userInfo2 = res.result;
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
} else {
}
}, 'json')
}
$(function () {
$('#file').val();
//培训日期
$("#educationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//培训有效日期
$("#deadline").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationTrainee/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationDate: {
validators: {
notEmpty: {
message: '请选择日期。'
}
}
},
name: {
validators: {
notEmpty: {
message: '请填写姓名'
}
}
},
deptName: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
post: {
validators: {
notEmpty: {
message: '请到【人员管理>人员档案管理】菜单维护该信息'
}
}
},
company: {
validators: {
notEmpty: {
message: '请填写实习单位名称'
}
}
},
deadline: {
validators: {
notEmpty: {
message: '请选择培训有效期'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑培训记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">* 培训记录编号:</label>
<div class="col-sm-4">
<input type="text" id="educationCode" name="educationCode" class="form-control"
placeholder="" readonly
value="${bean.educationCode}">
<input type="hidden" id="id" name="id" class="form-control"
placeholder="" readonly
value="${bean.id}">
</div>
<label class="col-sm-2 control-label ">* 培训日期:</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="educationDate" name="educationDate"
placeholder="请选择.."
value="${bean.educationDate.substring(0,10)}">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 姓名:</label>
<div class="col-sm-4">
<input type="text" name="name" id="userName" class="form-control" placeholder=""
onclick="showUser4OneSelectFun();"
value="${bean.name}">
<input type="hidden" name="userid" id="userid" class="form-control" placeholder=""
readonly
value="">
<input type="text" name="bean" id="bean" class="form-control" placeholder=""
disabled
style="display:none;" onchange="userInfoChage();">
</div>
<label class="col-sm-2 control-label">* 性别:</label>
<div class="col-sm-4">
<input type="text" name="gender" id="gender" class="form-control" placeholder=""
readonly
value="${bean.gender}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 所属部门:</label>
<div class="col-sm-4">
<input type="text" name="deptName" id="deptName" class="form-control" placeholder=""
readonly
value="${bean.deptName}">
<input type="hidden" name="deptId" id="deptId" class="form-control" placeholder=""
readonly
value="${bean.deptId}">
</div>
<label class="col-sm-2 control-label">* 从事岗位:</label>
<div class="col-sm-4">
<input type="text" name="post" id="post" class="form-control" placeholder=""
readonly
value="${bean.post}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 实习单位名称:</label>
<div class="col-sm-4">
<input type="text" name="company" id="company" class="form-control" placeholder=""
value="${bean.company}">
</div>
<label class="col-sm-2 control-label">* 培训有效期:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="deadline" name="deadline"
placeholder="请选择.."
value="${bean.deadline.substring(0,10)}">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<input type="text" name="fileName" id="fileName"
style="border: none;height: 30px;width: 380px;background-color: #ffffff"
value="${fileName}" readonly/>
</div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()" id="btn_save"><i
class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()" id="btn_save1"><i
class="fa fa-trash-o"></i></button>
<input type="file" name="file" id="file" multiple class="file-loading" onchange="fileSelected()" />
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭
</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px"
onclick="saveFun()">保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,484 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%request.setAttribute("AUDIT", SparePartCommString.STATUS_STOCK_AUDIT); %>
<%request.setAttribute("START", SparePartCommString.STATUS_STOCK_START); %>
<%request.setAttribute("FINISH", SparePartCommString.STATUS_STOCK_FINISH); %>
<%request.setAttribute("FAIL", SparePartCommString.STATUS_STOCK_FAIL); %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyEducationTrainee/add.do', {unitId: unitId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
;
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyEducationTrainee/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyEducationTrainee/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyEducationTrainee/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
}
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', { formId:"searchForm", hiddenId: "deptIdCondition", textId: "deptNameCondition" }, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
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 + '/safety/SafetyEducationTrainee/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyEducationTrainee/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
deptId: $('#deptId').val(),
likeString: $('#likeString').val(),
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'educationCode', // 返回json数据中的name
title: '培训记录编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}
, {
field: 'educationDate', // 返回json数据中的name
title: '培训日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}
, {
field: 'name', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}
, {
field: 'gender', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}
, {
field: 'company', // 返回json数据中的name
title: '实习单位名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}
, {
field: 'deptName', // 返回json数据中的name
title: '所属部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}
, {
field: 'post', // 返回json数据中的name
title: '从事岗位', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}
, {
field: 'deadline', // 返回json数据中的name
title: '培训有效期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
},
{
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
if (row.fileId) {
buts += '<button class="btn btn-default btn-sm" title="下载" onclick="fileDownload(\'' + row.fileId + '\')"><i class="fa fa-paperclip"></i><span class="hidden-md hidden-lg">下载</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
}
,
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
})
;
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<div id="unit4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">所属部门:</label>
<input type="text" class="form-control" id="deptNameCondition" name="deptName" placeholder="请选择部门.." style="border-radius:4px;background-color:white;height: 30px"
onclick="showUnit4SelectFun();" value="" readonly />
<input id="deptIdCondition" name="deptId" type="hidden" value="" />
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 320px; border-radius: 4px;" id="reservationtimeD"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入访培训记录编号/姓名/实习单位名称">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,271 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
/*.layout{*/
/ display: flex;*/
/ padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
padding-left: 60px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
});
var fileDownload = function () {
/*window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=${bean.fileId}';*/
var url = ext.contextPath+'/safety/SafetyFiles/toFindImgById?fileId=${bean.fileId}';
layer.open({
type: 1,
title: false,
closeBtn: 0,
area: ['60%', '80%'],
skin: 'layui-layer-nobg', //没有背景色
shadeClose: true,
content: '<img style="width: 100%;height: 100%" src="'+url+'"/>'
});
}
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function showUser4OneSelectFun() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "viewForm",
hiddenId: "userid",
textId: "userName",
bean: "bean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#bean').val());
var userInfo2;
$('#userCardId').val(userInfo.userCardId);
$('#deptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/safety/staffArchives/detail.do?id=' + userInfo.id, function (res) {
console.log(res.result)
if (res.code == 1) {
userInfo2 = res.result;
$('#post').val(userInfo2.post);
$('#deptName').val(userInfo2.deptName);
} else {
}
}, 'json')
}
$(function () {
$('#file').val();
});
function saveFun() {
//console.log($("#viewForm").serialize());
$("#viewForm").bootstrapValidator('validate');//提交验证
if ($("#viewForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#viewForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationTrainee/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:55%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑培训记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为viewForm -->
<form class="form-horizontal" id="viewForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">培训记录编号:</label>
<div class="col-sm-3">
<p class="form-control-static">${bean.educationCode}</p>
<%-- <input type="text" id="educationCode" name="educationCode" class="form-control"--%>
<%-- placeholder="" readonly--%>
<%-- value="${bean.educationCode}">--%>
<%-- <input type="hidden" id="id" name="id" class="form-control"--%>
<%-- placeholder="" readonly--%>
<%-- value="${bean.id}">--%>
</div>
<label class="col-sm-2 control-label right ">培训日期:</label>
<div class="col-sm-3 ">
<div class="input-group date">
<p class="form-control-static">${bean.educationDate.substring(0,10)}</p>
<%-- <input type="text" class="form-control" id="educationDate" name="educationDate"--%>
<%-- placeholder="请选择.."--%>
<%-- value="${bean.educationDate}" readonly>--%>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">姓名:</label>
<div class="col-sm-3">
<p class="form-control-static">${bean.name}</p>
<%-- <input type="text" name="name" id="userName" class="form-control" placeholder=""--%>
<%-- onclick="showUser4OneSelectFun();"--%>
<%-- value="${bean.name}" readonly>--%>
<%-- <input type="hidden" name="userid" id="userid" class="form-control" placeholder=""--%>
<%-- readonly--%>
<%-- value="">--%>
<%-- <input type="text" name="bean" id="bean" class="form-control" placeholder=""--%>
<%-- disabled--%>
<%-- style="display:none;" onchange="userInfoChage();">--%>
</div>
<label class="col-sm-2 control-label right">性别:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.gender}</p>
<%-- <input type="text" name="gender" id="gender" class="form-control" placeholder=""--%>
<%-- readonly--%>
<%-- value="${bean.gender}">--%>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">所属部门:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.deptName}</p>
<%-- <input type="text" name="deptName" id="deptName" class="form-control" placeholder=""--%>
<%-- readonly--%>
<%-- value="${bean.deptName}">--%>
<%-- <input type="hidden" name="deptId" id="deptId" class="form-control" placeholder=""--%>
<%-- readonly--%>
<%-- value="${bean.deptId}">--%>
</div>
<label class="col-sm-2 control-label right">从事岗位:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.post}</p>
<%-- <input type="text" name="post" id="post" class="form-control" placeholder=""--%>
<%-- readonly--%>
<%-- value="${bean.post}">--%>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">实习单位名称:</label>
<div class="col-sm-3 ">
<p class="form-control-static">${bean.company}</p>
<%-- <input type="text" name="company" id="company" class="form-control" placeholder=""--%>
<%-- value="${bean.company}" readonly>--%>
</div>
<label class="col-sm-2 control-label right ">培训有效期:</label>
<div class="col-sm-3 ">
<div class="input-group date">
<p class="form-control-static">${bean.deadline.substring(0,10)}</p>
<%-- <input type="text" class="form-control" id="deadline" name="deadline"--%>
<%-- placeholder="请选择.." readonly--%>
<%-- value="${bean.deadline}">--%>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<a><p name="fileName" id="fileName" readonly onclick="fileDownload()"
style="margin-top: 8px;cursor:pointer;">${fileName}</p></a>
</div>
<div class="col-sm-2" style="display: flex">
<input type="file" id="file" name="file" onclick="fileSelected()"
style="display: none"/>
<input type="hidden" id="fileId" name="fileId" value="${bean.fileId}"/>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,278 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
});
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
$('#fileName').val('');
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function selectUsherFun() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "usherId", textId: "usherName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//培训日期
$("#educationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//来访时间
$('#accessTime').datetimepicker({
format: "yyyy-mm-dd hh:ii",
language: "zh-CN",
todayHighlight: true,
todayBtn: true,
autoclose: true,
});
//离开时间
$('#leaveTime').datetimepicker({
format: "yyyy-mm-dd hh:ii",
language: "zh-CN",
todayHighlight: true,
todayBtn: true,
autoclose: true,
});
});
function saveFun() {
//console.log($("#addForm").serialize());
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationVisitor/save.do?unitId=" + unitId,
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationDate: {
validators: {
notEmpty: {
message: '培训日期不能为空。'
}
}
},
usherName: {
validators: {
notEmpty: {
message: '接洽人不能为空。'
}
}
},
visitorCompany: {
validators: {
notEmpty: {
message: '访客单位不能为空。'
}
}
},
vistorNum: {
validators: {
notEmpty: {
message: '访客数量不能为空。'
},
regexp: {
regexp: "^[1-9]\\d*$",
message: '访客数量不正确。'
}
}
},
accessTime: {
validators: {
notEmpty: {
message: '来访时间不能为空。'
}
}
},
leaveTime: {
validators: {
notEmpty: {
message: '离开时间不能为空。'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增培训记录</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<%-- <label class="col-sm-2 control-label" >* 培训记录编号:</label>--%>
<%-- <div class="col-sm-3">--%>
<input type="hidden" name="educationCode" class="form-control" placeholder="" readonly
value="${educationCode}">
<%-- </div>--%>
<label class="col-sm-2 control-label ">* 培训日期:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="educationDate" name="educationDate"
placeholder="请选择.."/>
</div>
</div>
<label class="col-sm-2 control-label ">* 接洽人:</label>
<div class="col-sm-4">
<input type="text" id="usherName" name="usherName" class="form-control"
placeholder="请选择.." onclick="selectUsherFun()">
<input type="hidden" id="usherId" name="usherId" class="form-control"
placeholder="请选择..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 访客单位名称:</label>
<div class="col-sm-4">
<input type="text" id="visitorCompany" name="visitorCompany" class="form-control"
placeholder="请输入..">
</div>
<label class="col-sm-2 control-label">* 访客数量:</label>
<div class="col-sm-4">
<input type="text" id="vistorNum" name="vistorNum" class="form-control" placeholder="请输入..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">* 来访时间:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="accessTime" name="accessTime"
placeholder="请选择"/>
</div>
</div>
<label class="col-sm-2 control-label ">* 离开时间:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="leaveTime" name="leaveTime"
placeholder="请选择"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName"
style="width:350px;border:none"/>
</div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()"
id="btn_save1"><i class="fa fa-trash-o"></i></button>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,291 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.foot {
display: flex;
padding-left: 50px;
}
.layout {
display: flex;
padding-left: 15px;
}
.form-horizontal {
padding-top: 20px;
}
</style>
<script type="text/javascript">
$(function () {
});
var fileinput = function () {
$('#file').click();
};
var filedel = function (id) {
$('#fileName').val('');
console.log('-------------', )
$.post(ext.contextPath + '/safety/SafetyEducationVisitor/deleteFile.do', {id : '${bean.id}'}, function(data) {
let res = JSON.parse(data)
if(res.code==1){
$("#table").bootstrapTable('refresh');
}else{
showAlert('d',res.msg,'mainAlertdiv');
}
});
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
$('#fileId').val('');
};
function selectUsherFun() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "usherId", textId: "usherName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//培训日期
$("#educationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//来访时间
$('#accessTime').datetimepicker({
format: "yyyy-mm-dd hh:ii",
language: "zh-CN",
todayHighlight: true,
todayBtn: true,
autoclose: true,
});
//离开时间
$('#leaveTime').datetimepicker({
format: "yyyy-mm-dd hh:ii",
language: "zh-CN",
todayHighlight: true,
todayBtn: true,
autoclose: true,
});
});
function updateFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyEducationVisitor/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationDate: {
validators: {
notEmpty: {
message: '培训日期不能为空。'
}
}
},
usherName: {
validators: {
notEmpty: {
message: '接洽人不能为空。'
}
}
},
visitorCompany: {
validators: {
notEmpty: {
message: '访客单位不能为空。'
}
}
},
vistorNum: {
validators: {
notEmpty: {
message: '访客数量不能为空。'
},
regexp: {
regexp: "^[1-9]\\d*$",
message: '访客数量不正确。'
}
}
},
accessTime: {
validators: {
notEmpty: {
message: '来访时间不能为空。'
}
}
},
leaveTime: {
validators: {
notEmpty: {
message: '离开时间不能为空。'
}
}
}
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑培训记录</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="col-md-26">
<div class="form-group">
<label class="col-sm-2 control-label">* 培训记录编号:</label>
<div class="col-sm-4">
<input type="hidden" name="id" value="${bean.id}"/>
<input type="text" name="educationCode" class="form-control" placeholder="" readonly
value="${bean.educationCode}" style="width:350px;display:inline;border:none;background-color: #ffffff"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 培训日期:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="educationDate" name="educationDate"
placeholder="请选择.." value="${bean.educationDate.substring(0,10)}"/>
</div>
</div>
<label class="col-sm-2 control-label">* 接洽人:</label>
<div class="col-sm-4">
<input type="text" id="usherName" name="usherName" class="form-control"
placeholder="请选择.." onclick="selectUsherFun()" value="${bean.usherName}">
<input type="hidden" id="usherId" name="usherId" class="form-control"
placeholder="请选择.." value="${bean.usherId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 访客单位名称:</label>
<div class="col-sm-4">
<input type="text" name="visitorCompany" class="form-control" placeholder="请输入.."
value="${bean.visitorCompany}">
</div>
<label class="col-sm-2 control-label">* 访客数量:</label>
<div class="col-sm-4">
<input type="text" name="vistorNum" class="form-control" placeholder="请输入.."
value="${bean.vistorNum}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">* 来访时间:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="accessTime" name="accessTime"
placeholder="请选择" value="${bean.accessTime.substring(0,16)}"/>
</div>
</div>
<label class="col-sm-2 control-label">* 离开时间:</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="leaveTime" name="leaveTime"
placeholder="请选择" value="${bean.leaveTime.substring(0,16)}"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<input type="text" name="fileName" id="fileName"
style="border: none;height: 30px;width: 380px;background-color: #ffffff"
value="${fileName}" readonly/>
</div>
<div class="col-sm-2" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
<button type="button" class="btn btn-default btn-file" onclick="filedel()"
id="btn_save1"><i class="fa fa-trash-o"></i></button>
<input type="file" id="file" name="file" onclick="fileSelected()"
style="display: none"/>
<input type="hidden" id="fileId" name="fileId" value="${bean.fileId}"/>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" >
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="updateFun()">保存
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,466 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%request.setAttribute("AUDIT", SparePartCommString.STATUS_STOCK_AUDIT); %>
<%request.setAttribute("START", SparePartCommString.STATUS_STOCK_START); %>
<%request.setAttribute("FINISH", SparePartCommString.STATUS_STOCK_FINISH); %>
<%request.setAttribute("FAIL", SparePartCommString.STATUS_STOCK_FAIL); %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyEducationVisitor/add.do',{unitId:unitId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
;
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyEducationVisitor/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyEducationVisitor/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyEducationVisitor/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
}
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 + '/safety/SafetyEducationVisitor/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyEducationVisitor/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
// timeRange: $('#timeRange').val(),
likeString: $('#likeString').val(),
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'educationCode', // 返回json数据中的name
title: '培训记录编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'educationDate', // 返回json数据中的name
title: '培训日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}, {
field: 'usherName', // 返回json数据中的name
title: '接洽人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'visitorCompany', // 返回json数据中的name
title: '访客单位名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'vistorNum', // 返回json数据中的name
title: '访客数量', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value + "人";
}
}, {
field: 'accessTime', // 返回json数据中的name
title: '来访时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 16);
}
}, {
field: 'leaveTime', // 返回json数据中的name
title: '离开时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 16);
}
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
if(row.fileId){
buts += '<button class="btn btn-default btn-sm" title="下载" onclick="fileDownload(\'' + row.fileId + '\')"><i class="fa fa-paperclip"></i><span class="hidden-md hidden-lg">下载</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入访客单位名称/培训记录编号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<link type='text/css' rel='stylesheet' href='datetimepicker/src/jquery-ui-timepicker-addon.css'/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,148 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal{
padding-top: 20px;
padding-left: 60px;
}
</style>
<script type="text/javascript">
$(function () {
});
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
$('#fileId').val('');
};
var fileDownload = function () {
/*window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=${bean.fileId}';*/
var url = ext.contextPath+'/safety/SafetyFiles/toFindImgById?fileId=${bean.fileId}';
layer.open({
type: 1,
title: false,
closeBtn: 0,
area: ['60%', '80%'],
skin: 'layui-layer-nobg', //没有背景色
shadeClose: true,
content: '<img style="width: 100%;height: 100%" src="'+url+'"/>'
});
}
$("#viewForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:53%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">培训记录详情</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为viewForm -->
<form class="form-horizontal" id="viewForm" enctype="multipart/form-data" >
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="col-md-26">
<div class="form-group">
<label class="col-sm-2 control-label" > 培训记录编号:</label>
<div class="col-sm-6">
<input type="hidden" name="id" value="${bean.id}"/>
<input type="text" name="educationCode" class="form-control" placeholder="" readonly
style="background-color: #ffffff;border: none" value="${bean.educationCode}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> 培训日期:</label>
<div class="col-sm-4">
<div class="input-group date">
<input type="text" class="form-control" id="educationDate" name="educationDate"
style="background-color: #ffffff;border: none" placeholder="请选择.." readonly value="${bean.educationDate.substring(0,10)}"/>
</div>
</div>
<label class="col-sm-2 control-label"> 接洽人:</label>
<div class="col-sm-4">
<input type="text" id="usherName" name="usherName" class="form-control" placeholder="请选择.." readonly value="${bean.usherName}" style="background-color: #ffffff;border: none">
<input type="hidden" id="usherId" name="usherId" class="form-control" placeholder="请选择.." readonly value="${bean.usherId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> 访客单位名称:</label>
<div class="col-sm-4">
<input type="text" name="visitorCompany" class="form-control" placeholder="请输入.." readonly value="${bean.visitorCompany}" style="background-color: #ffffff;border: none">
</div>
<label class="col-sm-2 control-label"> 访客数量:</label>
<div class="col-sm-4">
<input type="number" name="vistorNum" class="form-control" placeholder="请输入.." readonly value="${bean.vistorNum}" style="background-color: #ffffff;border: none" >
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> 来访时间:</label>
<div class="col-sm-4">
<div class="input-group date">
<input type="text" class="form-control" id="accessTime" name="accessTime"
placeholder="请选择" readonly value="${bean.accessTime.substring(0,16)}" style="background-color: #ffffff;border: none"/>
</div>
</div>
<label class="col-sm-2 control-label"> 离开时间:</label>
<div class="col-sm-4">
<div class="input-group date">
<input type="text" class="form-control" id="leaveTime" name="leaveTime"
placeholder="请选择" readonly value="${bean.leaveTime.substring(0,16)}" style="background-color: #ffffff;border: none"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-4">
<a><p name="fileName" id="fileName" readonly onclick="fileDownload()" style="margin-top: 8px;cursor:pointer;">${fileName}</p></a>
</div>
<div class="col-sm-2" style="display: flex">
<input type="file" id="file" name ="file" onclick="fileSelected()" style="display: none"/>
<input type="hidden" id="fileId" name ="fileId" value="${bean.fileId}"/>
</div>
</div>
</div>
</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>

View File

@ -0,0 +1,366 @@
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%@ page language="java" pageEncoding="UTF-8" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
</style>
<script type="text/javascript">
//自执行函数
$(function () {
//出生日期
$("#birthday").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//领证时间
$("#issueDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//有效期至
$("#expirationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
// 提交表单
function dosave() {
$("#subForm").data("bootstrapValidator").updateStatus("username", "NOT_VALIDATED", null).validateField("username");
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#subForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/externalCertificate/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
// 初始化 作业类型
jobTypePulldown();
// 施工单位下拉
companyPulldown();
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
//输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
username: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
idcard: {
validators: {
notEmpty: {
message: '身份证号不能为空'
},
regexp: {
regexp: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '身份证号格式错误'
}
}
},
certificateName: {
validators: {
notEmpty: {
message: '证书名称不能为空'
}
}
},
certificateNo: {
validators: {
notEmpty: {
message: '证书编号不能为空'
}
}
},
issueDate: {
trigger: "change",
validators: {
notEmpty: {
message: '领证时间不能为空'
}
}
},
expirationDate: {
trigger: "change",
validators: {
notEmpty: {
message: '有效期至不能为空'
}
}
},
}
});
// 选择外部人员弹框
var selectExternalStaffModel = function () {
var content = $('#chooseId').text();
if (content == "清空") {
$("#username").removeAttr("readonly");
$('#chooseId').text("选择");
$('#chooseId').css("background", '#269abc');
$('#staffId').val('');
$('#username').val('');
$('#sex').val('1');
$('#company').val('');
$('#birthday').val('');
$('#duty').val('');
$('#jobTitle').val('');
$('#usherDept').val('');
$('#usherId').val('');
$('#usherName').val('');
$('#idcard').val('');
return;
}
$.post(ext.contextPath + '/safety/externalStaff/selectExternalStaffModel.do', {
staffId: $('#staffId').val()
}, function (data) {
$("#externalStaffSubDiv").html(data);
openModal('externalStaffSubModal');
});
};
//选择负责人
function showUser4OneSelectFun() {
var userId = $("#usherId").val();
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "subForm",
hiddenId: "usherId",
textId: "usherName",
deptNameDom: "usherDept",
sexDom: "",
userCardIdDom: "",
userId: userId
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
// 附件
var fileinput = function () {
$('#file').click();
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">新增</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label">*姓名</label>
<div style="width: 24%;float: left;margin-left: 15px;">
<input type="text" id="username" name="username" class="form-control" placeholder="请选择或输入姓名" />
<input type="hidden" id="staffId" name="staffId" />
</div>
<div class="input-group-addon" id="chooseId"
style="width: 6%;background-color: #269abc;cursor: pointer;font-size: 11px;color: white;height: 34px;border-radius: 3px;float: left;line-height: 2.5;text-align: center;margin-right: 14px;padding: 0px !important;"
onclick="selectExternalStaffModel()"> 选择
</div>
<label class="col-sm-2 control-label">*身份证号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="idcard" name="idcard" placeholder="身份证号"
value="" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性别</label>
<div class="col-sm-4">
<select id="sex" name="sex" class="form-control select2">
<option value="1" selected>男</option>
<option value="0">女</option>
</select>
</div>
<label class="col-sm-2 control-label">施工单位</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="company" name="company" placeholder="施工单位" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">出生日期</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="birthday" name="birthday" placeholder="请选择"/>
</div>
</div>
<label class="col-sm-2 control-label">负责部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="usherDept" name="usherDept"
placeholder="点击选择" readonly onclick="showUser4OneSelectFun();"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="usherName" name="usherName" value=""
placeholder="点击选择" readonly onclick="showUser4OneSelectFun();"/>
<input id="usherId" name="usherId" type="hidden" value=""/>
</div>
<label class="col-sm-2 control-label">职务</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="duty" name="duty" placeholder="职务"
value="" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">职称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobTitle" name="jobTitle" placeholder="职称"
value="" />
</div>
<label class="col-sm-2 control-label">证书名称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateName" name="certificateName"
placeholder="证书名称" value="" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">证书编号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateNo" name="certificateNo"
placeholder="证书编号" value="" />
</div>
<label class="col-sm-2 control-label">作业项目代码</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobCode" name="jobCode" placeholder="作业项目代码"
value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobType" name="jobType" placeholder="作业类型"
value="" />
</div>
<label class="col-sm-2 control-label">发证部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="issuingAuthority" name="issuingAuthority"
placeholder="发证部门" value="" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">领证时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="issueDate" name="issueDate"
placeholder="请选择"/>
</div>
</div>
<label class="col-sm-2 control-label">有效期至</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="expirationDate" name="expirationDate"
placeholder="请选择"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i>上传附件
</button>
</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName"
style="width:350px;display:inline;border:none" />
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="dosave()">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,357 @@
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%@ page language="java" pageEncoding="UTF-8" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
/*.form-horizontal{*/
/* padding-top: 20px;*/
/* padding-right: 60px;*/
/*}*/
</style>
<script type="text/javascript">
// 自执行函数
$(function () {
//出生日期
$("#birthday").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//领证时间
$("#issueDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//有效期至
$("#expirationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
// 初始化
$('#chooseId').text("清空");
$('#chooseId').css('background','#DC1D36');
$("#username").attr("readonly", "readonly");
$('#sex').val('${safetyExternalCertificate.sex}');
});
// 提交表单
function doupdate() {
$("#subForm").data("bootstrapValidator").updateStatus("username", "NOT_VALIDATED", null).validateField("username");
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#subForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/externalCertificate/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
// 初始化 作业类型
jobTypePulldown();
// 施工单位下拉
companyPulldown();
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
//关闭模态框时刷新表格数据
function closeModel() {
closeModal('subModal');
$("#table").bootstrapTable('refresh');
}
// 输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
username: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
idcard: {
validators: {
notEmpty: {
message: '身份证号不能为空'
},
regexp: {
regexp: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '身份证号格式错误'
}
}
}
}
});
// 选择外部人员弹框
var selectExternalStaffModel = function () {
var content = $('#chooseId').text();
if (content == "清空") {
$("#username").removeAttr("readonly");
$('#chooseId').text("选择");
$('#chooseId').css("background", '#269abc');
$('#staffId').val('');
$('#username').val('');
$('#sex').val('1');
$('#company').val('');
$('#birthday').val('');
$('#duty').val('');
$('#jobTitle').val('');
$('#usherDept').val('');
$('#usherId').val('');
$('#usherName').val('');
$('#idcard').val('');
return;
}
$.post(ext.contextPath + '/safety/externalStaff/selectExternalStaffModel.do', {
staffId: $('#staffId').val()
}, function (data) {
$("#externalStaffSubDiv").html(data);
openModal('externalStaffSubModal');
});
};
// 选择负责人
function showUser4OneSelectFun() {
var userId = $("#usherId").val();
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "subForm",
hiddenId: "usherId",
textId: "usherName",
deptNameDom: "usherDept",
sexDom: "",
userCardIdDom: "",
userId: userId
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
// 附件
var fileinput = function () {
$('#file').click();
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">编辑</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<input id="id" name="id" type="hidden" value="${safetyExternalCertificate.id}"/>
<input id="fileId" name="fileId" type="hidden" value="${safetyExternalCertificate.safetyFiles.id}"/>
<div class="form-group">
<label class="col-sm-2 control-label">*姓名</label>
<div style="width: 24%;float: left;margin-left: 15px;">
<input type="text" id="username" name="username" class="form-control" placeholder="请选择或输入姓名"
value="${safetyExternalCertificate.username}" />
<input type="hidden" id="staffId" name="staffId"
value="${safetyExternalCertificate.staffId}" />
</div>
<div class="input-group-addon" id="chooseId"
style="width: 6%;background-color: #269abc;cursor: pointer;font-size: 11px;color: white;height: 34px;border-radius: 3px;float: left;line-height: 2.5;text-align: center;margin-right: 14px;padding: 0px !important;"
onclick="selectExternalStaffModel()"> 选择
</div>
<label class="col-sm-2 control-label">*身份证号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="idcard" name="idcard" placeholder="身份证号"
value="${safetyExternalCertificate.idcard}" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性别</label>
<div class="col-sm-4">
<select id="sex" name="sex" class="form-control select2" value="">
<option value="1" selected>男</option>
<option value="0">女</option>
</select>
</div>
<label class="col-sm-2 control-label">施工单位</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="company" name="company" placeholder="施工单位"
value="${safetyExternalCertificate.company}" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">出生日期</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="birthday" name="birthday" placeholder="请选择"
value="${safetyExternalCertificate.birthday}"/>
</div>
</div>
<label class="col-sm-2 control-label">负责部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="usherDept" name="usherDept" placeholder="负责部门"
value="${safetyExternalCertificate.usherDept}" readonly onclick="showUser4OneSelectFun();"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="usherName" name="usherName" placeholder="点击选择"
value="${safetyExternalCertificate.usherName}" readonly onclick="showUser4OneSelectFun();"/>
<input id="usherId" name="usherId" type="hidden" value="${safetyExternalCertificate.usherId}"/>
</div>
<label class="col-sm-2 control-label">职务</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="duty" name="duty" placeholder="职务"
value="${safetyExternalCertificate.duty}" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">职称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobTitle" name="jobTitle" placeholder="职称"
value="${safetyExternalCertificate.jobTitle}" />
</div>
<label class="col-sm-2 control-label">证书名称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateName" name="certificateName"
placeholder="证书名称" value="${safetyExternalCertificate.certificateName}" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">证书编号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateNo" name="certificateNo"
placeholder="证书编号" value="${safetyExternalCertificate.certificateNo}" />
</div>
<label class="col-sm-2 control-label">作业项目代码</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobCode" name="jobCode" placeholder="作业项目代码"
value="${safetyExternalCertificate.jobCode}" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobType" name="jobType" placeholder="作业类型"
value="${safetyExternalCertificate.jobType}" />
</div>
<label class="col-sm-2 control-label">发证部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="issuingAuthority" name="issuingAuthority" placeholder="发证部门"
value="${safetyExternalCertificate.issuingAuthority}" />
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">领证时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="issueDate" name="issueDate" placeholder="请选择"
value="${safetyExternalCertificate.issueDate}"/>
</div>
</div>
<label class="col-sm-2 control-label">有效期至</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="expirationDate" name="expirationDate" placeholder="请选择"
value="${safetyExternalCertificate.expirationDate}" />
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i>上传附件
</button>
</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName" style="width:350px;display:inline;border:none"
value="${safetyExternalCertificate.safetyFiles.originalFileName}" />
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="doupdate()">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,104 @@
<%@ page language="java" pageEncoding="UTF-8" %>
<%@page import="com.sipai.tools.CommUtil" %>
<%request.setAttribute("nowDate", CommUtil.nowDate().replaceAll("[[\\s-:punct:]]", "")); %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
</style>
<script type="text/javascript">
var control;
function initUpload(ctrlName, uploadUrl) {
control = $('#' + ctrlName);
control.fileinput({
language: 'zh', //设置语言
uploadUrl: uploadUrl, //上传的地址
uploadAsync: true, //默认异步上传
showCaption: true,//是否显示标题
showUpload: false, //是否显示上传按钮
browseClass: "btn btn-primary", //按钮样式
allowedFileExtensions: ["xls", "xlsx"], //接收的文件后缀
maxFileCount: 1,//最大上传文件数限制
previewFileIcon: '<i class="glyphicon glyphicon-file"></i>',
showPreview: false, //是否显示预览
previewFileIconSettings: {
'docx': '<i ass="fa fa-file-word-o text-primary"></i>',
'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',
'xls': '<i class="fa fa-file-excel-o text-success"></i>',
'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
'jpg': '<i class="fa fa-file-photo-o text-warning"></i>',
'pdf': '<i class="fa fa-file-archive-o text-muted"></i>',
'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
},
//参数
uploadExtraData: function () {
var data = {
<%--"companyId": '${param.companyId}',//此处自定义传参--%>
<%--"plan_type": '${param.plan_type}'--%>
};
return data;
}
});
control.on("fileuploaded", function (event, data, previewId, index) {
if (data.response.status == true) {
closeModal('subModal');
$("#table").bootstrapTable('refresh');
// 初始化 作业类型
jobTypePulldown();
// 施工单位下拉
companyPulldown();
showAlert('s', data.response.msg, 'mainAlertdiv');
} else {
showAlert('d', data.response.msg);
}
});
}
$(function () {
initUpload("filelist", ext.contextPath + "/safety/externalCertificate/importExcel.do");
});
//导入上传文件的数据
function importExcelFun() {
if ($("#filelist").val() == null || $("#filelist").val() == "") {
showAlert('d', '上传的文件不能为空!');
} else {
control.fileinput("upload");
}
}
</script>
<div class="modal fade" id="subModal">
<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">&times;</span></button>
<h4 class="modal-title">导入</h4>
</div>
<div class="modal-body">
<form id="importFile" name="importFile" class="form-horizontal" method="post"
enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="box-body">
<div>
<input id="filelist" name="filelist" class="file-loading" type="file" multiple
accept=".xls,.xlsx">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="importExcelFun()" id="btn_save">导入</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,627 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
if ($("#searchForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + '/safety/externalCertificate/add.do', {companyId: companyId_rawMaterial}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/externalCertificate/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/externalCertificate/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (cerId, staffId) {
stopBubbleDefaultEvent();
// console.log(cerId)
// console.log(staffId)
let id = cerId; //证书ID
let text = "您确定要删除此 证书 信息?";
let delUrl = ext.contextPath + '/safety/externalCertificate/delete.do';
if(!id){
id =staffId;//外部员工ID
text = "您确定要删除此 人员 信息?"
delUrl = ext.contextPath + '/safety/externalStaff/delete.do';
}
swal({
text: 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(delUrl, {id: id}, function (data) {
if (data == 1) {
$("#table").bootstrapTable('refresh');
// 初始化 作业类型
jobTypePulldown();
// 施工单位下拉
companyPulldown();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
}
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 + '/safety/externalCertificate/deletes.do', {ids: datas}, function (data) {
if (data > 0) {
$("#table").bootstrapTable('refresh');
// 初始化 作业类型
jobTypePulldown();
// 施工单位下拉
companyPulldown();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
}
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
// 导入
var importFun = function () {
$.post(ext.contextPath + '/safety/externalCertificate/importExcelShow.do', {}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
// 导出
var exportFun = function () {
var search_name = $('#search_name').val();
var search_code = companyId_rawMaterial;
var jobType = $('#jobTypeParam').val();
var companyParam = $('#companyParam').val();
var issueDate = $('#reservationtimeD').val();
window.open(ext.contextPath + "/safety/externalCertificate/exportExcel.do?search_name=" + search_name
+ "&search_code=" + search_code
+ "&jobType=" + jobType
+ "&issueDate=" + issueDate
+ "&companyParam=" + companyParam
);
}
var companyId_rawMaterial = "";
$(function () {
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
companyId_rawMaterial = unitId;
// 初始化时间条件
initDate1();
$(".daterangepicker").css({'width': '680px'});
$('#reservationtimeD').val('');
// 初始化 作业类型
jobTypePulldown();
// 施工单位下拉
companyPulldown();
// 初始化 表格数据
initFun();
});
// 时间筛选
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
beginTimeStore1 = oldreservationtime1.substring(0, 16);
endTimeStore1 = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
beginTimeStore1 = moment().subtract(3, 'days').format('YYYY-MM-DD');
endTimeStore1 = moment().subtract(0, 'days').format('YYYY-MM-DD');
$('#reservationtimeD').val(beginTimeStore1 + locale.separator + endTimeStore1);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: beginTimeStore1,
endDate: endTimeStore1
}, function (start, end, label) {
beginTimeStore1 = start.format(this.locale.format);
endTimeStore1 = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
}
//作业类型下拉数据
function jobTypePulldown() {
//选择 从事岗位
$.post(ext.contextPath + "/safety/internalCertificate/jobTypePulldown.do", {}, function (data) {
$("#jobTypeParam").empty();
var selelct_ = $("#jobTypeParam").select2({
data: data,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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("").trigger("change");
selelct_.on("change", function (e) {
dosearch();
});
}, 'json');
}
//施工单位下拉数据
function companyPulldown(){
$.post(ext.contextPath + "/safety/externalStaff/companyPulldown.do", {}, function (data) {
$("#companyParam").empty();
var selelct_ = $("#companyParam").select2({
data: data,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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("").trigger("change");
selelct_.on("change", function (e) {
dosearch();
});
}, 'json');
}
// 初始表格
var nowDate = new Date();
var initFun = function () {
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/externalCertificate/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
search_name: $('#search_name').val(),
search_code: companyId_rawMaterial,
issueDate: $('#reservationtimeD').val(),
jobType: $("#jobTypeParam").val(),
companyParam: $("#companyParam").val(),
}
},
sortName: 'createTime', // 要排序的字段
sortOrder: 'desc', // 排序规则
onClickRow: function (row) {//单击行事件,执行查看功能
// viewFun(row.id);
},
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'username', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'idcard', // 返回json数据中的name
title: '身份证号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'company', // 返回json数据中的name
title: '施工单位名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'certificateName', // 返回json数据中的name
title: '证书名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'certificateNo', // 返回json数据中的name
title: '证书编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'jobCode', // 返回json数据中的name
title: '作业项目代码', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'jobType', // 返回json数据中的name
title: '作业类型', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
},{
field: 'issuingAuthority', // 返回json数据中的name
title: '发证部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'issueDate', // 返回json数据中的name
title: '领证时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'expirationDate', // 返回json数据中的name
title: '有效期至', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
cellStyle:function(value,row,index){// 修改列(单元格)的颜色
if(value){
var stime = Date.parse(nowDate);
var etime = Date.parse(new Date(value));
// 两个时间戳相差的毫秒数
var usedTime = etime - stime;
if(usedTime > 0){
// 计算相差的天数
var days = Math.floor(usedTime / (24 * 3600 * 1000));
if(days <= 30){
return {css:{"background-color":"rgba(220,29,54,1)","color":"rgba(255,255,255,1)"}};
}
}else{
return {css:{"background-color":"rgba(220,29,54,1)","color":"rgba(255,255,255,1)"}};
}
}
return {css:{}};
}
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 120, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\',\''+row.staffId+'\')"><i class="fa fa fa-trash-o"></i><span class="hidden-md hidden-lg">删除</span></button>';
buts += '<button class="btn btn-default btn-sm" title="下载" onclick="fileDownload(\'' + row.fileId + '\')"><i class="fa fa-paperclip"></i><span class="hidden-md hidden-lg">下载</span></button>';
// buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
// buts = '<div class="btn-group" >' + buts + '</div>';
return buts;
}
}
],
onLoadSuccess: function (data) { //加载成功时执行
adjustBootstrapTableView("table");
//合并单元格 var data = $('#table').bootstrapTable('getData', true);
// mergeCells(data.rows, "username", 1, $('#table'));
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
/**
* 合并单元格
* @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:'company', colspan: colspan, rowspan: count});
index += count;
}
}
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<div id="externalStaffSubDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 300px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();" style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();" style="margin-right: 15px"><i
class="fa fa-trash-o"></i> 删除
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="importFun();"><i
class="fa fa-cloud-upload"></i>
导入
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="exportFun();"><i
class="fa fa-cloud-download"></i>
导出
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">施工单位名称:</label>
<select class="form-control select2" id="companyParam" name="companyParam" style="width: 180px;">
</select>
</div>
<div class="form-group">
<label class="form-label">作业类型:</label>
<select class="form-control select2" id="jobTypeParam" name="jobTypeParam" style="width: 180px;">
</select>
</div>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择领证时间">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="search_name" name="search_name" class="form-control pull-right"
placeholder="姓名或证书名称">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,260 @@
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%@ page language="java" pageEncoding="UTF-8" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal{
padding-top: 20px;
padding-right: 60px;
}
</style>
<script type="text/javascript">
function dosave() {
$("#subForm").data("bootstrapValidator").updateStatus("username","NOT_VALIDATED", null).validateField("username");
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#subForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/internalCertificate/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
// 初始化 作业类型
jobTypePulldown();
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
//输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
username: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
certificateName: {
validators: {
notEmpty: {
message: '证书名称不能为空'
}
}
},
certificateNo: {
validators: {
notEmpty: {
message: '证书编号不能为空'
}
}
},
issueDate: {
trigger: "change",
validators: {
notEmpty: {
message: '领证时间不能为空'
}
}
},
expirationDate: {
trigger: "change",
validators: {
notEmpty: {
message: '有效期至不能为空'
}
}
},
}
});
$(function () {
//领证时间
$("#issueDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//有效期至
$("#expirationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
//选择内部人员
function showUser4OneSelectFun() {
var userId = $("#userid").val();
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "subForm",
hiddenId: "userid",
textId: "username",
deptNameDom: "deptName",
sexDom: "",
userCardIdDom: "userCardId",
userId: userId
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
var fileinput = function () {
$('#file').click();
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">新增</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label">*姓名</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="username" name="username" value=""
placeholder="点击选择" readonly onclick="showUser4OneSelectFun();">
<input id="userid" name="userid" type="hidden" value=""/>
</div>
<label class="col-sm-2 control-label">*工号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="userCardId" name="userCardId" placeholder="工号"
disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*所属部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="deptName" name="deptName" placeholder="所属部门"
disabled>
</div>
<label class="col-sm-2 control-label">*证书名称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateName" name="certificateName"
placeholder="证书名称" value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*证书编号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateNo" name="certificateNo"
placeholder="证书编号" value="">
</div>
<label class="col-sm-2 control-label">作业项目代码</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobCode" name="jobCode" placeholder="作业项目代码"
value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobType" name="jobType" placeholder="作业类型"
value="">
</div>
<label class="col-sm-2 control-label">发证部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="issuingAuthority" name="issuingAuthority"
placeholder="发证机构" value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*领证时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="issueDate" name="issueDate"
placeholder="请选择"/>
</div>
</div>
<label class="col-sm-2 control-label">*有效期至</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="expirationDate" name="expirationDate"
placeholder="请选择"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i>上传附件
</button>
</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName" style="width:350px;display:inline;border:none"/>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading" onchange="fileSelected()"/>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal" >关闭</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px" onclick="dosave()">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,262 @@
<%@page import="com.sipai.entity.sparepart.SparePartCommString"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<style type="text/css">
.select2-container .select2-selection--single{
height:30px;
line-height: 34px;
}
.select2-selection__arrow{
margin-top:3px;
}
.form-horizontal{
padding-top: 20px;
padding-right: 60px;
}
</style>
<script type="text/javascript">
$(function () {
//领证时间
$("#issueDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//有效期至
$("#expirationDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
// 保存
function doupdate() {
$("#subForm").data("bootstrapValidator").updateStatus("username","NOT_VALIDATED", null).validateField("username");
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#subForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/internalCertificate/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
// 初始化 作业类型
jobTypePulldown();
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
//关闭模态框时刷新表格数据
function closeModel(){
closeModal('subModal');
$("#table").bootstrapTable('refresh');
}
//输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
username: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
certificateName: {
validators: {
notEmpty: {
message: '证书名称不能为空'
}
}
},
certificateNo: {
validators: {
notEmpty: {
message: '证书编号不能为空'
}
}
},
issueDate: {
trigger: "change",
validators: {
notEmpty: {
message: '领证时间不能为空'
}
}
},
expirationDate: {
trigger: "change",
validators: {
notEmpty: {
message: '有效期至不能为空'
}
}
},
}
});
//选择内部人员
function showUser4OneSelectFun() {
var userId = $("#userid").val();
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "subForm",
hiddenId: "userid",
textId: "username",
deptNameDom: "deptName",
sexDom: "",
userCardIdDom: "userCardId",
userId: userId
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
var fileinput = function () {
$('#file').click();
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<!-- 隐藏主键 -->
<input id="id" name="id" type="hidden" value="${safetyInternalCertificate.id}"/>
<input id="fileId" name="fileId" type="hidden" value="${safetyInternalCertificate.safetyFiles.id}"/>
<div class="form-group">
<label class="col-sm-2 control-label">*姓名</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="username" name="username" value="${safetyInternalCertificate.caption}"
placeholder="点击选择" readonly onclick="showUser4OneSelectFun();" />
<input id="userid" name="userid" type="hidden" value="${safetyInternalCertificate.userid}"/>
</div>
<label class="col-sm-2 control-label">*工号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="userCardId" name="userCardId" placeholder="工号" disabled
value="${safetyInternalCertificate.userCardId}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">所属部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="deptName" name="deptName" placeholder="所属部门" disabled
value="${safetyInternalCertificate.deptName}" />
</div>
<label class="col-sm-2 control-label">发证机构</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="issuingAuthority" name="issuingAuthority" placeholder="发证机构"
value="${safetyInternalCertificate.issuingAuthority}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*证书名称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateName" name="certificateName" placeholder="证书名称"
value="${safetyInternalCertificate.certificateName}"/>
</div>
<label class="col-sm-2 control-label">*证书编号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateNo" name="certificateNo" placeholder="证书编号"
value="${safetyInternalCertificate.certificateNo}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业项目代码</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobCode" name="jobCode" placeholder="作业项目代码"
value="${safetyInternalCertificate.jobCode}"/>
</div>
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobType" name="jobType" placeholder="作业类型"
value="${safetyInternalCertificate.jobType}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">领证时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="issueDate" name="issueDate" placeholder="请选择"
value="${safetyInternalCertificate.issueDate}"/>
</div>
</div>
<label class="col-sm-2 control-label">有效期至</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="expirationDate" name="expirationDate"
placeholder="请选择" value="${safetyInternalCertificate.expirationDate}"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()">
<i class="fa fa-paperclip"></i>上传附件
</button>
</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName" style="width:350px;display:inline;border:none" value="${safetyInternalCertificate.safetyFiles.originalFileName}"/>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading" onchange="fileSelected()"/>
</div>
</form>
</div>
<div class="modal-footer" >
<button type="button" class="btn btn-default" data-dismiss="modal" >关闭</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px" onclick="doupdate()">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,102 @@
<%@ page language="java" pageEncoding="UTF-8" %>
<%@page import="com.sipai.tools.CommUtil" %>
<%request.setAttribute("nowDate", CommUtil.nowDate().replaceAll("[[\\s-:punct:]]", "")); %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
</style>
<script type="text/javascript">
var control;
function initUpload(ctrlName, uploadUrl) {
control = $('#' + ctrlName);
control.fileinput({
language: 'zh', //设置语言
uploadUrl: uploadUrl, //上传的地址
uploadAsync: true, //默认异步上传
showCaption: true,//是否显示标题
showUpload: false, //是否显示上传按钮
browseClass: "btn btn-primary", //按钮样式
allowedFileExtensions: ["xls", "xlsx"], //接收的文件后缀
maxFileCount: 1,//最大上传文件数限制
previewFileIcon: '<i class="glyphicon glyphicon-file"></i>',
showPreview: false, //是否显示预览
previewFileIconSettings: {
'docx': '<i ass="fa fa-file-word-o text-primary"></i>',
'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',
'xls': '<i class="fa fa-file-excel-o text-success"></i>',
'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
'jpg': '<i class="fa fa-file-photo-o text-warning"></i>',
'pdf': '<i class="fa fa-file-archive-o text-muted"></i>',
'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
},
//参数
uploadExtraData: function () {
var data = {
<%--"companyId": '${param.companyId}',//此处自定义传参--%>
<%--"plan_type": '${param.plan_type}'--%>
};
return data;
}
});
control.on("fileuploaded", function (event, data, previewId, index) {
if (data.response.status == true) {
closeModal('subModal');
$("#table").bootstrapTable('refresh');
// 初始化 作业类型
jobTypePulldown();
showAlert('s', data.response.msg, 'mainAlertdiv');
} else {
showAlert('d', data.response.msg);
}
});
}
$(function () {
initUpload("filelist", ext.contextPath + "/safety/internalCertificate/importExcel.do");
});
//导入上传文件的数据
function importExcelFun() {
if ($("#filelist").val() == null || $("#filelist").val() == "") {
showAlert('d', '上传的文件不能为空!');
} else {
control.fileinput("upload");
}
}
</script>
<div class="modal fade" id="subModal">
<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">&times;</span></button>
<h4 class="modal-title">导入</h4>
</div>
<div class="modal-body">
<form id="importFile" name="importFile" class="form-horizontal" method="post"
enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="box-body">
<div>
<input id="filelist" name="filelist" class="file-loading" type="file" multiple
accept=".xls,.xlsx">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="importExcelFun()" id="btn_save">导入</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,603 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
if ($("#searchForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + '/safety/internalCertificate/add.do', {companyId: companyId_rawMaterial}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/internalCertificate/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/internalCertificate/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/internalCertificate/delete.do', {id: id}, function (data) {
console.log(data)
if (data == 1) {
$("#table").bootstrapTable('refresh');
// 初始化 作业类型
jobTypePulldown();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
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 + '/safety/internalCertificate/deletes.do', {ids: datas}, function (data) {
if (data > 0) {
$("#table").bootstrapTable('refresh');
// 初始化 作业类型
jobTypePulldown();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
}
};
var importFun = function () {
$.post(ext.contextPath + '/safety/internalCertificate/importExcelShow.do', {}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
var exportFun = function () {
var search_name = $('#search_name').val();
var search_code = $('#deptIdSearch').val() ? $('#deptIdSearch').val() : companyId_rawMaterial;
var issueDate = $('#reservationtimeD').val();
var jobType = $('#jobTypeParam').val();
window.open(ext.contextPath + "/safety/internalCertificate/exportExcel.do?search_name=" + search_name
+ "&search_code=" + search_code
+ "&issueDate=" + issueDate
+ "&jobType=" + jobType
);
}
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
}
var companyId_rawMaterial = "";
$(function () {
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
companyId_rawMaterial = unitId;
// 初始化时间条件
initDate1();
$(".daterangepicker").css({'width': '680px'});
$('#reservationtimeD').val('');
// 初始化 作业类型
jobTypePulldown();
// 初始化 表格数据
initFun();
});
//作业类型下拉数据
function jobTypePulldown() {
//选择 从事岗位
$.post(ext.contextPath + "/safety/internalCertificate/jobTypePulldown.do", {}, function (data) {
$("#jobTypeParam").empty();
var selelct_ = $("#jobTypeParam").select2({
data: data,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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("").trigger("change");
selelct_.on("change", function (e) {
dosearch();
});
}, 'json');
};
// 加载表格
var initFun = function () {
var nowDate = new Date();
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/internalCertificate/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
search_name: $('#search_name').val(),
search_code: $('#deptIdSearch').val() ? $('#deptIdSearch').val() : companyId_rawMaterial,
issueDate: $('#reservationtimeD').val(),
jobType: $("#jobTypeParam").val(),
}
},
sortName: 'createTime', // 要排序的字段
sortOrder: 'desc', // 排序规则
onClickRow: function (row) {//单击行事件,执行查看功能
// viewFun(row.id);
},
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'userCardId', // 返回json数据中的name
title: '工号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'deptName', // 返回json数据中的name
title: '所属部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'caption', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'certificateName', // 返回json数据中的name
title: '证书名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'certificateNo', // 返回json数据中的name
title: '证书编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'jobCode', // 返回json数据中的name
title: '作业项目代码', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'jobType', // 返回json数据中的name
title: '作业类型', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'issuingAuthority', // 返回json数据中的name
title: '发证机构', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'issueDate', // 返回json数据中的name
title: '领证时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'expirationDate', // 返回json数据中的name
title: '有效期至', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
cellStyle: function (value, row, index) {// 修改列(单元格)的颜色
if (value) {
var stime = Date.parse(nowDate);
var etime = Date.parse(new Date(value));
// 两个时间戳相差的毫秒数
var usedTime = etime - stime;
if (usedTime > 0) {
// 计算相差的天数
var days = Math.floor(usedTime / (24 * 3600 * 1000));
if (days <= 30) {
return {css: {"background-color": "rgba(220,29,54,1)", "color": "rgba(255,255,255,1)"}};
}
} else {
return {css: {"background-color": "rgba(220,29,54,1)", "color": "rgba(255,255,255,1)"}};
}
}
return {css: {}};
}
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 120, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="下载" onclick="fileDownload(\'' + row.fileId + '\')"><i class="fa fa-paperclip"></i><span class="hidden-md hidden-lg">下载</span></button>';
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa fa fa-trash-o"></i><span class="hidden-md hidden-lg">删除</span></button>';
// buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
// buts = '<div class="btn-group" >' + buts + '</div>';
return buts;
}
}
],
onLoadSuccess: function (data) { //加载成功时执行
adjustBootstrapTableView("table");
//合并单元格 var data = $('#table').bootstrapTable('getData', true);
mergeCells(data.rows, "caption", 1, $('#table'));
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
};
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
/**
* 合并单元格
* @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: 'userCardId', colspan: colspan, rowspan: count});
$(target).bootstrapTable('mergeCells', {index: index, field: 'deptName', colspan: colspan, rowspan: count});
index += count;
}
}
// 时间范围条件
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
beginTimeStore1 = oldreservationtime1.substring(0, 16);
endTimeStore1 = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
beginTimeStore1 = moment().subtract(3, 'days').format('YYYY-MM-DD');
endTimeStore1 = moment().subtract(0, 'days').format('YYYY-MM-DD');
$('#reservationtimeD').val(beginTimeStore1 + locale.separator + endTimeStore1);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: beginTimeStore1,
endDate: endTimeStore1
}, function (start, end, label) {
beginTimeStore1 = start.format(this.locale.format);
endTimeStore1 = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "searchForm",
hiddenId: "deptIdSearch",
textId: "deptNameSearch"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<div id="unit4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 300px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="importFun();"><i
class="fa fa-cloud-upload"></i>
导入
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="exportFun();"><i
class="fa fa-cloud-download"></i>
导出
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">所属部门:</label>
<input type="text" class="form-control" id="deptNameSearch" name="deptNameSearch"
placeholder="请选择部门.."
style="border-radius:4px;background-color:white;height: 30px"
onclick="showUnit4SelectFun();" value="${unit.name}" readonly/>
<input id="deptIdSearch" name="deptIdSearch" type="hidden" value="${unit.id}"/>
</div>
<div class="form-group">
<label class="form-label">作业类型:</label>
<select class="form-control select2" id="jobTypeParam" name="jobTypeParam" style="width: 180px;">
</select>
</div>
<div class="form-group">
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择时间">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="search_name" name="search_name" class="form-control pull-right"
placeholder="姓名或工号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,139 @@
<%@page import="com.sipai.entity.sparepart.SparePartCommString"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<style type="text/css">
.select2-container .select2-selection--single{
height:30px;
line-height: 34px;
}
.select2-selection__arrow{
margin-top:3px;
}
</style>
<script type="text/javascript">
//关闭模态框
function closeModel(){
closeModal('subModal');
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">详情</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<!-- 隐藏主键 -->
<input id="id" name="id" type="hidden" value="${safetyInternalCertificate.id}"/>
<input id="fileId" name="fileId" type="hidden" value="${safetyInternalCertificate.safetyFiles.id}"/>
<div class="form-group">
<label class="col-sm-2 control-label">*姓名</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="username" name="username" value="${safetyInternalCertificate.caption}"
placeholder="点击选择" readonly onclick="showUser4SelectsFun();" disabled/>
<input id="userid" name="userid" type="hidden" value="${safetyInternalCertificate.userid}" disabled/>
</div>
<label class="col-sm-2 control-label">*工号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="userCardId" name="userCardId" placeholder="工号" disabled
value="${safetyInternalCertificate.userCardId}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">所属部门</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="deptName" name="deptName" placeholder="所属部门" disabled
value="${safetyInternalCertificate.deptName}" />
</div>
<label class="col-sm-2 control-label">发证机构</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="issuingAuthority" name="issuingAuthority" placeholder="发证机构"
value="${safetyInternalCertificate.issuingAuthority}" disabled/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*证书名称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateName" name="certificateName" placeholder="证书名称"
value="${safetyInternalCertificate.certificateName}" disabled/>
</div>
<label class="col-sm-2 control-label">*证书编号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="certificateNo" name="certificateNo" placeholder="证书编号"
value="${safetyInternalCertificate.certificateNo}" disabled/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业项目代码</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobCode" name="jobCode" placeholder="作业项目代码"
value="${safetyInternalCertificate.jobCode}" disabled/>
</div>
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobType" name="jobType" placeholder="作业类型"
value="${safetyInternalCertificate.jobType}" disabled/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">领证时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="issueDate" name="issueDate" style="width: 230px;" placeholder="请选择"
value="${safetyInternalCertificate.issueDate}" disabled/>
</div>
</div>
<label class="col-sm-2 control-label">有效期至</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="expirationDate" name="expirationDate"
style="width: 230px;" placeholder="请选择" value="${safetyInternalCertificate.expirationDate}" disabled/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()" disabled>
<i class="fa fa-paperclip"></i>上传附件
</button>
</label>
<div class="col-sm-4">
<input type="text" class="form-control" name="fileName" id="fileName" style="width:350px;display:inline;border:none" value="${safetyInternalCertificate.safetyFiles.originalFileName}" disabled/>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading" onchange="fileSelected()"
disabled/>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="closeModel()">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,451 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
}
.DDD{
list-style: none;
line-height: 30px;
}
</style>
<script type="text/javascript">
var fileList = []
// 初始化
$(function () {
$('#test').outerHTML = initFileInputView()
//初始化 检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
// 检查类型
$('#checkTypePrefix').attr("disabled", "disabled");
$('input[type=radio][name=checkType]').change(function () {
if (this.value == '月度检查') {
$('#checkTypePrefix').val('');
$('#checkTypePrefix').attr("disabled", "disabled");
} else {
$('#checkTypePrefix').removeAttr("disabled");
}
});
// 初始化‘提交’按钮
$("#submitBt").hide();
$("#checkResult").change(function () {
var type = $("#checkResult option:selected").val();
if (type == "1") {
$("#unAccord").hide();
$("#unAccord1").hide();
$("#submitBt").hide();
$('#checkResultDetail').val('');
$('#dutyDeptId').val('');
$('#dutyDeptName').val('');
$('#dutyUserName').val('');
$('#dutyUserId').val('');
}
if (type == "2") {
$("#unAccord").show();
$("#unAccord1").show();
$("#submitBt").show();
$('#confirmUserName').val('');
}
});
// 初始化 检查结果下拉
checkResultDropDownInit()
// 初始化 检查项目下拉
checkItemDropDownInit()
});
// 点击文件
var fileinput = function () {
$('#file').click();
};
// 清空文件
var filedel = function () {
fileList.splice(index,1)
$('#test').html(initFileInputView())
};
// 选中文件
var fileSelected = function () {
var filename = $('#file').val();
fileList.push(...$('#file')[0].files)
$('#test').html(initFileInputView())
};
function initFileInputView() {
let button = (index) => {
return `<button type="button" class="btn btn-default btn-file" onclick="filedel(`+index+`)"
style="position: fixed;right: 193px;height: 24px;width:24px;padding-top:2px;margin-top: 3px" id="btn_save1"><i class="fa fa-trash-o" style="margin-left: -5px"></i></button>`
}
let temp = `<ul class="DDD">`
fileList.forEach((item, index) => {
temp += `<li>`+item.name+button(index)+`</li>`
})
temp += `<ul>`
temp += `<input type="hidden" class="form-control" name="fileName" id="fileName" readonly
style="width:650px;border:none;background-color: white"/>`
return temp
}
// 处理 检查类型 前缀拼接
function handleCheckType(formData) {
let checktype = $('input[type=radio][name=checkType]:checked').val();
if (checktype != '月度检查') {
let checkTypePrefix = $('#checkTypePrefix').val();
formData.set('checkType', checkTypePrefix + checktype);
}
}
// 保存
function saveFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
this.handleCheckType(formData);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckComprehensive/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 提交
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
this.handleCheckType(formData);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckComprehensive/saveApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
// 检查结果
function checkResultDropDownInit() {
var select_Data = jQuery.parseJSON('${checkResultList}');
var select_3 = $("#checkResult").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return "【" + repo.group + "】 " + repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return "【" + repo.group + "】 " + repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
// 检查人员
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "checkerId",
textId: "checkerName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
// 整改负责人
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
// 整改负责人 改变事件
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
// if (userInfo.sex == '1') {
// $('#gender').val('男');
// } else {
// $('#gender').val('女');
// }
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
// 抄送人
var copyUserSelectsFun = function () {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "copyUserId",
textId: "copyUserName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label">检查类型</label>
<div class="col-sm-10">
<label class="radio-inline">
<input type="radio" name="checkType" id="monthCheck"
value="月度检查" checked>月度检查
</label>
<label class="radio-inline" style="margin-left: 30px;">
<input type="radio" name="checkType" id="otherCheck" value="(节前)检查">
<input type="text" id="checkTypePrefix" name="checkTypePrefix"
style="width: 200px;"> <%--disabled="disabled"--%>
(节前)检查
</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.."/>
</div>
</div>
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." readonly onclick="selectCheckUser()"
style="background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择..">
</div>
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." readonly value="${currUser.caption}"
style="background-color: white">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${currUser.id}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查结果</label>
<div class="col-sm-4 ">
<select class="form-control select2" name="checkResult" id="checkResult"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group" id="unAccord" style="display: none">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark"
placeholder="请选择"/>
</div>
</div>
<div class="form-group" id="unAccord1" style="display: none">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
readonly />
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." readonly onclick="selectDutyUser()" style="background-color: white"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." readonly onclick="selectDutyUser()"
style="background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage()"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">抄送人</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="点击选择.." onclick="copyUserSelectsFun()" readonly
style="background-color: white">
<input id="copyUserId" name="copyUserId" type="hidden" value=""/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-1" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
</div>
<div class="col-sm-7">
<div id="test" ></div>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
<div class="modal-foo
ter">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,473 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
// 初始化
$(function () {
//初始化 检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
$("#checkResult").change(function () {
var type = $("#checkResult option:selected").val();
if (type == "1") {
$("#unAccord").hide();
$("#unAccord1").hide();
$("#submitBt").hide();
$('#checkResultDetail').val('');
$('#dutyDeptId').val('');
$('#dutyDeptName').val('');
$('#dutyUserName').val('');
$('#dutyUserId').val('');
}
if (type == "2") {
$("#unAccord").show();
$("#unAccord1").show();
$("#submitBt").show();
$('#confirmUserName').val('');
}
});
// 初始化 检查类型的 值
if ("${bean.checkType}" == "月度检查") {
$("#monthCheck").attr("checked", "checked");
$("#otherCheck").removeAttr("checked");
$('#checkTypePrefix').attr("disabled", "disabled");
} else {
let checkTypePrefix = "${bean.checkType}".replace("(节前)检查", "");
$("#checkTypePrefix").val(checkTypePrefix);
$('#checkTypePrefix').removeAttr("disabled");
$("#monthCheck").removeAttr("checked");
$("#otherCheck").attr("checked", "checked");
}
// 检查类型
$('input[type=radio][name=checkType]').change(function () {
if (this.value == '月度检查') {
// $('#checkTypePrefix').val('');
$('#checkTypePrefix').attr("disabled", "disabled");
} else {
$('#checkTypePrefix').removeAttr("disabled");
}
});
// 初始化 检查结果下拉
checkResultDropDownInit()
// 初始化 检查项目下拉
checkItemDropDownInit()
// 初始化‘提交’按钮
if ("${bean.checkResult}" == "1") {//相符
$("#submitBt").hide();
} else {
$("#submitBt").show();
}
// 初始化 附件列表
initFileList();
});
// 点击文件
var fileinput = function () {
$('#file').click();
};
// 清空文件
var filedel = function () {
$('#fileName').val('');
};
// 选中文件
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
// 处理 检查类型 前缀拼接
function handleCheckType(formData) {
let checktype = $('input[type=radio][name=checkType]:checked').val();
if (checktype != '月度检查') {
let checkTypePrefix = $('#checkTypePrefix').val();
formData.set('checkType', checkTypePrefix + checktype);
}
}
// 保存
function saveFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
handleCheckType(formData);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckComprehensive/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 提交
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
handleCheckType(formData);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckComprehensive/updateApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
// 检查结果
function checkResultDropDownInit() {
var select_Data = jQuery.parseJSON('${checkResultList}');
var select_3 = $("#checkResult").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.checkResult}').trigger("change");
}
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return "【" + repo.group + "】 " + repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return "【" + repo.group + "】 " + repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.checkResultDetail}'.split(",")).trigger("change");
}
// 检查人员
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "checkerId",
textId: "checkerName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
// 整改负责人
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
// 整改负责人 改变事件
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
// if (userInfo.sex == '1') {
// $('#gender').val('男');
// } else {
// $('#gender').val('女');
// }
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
// 抄送人
var copyUserSelectsFun = function () {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "copyUserId",
textId: "copyUserName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 9,
statusCode: 1
}, function (data) {
$("#fileList").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 46%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly style="background-color: white"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly style="background-color: white"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查类型</label>
<div class="col-sm-10">
<label class="radio-inline">
<input type="radio" name="checkType" id="monthCheck"
value="月度检查" checked>月度检查
</label>
<label class="radio-inline" style="margin-left: 30px;">
<input type="radio" name="checkType" id="otherCheck" value="(节前)检查">
<input type="text" id="checkTypePrefix" name="checkTypePrefix"
style="width: 200px;">
(节前)检查
</label>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}"/>
</div>
</div>
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入.." value="${bean.checkPlace}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." readonly onclick="selectCheckUser()" value="${bean.checkerName}" style="background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}">
</div>
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." readonly value="${bean.recorderName}" style="background-color: white">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${bean.recorderId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查结果</label>
<div class="col-sm-4 ">
<select class="form-control select2" name="checkResult" id="checkResult"
style="width: 100%" value="${bean.checkResult}">
</select>
</div>
</div>
<div class="form-group" id="unAccord" style="display: none">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%" value="${bean.checkResultDetail}">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark"
placeholder="请选择">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group" id="unAccord1" style="display: none">
<label class="col-sm-2 control-label">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
readonly value="${bean.dutyDeptId}"/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." readonly onclick="selectDutyUser()" style="background-color: white"
value="${bean.dutyDeptName}"/>
</div>
<label class="col-sm-2 control-label">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." readonly onclick="selectDutyUser()" value="${bean.dutyUserName}" style="background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage()"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">抄送人</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="点击选择.." onclick="copyUserSelectsFun()" readonly style="background-color: white"
value="${bean.copyUserName}">
<input id="copyUserId" name="copyUserId" type="hidden" value="${bean.copyUserId}"/>
</div>
</div>
<div class="form-group" style="margin-left: 20px">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,305 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
.select2-container--default .select2-selection--multiple {
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #ffffff;
}
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
// 初始化
$(function () {
// 初始化 检查项目下拉
checkItemDropDownInit()
// 初始化 附件列表
initFileList();
initFlowList();
});
// 提交
function submitFun(pass) {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckComprehensive/confirm.do?pass=" + pass + "&processInstanceId=${processInstanceId}",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
// live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
// fields: {
// educationCode: {
// validators: {
// notEmpty: {
// message: '培训记录编号不能为空。'
// }
// }
// },
// }
});
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return "【" + repo.group + "】 " + repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return "【" + repo.group + "】 " + repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.checkResultDetail}'.split(",")).trigger("change");
}
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
// SafetyCheckStatusEnum RESPONSE(2, "整改完成", "整改","整改后", "{}提交了一份检查反馈单。",null),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 9,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
//加载时间组件
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#showView_view1").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 78%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">确认</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly
style="border:none;background-color: white"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly
style="border:none;background-color: white"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查类型</label>
<div class="col-sm-4">
<input type="text" id="checkType" name="checkType" class="form-control"
value="${bean.checkType}"
readonly style="border:none;background-color: white"/>
</div>
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}" readonly
style="border:none;background-color: white"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入.." value="${bean.checkPlace}" readonly
style="border:none;background-color: white">
</div>
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." value="${bean.checkerName}" readonly
style="border:none;background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." readonly value="${bean.recorderName}"
style="background-color: white;border: none">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${bean.recorderId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%; border:none" disabled="disabled"
value="${bean.checkResultDetail}">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark" placeholder="请选择"
readonly
style="border:none;background-color: white">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
style="border:none" readonly value="${bean.dutyDeptId}"/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." readonly value="${bean.dutyDeptName}"
style="background-color: white;border: none"/>
</div>
<label class="col-sm-2 control-label">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." value="${bean.dutyUserName}" readonly
style="border:none;background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改措施</label>
<div class="col-sm-10">
<textarea class="form-control" id="correctiveAction" name="correctiveAction"
placeholder="请输入" readonly
style="border:none;background-color: white">${bean.correctiveAction}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验证人</label>
<div class="col-sm-4">
<input type="text" id="confirmUseName" name="confirmUserName" class="form-control"
placeholder="请选择.." readonly style="border:none;background-color: white"
value="${bean.confirmUserName}">
<input type="hidden" id="confirmUserId" name="confirmUserId" class="form-control"
placeholder="请选择.." value="${bean.confirmUserId}">
</div>
</div>
<div class="form-group">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="showView_view1"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-default " style="margin-left: 10px" onclick="submitFun(0)">
退回
</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun(1)">
验证
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,308 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
.select2-container--default .select2-selection--multiple {
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #ffffff;
}
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
// 初始化
$(function () {
// 初始化 检查项目下拉
checkItemDropDownInit()
// 初始化 附件列表
initFileList();
initFlowList();
});
// 提交
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckComprehensive/response.do?processInstanceId=${processInstanceId}",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
// live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
// fields: {
// educationCode: {
// validators: {
// notEmpty: {
// message: '培训记录编号不能为空。'
// }
// }
// },
// }
});
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return "【" + repo.group + "】 " + repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return "【" + repo.group + "】 " + repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.checkResultDetail}'.split(",")).trigger("change");
}
// 验证人员
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "confirmUserId", textId: "confirmUseName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
// SafetyCheckStatusEnum RESPONSE(2, "整改完成", "整改","整改后", "{}提交了一份检查反馈单。",null),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 9,
statusCode: 2
}, function (data) {
$("#fileList").html(data);
});
};
//加载时间组件
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#showView_view1").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 78%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">整改</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label "> *发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly
style="border:none;background-color: white"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">*安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly
style="border:none;background-color: white"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查类型</label>
<div class="col-sm-4">
<input type="text" id="checkType" name="checkType" class="form-control"
value="${bean.checkType}"
readonly style="border:none;background-color: white"/>
</div>
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}" readonly
style="border:none;background-color: white"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入.." value="${bean.checkPlace}" readonly
style="border:none;background-color: white">
</div>
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." value="${bean.checkerName}" readonly
style="border:none;background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." value="${bean.recorderName}" readonly
style="border:none;background-color: white">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${bean.recorderId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%; border:none;background-color: white" disabled="disabled"
value="${bean.checkResultDetail}">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark" placeholder="请选择"
readonly
style="border:none;background-color: white">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
value="${bean.dutyDeptId}"/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." value="${bean.dutyDeptName}" readonly
style="border:none;background-color: white"/>
</div>
<label class="col-sm-2 control-label">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." value="${bean.dutyUserName}" readonly
style="border:none;background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改措施</label>
<div class="col-sm-10">
<textarea class="form-control" id="correctiveAction" name="correctiveAction"
placeholder="请输入"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验证人</label>
<div class="col-sm-4">
<input type="text" id="confirmUseName" name="confirmUserName" class="form-control"
placeholder="请选择.." value="" readonly onclick="selectCheckUser()"
style="background-color: white">
<input type="hidden" id="confirmUserId" name="confirmUserId" class="form-control"
placeholder="请选择.." value="">
</div>
</div>
<div class="form-group">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="showView_view1"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,510 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyCheckComprehensive/add.do', {}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
;
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyCheckComprehensive/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyCheckComprehensive/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyCheckComprehensive/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
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 + '/safety/SafetyCheckComprehensive/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
};
var exportFun = function () {
var status = $('#statusCondition').val() ? $('#statusCondition').val() : '';
var likeString = $('#likeString').val() ? $('#likeString').val() : '';
var trb = (timeRangeBegin && timeRangeBegin!= 'null') ? timeRangeBegin : '';
var tre = (timeRangeEnd && timeRangeEnd!= 'null') ? timeRangeEnd : '';
window.open(ext.contextPath + "/safety/SafetyCheckComprehensive/exportExcel.do?timeRangeBegin=" + trb
+ "&timeRangeEnd=" + tre
+ "&status=" + status
+ "&likeString=" + likeString
);
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyCheckComprehensive/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
status: $('#statusCondition').val(),
likeString: $('#likeString').val()
}
},
// sortName: 'id', // 要排序的字段
// sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'checkCode', // 返回json数据中的name
title: '安全检查编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkType', // 返回json数据中的name
title: '检查类型', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkDate', // 返回json数据中的name
title: '检查日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
if(value){
return value.substring(0, 10);
}else{
return value
}
}
}, {
field: 'checkPlace', // 返回json数据中的name
title: '检查地点', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkerName', // 返回json数据中的name
title: '检查人员', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkResultName', // 返回json数据中的name
title: '检查结果', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'dutyDeptName', // 返回json数据中的name
title: '整改负责部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'dutyUserName', // 返回json数据中的name
title: '整改负责人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'confirmUserName', // 返回json数据中的name
title: '验证人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'statusName', // 返回json数据中的name
title: '状态', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
// 草稿可以编辑
if (row.status == 0) {
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
// 检查结果是不相符,且状态是完成验证的,不可以删除,审核中的状态不可以删除
if (!(row.status == 3 && row.checkResult == 2) && row.status != 1 && row.status != 2) {
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
var select_Data = jQuery.parseJSON('${statusDropdownList}');
var select_3 = $("#statusCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 280px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"
style="margin-right: 15px"><i
class="fa fa-trash-o"></i> 删除
</button>
<button type="button" class="btn btn-default btn-sm" onclick="exportFun();"
style="margin-right: 15px"><i
class="fa fa-cloud-download"></i>
导出
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">状态:</label>
<select class="form-control" name="status" id="statusCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入安全检查编号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,214 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.select2-selection__arrow {
margin-top: 3px;
}
#tab1 {
border-left: 0px;
border-right: 0px;
}
#tab1 th {
border-left: 0px;
border-right: 0px;
}
#tab1 td {
border-left: 0px;
border-right: 0px;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: #ffffff;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
</style>
<script type="text/javascript">
$(function () {
initFileList();
//显示流程详情
initFlowList();
checkItemDropDownInit();
});
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 9,
statusCode: 1,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#showView_view1").html(data);
});
};
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return "【" + repo.group + "】 " + repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return "【" + repo.group + "】 " + repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.checkResultDetail}'.split(",")).trigger("change");
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog " style="width: 78%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">综合安全浏览</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm" enctype="multipart/form-data">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<input type="hidden" class="form-control" id="id" name="id" value="${abnormity.id}">
<div class="form-group">
<label class="col-sm-2 control-label">发起人:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.createUserName}</p>
</div>
<label class="col-sm-2 control-label">安全检查编号:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkCode}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查类型</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkType}</p>
</div>
<label class="col-sm-2 control-label">检查日期:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkDate.substring(0,10)}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查地点:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkPlace}</p>
</div>
<label class="col-sm-2 control-label">检查人员:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkerName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control " name="checkResultDetail" id="checkResultDetail"
value="${bean.checkResultDetail}" readonly="true" disabled="true" style="width:100%;">
</select>
</div>
<label class="col-sm-2 control-label">附加说明:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkRemark}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改负责部门:</label>
<div class="col-sm-10">
<p class="form-control-static">${bean.dutyDeptName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改负责人:</label>
<div class="col-sm-10">
<p class="form-control-static">${bean.dutyUserName}</p>
</div>
</div>
<div class="form-group" >
<label class="col-sm-2 control-label">整改措施:</label>
<div class="col-sm-4">
<%-- <textarea class="form-control" id="correctiveAction" name="correctiveAction"--%>
<%-- placeholder="请输入" readonly style="border:none">${bean.correctiveAction}</textarea>--%>
<p class="form-control-static">${bean.correctiveAction}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验证人:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.confirmUserName}</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-4" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="showView_view1"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,412 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
.DDD{
list-style: none;
line-height: 30px;
}
</style>
<script type="text/javascript">
var fileList = []
$(function () {
$('#test').outerHTML = initFileInputView()
checkResultDropDownInit();
checkItemDropDownInit();
});
// 检查结果
function checkResultDropDownInit() {
var select_Data = jQuery.parseJSON('${checkResultList}');
var select_3 = $("#checkResult").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
$("#checkResult").change(function(){
var type = $("#checkResult option:selected").val();
if( type=="1"){
$("#unAccord").hide();
$("#unAccord1").hide();
$('#checkResultDetail').val('');
$('#dutyDeptId').val('');
$('#dutyDeptName').val('');
$('#dutyUserName').val('');
$('#dutyUserId').val('');
}
if( type=="2"){
$("#unAccord").show();
$("#unAccord1").show();
$('#confirmUserName').val('');
}
});
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
fileList.splice(index,1)
$('#test').html(initFileInputView())
};
var fileSelected = function () {
var filename = $('#file').val();
fileList.push(...$('#file')[0].files)
$('#test').html(initFileInputView())
};
function initFileInputView() {
let button = (index) => {
return `<button type="button" class="btn btn-default btn-file" onclick="filedel(`+index+`)"
style="position: fixed;right: 18px;height: 24px;width:24px;padding-top:2px;margin-top: 3px" id="btn_save1"><i class="fa fa-trash-o" style="margin-left: -5px"></i></button>`
}
let temp = `<ul class="DDD">`
fileList.forEach((item, index) => {
temp += `<li>`+item.name+button(index)+`</li>`
})
temp += `<ul>`
// temp += `<input type="hidden" class="form-control" name="fileName" id="fileName" readonly
// style="width:650px;border:none;background-color: white"/>`
return temp
}
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "checkerId", textId: "checkerName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
//console.log($("#addForm").serialize());
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/saveApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function selectDutyDept() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
// console.log(res[0])
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
var copyUserSelectsFun = function () {
// var userIds= $("#targetusers").val();
// var jobIds= $("#targetjobs").val();
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{formId:"addForm",
hiddenId:"copyUserId",
textId:"copyUserName"
// userIds:userIds,
// jobIds:jobIds
} , function(data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:45%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增检查反馈单</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data" >
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> 检查日期</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.."/>
</div>
</div>
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." onclick="selectCheckUser()">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查结果</label>
<div class="col-sm-4">
<select class="form-control" name="checkResult" id="checkResult"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group" id="unAccord" style="display: none">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control" name="checkResultDetail" id="checkResultDetail"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark"
placeholder="请选择"/>
</div>
</div>
<div class="form-group" id="unAccord1" style="display: none">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
readonly/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择整改负责部门" readonly onclick="selectDutyDept();" style="background-color: white"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." onclick="selectDutyUser();">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage();"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">抄送人</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="点击选择.." onclick="copyUserSelectsFun();" readonly style="background-color: white">
<input id="copyUserId" name="copyUserId" type="hidden" value=""/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-1" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
</div>
<div class="col-sm-8">
<div id="test" ></div>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,467 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
#tab1{
border-left: 0px;
border-right: 0px;
}
#tab1 th{
border-left: 0px;
border-right: 0px;
}
#tab1 td{
border-left: 0px;
border-right: 0px;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
$(function () {
initFileList();
checkResultDropDownInit();
checkItemDropDownInit();
});
// 检查结果
function checkResultDropDownInit() {
var select_Data = jQuery.parseJSON('${checkResultList}');
var select_3 = $("#checkResult").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.checkResult}').trigger("change");
}
$("#checkResult").change(function(){
var type = $("#checkResult option:selected").val();
if( type=="1"){
$("#unAccord").hide();
$("#unAccord1").hide();
$("#unAccord2").hide();
$("#accord").show();
$('#checkResultDetail').val('');
$('#dutyDeptId').val('');
$('#dutyDeptName').val('');
$('#dutyUserName').val('');
$('#dutyUserId').val('');
}
if( type=="2"){
$("#accord").hide();
$("#unAccord").show();
$("#unAccord1").show();
$("#unAccord2").show();
$('#confirmUserName').val('');
}
});
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
var itemsArr = [];
var items = '${bean.checkResultDetail}';
itemsArr = items.split(',');
select_3.val(itemsArr).trigger("change");
}
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
$('#fileName').val('');
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "checkerId", textId: "checkerName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
function selectconfirmUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "confirmUserId", textId: "confirmUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function submitFun() {
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/updateApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
// console.log(res[0])
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
<%--var copyUserSelectsFun = function () {--%>
<%-- var userIdsStr = '${userIds}';--%>
<%-- //console.log({userIdsStr});--%>
<%-- //console.log("userIds value is=========="+userIds);--%>
<%-- //$.post(ext.contextPath + '/user/userForSelectByCompany.do', {formId:"editForm",hiddenId:"userId",textId:"userName",userIds:userIds} , function(data) {--%>
<%-- $.post(ext.contextPath + '/user/findUser.do', {userIdsStr: userIdsStr}, function (data) {--%>
<%-- $("#user4SelectDiv").html(data);--%>
<%-- openModal("user4SelectModal");--%>
<%-- });--%>
<%--};--%>
var copyUserSelectsFun = function () {
// var userIds= $("#targetusers").val();
// var jobIds= $("#targetjobs").val();
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "editForm",
hiddenId: "copyUserId",
textId: "copyUserName"
// userIds:userIds,
// jobIds:jobIds
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 8,
statusCode: 1
}, function (data) {
$("#fileList").html(data);
});
};
function selectDutyDept() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 46%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑检查反馈单</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data" >
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly style="background-color: white"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly style="background-color: white"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> 检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}"/>
</div>
</div>
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." onclick="selectCheckUser()" value="${bean.checkerName}"/>
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查结果</label>
<div class="col-sm-4">
<select class="form-control" name="checkResult" id="checkResult"
style="width: 100%" value="${bean.checkResult}"/>
</select>
</div>
</div>
<div class="form-group" id="unAccord">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control" name="checkResultDetail" id="checkResultDetail"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark"
placeholder="请选择">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group" id="accord" style="display: none">
<label class="col-sm-2 control-label">验证人</label>
<div class="col-sm-4 ">
<input type="text" id="confirmUserName" name="confirmUserName" class="form-control"
placeholder="请选择.." onclick="selectconfirmUser()" value="${bean.confirmUserName}">
<input type="hidden" id="confirmUserId" name="confirmUserId" class="form-control"
placeholder="请选择.." value="${bean.confirmUserId}">
</div>
</div>
<div class="form-group" id="unAccord1" >
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
placeholder="请选择" readonly value="${bean.dutyDeptId}"/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择" readonly onclick="selectDutyDept();" value="${bean.dutyDeptName}" style="background-color: white"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择"
onclick="selectDutyUser();" value="${bean.dutyUserName}"/>
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage();"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">抄送人</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="请选择"
onclick="copyUserSelectsFun();" value="${bean.copyUserName}"/>
<input id="copyUserId" name="copyUserId" type="hidden"
value="${bean.copyUserId}">
</div>
</div>
<div class="form-group" style="margin-left: 31px">
<div id="fileList"></div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" id="unAccord2" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,398 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
padding-left: 60px;
}
.right {
margin-left: 50px;
}
#tab1 {
border-left: 0px;
border-right: 0px;
}
#tab1 th {
border-left: 0px;
border-right: 0px;
}
#tab1 td {
border-left: 0px;
border-right: 0px;
}
.row form .bor {
border: none;
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
$(function () {
initFileList();
// checkResultDropDownInit();
checkItemDropDownInit();
initFlowList();
});
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
var itemsArr = [];
var items = '${bean.checkResultDetail}';
itemsArr = items.split(',');
select_3.val(itemsArr).trigger("change");
}
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
$('#fileName').val('');
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "checkerId", textId: "checkerName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function submitFun(pass) {
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/confirm.do?pass="+pass+"&processInstanceId=${processInstanceId}",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
// console.log(res[0])
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
var confirmUserSelectsFun = function () {
// var userIds= $("#targetusers").val();
// var jobIds= $("#targetjobs").val();
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "editForm",
hiddenId: "confirmUserId",
textId: "confirmUserName"
// userIds:userIds,
// jobIds:jobIds
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 8,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">验证</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control bor" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control bor"
placeholder="请选择.." value="${bean.checkCode}" readonly/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> 检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<input type="text" class="form-control bor" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}"/>
</div>
</div>
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control bor"
placeholder="请选择.." onclick="selectCheckUser()" value="${bean.checkerName}"/>
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">不相符内容</label>
<div class="col-sm-8 ">
<select class="form-control" name="checkResultDetail" id="checkResultDetail"
style="width: 100%" />
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-8">
<textarea class="form-control bor" id="checkRemark" name="checkRemark"
placeholder="请选择">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
placeholder="请选择" readonly value="${bean.dutyDeptId}"/>
<input type="text" class="form-control bor" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择" readonly value="${bean.dutyDeptName}"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="dutyUserName" name="dutyUserName"
placeholder="请选择"
onclick="selectDutyUser();" value="${bean.dutyUserName}"/>
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage();"/>
</div>
</div>
<input type="hidden" class="form-control" id="copyUserName" name="copyUserName"
placeholder="请选择"
value="${bean.copyUserName}"/>
<input id="copyUserId" name="copyUserId" type="hidden"
value="${bean.copyUserId}">
<div class="form-group">
<label class="col-sm-2 control-label ">整改措施</label>
<div class="col-sm-8">
<textarea class="form-control bor" rows="2" id="correctiveAction"
name="correctiveAction"
placeholder="措施..." readonly>${bean.correctiveAction}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">验证人</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="confirmUserName" name="confirmUserName"
placeholder="请选择" value="${bean.confirmUserName}" readonly />
<input id="confirmUserId" name="confirmUserId" type="hidden" value="${bean.confirmUserId}" >
</div>
</div>
<div class="form-group">
<div id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-default " style="margin-left: 10px" onclick="submitFun(0)">
退回
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun(1)">
验证
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,391 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
#tab1 {
border-left: 0px;
border-right: 0px;
}
#tab1 th {
border-left: 0px;
border-right: 0px;
}
#tab1 td {
border-left: 0px;
border-right: 0px;
}
.row form .bor {
border: none;
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: white;
}
</style>
<script type="text/javascript">
$(function () {
initFileList();
// checkResultDropDownInit();
checkItemDropDownInit();
initFlowList();
});
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
var itemsArr = [];
var items = '${bean.checkResultDetail}';
itemsArr = items.split(',');
select_3.val(itemsArr).trigger("change");
}
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
$('#fileName').val('');
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "checkerId", textId: "checkerName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
//console.log($("#editForm").serialize());
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function submitFun() {
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckDayly/response.do?processInstanceId=${processInstanceId}",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
if (userInfo.sex == '1') {
$('#gender').val('男');
} else {
$('#gender').val('女');
}
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
// console.log(res[0])
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
var confirmUserSelectsFun = function () {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "confirmUserId", textId: "confirmUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 8,
statusCode: 2
}, function (data) {
$("#fileList").html(data);
});
};
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">整改</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control bor" id="createUserName"
name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly
style="border: none"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control bor"
placeholder="请选择.." value="${bean.checkCode}" readonly/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"> 检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<input type="text" class="form-control bor" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}"/>
</div>
</div>
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control bor"
placeholder="请选择.." onclick="selectCheckUser()" value="${bean.checkerName}"/>
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">不相符内容</label>
<div class="col-sm-8 ">
<select class="form-control" name="checkResultDetail" id="checkResultDetail"
style="width: 100%" disabled="true"/>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-8">
<textarea class="form-control bor" id="checkRemark" name="checkRemark"
placeholder="请选择">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
placeholder="请选择" readonly value="${bean.dutyDeptId}"/>
<input type="text" class="form-control bor" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择" readonly value="${bean.dutyDeptName}"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="dutyUserName" name="dutyUserName"
placeholder="请选择"
onclick="selectDutyUser();" value="${bean.dutyUserName}"/>
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage();"/>
</div>
</div>
<input type="hidden" class="form-control" id="copyUserName" name="copyUserName"
placeholder="请选择"
value="${bean.copyUserName}"/>
<input id="copyUserId" name="copyUserId" type="hidden"
value="${bean.copyUserId}">
<div class="form-group">
<label class="col-sm-2 control-label ">整改措施</label>
<div class="col-sm-10">
<textarea class="form-control" rows="4" id="correctiveAction"
name="correctiveAction"
placeholder="措施..."></textarea>
</div>
</div>
<div class="form-group" id="accord">
<label class="col-sm-2 control-label ">验证人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="confirmUserName" name="confirmUserName"
placeholder="请选择"
onclick="confirmUserSelectsFun();"/>
<input id="confirmUserId" name="confirmUserId" type="hidden">
</div>
</div>
<div class="form-group" style="margin-left: 16px">
<div class="col-sm-4" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,509 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%request.setAttribute("AUDIT", SparePartCommString.STATUS_STOCK_AUDIT); %>
<%request.setAttribute("START", SparePartCommString.STATUS_STOCK_START); %>
<%request.setAttribute("FINISH", SparePartCommString.STATUS_STOCK_FINISH); %>
<%request.setAttribute("FAIL", SparePartCommString.STATUS_STOCK_FAIL); %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyCheckDayly/add.do', {unitId: unitId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
;
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyCheckDayly/editApply.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyCheckDayly/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyCheckDayly/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
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 + '/safety/SafetyCheckDayly/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
};
var exportFun = function () {
var status = $('#statusCondition').val() ? $('#statusCondition').val() : '';
var likeString = $('#likeString').val() ? $('#likeString').val() : '';
var trb = (timeRangeBegin && timeRangeBegin!= 'null') ? timeRangeBegin : '';
var tre = (timeRangeEnd && timeRangeEnd!= 'null') ? timeRangeEnd : '';
window.open(ext.contextPath + "/safety/SafetyCheckDayly/exportExcel.do?timeRangeBegin=" + trb
+ "&timeRangeEnd=" + tre
+ "&status=" + status
+ "&likeString=" + likeString
);
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyCheckDayly/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
status: $('#statusCondition').val(),
likeString: $('#likeString').val()
}
},
// sortName: 'id', // 要排序的字段
// sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'checkCode', // 返回json数据中的name
title: '安全检查编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkDate', // 返回json数据中的name
title: '检查日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}, {
field: 'checkerName', // 返回json数据中的name
title: '检查人员', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkResultName', // 返回json数据中的name
title: '检查结果', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'dutyDeptName', // 返回json数据中的name
title: '整改负责部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'dutyUserName', // 返回json数据中的name
title: '整改负责人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'confirmUserName', // 返回json数据中的name
title: '验证人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'statusName', // 返回json数据中的name
title: '状态', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
// 草稿可以编辑
if (row.status == 0) {
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
// 检查结果是不相符,且状态是完成验证的,不可以删除,审核中的状态不可以删除
if (!(row.status == 3 && row.checkResult==2) && row.status != 1 && row.status != 2 ) {
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
var select_Data = jQuery.parseJSON('${statusDropdownList}');
console.log(select_Data);
var select_3 = $("#statusCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 280px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"
style="margin-right: 15px"><i
class="fa fa-trash-o"></i> 删除
</button>
<button type="button" class="btn btn-default btn-sm" onclick="exportFun();"
style="margin-right: 15px"><i
class="fa fa-cloud-download"></i>
导出
</button>
<%-- </security:authorize>--%>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">状态:</label>
<select class="form-control" name="status" id="statusCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;" onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入安全检查编号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch()"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,209 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.select2-selection__arrow {
margin-top: 3px;
}
#tab1 {
border-left: 0px;
border-right: 0px;
}
#tab1 th {
border-left: 0px;
border-right: 0px;
}
#tab1 td {
border-left: 0px;
border-right: 0px;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: #ffffff;
}
.select2-container--focus{
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: #ffffff;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
</style>
<script type="text/javascript">
$(function () {
initFileList();
//显示流程详情
initFlowList();
checkItemDropDownInit();
});
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 8,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
// 检查项目
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
var itemsArr = [];
var items = '${bean.checkResultDetail}';
itemsArr = items.split(',');
select_3.val(itemsArr).trigger("change");
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog " style="width: 78%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">日常安全检查浏览</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="viewForm" enctype="multipart/form-data" >
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<input type="hidden" class="form-control" id="id" name="id" value="${abnormity.id}">
<div class="form-group">
<label class="col-sm-2 control-label">发起人:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.createUserName}</p>
</div>
<label class="col-sm-2 control-label">安全检查编号:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkCode}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查日期:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkDate.substring(0,10)}</p>
</div>
<label class="col-sm-2 control-label">检查人员:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.checkerName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-8 elemen">
<%-- <p class="form-control-static">${bean.checkResultDetail}</p>--%>
<select class="form-control " name="checkResultDetail" id="checkResultDetail"
value="${bean.checkResultDetail}" readonly="true" disabled="true" style="width:100%;">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">附加说明:</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.checkRemark}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改负责部门:</label>
<div class="col-sm-10">
<p class="form-control-static">${bean.dutyDeptName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改负责人:</label>
<div class="col-sm-10">
<p class="form-control-static">${bean.dutyUserName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改措施:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.correctiveAction}</p>
<%-- <textarea class="form-control " id="" name=""--%>
<%-- rows="2">2222</textarea>--%>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验证人:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.confirmUserName}</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-4" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,383 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.borde {
text-align: left;
position: relative;
z-index: 2;
border: 1px solid grey;
width: 700px;
}
.borde span {
display: inline-block;
background: white;
padding: 10px;
margin-left: -708px;
margin-top: -10px;
}
#tab1Div{
border-left: 0px;
border-right: 0px;
}
#tab1Div th{
border-left: 0px;
border-right: 0px;
}
#tab1Div td{
border-left: 0px;
border-right: 0px;
}
#tab2Div{
border-left: 0px;
border-right: 0px;
}
#tab2Div th{
border-left: 0px;
border-right: 0px;
}
#tab2Div td{
border-left: 0px;
border-right: 0px;
}
#tab3Div{
border-left: 0px;
border-right: 0px;
}
#tab3Div th{
border-left: 0px;
border-right: 0px;
}
#tab3Div td{
border-left: 0px;
border-right: 0px;
}
#tab4Div{
border-left: 0px;
border-right: 0px;
}
#tab4Div th{
border-left: 0px;
border-right: 0px;
}
#tab4Div td{
border-left: 0px;
border-right: 0px;
}
.fixed-table-container{
border: none;
}
.modal-full {
width: 100%;
margin: 0;
}
</style>
<script type="text/javascript">
var fileGroupList = []
$(function () {
var flg=${doNotUpload};
// alert(flg);
flg=flg+'';
if(flg=='true'){
// alert(flg);
$("#uploadDiv").hide();
}
initTable();
});
function initTable() {
console.log( ext.basePath)
$.post(ext.contextPath + '/safety/SafetyFiles/list.do', {
bizId: '${bizId}',
functionCode: '${functionCode}',
statusCode: '${statusCode}'
}, function (data) {
let res = JSON.parse(data);
let divHeight = 0
$('#tab1Div').html("");
$('#tab2Div').html("");
$('#tab3Div').html("");
$('#tab4Div').html("");
$('#tab5Div').html("");
$('#tab6Div').html("");
$('#tab7Div').html("");
$('#tab8Div').html("");
$('#tab9Div').html("");
res.result.forEach((item, index) => {
let key = "tab" + (index + 1);
let title = item.fileListTitle;
initSingleTable(key, title, item.fileList,item.isEditable, function (dom) {
// setTimeout(function () {
divHeight += dom.height()
$('.borde').css({'height': Math.abs(divHeight) + 100 + 'px'})
// },500)
})
})
$('#saveFile').val();
$('#updateFile').val();
});
}
function updateFileClick(fileId) {
$('#fileId').val(fileId);
$('#updateFile').click();
}
function imgModalClose() {
closeModal("imgModal");
}
//点击之后放到图片
window.operateEvents = {
'click .view': function (e, value, row, index) {
let str = '';
$(".view").each(function(){
let fileName = $(this).data("name");
let text = $(this).data("text");
if(fileName!=null && fileName!=undefined && fileName!=''){
let url = ext.contextPath+'/safety/SafetyFiles/toFindImg?imgUrl='+ fileName;
str += '<div class="col-md-6"><span>'+text+'</span>' +
'<img src="'+url+'" style="width: 100%;" alt="'+text+'">' +
'</div>';
}
});
$('#viewer').html(str);
stopBubbleDefaultEvent();
openModal('imgModal');
/*layer.open({
type: 1,
title: false,
closeBtn: 0,
area: ['60%', '80%'],
skin: 'layui-layer-nobg', //没有背景色
shadeClose: true,
content: '<img style="width: 100%;height: 100%" src="'+url+'"/>'
});*/
},
}
function initSingleTable(key, title, data,isEditable, callback) {
$('#' + key + 'Div').html('');
$('#' + key + 'Div').html("<table id=\"" + key + "\"></table>");
$("#" + key).bootstrapTable({ // 对应table标签的id
data: data,
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: false, //表格显示条纹默认为false
pagination: false, // 在表格底部显示分页组件默认false
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
functionCode: 8,
statusCode: 1
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [
{
field: '', // 返回json数据中的name
title: title, // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: 40, // 上下居中
}, {
field: 'originalFileName', // 返回json数据中的name
title: '', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle',
width: 620, // 上下居中
//定义点击之后放大图片的事件
events: 'operateEvents',
formatter : function (value, row, index) {
if (row.originalFileName.includes('.jpg') || row.originalFileName.includes('.JPG')
|| row.originalFileName.includes('.png')|| row.originalFileName.includes('.PNG')
|| row.originalFileName.includes('.gif')|| row.originalFileName.includes('.GIF')){
var s = '<a class="view" data-name="'+row.fileName+'" data-text="'+value+'" href="javascript:void(0)">' +
value +
'</a>';
return s;
// '<img style="width:50px;height:40px;" src="'+ext.contextPath+'/safety/SafetyFiles/toFindImg?imgUrl='+ row.fileName+'" alt="">'
// return "<img style='width: 50px;height: 50px;' src='" + row.absolutePath + "' alt=''>"
}else {
return value
}
}
}, {
title: "",
align: 'center',
valign: 'middle',
width: 120, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var btn = '<div class="btn-group">' ;
if (isEditable) {
btn += '<button class="btn btn-default btn-sm" onclick="updateFileClick(\'' + row.id + '\')"><i class="fa fa-edit"></i></button>' ;
btn += '<button class="btn btn-default btn-sm" onclick="filedel(\'' + row.id + '\')"><i class="fa fa-trash-o"></i></button>' ;
}else {
btn += '<button class="btn btn-default btn-sm" onclick="fileDownload(\'' + row.id + '\')"><i class="fa fa-paperclip"></i></button>' ;
}
btn += '</div>';
return btn;
}
}],
onLoadSuccess: function (data) { //加载成功时执行
$(".bs-checkbox").css({'text-align': 'left', 'vertical-align': 'middle'})
$(key).bootstrapTable("load", data)
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
})
var intervalKey = setInterval(function () {
if ($('#' + key + 'Div').height() > 0) {
if (callback) {
callback($('#' + key + 'Div'))
}
clearInterval(intervalKey)
}
}, 200)
}
function saveFileClick() {
$('#saveFile').click();
};
var filedel = function (id) {
$.post(ext.contextPath + '/safety/SafetyFiles/delete.do', {
fileId: id
}, function (data) {
if (data.code == 1) {
showAlert('s', '文件删除成功!');
initTable();
} else {
showAlert('d', '删除失败');
}
}, 'json');
};
var fileDownload = function (id) {
window.location.href = ext.contextPath + '/safety/SafetyFiles/download.do?fileId=' + id;
window.event.returnValue=false
}
var fileSave = function () {
var formData = new FormData($("#saveForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyFiles/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
showAlert('s', '文件上传成功!');
initTable()
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
};
var fileUpdate = function () {
var formData = new FormData($("#updateForm")[0]);
console.log(formData)
$.ajax({
url: ext.contextPath + "/safety/SafetyFiles/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
showAlert('s', '文件上次成功!');
initTable()
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
};
</script>
<div >
<%-- <p>附件列表</p>--%>
<div class="borde">
<span>附件列表</span>
<div id="tableListDiv" class="col-sm-12 " style="margin-top: 30px;margin-left: 5px">
<div id="tab1Div"></div>
<div id="tab2Div"></div>
<div id="tab3Div"></div>
<div id="tab4Div"></div>
<div id="tab5Div"></div>
<div id="tab6Div"></div>
<div id="tab7Div"></div>
<div id="tab8Div"></div>
<div id="tab9Div"></div>
</div>
<div id="uploadDiv" >
<label class="col-sm-2 control-label">
<form id="saveForm" enctype="multipart/form-data">
<button type="button" class="btn btn-default btn-file" onclick="saveFileClick()"
id="btn_save"><i class="fa fa-paperclip"></i>上传附件
</button>
<input type="file" name="saveFile" id="saveFile" multiple class="file-loading"
onchange="fileSave()"/>
<input type="hidden" name="bizId" value="${bizId}"/>
<input type="hidden" name="functionCode" value="${functionCode}"/>
<input type="hidden" name="statusCode" value="${statusCode}"/>
</form>
<form id="updateForm" enctype="multipart/form-data" style="display: none">
<input type="file" name="updateFile" id="updateFile" multiple class="file-loading"
onchange="fileUpdate()"/>
<input type="hidden" id="fileId" name="fileId" value=""/>
</form>
</label>
</div>
</div>
</div>
<div class="modal fade" id="imgModal">
<div class="modal-dialog modal-full">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" onclick="imgModalClose()" >
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">查看图片</h4>
</div>
<div class="modal-body">
<div class="row" id="viewer">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="imgModalClose()">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,115 @@
<%@ page language="java" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<%String contextPath = request.getContextPath();%>
<%String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath();%>
<%String serverPath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();%>
<!-- bootstrap-star-rating -->
<link rel="stylesheet"
href="<%=request.getContextPath()%>/node_modules/bootstrap-star-rating/css/star-rating.min.css"/>
<style type="text/css">
.Icon::before {
font-family: 'Glyphicons Halflings';
content: "\e171";
position: absolute;
left: -36px;
top: 73%;
}
.element::before {
width: 22px;
height: 22px;
font-size: 15px;
content: "";
line-height: 30px;
position: absolute;
left: -38px;
top: 72%;
color: #666;
background: #d2d6de;
/*background: red;*/
border-radius: 50px;
}
</style>
<script type="text/javascript"
src="<%=request.getContextPath()%>/node_modules/bootstrap-star-rating/js/star-rating.min.js"
charset="utf-8"></script>
<script type="text/javascript">
</script>
<div class="row">
<div class="col-md-12">
<!-- The time line -->
<ul class="timeline">
<c:forEach items="${list}" var="item" varStatus="">
<li>
<c:choose>
<c:when test='${item.isDone}'>
<i class="fa fa-clock-o bg-blue"></i>
</c:when>
<c:otherwise >
<i class="fa fa-clock-o bg-grey"></i>
</c:otherwise>
</c:choose>
<div class="timeline-item">
<c:if test='${item.isDone}'>
<span class="time"><i class="fa fa-clock-o"></i> ${item.doneTime.substring(0,16)}</span>
</c:if>
<h3 class="timeline-header"><a href="#">${item.taskName}</a>
<c:choose>
<c:when test='${item.isDone && (item.taskName=="结束" || item.taskName=="项目结束")}'>
</c:when>
<c:when test='${item.isDone}'>
<a style="cursor:pointer;margin-left: 100px">已完成</a>
</c:when>
<c:otherwise>
<a style="cursor:pointer;color: grey">进行中</a>
</c:otherwise>
</c:choose>
</h3>
<div class="timeline-body" style="padding-left:10px;padding-right:5px;">
<div>
<c:forEach var="item2" items="${item.recordList}">
<div style="padding-top: 10px">
${item2.record}
</div>
</c:forEach>
</div>
<c:if test="${item.copy!=null && item.copy!=''}">
<div class="element" style="margin-top: 5px">
<div class="Icon" style="padding: 5px">
<a>抄送至:${item.copy}</a>
</div>
</div>
</c:if>
</div>
</div>
</li>
</c:forEach>
</ul>
</div>
<!-- /.col -->
</div>
<form class="form-horizontal" id="subForm">
<div class="form-group">
<!-- <label class="col-sm-2 control-label">文件附件:</label> -->
</div>
<!-- 文件上传,显示 -->
<%--<div class="file-border" id="fileArea"></div>--%>
</form>
<!-- 流程打印布局 结束-->

View File

@ -0,0 +1,471 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
}
.DDD{
list-style: none;
line-height: 30px;
}
</style>
<script type="text/javascript">
var fileList = []
// 初始化
$(function () {
$('#test').outerHTML = initFileInputView()
//初始化 检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
// 初始化‘提交’按钮
$("#submitBt").hide();
$("#checkResult").change(function () {
var type = $("#checkResult option:selected").val();
if (type == "1") {
$("#unAccord").hide();
$("#unAccord1").hide();
$("#submitBt").hide();
$('#checkResultDetail').val('');
$('#dutyDeptId').val('');
$('#dutyDeptName').val('');
$('#dutyUserName').val('');
$('#dutyUserId').val('');
}
if (type == "2") {
$("#unAccord").show();
$("#unAccord1").show();
$("#submitBt").show();
$('#confirmUserName').val('');
}
});
// 初始化 专项检查下拉
checkItemDropDownInit()
// 初始化 检查结果下拉
checkResultDropDownInit()
// 初始化 检查项目下拉
checkItemDetailDropDownInit(1);
});
// 点击文件
var fileinput = function () {
$('#file').click();
};
// 清空文件
var filedel = function (index) {
// $('#fileName').val('');
fileList.splice(index,1)
$('#test').html(initFileInputView())
};
// 选中文件
var fileSelected = function () {
var filename = $('#file').val();
fileList.push(...$('#file')[0].files)
$('#test').html(initFileInputView())
};
function initFileInputView() {
let button = (index) => {
return `<button type="button" class="btn btn-default btn-file" onclick="filedel(`+index+`)"
style="position: fixed;right: 193px;height: 24px;width:24px;padding-top:2px;margin-top: 3px" id="btn_save1"><i class="fa fa-trash-o" style="margin-left: -5px"></i></button>`
}
let temp = `<ul class="DDD">`
fileList.forEach((item, index) => {
temp += `<li>`+item.name+button(index)+`</li>`
})
temp += `<ul>`
temp += `<input type="hidden" class="form-control" name="fileName" id="fileName" readonly
style="width:650px;border:none;background-color: white"/>`
return temp
}
// 保存
function saveFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckSpecial/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 提交
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckSpecial/saveApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
// 专项检查
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkItem").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: false,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.on('change', function () {
let checkItem = $("#checkItem").val()
if (checkItem) {
checkItemDetailDropDownInit(checkItem)
}
})
}
// 检查结果
function checkResultDropDownInit() {
var select_Data = jQuery.parseJSON('${checkResultList}');
var select_3 = $("#checkResult").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
// 检查项目
var checkItemDetail = null;
function checkItemDetailDropDownInit(checkItemValue) {
if (checkItemDetail) {
$("#checkResultDetail").empty();
// $("#checkResultDetail").select2("destroy");
}
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/checkItemChange.do',
{checkItem: checkItemValue},
function (data) {
var select_Data = jQuery.parseJSON(data);
checkItemDetail = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
});
}
// 检查人员
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "checkerId",
textId: "checkerName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
// 整改负责人
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
// 整改负责人 改变事件
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
// if (userInfo.sex == '1') {
// $('#gender').val('男');
// } else {
// $('#gender').val('女');
// }
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
// 抄送人
var copyUserSelectsFun = function () {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "copyUserId",
textId: "copyUserName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label">专项检查</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkItem" id="checkItem"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.."/>
</div>
</div>
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." readonly onclick="selectCheckUser()"
style="background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择..">
</div>
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." readonly value="${currUser.caption}"
style="background-color: white">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${currUser.id}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查结果</label>
<div class="col-sm-4 ">
<select class="form-control select2" name="checkResult" id="checkResult"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group" id="unAccord" style="display: none">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark"
placeholder="请输入"/>
</div>
</div>
<div class="form-group" id="unAccord1" style="display: none">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
readonly/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." readonly onclick="selectDutyUser()"
style="background-color: white"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." readonly onclick="selectDutyUser()"
style="background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage()"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">抄送人</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="点击选择.." onclick="copyUserSelectsFun()" readonly
style="background-color: white">
<input id="copyUserId" name="copyUserId" type="hidden" value=""/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-1" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
</div>
<div class="col-sm-7">
<div id="test" ></div>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,456 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
// 初始化
$(function () {
//初始化 检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
// 初始化‘提交’按钮
$("#submitBt").hide();
$("#checkResult").change(function () {
var type = $("#checkResult option:selected").val();
if (type == "1") {
$("#unAccord").hide();
$("#unAccord1").hide();
$("#submitBt").hide();
$('#checkResultDetail').val('');
$('#dutyDeptId').val('');
$('#dutyDeptName').val('');
$('#dutyUserName').val('');
$('#dutyUserId').val('');
}
if (type == "2") {
$("#unAccord").show();
$("#unAccord1").show();
$("#submitBt").show();
$('#confirmUserName').val('');
}
});
// 初始化 专项检查下拉
checkItemDropDownInit()
// 初始化 检查结果下拉
checkResultDropDownInit()
// 初始化 检查项目下拉
checkItemDetailDropDownInit(1);
// 初始化 附件列表
initFileList();
});
// 保存
function saveFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckSpecial/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 提交
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckSpecial/updateApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
educationCode: {
validators: {
notEmpty: {
message: '培训记录编号不能为空。'
}
}
},
}
});
// 专项检查
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkItem").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: false,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.on('change', function () {
let checkItem = $("#checkItem").val()
if (checkItem) {
checkItemDetailDropDownInit(checkItem)
}
})
select_3.val('${bean.checkItem}').trigger("change");
}
// 检查结果
function checkResultDropDownInit() {
var select_Data = jQuery.parseJSON('${checkResultList}');
var select_3 = $("#checkResult").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.checkResult}').trigger("change");
}
// 检查项目
var checkItemDetail = null;
function checkItemDetailDropDownInit(checkItemValue) {
if(checkItemDetail){
$("#checkResultDetail").empty();
// $("#checkResultDetail").select2("destroy");
}
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/checkItemChange.do',
{checkItem: checkItemValue},
function (data) {
var select_Data = jQuery.parseJSON(data);
checkItemDetail = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
checkItemDetail.val('${bean.checkResultDetail}'.split(",")).trigger("change");
});
}
// 检查人员
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "checkerId",
textId: "checkerName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
// 整改负责人
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
// 整改负责人 改变事件
function userInfoChage() {
var userInfo = JSON.parse($('#dutyUserBean').val());
var userInfo2;
$('#dutyDeptId').val(userInfo.pid);
// if (userInfo.sex == '1') {
// $('#gender').val('男');
// } else {
// $('#gender').val('女');
// }
$.post(ext.contextPath + '/user/findUserByIds.do?userIdsStr=' + userInfo.id + ',', function (res) {
userInfo2 = res[0];
$('#dutyDeptName').val(userInfo2.deptName);
}, 'json')
}
// 抄送人
var copyUserSelectsFun = function () {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "copyUserId",
textId: "copyUserName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 10,
statusCode: 1
}, function (data) {
$("#fileList").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 46%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label "> *发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly style="background-color: white"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">*安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly style="background-color: white"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">专项检查</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkItem" id="checkItem"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}"/>
</div>
</div>
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入.." value="${bean.checkPlace}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." readonly onclick="selectCheckUser()" value="${bean.checkerName}" style="background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}">
</div>
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." readonly value="${bean.recorderName}" style="background-color: white">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${bean.recorderId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查结果</label>
<div class="col-sm-4 ">
<select class="form-control select2" name="checkResult" id="checkResult"
style="width: 100%" value="${bean.checkResult}">
</select>
</div>
</div>
<div class="form-group" id="unAccord" style="display: none">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%" value="${bean.checkResultDetail}">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark"
placeholder="请选择">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group" id="unAccord1" style="display: none">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
readonly value="${bean.dutyDeptId}" />
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." readonly onclick="selectDutyUser()"
value="${bean.dutyDeptName}" style="background-color: white"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." readonly onclick="selectDutyUser()" value="${bean.dutyUserName}" style="background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择" onchange="userInfoChage()"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">抄送人</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="点击选择.." onclick="copyUserSelectsFun()" readonly style="background-color: white"
value="${bean.copyUserName}">
<input id="copyUserId" name="copyUserId" type="hidden" value="${bean.copyUserId}">
</div>
</div>
<div class="form-group" style="margin-left: 20px">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,353 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
border: none;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
.select2-container--default .select2-selection--multiple {
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
border-style: none;
}
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
// 初始化
$(function () {
// 初始化 专项检查下拉
checkItemDropDownInit()
// 初始化 附件列表
initFileList();
initFlowList();
});
// 提交
function submitFun(pass) {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckSpecial/confirm.do?pass=" + pass + "&processInstanceId=${processInstanceId}",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
// live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
// fields: {
// educationCode: {
// validators: {
// notEmpty: {
// message: '培训记录编号不能为空。'
// }
// }
// },
// }
});
// 专项检查
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkItem").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: false,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.on('change', function () {
let checkItem = $("#checkItem").val()
if (checkItem) {
checkItemDetailDropDownInit(checkItem)
}
})
select_3.val('${bean.checkItem}').trigger("change");
}
// 检查项目
var checkItemDetail = null;
function checkItemDetailDropDownInit(checkItemValue) {
if (checkItemDetail) {
$("#checkResultDetail").empty();
// $("#checkResultDetail").select2("destroy");
}
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/checkItemChange.do',
{checkItem: checkItemValue},
function (data) {
var select_Data = jQuery.parseJSON(data);
checkItemDetail = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '34px', 'paddingTop': '4px'});
checkItemDetail.val('${bean.checkResultDetail}'.split(",")).trigger("change");
});
}
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 10,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
//加载时间组件
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#showView_view1").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog " style="width: 78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">验证</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly
style="border:none;background-color: white"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly
style="border:none;background-color: white"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">专项检查</label>
<div class="col-sm-10">
<select class="form-control select2" name="checkItem" id="checkItem"
style="width: 100%; border:none" disabled="disabled">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}" readonly
style="border:none;background-color: white"/>
</div>
</div>
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入.." value="${bean.checkPlace}" readonly
style="border:none;background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." value="${bean.checkerName}" readonly
style="border:none;background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}">
</div>
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." value="${bean.recorderName}" readonly
style="border:none;background-color: white">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${bean.recorderId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%; border:none;background-color: white" disabled="disabled"
value="${bean.checkResultDetail}">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark" placeholder="请选择"
readonly
style="border:none;background-color: white">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
value="${bean.dutyDeptId}"/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." value="${bean.dutyDeptName}" readonly
style="border:none;background-color: white"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." value="${bean.dutyUserName}" readonly
style="border:none;background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改措施</label>
<div class="col-sm-10">
<textarea class="form-control" id="correctiveAction" name="correctiveAction"
placeholder="请输入" readonly
style="border:none;background-color: white">${bean.correctiveAction}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验证人</label>
<div class="col-sm-4">
<input type="text" id="confirmUseName" name="confirmUserName" class="form-control"
placeholder="请选择.." readonly style="border:none;background-color: white"
value="${bean.confirmUserName}">
<input type="hidden" id="confirmUserId" name="confirmUserId" class="form-control"
placeholder="请选择.." value="${bean.confirmUserId}">
</div>
</div>
<div class="form-group">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="showView_view1"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-default " style="margin-left: 10px" onclick="submitFun(0)">
退回
</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun(1)">
验证
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,359 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
border: none;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
.select2-container--default .select2-selection--multiple {
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #ffffff;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b {
border-style: none;
}
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
// 初始化
$(function () {
// 初始化 专项检查下拉
checkItemDropDownInit()
// 初始化 附件列表
initFileList();
initFlowList();
});
// 提交
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyCheckSpecial/response.do?processInstanceId=${processInstanceId}",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 表单验证
$("#addForm").bootstrapValidator({
// live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
// fields: {
// educationCode: {
// validators: {
// notEmpty: {
// message: '培训记录编号不能为空。'
// }
// }
// },
// }
});
// 专项检查
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkItem").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: false,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.on('change', function () {
let checkItem = $("#checkItem").val()
if (checkItem) {
checkItemDetailDropDownInit(checkItem)
}
})
select_3.val('${bean.checkItem}').trigger("change");
}
// 检查项目
var checkItemDetail = null;
function checkItemDetailDropDownInit(checkItemValue) {
if (checkItemDetail) {
$("#checkResultDetail").empty();
// $("#checkResultDetail").select2("destroy");
}
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/checkItemChange.do',
{checkItem: checkItemValue},
function (data) {
var select_Data = jQuery.parseJSON(data);
checkItemDetail = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '34px', 'paddingTop': '4px'});
checkItemDetail.val('${bean.checkResultDetail}'.split(",")).trigger("change");
});
}
// 验证人员
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "confirmUserId", textId: "confirmUseName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 10,
statusCode: 2
}, function (data) {
$("#fileList").html(data);
});
};
//加载时间组件
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#showView_view1").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">整改</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly
style="border:none;background-color: white"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly
style="border:none;background-color: white"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">专项检查</label>
<div class="col-sm-10">
<select class="form-control select2" name="checkItem" id="checkItem"
style="width: 100%; border:none" disabled="disabled">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}" readonly
style="border:none;background-color: white"/>
</div>
</div>
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入.." value="${bean.checkPlace}" readonly
style="border:none;background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." value="${bean.checkerName}" readonly
style="border:none;background-color: white">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}">
</div>
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." value="${bean.recorderName}" readonly
style="border:none;background-color: white">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${bean.recorderId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%; border:none" disabled="disabled"
value="${bean.checkResultDetail}">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark" placeholder="请选择"
readonly
style="border:none;background-color: white">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
value="${bean.dutyDeptId}"/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." value="${bean.dutyDeptName}" readonly
style="border:none;background-color: white"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." value="${bean.dutyUserName}" readonly
style="border:none;background-color: white">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改措施</label>
<div class="col-sm-10">
<textarea class="form-control" id="correctiveAction" name="correctiveAction"
placeholder="请输入"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验证人</label>
<div class="col-sm-4">
<input type="text" id="confirmUseName" name="confirmUserName" class="form-control"
placeholder="请选择.." readonly onclick="selectCheckUser()"
style="background-color: white">
<input type="hidden" id="confirmUserId" name="confirmUserId" class="form-control"
placeholder="请选择..">
</div>
</div>
<div class="form-group">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="showView_view1"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" id="submitBt" class="btn btn-primary " style="margin-left: 10px"
onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,544 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/add.do', {}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyCheckSpecial/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
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 + '/safety/SafetyCheckSpecial/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
};
var exportFun = function () {
var status = $('#statusCondition').val() ? $('#statusCondition').val() : '';
var likeString = $('#likeString').val() ? $('#likeString').val() : '';
var checkItemCondition = $('#checkItemCondition').val() ? $('#checkItemCondition').val() : '';
var trb = (timeRangeBegin && timeRangeBegin!= 'null') ? timeRangeBegin : '';
var tre = (timeRangeEnd && timeRangeEnd!= 'null') ? timeRangeEnd : '';
window.open(ext.contextPath + "/safety/SafetyCheckSpecial/exportExcel.do?timeRangeBegin=" + trb
+ "&timeRangeEnd=" + tre
+ "&status=" + status
+ "&likeString=" + likeString
+ "&checkItem=" + checkItemCondition
);
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyCheckSpecial/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
status: $('#statusCondition').val(),
likeString: $('#likeString').val(),
checkItem: $('#checkItemCondition').val()
}
},
// sortName: 'id', // 要排序的字段
// sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'checkCode', // 返回json数据中的name
title: '安全检查编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkItemName', // 返回json数据中的name
title: '专项检查', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkDate', // 返回json数据中的name
title: '检查日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
if (value) {
return value.substring(0, 10);
} else {
return value
}
}
}, {
field: 'checkPlace', // 返回json数据中的name
title: '检查地点', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkerName', // 返回json数据中的name
title: '检查人员', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'checkResultName', // 返回json数据中的name
title: '检查结果', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'dutyDeptName', // 返回json数据中的name
title: '整改负责部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'dutyUserName', // 返回json数据中的name
title: '整改负责人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'confirmUserName', // 返回json数据中的name
title: '验证人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'statusName', // 返回json数据中的name
title: '状态', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
// 草稿可以编辑
if (row.status == 0) {
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
// 检查结果是不相符,且状态是完成验证的,不可以删除,审核中的状态不可以删除
if (!(row.status == 3 && row.checkResult == 2) && row.status != 1 && row.status != 2) {
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
$(function () {
initDate1();
checkItemDropdownList();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
var select_Data = jQuery.parseJSON('${statusDropdownList}');
var select_3 = $("#statusCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
initFun();
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
function checkItemDropdownList() {
var select_Data = jQuery.parseJSON('${checkItemDropdownList}');
var select_3 = $("#checkItemCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
}
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 280px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"
style="margin-right: 15px"><i
class="fa fa-trash-o"></i> 删除
</button>
<button type="button" class="btn btn-default btn-sm" onclick="exportFun();"><i
class="fa fa-cloud-download"></i>
导出
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group" style="margin-right: 10px">
<label class="form-label">专项检查</label>
<select class="form-control select2" name="checkItem" id="checkItemCondition"
style="width: 220px;height: 29px">
</select>
</div>
<div class="form-group">
<label class="form-label">状态:</label>
<select class="form-control" name="status" id="statusCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<div class="input-group input-group-sm">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 235px; border-radius: 4px;" id="reservationtimeD"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入安全检查编号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,300 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
border: none;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
.select2-container--default .select2-selection--multiple {
border: none;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: #ffffff;
}
.select2-container--default.select2-container--disabled .select2-selection--single {
background-color: #ffffff;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: #ffffff;
}
</style>
<script type="text/javascript">
// 初始化
$(function () {
// 初始化 专项检查下拉
checkItemDropDownInit()
// 初始化 附件列表
initFileList();
// 初始化 时间轴组件
initFlowList();
});
// 专项检查
function checkItemDropDownInit() {
var select_Data = jQuery.parseJSON('${checkItemList}');
var select_3 = $("#checkItem").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: false,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.on('change', function () {
let checkItem = $("#checkItem").val()
if (checkItem) {
checkItemDetailDropDownInit(checkItem)
}
})
select_3.val('${bean.checkItem}').trigger("change");
}
// 检查项目
var checkItemDetail = null;
function checkItemDetailDropDownInit(checkItemValue) {
if (checkItemDetail) {
$("#checkResultDetail").empty();
// $("#checkResultDetail").select2("destroy");
}
$.post(ext.contextPath + '/safety/SafetyCheckSpecial/checkItemChange.do',
{checkItem: checkItemValue},
function (data) {
var select_Data = jQuery.parseJSON(data);
checkItemDetail = $("#checkResultDetail").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
allowClear: false,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '34px', 'paddingTop': '4px'});
checkItemDetail.val('${bean.checkResultDetail}'.split(",")).trigger("change");
});
}
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 10,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
//加载时间组件
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#showView_view1").html(data);
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 78%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">详情</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-12">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label "> *发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly
style="border:none;background-color: #ffffff"/>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}" readonly/>
<input type="hidden" class="form-control" id="id" name="id"
placeholder="请选择.." value="${bean.id}" readonly/>
</div>
<label class="col-sm-2 control-label">*安全检查编号</label>
<div class="col-sm-4">
<input type="text" id="checkCode" name="checkCode" class="form-control"
placeholder="请选择.." value="${bean.checkCode}" readonly
style="border:none;background-color: #ffffff"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">专项检查</label>
<div class="col-sm-10">
<select class="form-control select2" name="checkItem" id="checkItem"
style="width: 100%; border:none;background-color: #ffffff"
disabled="disabled">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">检查日期</label>
<div class="col-sm-4 ">
<div class="input-group date">
<input type="text" class="form-control" id="checkDate" name="checkDate"
placeholder="请选择.." value="${bean.checkDate.substring(0,10)}" readonly
style="border:none;background-color: #ffffff"/>
</div>
</div>
<label class="col-sm-2 control-label">检查地点</label>
<div class="col-sm-4 ">
<input type="text" id="checkPlace" name="checkPlace" class="form-control"
placeholder="请输入.." value="${bean.checkPlace}" readonly
style="border:none;background-color: #ffffff">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">检查人员</label>
<div class="col-sm-4">
<input type="text" id="checkerName" name="checkerName" class="form-control"
placeholder="请选择.." value="${bean.checkerName}" readonly
style="border:none;background-color: #ffffff">
<input type="hidden" id="checkerId" name="checkerId" class="form-control"
placeholder="请选择.." value="${bean.checkerId}">
</div>
<label class="col-sm-2 control-label">记录人</label>
<div class="col-sm-4">
<input type="text" id="recorderName" name="recorderName" class="form-control"
placeholder="请输入.." value="${bean.recorderName}" readonly
style="border:none;background-color: #ffffff">
<input type="hidden" id="recorderId" name="recorderId" class="form-control"
placeholder="请选择.." readonly value="${bean.recorderId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">不相符内容</label>
<div class="col-sm-10">
<select class="form-control select2" name="checkResultDetail" id="checkResultDetail"
style="width: 100%; border:none" disabled="disabled"
value="${bean.checkResultDetail}">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附加说明</label>
<div class="col-sm-10">
<textarea class="form-control" id="checkRemark" name="checkRemark" placeholder="请选择"
readonly
style="border:none;background-color: #ffffff">${bean.checkRemark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">整改负责部门</label>
<div class="col-sm-4">
<input type="hidden" class="form-control" id="dutyDeptId" name="dutyDeptId"
value="${bean.dutyDeptId}"/>
<input type="text" class="form-control" id="dutyDeptName" name="dutyDeptName"
placeholder="请选择.." value="${bean.dutyDeptName}" readonly
style="border:none;background-color: #ffffff"/>
</div>
<label class="col-sm-2 control-label ">整改负责人</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="dutyUserName" name="dutyUserName"
placeholder="请选择.." value="${bean.dutyUserName}" readonly
style="border:none;background-color: #ffffff">
<input type="hidden" class="form-control" id="dutyUserId" name="dutyUserId"
placeholder="请选择" value="${bean.dutyUserId}"/>
<input type="hidden" class="form-control" id="dutyUserBean" name="dutyUserBean"
placeholder="请选择"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">整改措施:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.correctiveAction}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">验证人:</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.confirmUserName}</p>
</div>
</div>
<div class="form-group">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="showView_view1"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,166 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.borde1 {
text-align: left;
position: relative;
z-index: 2;
border: 1px solid grey;
width: 700px;
}
.borde1 span {
display: inline-block;
background: white;
padding: 10px;
margin-left: -708px;
margin-top: -10px;
}
#table20{
border-left: 0px;
border-right: 0px;
}
#table20 th{
border-left: 0px;
border-right: 0px;
}
#table20 td{
border-left: 0px;
border-right: 0px;
}
.table-striped>tbody>tr:nth-of-type(odd){
background-color: white;
}
</style>
<script type="text/javascript">
// var tableGroupList = []
$(function () {
inittableFun(function (dom) {
let divHeight = dom.height()
$('.borde1').css({'height': Math.abs(divHeight) + 70 + 'px'})
});
});
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyEducationBuilder/unbindJob.do', {id: id}, function (data) {
if (data.code === 1) {
$("#table20").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败',);
}
}, "json");
}
});
};
function inittableFun(callback) {
console.log("${bizId}")
$("#table20").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyEducationBuilder/getList.do?safetyJobId=${bizId}', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: false, // 显示一个勾选框
}, {
field: 'educationCode', // 返回json数据中的name
title: '培训记录编号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'educationDate', // 返回json数据中的name
title: '培训日期', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value.substring(0, 10);
}
}, {
field: 'name', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table20");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
var intervalKey = setInterval(function () {
if ($("#table20").height() > 0) {
if (callback) {
callback($("#table20"))
}
clearInterval(intervalKey)
}
}, 200)
}
</script>
<div >
<div class="borde1">
<span>安全培训</span>
<div class="col-sm-12 " style="margin-top: 30px;margin-left: 5px">
<table id="table20"></table>
</div>
</div>
<input type="hidden" name="bizId" value="${bizId}"/>
</div>

View File

@ -0,0 +1,422 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: white;
}
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.DDD {
list-style: none;
line-height: 30px;
}
</style>
<script type="text/javascript">
var fileList = []
$(function () {
$('#test').outerHTML = initFileInputView()
jobTypeDropDownInit();
initDate1();
});
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
fileList.splice(index, 1)
$('#test').html(initFileInputView())
};
var fileSelected = function () {
var filename = $('#file').val();
fileList.push(...$('#file')[0].files)
$('#test').html(initFileInputView())
};
function initFileInputView() {
let button = (index) => {
return `<button type="button" class="btn btn-default btn-file" onclick="filedel(` + index + `)"
style="position: fixed;right: 193px;height: 24px;width:24px;padding-top:2px;margin-top: 3px" id="btn_save1"><i class="fa fa-trash-o" style="margin-left: -5px"></i></button>`
}
let temp = `<ul class="DDD">`
fileList.forEach((item, index) => {
temp += `<li>` + item.name + button(index) + `</li>`
})
temp += `<ul>`
temp += `<input type="hidden" class="form-control" name="fileName" id="fileName" readonly
style="width:650px;border:none;background-color: white"/>`
return temp
}
function selectdutyUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "dutyUserId", textId: "dutyUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "addForm",
hiddenId: "competentDeptId",
textId: "competentDeptName"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "checkerId", textId: "checkerName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//开始日期
$("#projectBeginDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//结束日期
$("#projectEndDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobInside/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobInside/saveApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "addForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function copyUserSelectsFun() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "copyUserId",
textId: "copyUserName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
function countersignUserSelectsFun() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "addForm",
hiddenId: "userId",
textId: "userName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
// projectEndDate: {
// validators: {
// notEmpty: {
// message: '请输入正确的结束日期。'
// }
// }
// }
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增检查反馈单</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">*作业类型</label>
<div class="col-sm-10 ">
<select class="form-control" name="jobType" id="jobType" style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> *作业地点</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="jobLocation" name="jobLocation"
placeholder="请输入.."/>
</div>
<label class="col-sm-2 control-label">*作业单位</label>
<div class="col-sm-4">
<input type="text" id="jobCompany" name="jobCompany" class="form-control"
placeholder="请输入..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门</label>
<div class="col-sm-10">
<input type="text" id="competentDeptName" name="competentDeptName"
class="form-control"
placeholder="请选择.." onclick="showUnit4SelectFun();">
<input type="hidden" id="competentDeptId" name="competentDeptId"
class="form-control"
placeholder="请选择..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*开始时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" id="projectBeginDate" name="projectBeginDate"
class="form-control"
placeholder="请选择..">
</div>
</div>
<label class="col-sm-2 control-label ">*结束时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" id="projectEndDate" name="projectEndDate"
class="form-control"
placeholder="请选择..">
</div>
</div>
</div>
<div class="form-group" id="accord">
<label class="col-sm-2 control-label">*作业负责人</label>
<div class="col-sm-4 ">
<input type="text" id="dutyUserName" name="dutyUserName" class="form-control"
placeholder="请选择.." onclick="selectdutyUser()">
<input type="hidden" id="dutyUserId" name="dutyUserId" class="form-control"
placeholder="请选择..">
</div>
<label class="col-sm-2 control-label">*联系方式</label>
<div class="col-sm-4 ">
<input type="text" id="contact" name="contact" class="form-control"
placeholder="请选择..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*作业内容</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="jobContent" name="jobContent"
/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门意见</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="competentAdvice" name="competentAdvice"
placeholder="请选择.."/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*相关部门</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="userName" name="countersignUserName"
placeholder="点击选择.." onclick="countersignUserSelectsFun()" readonly>
<input id="userId" name="countersignUserId" type="hidden" value=""/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*分管领导</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="点击选择.." onclick="copyUserSelectsFun();" readonly>
<input id="copyUserId" name="copyUserId" type="hidden" value=""/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-1" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
</div>
<div class="col-sm-7">
<div id="test"></div>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading"
onchange="fileSelected()"/>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,253 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: white;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeSubDropDownInit();
initFileList();
inittableList();
initFlowList()
});
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
function inittableList() {
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/bindListShow.do', {
bizId: '${bean.id}',
}, function (data) {
$("#tableDiv").html(data);
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 5,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function jobTypeSubDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeListSub}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}').trigger("change");
}
function closeFun() {
$.ajax({
url: ext.contextPath + "/safety/SafetyJobInside/end.do?id=${bean.id}",
type: 'POST',
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">项目结束</h4>
</div>
<div id="educationDiv"></div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="projectBeginForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label ">发起人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.createUserName}</p>
</div>
<label class="col-sm-2 control-label">作业编号</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCode}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-8 ">
<select class="form-control" name="jobType" id="jobType"
style="width: 100%" value="${bean.jobType}" disabled="true">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> 作业地点</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.jobLocation}</p>
</div>
<label class="col-sm-2 control-label">作业单位</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCompany}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.competentDeptName}</p>
</div>
<label class="col-sm-2 control-label ">起止时间</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.projectBeginDate.substring(0, 10)}至${bean.projectEndDate.substring(0, 10)}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业负责人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.dutyUserName}</p>
</div>
<label class="col-sm-2 control-label">联系方式</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.contact}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">作业内容</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.jobContent}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门意见</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.competentAdvice}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*相关部门</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.countersignUserName}</p>
</div>
</div>
<div class="form-group" >
<div class="col-sm-8" id="fileList"></div>
</div>
<div class="form-group" >
<div class="col-sm-8" id="tableDiv"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="closeFun()">
结束项目
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,484 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: white;
}
.right {
margin-left: 50px;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeDropDownInit();
initFileList()
});
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 5,
statusCode: 0
}, function (data) {
$("#fileList").html(data);
});
};
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeListSub}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}'.split(",")).trigger("change");
}
var fileinput = function () {
$('#file').click();
};
var filedel = function () {
$('#fileName').val('');
};
var fileSelected = function () {
var filename = $('#file').val();
$('#fileName').val(filename);
};
function selectdutyUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "dutyUserId", textId: "dutyUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "editForm",
hiddenId: "competentDeptId",
textId: "competentDeptName"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "checkerId", textId: "checkerName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
//检查日期
$("#projectBeginDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//检查日期
$("#projectEndDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function saveFun() {
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobInside/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function submitFun() {
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobInside/updateApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
jobType: {
validators: {
notEmpty: {
message: '作业类型不能为空。'
}
}
},
jobLocation: {
validators: {
notEmpty: {
message: '作业地点不能为空。'
}
}
},
jobCompany: {
validators: {
notEmpty: {
message: '作业单位不能为空。'
}
}
},
competentDeptName: {
validators: {
notEmpty: {
message: '主管部门不能为空。'
}
}
},
time: {
validators: {
notEmpty: {
message: '起止时间不能为空。'
}
}
},
dutyUserName: {
validators: {
notEmpty: {
message: '作业负责人不能为空。'
}
}
},
contact: {
validators: {
notEmpty: {
message: '联系方式不能为空。'
}
}
},
jobContent: {
validators: {
notEmpty: {
message: '作业内容不能为空。'
}
}
},
competentAdvice: {
validators: {
notEmpty: {
message: '主管部门意见不能为空。'
}
}
},
userName: {
validators: {
notEmpty: {
message: '相关部门不能为空。'
}
}
}
}
});
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function copyUserSelectsFun() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "editForm",
hiddenId: "copyUserId",
textId: "copyUserName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
function countersignUserSelectsFun() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "editForm",
hiddenId: "userId",
textId: "userName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 46%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑检查反馈单</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> *发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName"
name="createUserName"
placeholder="请选择.."
value="${bean.createUserName}" readonly>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.."
value="${bean.createUserId}" readonly>
</div>
<label class="col-sm-2 control-label">*作业编号</label>
<div class="col-sm-4">
<input type="text" id="jobCode" name="jobCode" class="form-control"
placeholder="请选择.." value="${bean.jobCode}" readonly>
<input type="hidden" id="id" name="id" class="form-control"
placeholder="请选择.." value="${bean.id}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*作业类型</label>
<div class="col-sm-10 ">
<select class="form-control" name="jobType" id="jobType"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> *作业地点</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="jobLocation" name="jobLocation"
placeholder="请选择.."
value="${bean.jobLocation}">
</div>
<label class="col-sm-2 control-label">*作业单位</label>
<div class="col-sm-4">
<input type="text" id="jobCompany" name="jobCompany" class="form-control"
placeholder="请选择.."
value="${bean.jobCompany}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门</label>
<div class="col-sm-10">
<input type="text" id="competentDeptName" name="competentDeptName"
class="form-control"
placeholder="请选择.." onclick="showUnit4SelectFun();"
value="${bean.competentDeptName}" readonly>
<input type="hidden" id="competentDeptId" name="competentDeptId"
class="form-control"
placeholder="请选择.."
value="${bean.competentDeptId}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*开始时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" id="projectBeginDate" name="projectBeginDate"
class="form-control" value="${bean.projectBeginDate.substring(0, 10)}"
placeholder="请选择..">
</div>
</div>
<label class="col-sm-2 control-label ">*结束时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" id="projectEndDate" name="projectEndDate"
class="form-control" value="${bean.projectEndDate.substring(0, 10)}"
placeholder="请选择..">
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*作业负责人</label>
<div class="col-sm-4 ">
<input type="text" id="dutyUserName" name="dutyUserName" class="form-control"
placeholder="请选择.." onclick="selectdutyUser()" value="${bean.dutyUserName}">
<input type="hidden" id="dutyUserId" name="dutyUserId" class="form-control"
placeholder="请选择.." value="${bean.dutyUserId}" readonly>
</div>
<label class="col-sm-2 control-label">*联系方式</label>
<div class="col-sm-4 ">
<input type="text" id="contact" name="contact" class="form-control"
placeholder="请选择.."
value="${bean.contact}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*作业内容</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobContent" name="jobContent"
value="${bean.jobContent}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门意见</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="competentAdvice" name="competentAdvice"
placeholder="请选择.."
value="${bean.competentAdvice}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*相关部门</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="userName" name="countersignUserName"
placeholder="点击选择.." onclick="countersignUserSelectsFun()"
value="${bean.countersignUserName}">
<input id="userId" name="countersignUserId" type="hidden"
value="${bean.countersignUserId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*分管领导</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="copyUserName" name="copyUserName"
placeholder="点击选择.." onclick="copyUserSelectsFun();"
value="${bean.copyUserName}">
<input id="copyUserId" name="copyUserId" type="hidden" value=""
value="${bean.copyUserId}">
</div>
</div>
<div class="form-group" style="margin-left: 19px">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,341 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control{
background-color: white;
}
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.bor{
border: none;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: white;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: white;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeSubDropDownInit();
initFlowList();
initFileList();
inittableList()
});
function inittableList() {
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/bindListShow.do', {
bizId: '${bean.id}',
}, function (data) {
$("#tableDiv").html(data);
});
};
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 5,
statusCode: 2,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function jobTypeSubDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeListSub}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}'.split(",")).trigger("change");
}
var fileSelected = function () {
var formData = new FormData($("#uploadForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobInside/saveFile.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
showAlert('s', '工单资料上传成功!');
initTable()
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
};
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function eductaionShow() {
$.post(ext.contextPath + '/safety/SafetyJobInside/educationInsiderListForJobShow.do?bizId=${bean.id}', {}, function (data) {
$("#educationDiv").html(data);
openModal('educationModal');
});
}
function uploadFile() {
$("#saveJobFile").click();
}
$("#projectBeginForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
jobType: {
validators: {
notEmpty: {
message: '作业类型不能为空。'
}
}
},
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">项目进行中</h4>
</div>
<div id="educationDiv"></div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="projectBeginForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="createUserName"
name="createUserName" style="background-color: white"
placeholder="请选择.."
value="${bean.createUserName}" readonly>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.."
value="${bean.createUserId}" readonly>
<input type="hidden" class="form-control" id="taskId" name="taskId"
placeholder="请选择.."
value="${taskId}" readonly>
<input type="hidden" class="form-control" id="bizId" name="bizId"
placeholder="请选择.."
value="${bean.id}" readonly>
</div>
<label class="col-sm-2 control-label">作业编号</label>
<div class="col-sm-4">
<input type="text" id="jobCode" name="jobCode" class="form-control bor"
value="${bean.jobCode}" readonly style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-10 ">
<select class="form-control bor" name="jobType" id="jobType"
style="width: 100%" value="${bean.jobType}" disabled="true">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> 作业地点</label>
<div class="col-sm-4 ">
<input type="text" class="form-control bor" id="jobLocation" name="jobLocation"
value="${bean.jobLocation}" readonly style="background-color: white">
</div>
<label class="col-sm-2 control-label">作业单位</label>
<div class="col-sm-4">
<input type="text" id="jobCompany" name="jobCompany" class="form-control bor"
value="${bean.jobCompany}" readonly style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门</label>
<div class="col-sm-4">
<input type="text" id="competentDeptName" name="competentDeptName"
class="form-control bor" style="background-color: white"
value="${bean.competentDeptName}" readonly>
<input type="hidden" id="competentDeptId" name="competentDeptId"
class="form-control"
placeholder="请选择.."
value="${bean.competentDeptId}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">开始时间</label>
<div class="col-sm-4">
<input type="text" id="projectBeginDate" name="projectBeginDate"
class="form-control bor"
placeholder="请选择.." style="background-color: white"
value="${bean.projectBeginDate.substring(0, 10)}" readonly>
</div>
<label class="col-sm-2 control-label ">结束时间</label>
<div class="col-sm-4">
<input type="text" id="projectEndDate" name="projectEndDate"
class="form-control bor"
placeholder="请选择.." style="background-color: white"
value="${bean.projectEndDate.substring(0, 10)}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业负责人</label>
<div class="col-sm-4">
<input type="text" id="dutyUserName" name="dutyUserName" class="form-control bor"
value="${bean.dutyUserName}" readonly style="background-color: white">
<input type="hidden" id="dutyUserId" name="dutyUserId" class="form-control"
placeholder="请选择.." value="${bean.dutyUserId}" readonly>
</div>
<label class="col-sm-2 control-label">联系方式</label>
<div class="col-sm-4">
<input type="text" id="contact" name="contact" class="form-control bor"
readonly style="background-color: white"
value="${bean.contact}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">作业内容</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="jobContent" name="jobContent"
value="${bean.jobContent}" readonly style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门意见</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="competentAdvice" name="competentAdvice"
value="${bean.competentAdvice}" readonly style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">会签意见</label>
<div class="col-sm-4">
<p class="form-control-static">全部同意</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">相关部门</label>
<div class="col-sm-10">
<input type="text" class="form-control bor" id="userName" name="countersignUserName"
value="${bean.countersignUserName}" readonly style="background-color: white">
<input id="userId" name="countersignUserId" type="hidden" value=""
value="${bean.countersignUserId}">
</div>
</div>
<div class="form-group">
<div class="col-sm-10" id="fileList"></div>
</div>
<div class="form-group">
<div class="col-sm-10" id="tableDiv"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="eductaionShow()">
关联安全培训
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="uploadFile()">
开具工作单
</button>
</div>
<form style="display: none"
id="uploadForm" enctype="multipart/form-data">
<input type="file" id="saveJobFile" name="saveFile" onchange="fileSelected()"/>
<input type="hidden" name="bizId" value="${bean.id}"/>
<input type="hidden" name="functionCode" value="5"/>
<input type="hidden" name="statusCode" value="2"/>
</form>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,618 @@
<%@ 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" %>
<!DOCTYPE html>
<!-- <htmlhtml lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
.select2-container--default .select2-selection--single{
border-color: #d2d6de;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
jobCompanyDropDownInit();
jobStatusDropDownInit();
jobTypeDropDownInit();
});
// 作业单位
function jobCompanyDropDownInit() {
var select_Data = jQuery.parseJSON('${jobCompanyList}');
var select_3 = $("#jobCompanyCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val("").trigger("change");
}
// 作业状态
function jobStatusDropDownInit() {
var select_Data = jQuery.parseJSON('${jobStatusList}');
console.log(select_Data);
var select_3 = $("#jobStatusCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
}
// 作业状态
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
console.log(select_Data);
var select_3 = $("#jobTypeCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
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;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
}
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyJobInside/add.do', {unitId: unitId}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyJobInside/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var revokeFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyJobInside/revoke.do', {id: id}, function (data) {
// console.log(data.code);
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
showAlert('s', "撤销成功!");
} else {
showAlert('d', data.msg);
}
},'json');
};
var closeFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyJobInside/endShow.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyJobInside/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyJobInside/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
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 + '/safety/SafetyJobInside/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败!'+ data.msg, 'mainAlertdiv');
}
}, "json");
}
});
}
};
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyJobInside/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
status: $('#statusCondition').val(),
likeString: $('#likeString').val(),
jobType: $('#jobTypeCondition').val(),
jobStatus: $('#jobStatusCondition').val(),
jobCompany: $('#jobCompanyCondition').val(),
competentDeptId: $('#competentDeptIdCondition').val(),
}
},
// sortName: 'id', // 要排序的字段
// sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'jobCode',
title: '作业编号',
align: 'center',
valign: 'middle'
}, {
field: 'jobTypeName', // 返回json数据中的name
title: '作业类型名称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'jobLocation', // 返回json数据中的name
title: '作业地点', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'jobCompany', // 返回json数据中的name
title: '作业单位', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'competentDeptName', // 返回json数据中的name
title: '主管部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
title: '起止时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
// return row.projectBeginDate.substring(0, 16)+"至"+row.projectEndDate.substring(0, 16);
return row.projectBeginDate.substring(0, 10)+"至"+row.projectEndDate.substring(0, 10);
}
}, {
field: 'dutyUserName', // 返回json数据中的name
title: '作业负责人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'jobStatusName', // 返回json数据中的name
title: '状态', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
var today = Date.parse(new Date());
var etime = Date.parse(new Date(row.projectEndDate));
// alert(today-etime)
// 草稿可以编辑
if (row.jobStatus == 0 || row.jobStatus == 2) {
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
}
if (row.jobStatus == 1 && row.countersignStatus == 0 && row.createUserId == '${cu.id}') {
buts += '<button class="btn btn-default btn-sm" title="撤回" onclick="revokeFun(\'' + row.id + '\')"><i class="fa fa-share"></i><span class="hidden-md hidden-lg"> 撤回</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
if (row.createUserId == '${cu.id}' && row.jobStatus == 2 && today > etime ) {
buts += '<button class="btn btn-default btn-sm" title="关闭" onclick="closeFun(\'' + row.id + '\')"><i class="fa fa-stop-circle-o"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
}
// 检查结果是不相符,且状态是完成验证的,不可以删除,审核中的状态不可以删除
if ( row.jobStatus == 0) {
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
};
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "searchForm",
hiddenId: "competentDeptIdCondition",
textId: "competentDeptNameCondition"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<div id="unit4SelectDiv"></div>
<%-- <div id="user4SelectDiv"></div>--%>
<div id="educationDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">作业类型:</label>
<select class="form-control" name="jobType" id="jobTypeCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<label class="form-label">作业单位:</label>
<select class="form-control" name="jobCompany" id="jobCompanyCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<label class="form-label">主管部门:</label>
<input type="text" class="form-control" name="competentDeptId" id="competentDeptNameCondition"
style="width:180px;height: 30px" onclick="showUnit4SelectFun()">
</input>
<input type="hidden" class="form-control" name="competentDeptId" id="competentDeptIdCondition"
style="width:180px;height: 25px" onclick="showUnit4SelectFun()">
</input>
</div>
<div class="form-group">
<label class="form-label">状态:</label>
<select class="form-control" name="status" id="jobStatusCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入安全检查编号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,452 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/.layout{/
/ display: flex;/
/ padding-left: 15px;/
/}/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.bor {
border: none;
}
.select2-container--default .select2-selection--multiple {
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: white;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: white;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
.AAA {
display: inline-block;
vertical-align: top;
padding: 8px;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeDropDownInit();
agreeListDropDownInit();
initFileList();
initFlowList()
});
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 5,
statusCode: 1,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}'.split(",")).trigger("change");
}
function agreeListDropDownInit() {
var select_Data = jQuery.parseJSON('${agreeList}');
var select_3 = $("#pass").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
// multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
// select_3.val(1).trigger("change");
}
function selectdutyUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "dutyUserId", textId: "dutyUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "editForm",
hiddenId: "competentDeptId",
textId: "competentDeptName"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
function selectCheckUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "checkerId", textId: "checkerName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
$(function () {
$('#deTail').html(initdeTail(JSON.parse('${bean.countersignDetail}')))
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
function submitFun() {
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobInside/audit.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
pass: {
validators: {
notEmpty: {
message: '会签意见不能为空。'
}
}
},
}
});
function selectDutyUser() {
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "editForm",
hiddenId: "dutyUserId",
textId: "dutyUserName",
bean: "dutyUserBean"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
function copyUserSelectsFun() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "editForm",
hiddenId: "copyUserId",
textId: "copyUserName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
function countersignUserSelectsFun() {
$.post(ext.contextPath + '/user/userForSelectByCompany.do',
{
formId: "editForm",
hiddenId: "userId",
textId: "userName"
}, function (data) {
$("#user4SelectDiv").html(data);
openModal("user4SelectModal");
});
};
function initdeTail(list) {
let temp = `<div >`
list.forEach((item, index) => {
temp += `<div><div class="AAA">` + item.deptName + `</div>`
temp += `<div class="AAA">` + item.userName + `</div>`
temp += `<div class="AAA">` + item.pass + `</div>`
temp += `<div class="AAA">` + item.time + `</div></div>`
})
temp += `</div>`
temp += ``
return temp
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 78%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">项目进行中</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人222</label>
<div class="col-sm-4 ">
<input type="text" class="form-control bor" id="createUserName"
name="createUserName" placeholder="请选择.."
value="${bean.createUserName}" readonly style="background-color: white">
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.."
value="${bean.createUserId}" readonly>
<input type="hidden" class="form-control" id="taskId" name="taskId"
placeholder="请选择.."
value="${taskId}" readonly>
<input type="hidden" class="form-control" id="bizId" name="bizId"
placeholder="请选择.."
value="${bean.id}" readonly>
</div>
<label class="col-sm-2 control-label">作业编号</label>
<div class="col-sm-4">
<input type="text" id="jobCode" name="jobCode" class="form-control bor"
placeholder="请选择.." value="${bean.jobCode}" readonly
style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-10">
<select class="form-control bor" name="jobType" id="jobType"
style="width: 100%" disabled="true" >
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> 作业地点</label>
<div class="col-sm-4 ">
<input type="text" class="form-control bor" id="jobLocation" name="jobLocation"
placeholder="请选择.." style="background-color: white"
value="${bean.jobLocation}" readonly>
</div>
<label class="col-sm-2 control-label">作业单位</label>
<div class="col-sm-4">
<input type="text" id="jobCompany" name="jobCompany" class="form-control bor"
placeholder="请选择.." style="background-color: white"
value="${bean.jobCompany}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门</label>
<div class="col-sm-4">
<input type="text" id="competentDeptName" name="competentDeptName"
class="form-control bor" readonly style="background-color: white"
placeholder="请选择.." onclick="showUnit4SelectFun();"
value="${bean.competentDeptName}" readonly style="background-color: white">
<input type="hidden" id="competentDeptId" name="competentDeptId"
class="form-control"
placeholder="请选择.."
value="${bean.competentDeptId}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">开始时间</label>
<div class="col-sm-4">
<input type="text" id="projectBeginDate" name="projectBeginDate"
class="form-control bor"
placeholder="请选择.." style="background-color: white"
value="${bean.projectBeginDate.substring(0, 10)}" readonly>
</div>
<label class="col-sm-2 control-label ">结束时间</label>
<div class="col-sm-4">
<input type="text" id="projectEndDate" name="projectEndDate"
class="form-control bor"
placeholder="请选择.." style="background-color: white"
value="${bean.projectEndDate.substring(0, 10)}" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业负责人</label>
<div class="col-sm-4">
<input type="text" id="dutyUserName" name="dutyUserName" class="form-control bor"
readonly style="background-color: white" placeholder="请选择.." onclick="selectdutyUser()" value="${bean.dutyUserName}">
<input type="hidden" id="dutyUserId" name="dutyUserId" class="form-control"
placeholder="请选择.." value="${bean.dutyUserId}" readonly>
</div>
<label class="col-sm-2 control-label">联系方式</label>
<div class="col-sm-4">
<input type="text" id="contact" name="contact" class="form-control bor"
placeholder="请选择.." readonly style="background-color: white"
value="${bean.contact}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">作业内容</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="jobContent" name="jobContent"
readonly style="background-color: white" value="${bean.jobContent}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门意见</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="competentAdvice"
name="competentAdvice" readonly style="background-color: white"
placeholder="请选择.."
value="${bean.competentAdvice}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">相关部门</label>
<div class="col-sm-10">
<input type="text" class="form-control bor" id="userName" name="countersignUserName"
placeholder="点击选择.." onclick="countersignUserSelectsFun()" readonly style="background-color: white"
value="${bean.countersignUserName}">
<input id="userId" name="countersignUserId" type="hidden"
value="${bean.countersignUserId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*会签意见</label>
<div class="col-sm-4">
<select type="text" class="form-control" id="pass" name="pass"
placeholder="点击选择.."></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">备注</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="remark" name="remark"
placeholder="点击选择..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">查看其它会签意见</label>
<div id="deTail"></div>
</div>
<div class="form-group" style="margin-left: 39px">
<div id="fileList"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,210 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: white;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: white;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeDropDownInit();
initFileList();
inittableList();
initFlowList()
});
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
function inittableList() {
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/bindListShow.do', {
bizId: '${bean.id}',
}, function (data) {
$("#tableDiv").html(data);
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 5,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}').trigger("change");
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">详情</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label ">发起人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.createUserName}</p>
</div>
<label class="col-sm-2 control-label">作业编号</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCode}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-10 ">
<select class="form-control bor" name="jobType" id="jobType"
style="width: 100%" value="${bean.jobType}" disabled="true">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> 作业地点</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.jobLocation}</p>
</div>
<label class="col-sm-2 control-label">作业单位</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCompany}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.competentDeptName}</p>
</div>
<label class="col-sm-2 control-label ">起止时间</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.projectBeginDate.substring(0, 10)}至${bean.projectEndDate.substring(0, 10)}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业负责人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.dutyUserName}</p>
</div>
<label class="col-sm-2 control-label">联系方式</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.contact}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">作业内容</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.jobContent}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门意见</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.competentAdvice}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">会签意见</label>
<div class="col-sm-4">
<p class="form-control-static">全部同意</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*相关部门</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.countersignUserName}</p>
</div>
</div>
<div class="form-group" >
<div class="col-sm-8" id="fileList"></div>
</div>
<div class="form-group" >
<div class="col-sm-8" id="tableDiv"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,386 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 30px;
}
.DDD{
list-style: none;
line-height: 30px;
}
</style>
<script type="text/javascript">
var fileList = []
$(function () {
jobTypeDropDownInit(); // 作业类型
//初始化 开始时间
$("#projectBeginDate").datepicker({
format: 'yyyy-mm-dd',
autoclose: true,
minView: 0,
language : 'zh-CN',
minuteStep:1
});
//初始化 结束时间
$("#projectEndDate").datepicker({
format: 'yyyy-mm-dd',
autoclose: true,
minView: 0,
language : 'zh-CN',
minuteStep:1
});
});
// 作业类型
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
}
var fileinput = function () {
$('#file').click();
};
var filedel = function (index) {
fileList.splice(index,1)
$('#test').html(initFileInputView())
};
var fileSelected = function () {
fileList.push(...$('#file')[0].files)
$('#test').html(initFileInputView())
};
var initFileInputView = function () {
let button = (index) => {
return `<button type="button" class="btn btn-default btn-file" style="position: fixed;right: 193px;height: 24px;width:24px;padding-top:2px;margin-top: 3px"
id="btn_save1" onclick="filedel(`+index+`)">
<i class="fa fa-trash-o" style="margin-left: -5px"></i>
</button>`
}
let temp = `<ul class="DDD">`
fileList.forEach((item, index) => {
temp += `<li>`+item.name+button(index)+`</li>`
})
temp += `<ul>`
temp += `<input type="hidden" id="fileName" class="form-control" name="fileName" readonly
style="width:650px;border:none;background-color: white"/>`
return temp
}
// 作业负责人
function selectdutyUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "addForm", hiddenId: "dutyUserId", textId: "dutyUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "addForm",
hiddenId: "competentDeptId",
textId: "competentDeptName"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
function saveFun() {
$("#addForm").data("bootstrapValidator").updateStatus("competentDeptName","NOT_VALIDATED", null).validateField("competentDeptName");
$("#addForm").data("bootstrapValidator").updateStatus("projectBeginDate","NOT_VALIDATED", null).validateField("projectBeginDate");
$("#addForm").data("bootstrapValidator").updateStatus("projectEndDate","NOT_VALIDATED", null).validateField("projectEndDate");
$("#addForm").data("bootstrapValidator").updateStatus("dutyUserName","NOT_VALIDATED", null).validateField("dutyUserName");
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobOutside/save.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
function submitFun() {
$("#addForm").bootstrapValidator('validate');//提交验证
if ($("#addForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#addForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobOutside/saveApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
$("#addForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
jobType: {
validators: {
notEmpty: {
message: '作业类型不能为空。'
}
}
},
jobLocation: {
validators: {
notEmpty: {
message: '作业地点不能为空。'
}
}
},
jobCompany: {
validators: {
notEmpty: {
message: '作业单位不能为空。'
}
}
},
competentDeptName: {
validators: {
notEmpty: {
message: '主管部门不能为空。'
}
}
},
projectBeginDate: {
validators: {
notEmpty: {
message: '开始时间不能为空。'
}
}
},
projectEndDate: {
validators: {
notEmpty: {
message: '结束时间不能为空。'
}
}
},
dutyUserName: {
validators: {
notEmpty: {
message: '作业负责人不能为空。'
}
}
},
contact: {
validators: {
notEmpty: {
message: '联系方式不能为空。'
}
}
},
jobContent: {
validators: {
notEmpty: {
message: '作业内容不能为空。'
}
}
},
competentAdvice: {
validators: {
notEmpty: {
message: '主管部门意见不能为空。'
}
}
},
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">新增</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为addForm -->
<form class="form-horizontal" id="addForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label">*作业类型</label>
<div class="col-sm-10 ">
<select class="form-control select2" name="jobType" id="jobType"
style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*作业地点</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="jobLocation" name="jobLocation"
placeholder="请输入.."/>
</div>
<label class="col-sm-2 control-label">*作业单位</label>
<div class="col-sm-4">
<input type="text" id="jobCompany" name="jobCompany" class="form-control"
placeholder="请输入..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门</label>
<div class="col-sm-10">
<input type="text" id="competentDeptName" name="competentDeptName" class="form-control"
placeholder="请选择.." readonly onclick="showUnit4SelectFun();">
<input type="hidden" id="competentDeptId" name="competentDeptId" class="form-control"
placeholder="请选择..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*开始时间</label>
<div class="col-sm-4">
<input type="text" id="projectBeginDate" name="projectBeginDate" class="form-control"
placeholder="请选择..">
</div>
<label class="col-sm-2 control-label ">*结束时间</label>
<div class="col-sm-4">
<input type="text" id="projectEndDate" name="projectEndDate" class="form-control"
placeholder="请选择..">
</div>
</div>
<div class="form-group" id="accord">
<label class="col-sm-2 control-label">*作业负责人</label>
<div class="col-sm-4 ">
<input type="text" id="dutyUserName" name="dutyUserName" class="form-control"
placeholder="请选择.." readonly onclick="selectdutyUser()">
<input type="hidden" id="dutyUserId" name="dutyUserId" class="form-control"
placeholder="请选择..">
</div>
<label class="col-sm-2 control-label">*联系方式</label>
<div class="col-sm-4 ">
<input type="text" id="contact" name="contact" class="form-control"
placeholder="请输入..">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*作业内容</label>
<div class="col-sm-10">
<textarea class="form-control" id="jobContent" name="jobContent" laceholder="请输入"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门意见</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="competentAdvice" name="competentAdvice" placeholder="请输入.."/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">附件资料:</label>
<div class="col-sm-1" style="display: flex">
<button type="button" class="btn btn-default btn-file" onclick="fileinput()"
id="btn_save"><i class="fa fa-paperclip"></i></button>
</div>
<div class="col-sm-7">
<div id="test" ></div>
</div>
</div>
<div class="form-group" style="margin:8px;">
<input type="file" name="file" id="file" multiple class="file-loading" onchange="fileSelected()"/>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" class="btn btn-primary" style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,250 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
/*.layout{*/
/* display: flex;*/
/* padding-left: 15px;*/
/*}*/
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: white;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: white;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeSubDropDownInit();
initFileList();
inittableList();
initFlowList()
});
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
function inittableList() {
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/bindListShow.do', {
bizId: '${bean.id}',
}, function (data) {
$("#tableDiv").html(data);
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 6,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function jobTypeSubDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeListSub}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}').trigger("change");
}
function closeFun() {
$.ajax({
url: ext.contextPath + "/safety/SafetyJobOutside/end.do?id=${bean.id}",
type: 'POST',
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">项目结束</h4>
</div>
<div id="educationDiv"></div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="projectBeginForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label ">发起人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.createUserName}</p>
</div>
<label class="col-sm-2 control-label">作业编号</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCode}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-8 ">
<select class="form-control" name="jobType" id="jobType"
style="width: 100%" value="${bean.jobType}" disabled="true">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> 作业地点</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.jobLocation}</p>
</div>
<label class="col-sm-2 control-label">作业单位</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCompany}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.competentDeptName}</p>
</div>
<label class="col-sm-2 control-label ">起止时间</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.projectBeginDate.substring(0, 10)}至${bean.projectEndDate.substring(0, 10)}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业负责人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.dutyUserName}</p>
</div>
<label class="col-sm-2 control-label">联系方式</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.contact}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">作业内容</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.jobContent}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门意见</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.competentAdvice}</p>
</div>
</div>
<div class="form-group" style="margin-left: 30px">
<div id="fileList"></div>
</div>
<div class="form-group" style="margin-left: 30px">
<div id="tableDiv"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="closeFun()">
结束项目
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,371 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeDropDownInit(); // 作业类型
//初始化 开始时间
$("#projectBeginDate").datepicker({
format: 'yyyy-mm-dd',
autoclose: true,
minView: 0,
language: 'zh-CN',
minuteStep: 1
});
//初始化 结束时间
$("#projectEndDate").datepicker({
format: 'yyyy-mm-dd',
autoclose: true,
minView: 0,
language: 'zh-CN',
minuteStep: 1
});
initFileList(); //初始化附件
});
// 作业类型
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}'.split(",")).trigger("change");
}
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 6,
statusCode: 0
}, function (data) {
$("#fileList").html(data);
});
};
// 作业负责人
function selectdutyUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "dutyUserId", textId: "dutyUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "editForm",
hiddenId: "competentDeptId",
textId: "competentDeptName"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
// 保存
function saveFun() {
$("#editForm").data("bootstrapValidator").updateStatus("competentDeptName", "NOT_VALIDATED", null).validateField("competentDeptName");
$("#editForm").data("bootstrapValidator").updateStatus("projectBeginDate", "NOT_VALIDATED", null).validateField("projectBeginDate");
$("#editForm").data("bootstrapValidator").updateStatus("projectEndDate", "NOT_VALIDATED", null).validateField("projectEndDate");
$("#editForm").data("bootstrapValidator").updateStatus("dutyUserName", "NOT_VALIDATED", null).validateField("dutyUserName");
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobOutside/update.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 提交
function submitFun() {
$("#editForm").bootstrapValidator('validate');//提交验证
if ($("#editForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
var formData = new FormData($("#editForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobOutside/updateApply.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
closeModal('subModal');
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
}
}
// 验证
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
jobType: {
validators: {
notEmpty: {
message: '作业类型不能为空。'
}
}
},
jobLocation: {
validators: {
notEmpty: {
message: '作业地点不能为空。'
}
}
},
jobCompany: {
validators: {
notEmpty: {
message: '作业单位不能为空。'
}
}
},
competentDeptName: {
validators: {
notEmpty: {
message: '主管部门不能为空。'
}
}
},
projectBeginDate: {
validators: {
notEmpty: {
message: '开始时间不能为空。'
}
}
},
projectEndDate: {
validators: {
notEmpty: {
message: '结束时间不能为空。'
}
}
},
dutyUserName: {
validators: {
notEmpty: {
message: '作业负责人不能为空。'
}
}
},
contact: {
validators: {
notEmpty: {
message: '联系方式不能为空。'
}
}
},
jobContent: {
validators: {
notEmpty: {
message: '作业内容不能为空。'
}
}
},
competentAdvice: {
validators: {
notEmpty: {
message: '主管部门意见不能为空。'
}
}
},
}
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 46%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> *发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control" id="createUserName" name="createUserName"
placeholder="请选择.." value="${bean.createUserName}" readonly>
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
placeholder="请选择.." value="${bean.createUserId}">
</div>
<label class="col-sm-2 control-label">*作业编号</label>
<div class="col-sm-4">
<input type="text" id="jobCode" name="jobCode" class="form-control"
placeholder="请选择.." value="${bean.jobCode}" readonly>
<input type="hidden" id="id" name="id" class="form-control"
placeholder="请选择.." value="${bean.id}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*作业类型</label>
<div class="col-sm-10">
<select class="form-control" name="jobType" id="jobType" style="width: 100%">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> *作业地点</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobLocation" name="jobLocation"
placeholder="请选择.." value="${bean.jobLocation}">
</div>
<label class="col-sm-2 control-label">*作业单位</label>
<div class="col-sm-4">
<input type="text" id="jobCompany" name="jobCompany" class="form-control"
placeholder="请选择.." value="${bean.jobCompany}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门</label>
<div class="col-sm-10">
<input type="text" id="competentDeptName" name="competentDeptName" class="form-control"
placeholder="请选择.." onclick="showUnit4SelectFun();"
value="${bean.competentDeptName}" readonly>
<input type="hidden" id="competentDeptId" name="competentDeptId" class="form-control"
placeholder="请选择.." value="${bean.competentDeptId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*开始时间</label>
<div class="col-sm-4">
<input type="text" id="projectBeginDate" name="projectBeginDate" class="form-control"
placeholder="请选择.." value="${bean.projectBeginDate.substring(0, 10)}">
</div>
<label class="col-sm-2 control-label ">*结束时间</label>
<div class="col-sm-4">
<input type="text" id="projectEndDate" name="projectEndDate" class="form-control"
placeholder="请选择.." value="${bean.projectEndDate.substring(0, 10)}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*作业负责人</label>
<div class="col-sm-4">
<input type="text" id="dutyUserName" name="dutyUserName" class="form-control"
placeholder="请选择.." onclick="selectdutyUser()" readonly value="${bean.dutyUserName}">
<input type="hidden" id="dutyUserId" name="dutyUserId" class="form-control"
placeholder="请选择.." value="${bean.dutyUserId}">
</div>
<label class="col-sm-2 control-label">*联系方式</label>
<div class="col-sm-4">
<input type="text" id="contact" name="contact" class="form-control"
placeholder="请选择.." value="${bean.contact}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*作业内容</label>
<div class="col-sm-10">
<textarea class="form-control" id="jobContent" name="jobContent" laceholder="请输入">${bean.jobContent}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">*主管部门意见</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="competentAdvice" name="competentAdvice"
placeholder="请输入.." value="${bean.competentAdvice}">
</div>
</div>
<div class="form-group" style="margin-left: 19px">
<div class="col-sm-10" id="fileList"></div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="saveFun()">
保存
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="submitFun()">
提交
</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,317 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
}
.bor{
border: none;
}
.select2-container--default .select2-selection--multiple{
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice{
background-color: white;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple{
background-color: white;
}
.select2-container--default.select2-container--focus .select2-selection--multiple{
border: none;
}
</style>
<script type="text/javascript">
$(function () {
jobTypeDropDownInit(); // 作业类型
initFileList(); //初始化附件
initFlowList();//初始化时间轴
inittableList()//初始化安全培训
});
// 作业类型
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '请选择',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}'.split(",")).trigger("change");
}
// 加载附件
function initFileList() {
// SAFETY_CHECK_COMPREHENSIVE(9, "综合安全检查","ZH"),
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 6,
statusCode: 2
}, function (data) {
$("#fileList").html(data);
});
};
//加载安全培训
function inittableList() {
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/bindListShow.do', {
bizId: '${bean.id}',
}, function (data) {
$("#tableDiv").html(data);
});
};
//加载时间轴
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
// 作业负责人
function selectdutyUser() {
$.post(ext.contextPath + '/user/userForOneSelect.do',
{formId: "editForm", hiddenId: "dutyUserId", textId: "dutyUserName"},
function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "editForm",
hiddenId: "competentDeptId",
textId: "competentDeptName"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
// 验证
$("#editForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
competentAdvice: {
validators: {
notEmpty: {
message: '主管部门意见不能为空。'
}
}
},
}
});
//关联安全培训
function eductaionShow() {
$.post(ext.contextPath + '/safety/SafetyJobOutside/educationOutsiderListForJobShow.do?bizId=${bean.id}', {}, function (data) {
$("#educationDiv").html(data);
openModal('educationModal');
});
}
//开具工单
function uploadFile() {
$("#saveFile").click();
}
var fileSelected = function () {
var formData = new FormData($("#uploadForm")[0]);
$.ajax({
url: ext.contextPath + "/safety/SafetyJobOutside/saveFile.do",
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
dataType: 'json',
success: function (data) {
// console.log(data)
if (data.code == 1) {
showAlert('s', '工单资料上传成功!');
initTable()
} else {
showAlert('d', '保存失败!' + data.msg);
}
},
error: function (data) {
}
});
};
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 79%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">项目进行中</h4>
</div>
<div id="educationDiv"></div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="editForm" enctype="multipart/form-data">
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label "> 发起人</label>
<div class="col-sm-4 ">
<input type="text" class="form-control bor" id="createUserName" name="createUserName"
value="${bean.createUserName}" readonly style="background-color: white">
<input type="hidden" class="form-control" id="createUserId" name="createUserId"
value="${bean.createUserId}">
</div>
<label class="col-sm-2 control-label">作业编号</label>
<div class="col-sm-4">
<input type="text" id="jobCode" name="jobCode" class="form-control bor"
value="${bean.jobCode}" readonly style="background-color: white">
<input type="hidden" id="id" name="id" class="form-control"
value="${bean.id}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-10">
<select class="form-control bor" name="jobType" id="jobType" style="width: 100%" value="${bean.jobType}" disabled="true">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> 作业地点</label>
<div class="col-sm-4">
<input type="text" class="form-control bor" id="jobLocation" name="jobLocation"
value="${bean.jobLocation}" readonly style="background-color: white">
</div>
<label class="col-sm-2 control-label">作业单位</label>
<div class="col-sm-4">
<input type="text" id="jobCompany" name="jobCompany" class="form-control bor"
value="${bean.jobCompany}" readonly style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门</label>
<div class="col-sm-10">
<input type="text" id="competentDeptName" name="competentDeptName"
class="form-control bor" style="background-color: white"
value="${bean.competentDeptName}" readonly>
<input type="hidden" id="competentDeptId" name="competentDeptId"
class="form-control"
value="${bean.competentDeptId}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">开始时间</label>
<div class="col-sm-4">
<input type="text" id="projectBeginDate" name="projectBeginDate"
class="form-control bor" readonly style="background-color: white"
value="${bean.projectBeginDate.substring(0, 10)}">
</div>
<label class="col-sm-2 control-label ">结束时间</label>
<div class="col-sm-4">
<input type="text" id="projectEndDate" name="projectEndDate" class="form-control bor"
value="${bean.projectEndDate.substring(0, 10)}" readonly style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业负责人</label>
<div class="col-sm-4">
<input type="text" id="dutyUserName" name="dutyUserName" class="form-control bor"
readonly style="background-color: white" value="${bean.dutyUserName}">
<input type="hidden" id="dutyUserId" name="dutyUserId" class="form-control"
value="${bean.dutyUserId}">
</div>
<label class="col-sm-2 control-label">联系方式</label>
<div class="col-sm-4">
<input type="text" id="contact" name="contact" class="form-control bor"
value="${bean.contact}" readonly style="background-color: white">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">作业内容</label>
<div class="col-sm-10">
<input type="text" class="form-control bor" id="jobContent" name="jobContent"
value="${bean.jobContent}" readonly style="background-color: white" >
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门意见</label>
<div class="col-sm-10">
<input type="text" class="form-control bor" id="competentAdvice" name="competentAdvice"
value="${bean.competentAdvice}" readonly style="background-color: white" >
</div>
</div>
<div class="form-group">
<div class="col-sm-10" id="fileList"></div>
</div>
<div class="form-group">
<div class="col-sm-10" id="tableDiv"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="eductaionShow()">
关联安全培训
</button>
<button type="button" class="btn btn-primary " style="margin-left: 10px" onclick="uploadFile()">
开具工作单
</button>
</div>
<form style="display: none"
id="uploadForm" enctype="multipart/form-data">
<input type="file" id="saveFile" name="saveFile" onchange="fileSelected()"/>
<input type="hidden" name="bizId" value="${bean.id}"/>
<input type="hidden" name="functionCode" value="5"/>
<input type="hidden" name="statusCode" value="2"/>
</form>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,615 @@
<%@ 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" %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var timeRangeEnd;
var timeRangeBegin;
$(function () {
// 初始化时间起止条件
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun(); // 列表数据
jobCompanyDropDownInit(); // 作业单位
jobStatusDropDownInit(); // 作业状态
jobTypeDropDownInit(); // 作业类型
});
// 作业类型
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobTypeCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
}
// 作业单位
function jobCompanyDropDownInit() {
var select_Data = jQuery.parseJSON('${jobCompanyList}');
var select_3 = $("#jobCompanyCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val("").trigger("change");
}
// 作业状态
function jobStatusDropDownInit() {
var select_Data = jQuery.parseJSON('${jobStatusList}');
var select_3 = $("#jobStatusCondition").select2({
data: select_Data,
cache: false,
placeholder: '全部',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
templateResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
templateSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('').trigger('change');
}
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
$.post(ext.contextPath + '/safety/SafetyJobOutside/add.do', {}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyJobOutside/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/SafetyJobOutside/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/SafetyJobOutside/delete.do', {ids: id}, function (data) {
if (data.code === 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
};
var closeFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/SafetyJobOutside/endShow.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deletesFun = function () {
var checkedItems = $("#table").bootstrapTable('getSelections');
var datas = "";
var bool = false;
$.each(checkedItems, function (index, item) {
datas += item.id + ",";
if (item.jobStatus != 0) {
bool = true;
return
}
});
if (datas == "") {
showAlert('d', '请先选择记录', 'mainAlertdiv');
} else {
if (bool) {
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 + '/safety/SafetyJobOutside/delete.do', {ids: datas}, function (data) {
if (data.code == 1) {
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
}, "json");
}
});
}
}
};
var dosearchList = function () {
$("#table").bootstrapTable('refresh');
};
var companyId_rawMaterial = "";
var initFun = function () {
timeRangeEnd = null;
timeRangeBegin = null;
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/SafetyJobOutside/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
timeRangeBegin: timeRangeBegin,
timeRangeEnd: timeRangeEnd,
status: $('#statusCondition').val(),
likeString: $('#likeString').val(),
jobType: $('#jobTypeCondition').val(),
jobStatus: $('#jobStatusCondition').val(),
jobCompany: $('#jobCompanyCondition').val(),
competentDeptId: $('#competentDeptIdCondition').val(),
}
},
// sortName: 'id', // 要排序的字段
// sortOrder: 'desc', // 排序规则
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'jobCode',
title: '作业编号',
align: 'center',
valign: 'middle'
}, {
field: 'jobTypeName', // 返回json数据中的name
title: '作业类型', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'jobLocation', // 返回json数据中的name
title: '作业地点', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'jobCompany', // 返回json数据中的name
title: '作业单位', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'competentDeptName', // 返回json数据中的name
title: '主管部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
title: '起止时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
var st = "";
var en = "";
if (row.projectBeginDate) {
st = row.projectBeginDate.substring(0, 10)
}
if (row.projectEndDate) {
en = row.projectEndDate.substring(0, 10)
}
return st + " 至 " + en;
}
}, {
field: 'dutyUserName', // 返回json数据中的name
title: '作业负责人', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'jobStatusName', // 返回json数据中的name
title: '状态', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 160, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
var today = Date.parse(new Date());
var etime = Date.parse(new Date(row.projectEndDate));
// 草稿可以编辑
if (row.jobStatus == 0 || row.jobStatus == 2) {
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
}
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.id + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
if (row.createUserId == '${cu.id}' && row.jobStatus == 2 && today > etime) {
buts += '<button class="btn btn-default btn-sm" title="关闭" onclick="closeFun(\'' + row.id + '\')"><i class="fa fa-stop-circle-o"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
}
// 检查结果是不相符,且状态是完成验证的,不可以删除,审核中的状态不可以删除
if (row.jobStatus != 3 && row.jobStatus != 1 && row.jobStatus != 2) {
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.id + '\')"><i class="fa 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("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
}
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
};
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
timeRangeBegin = oldreservationtime1.substring(0, 16);
timeRangeEnd = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
timeRangeBegin = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
timeRangeEnd = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtimeD').val(timeRangeBegin + locale.separator + timeRangeEnd);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: timeRangeBegin,
endDate: timeRangeEnd
}, function (start, end, label) {
timeRangeBegin = start.format(this.locale.format);
timeRangeEnd = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "searchForm",
hiddenId: "competentDeptIdCondition",
textId: "competentDeptNameCondition"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
//时间组件清空
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<div id="unit4SelectDiv"></div>
<div id="user4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
<%-- <security:authorize buttonUrl="safety/SafetyJobOutside/add.do">--%>
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"
style="margin-right: 15px"><i
class="fa fa-plus"></i> 新增
</button>
<%-- </security:authorize>--%>
<%-- <security:authorize buttonUrl="safety/SafetyJobOutside/delete.do">--%>
<button type="button" class="btn btn-default btn-sm" onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
<%-- </security:authorize>--%>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">作业类型:</label>
<select class="form-control" name="jobType" id="jobTypeCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<label class="form-label">作业单位:</label>
<select class="form-control" name="jobCompany" id="jobCompanyCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<label class="form-label">主管部门:</label>
<input type="text" class="form-control" name="competentDeptId"
id="competentDeptNameCondition"
style="width:180px;height: 25px" onclick="showUnit4SelectFun()">
</input>
<input type="hidden" class="form-control" name="competentDeptId"
id="competentDeptIdCondition"
style="width:180px;height: 25px" onclick="showUnit4SelectFun()">
</input>
</div>
<div class="form-group">
<label class="form-label">状态:</label>
<select class="form-control" name="status" id="jobStatusCondition"
style="width:180px;height: 25px">
</select>
</div>
<div class="form-group">
<%-- <label class="form-label">日期:</label>--%>
<%-- <div class="input-group input-group-sm pull-right">--%>
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择培训日期时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="likeString" name="likeString" class="form-control pull-right"
placeholder="请输入安全检查编号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearchList();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,214 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ 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" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.select2-container--default .select2-selection--multiple {
border: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
background-color: white;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: none;
}
.form-horizontal {
padding-top: 20px;
}
.right {
margin-left: 50px;
}
.select2-container--default.select2-container--disabled .select2-selection--multiple {
background-color: white
}
</style>
<script type="text/javascript">
$(function () {
jobTypeDropDownInit();
initFileList();
inittableList();
initFlowList()
});
function initFlowList() {
$.post(ext.contextPath + '/safety/SafetyFlowTask/showList.do', {
bizId: '${bean.id}',
}, function (data) {
$("#flowDiv").html(data);
});
};
function inittableList() {
$.post(ext.contextPath + '/safety/SafetyEducationBuilder/bindListShow.do', {
bizId: '${bean.id}',
}, function (data) {
$("#tableDiv").html(data);
});
};
function initFileList() {
$.post(ext.contextPath + '/safety/SafetyFiles/fileListShow.do',
{
bizId: '${bean.id}',
functionCode: 6,
statusCode: 3,
doNotUpload: true
}, function (data) {
$("#fileList").html(data);
});
};
function jobTypeDropDownInit() {
var select_Data = jQuery.parseJSON('${jobTypeList}');
var select_3 = $("#jobType").select2({
data: select_Data,
cache: false,
placeholder: '',//默认文字提示
// allowClear: true,//允许清空
escapeMarkup: function (markup) {
return markup;
}, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
multiple: true,
formatResult: function formatRepo(repo) {
return repo.text;
}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo) {
return repo.text;
} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'});
select_3.val('${bean.jobType}').trigger("change");
}
$(function () {
//检查日期
$("#checkDate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width:78%;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">详情</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7 col-xs-13">
<!-- 新增界面formid强制为editForm -->
<form class="form-horizontal" id="viewForm" enctype="multipart/form-data" >
<div id="alertDiv"></div>
<%-- <input type="hidden" name="id" value="${user.id }" />--%>
<!-- 界面提醒div强制id为alertdiv -->
<div class="form-group">
<label class="col-sm-2 control-label ">发起人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.createUserName}</p>
</div>
<label class="col-sm-2 control-label">作业编号</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCode}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业类型</label>
<div class="col-sm-8 ">
<select class="form-control" name="jobType" id="jobType"
style="width: 100%" value="${bean.jobType}" disabled="true">
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label "> 作业地点</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.jobLocation}</p>
</div>
<label class="col-sm-2 control-label">作业单位</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.jobCompany}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.competentDeptName}</p>
</div>
<label class="col-sm-2 control-label ">起止时间</label>
<div class="col-sm-4">
<p class="form-control-static">${bean.projectBeginDate.substring(0, 10)}至${bean.projectEndDate.substring(0, 10)}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">作业负责人</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.dutyUserName}</p>
</div>
<label class="col-sm-2 control-label">联系方式</label>
<div class="col-sm-4 ">
<p class="form-control-static">${bean.contact}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">作业内容</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.jobContent}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label ">主管部门意见</label>
<div class="col-sm-8">
<p class="form-control-static">${bean.competentAdvice}</p>
</div>
</div>
<div class="form-group" style="margin-left: 30px">
<div id="fileList"></div>
</div>
<div class="form-group" style="margin-left: 30px">
<div id="tableDiv"></div>
</div>
</form>
</div>
<div class="col-md-5 col-xs-12" id="flowDiv"></div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,168 @@
<%@ page language="java" pageEncoding="UTF-8"%>
<%@page import="java.util.Date" %>
<%@page import="java.text.SimpleDateFormat" %>
<%@ page import="com.sipai.tools.SessionManager"%>
<%
SessionManager sessionManager = new SessionManager();
%>
<script type="text/javascript">
var checkedItem="";
var $table;
function doselect() {
if(checkedItem!= null && checkedItem!=""){
$('#staffId').val(checkedItem.id);
$('#username').val(checkedItem.name);
$('#sex').val(checkedItem.sex);
$('#company').val(checkedItem.company);
$('#birthday').val(checkedItem.birthday);
$('#duty').val(checkedItem.duty);
$('#jobTitle').val(checkedItem.jobTitle);
$('#usherDept').val(checkedItem.usherDept);
$('#usherId').val(checkedItem.usherId);
$('#usherName').val(checkedItem._usherName);
$('#idcard').val(checkedItem.idcard);
$('#chooseId').text("清空");
$('#chooseId').css('background','#DC1D36');
$("#username").attr("readonly", "readonly");
// $("#username").removeAttr("disabled");
closeModal("externalStaffSubModal");
}
};
//显示已经勾选的数据
function stateFormatter(value, row, index) {
var flag=false;
if(row.id=='${staffId}'){
flag=true;
checkedItem = row;
}
if (flag)
return {
checked : true//设置选中
};
return value;
}
$(function() {
$table = $("#externalStaffTable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/externalStaff/getList.do', // 获取表格数据的url
clickToSelect:true,
singleSelect:true,
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
//responseHandler:responseHandler, //在渲染页面数据之前执行的方法,此配置很重要!!!!!!!
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset/params.limit+1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
//search_code: '${companyId}',
search_name: $('#external_staff_search_name').val()
}
},
queryParamsType: "limit",
sortName: 'createTime', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [
{
checkbox: true, // 显示已勾选框
formatter: stateFormatter
},
{
field: 'name', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
},
{
field: 'sex', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
formatter: function (value, row, index) {
return value == '1' ? '男' : '女';
}
},
{
field: 'idcard', // 返回json数据中的name
title: '身份证号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
},
{
field: 'company', // 返回json数据中的name
title: '所属公司单位', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
},
],
onLoadSuccess: function(){ //加载成功时执行
adjustBootstrapTableView("externalStaffTable");
},
onLoadError: function(){ //加载失败时执行
console.info("加载数据失败");
}
})
});
//绑定选中事件、取消事件、全部选中、全部取消
$table.on('check.bs.table check-all.bs.table uncheck.bs.table uncheck-all.bs.table', function (e,rows, obj) {
if('check'==e.type){
$('#externalStaffTable .checked').removeClass("checked");
obj.parent().addClass("checked");
checkedItem = rows;
}else{
obj.parent().removeClass("checked");
checkedItem = "";
}
});
// 条件搜索
var dosearch_externalStaff = function () {
$("#externalStaffTable").bootstrapTable('refresh');
};
</script>
<div class="modal fade" id="externalStaffSubModal" >
<div class="modal-dialog modal-md" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">选择外部人员</h4>
</div>
<div class="modal-body">
<div id="alertDiv_MaintainPlanSelect"></div>
<div id="mainAlertdiv"></div>
<div id="menu4SelectDiv"></div>
<div id="modal-body">
<div class="input-group input-group-sm pull-right" style="width: 250px;margin-bottom: 5px;">
<input type="text" id="external_staff_search_name" name="external_staff_search_name" class="form-control"
placeholder="名称">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch_externalStaff();"><i class="fa fa-search"></i>
</button>
</div>
</div>
<div class="table-scrollable">
<table class="table table-bordered table-striped" style="overflow:auto;width:100%" id="externalStaffTable"></table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="doselect()">确定</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,276 @@
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 40px;
}
</style>
<script type="text/javascript">
function dosave() {
$('#subForm').data('bootstrapValidator').updateStatus('userCardId', 'NOT_VALIDATED', null).validateField('userCardId');
$('#subForm').data('bootstrapValidator').updateStatus('username', 'NOT_VALIDATED', null).validateField('username');
$('#subForm').data('bootstrapValidator').updateStatus('birthday', 'NOT_VALIDATED', null).validateField('birthday');
$('#subForm').data('bootstrapValidator').updateStatus('workTime', 'NOT_VALIDATED', null).validateField('workTime');
$('#subForm').data('bootstrapValidator').updateStatus('hiredate', 'NOT_VALIDATED', null).validateField('hiredate');
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/safety/staffArchives/save.do", $("#subForm").serialize(), function (data) {
if (data.code == 1) {
closeModal('subModal');
$("#table").bootstrapTable('refresh');
//初始化 从事岗位下拉
postPulldown();
} else {
showAlert('d', data.msg);
}
}, 'json');
}
}
//输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
userCardId: {
validators: {
notEmpty: {
message: '工号不能为空'
}
}
},
username: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
sex: {
validators: {
notEmpty: {
message: '性别不能为空'
}
}
},
birthday: {
trigger: "change",
validators: {
notEmpty: {
message: '出生日期不能为空'
}
}
},
idcard: {
validators: {
notEmpty: {
message: '身份证号不能为空'
},
regexp: {
regexp: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '身份证号格式错误'
}
}
},
workTime: {
trigger: "change",
validators: {
notEmpty: {
message: '参加工作时间不能为空'
}
}
},
hiredate: {
trigger: "change",
validators: {
notEmpty: {
message: '入职本司时间不能为空'
}
}
},
post: {
validators: {
notEmpty: {
message: '从事岗位不能为空'
}
}
},
}
});
// 初始化
$(function () {
//出生日期
$("#birthday").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//参加工作时间
$("#workTime").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//入职时间
$("#hiredate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
});
//选择姓名
function showUser4OneSelectFun() {
var userId = $("#userid").val();
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "subForm",
hiddenId: "userid",
textId: "username",
deptNameDom: "deptName",
sexDom: "sex",
userCardIdDom: "userCardId",
userId: userId
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 53%">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">新增人员信息</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label">*工号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="userCardId" name="userCardId"
placeholder="点击选择" readonly onclick="showUser4OneSelectFun();"/>
</div>
<label class="col-sm-2 control-label">*姓名</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="username" name="username" placeholder="点击选择"
readonly onclick="showUser4OneSelectFun();"/>
<input id="userid" name="userid" type="hidden" value=""/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*性别</label>
<div class="col-sm-4">
<select id="sex" name="sex" class="form-control select2" disabled>
<option value="1" selected>男</option>
<option value="0">女</option>
</select>
</div>
<label class="col-sm-2 control-label">*身份证号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="idcard" name="idcard" placeholder="身份证号"
value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*出生日期</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="birthday" name="birthday"
placeholder="请选择"/>
</div>
</div>
<label class="col-sm-2 control-label">*参加工作时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="workTime" name="workTime"
placeholder="请选择"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*入职本司时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="hiredate" name="hiredate"
placeholder="请选择"/>
</div>
</div>
<label class="col-sm-2 control-label">*所属部门:</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="deptName" name="deptName" placeholder="所属部门"
value="" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*从事岗位</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="post" name="post" placeholder="从事岗位"
value="">
</div>
<label class="col-sm-2 control-label">职务</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="duty" name="duty" placeholder="职务"
value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">职称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobTitle" name="jobTitle" placeholder="职称"
value="">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="dosave()" id="btn_save">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,284 @@
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<%@ page language="java" pageEncoding="UTF-8" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal {
padding-top: 20px;
padding-right: 40px;
}
</style>
<script type="text/javascript">
function doupdate() {
$('#subForm').data('bootstrapValidator').updateStatus('userCardId', 'NOT_VALIDATED', null).validateField('userCardId');
$('#subForm').data('bootstrapValidator').updateStatus('username', 'NOT_VALIDATED', null).validateField('username');
$('#subForm').data('bootstrapValidator').updateStatus('birthday', 'NOT_VALIDATED', null).validateField('birthday');
$('#subForm').data('bootstrapValidator').updateStatus('workTime', 'NOT_VALIDATED', null).validateField('workTime');
$('#subForm').data('bootstrapValidator').updateStatus('hiredate', 'NOT_VALIDATED', null).validateField('hiredate');
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/safety/staffArchives/update.do", $("#subForm").serialize(), function (data) {
if (data.code == 1) {
closeModal('subModal');
//初始化 从事岗位下拉
postPulldown();
// reload table
$("#table").bootstrapTable('refresh');
} else {
showAlert('d', data.msg);
}
}, 'json');
}
}
//关闭模态框时刷新表格数据
function closeModel() {
closeModal('subModal');
$("#table").bootstrapTable('refresh');
}
//输入框验证
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
userCardId: {
validators: {
notEmpty: {
message: '工号不能为空'
}
}
},
username: {
validators: {
notEmpty: {
message: '姓名不能为空'
}
}
},
sex: {
validators: {
notEmpty: {
message: '性别不能为空'
}
}
},
birthday: {
trigger: "change",
validators: {
notEmpty: {
message: '出生日期不能为空'
}
}
},
idcard: {
validators: {
notEmpty: {
message: '身份证号不能为空'
},
regexp: {
regexp: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '身份证号格式错误'
}
}
},
workTime: {
trigger: "change",
validators: {
notEmpty: {
message: '参加工作时间不能为空'
}
}
},
hiredate: {
trigger: "change",
validators: {
notEmpty: {
message: '入职本司时间不能为空'
}
}
},
post: {
validators: {
notEmpty: {
message: '从事岗位不能为空'
}
}
},
}
});
// 初始化
$(function () {
//出生日期
$("#birthday").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//参加工作时间
$("#workTime").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
//入职时间
$("#hiredate").datepicker({
language: 'zh-CN',
autoclose: true,
todayHighlight: true,
format: 'yyyy-mm-dd',
});
// 回显性别
$('#sex').val('${safetyStaffArchives.sex}');
});
//选择姓名
function showUser4OneSelectFun() {
var userId = $("#userid").val();
$.post(ext.contextPath + '/user/userForOneSelectByStructure.do', {
formId: "subForm",
hiddenId: "userid",
textId: "username",
deptNameDom: "deptName",
sexDom: "sex",
userCardIdDom: "userCardId",
userId: userId
}, function (data) {
$("#user4SelectDiv").html(data);
openModal('user4SelectModal');
});
}
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">编辑</h4>
</div>
<div class="modal-body">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<div class="form-group">
<label class="col-sm-2 control-label">*工号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="userCardId" name="userCardId"
placeholder="工号" value="${safetyStaffArchives.userCardId}" disabled/>
</div>
<label class="col-sm-2 control-label">*姓名</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="username" name="username"
value="${safetyStaffArchives.caption}" placeholder="点击选择" disabled>
<input id="userid" name="userid" type="hidden" value="${safetyStaffArchives.userid}"/>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*性别</label>
<div class="col-sm-4">
<select id="sex" name="sex" class="form-control select2" disabled>
<option value="1" selected>男</option>
<option value="0">女</option>
</select>
</div>
<label class="col-sm-2 control-label">*身份证号</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="idcard" name="idcard" placeholder="身份证号"
value="${safetyStaffArchives.idcard}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*出生日期</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="birthday" name="birthday"
placeholder="请选择" value="${safetyStaffArchives.birthday}"/>
</div>
</div>
<label class="col-sm-2 control-label">*参加工作时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="workTime" name="workTime"
placeholder="请选择" value="${safetyStaffArchives.workTime}"/>
</div>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*入职时间</label>
<div class="col-sm-4">
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input type="text" class="form-control" id="hiredate" name="hiredate"
placeholder="请选择" value="${safetyStaffArchives.hiredate}"/>
</div>
</div>
<label class="col-sm-2 control-label">*所属部门:</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="deptName" name="deptName" placeholder="所属部门"
value="${safetyStaffArchives.deptName}" disabled>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">*从事岗位</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="post" name="post" placeholder="从事岗位"
value="${safetyStaffArchives.post}">
</div>
<label class="col-sm-2 control-label">职务</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="duty" name="duty" placeholder="职务"
value="${safetyStaffArchives.duty}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">职称</label>
<div class="col-sm-4">
<input type="text" class="form-control" id="jobTitle" name="jobTitle" placeholder="职称"
value="${safetyStaffArchives.jobTitle}">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" onclick="closeModel()">关闭</button>
<button type="button" class="btn btn-primary" onclick="doupdate()" id="btn_save">保存</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>

View File

@ -0,0 +1,102 @@
<%@ page language="java" pageEncoding="UTF-8" %>
<%@page import="com.sipai.tools.CommUtil" %>
<%request.setAttribute("nowDate", CommUtil.nowDate().replaceAll("[[\\s-:punct:]]", "")); %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
</style>
<script type="text/javascript">
var control;
function initUpload(ctrlName, uploadUrl) {
control = $('#' + ctrlName);
control.fileinput({
language: 'zh', //设置语言
uploadUrl: uploadUrl, //上传的地址
uploadAsync: true, //默认异步上传
showCaption: true,//是否显示标题
showUpload: false, //是否显示上传按钮
browseClass: "btn btn-primary", //按钮样式
allowedFileExtensions: ["xls", "xlsx"], //接收的文件后缀
maxFileCount: 1,//最大上传文件数限制
previewFileIcon: '<i class="glyphicon glyphicon-file"></i>',
showPreview: false, //是否显示预览
previewFileIconSettings: {
'docx': '<i ass="fa fa-file-word-o text-primary"></i>',
'xlsx': '<i class="fa fa-file-excel-o text-success"></i>',
'xls': '<i class="fa fa-file-excel-o text-success"></i>',
'pptx': '<i class="fa fa-file-powerpoint-o text-danger"></i>',
'jpg': '<i class="fa fa-file-photo-o text-warning"></i>',
'pdf': '<i class="fa fa-file-archive-o text-muted"></i>',
'zip': '<i class="fa fa-file-archive-o text-muted"></i>',
},
//参数
uploadExtraData: function () {
var data = {
<%--"companyId": '${param.companyId}',//此处自定义传参--%>
<%--"plan_type": '${param.plan_type}'--%>
};
return data;
}
});
control.on("fileuploaded", function (event, data, previewId, index) {
if (data.response.status == true) {
closeModal('subModal');
$("#table").bootstrapTable('refresh');
//初始化 从事岗位下拉
postPulldown();
showAlert('s', data.response.msg, 'mainAlertdiv');
} else {
showAlert('d', data.response.msg);
}
});
}
$(function () {
initUpload("filelist", ext.contextPath + "/safety/staffArchives/importExcel.do");
});
//导入上传文件的数据
function importExcelFun() {
if ($("#filelist").val() == null || $("#filelist").val() == "") {
showAlert('d', '上传的文件不能为空!');
} else {
control.fileinput("upload");
}
}
</script>
<div class="modal fade" id="subModal">
<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">&times;</span></button>
<h4 class="modal-title">导入</h4>
</div>
<div class="modal-body">
<form id="importFile" name="importFile" class="form-horizontal" method="post"
enctype="multipart/form-data">
<div id="alertDiv"></div>
<div class="box-body">
<div>
<input id="filelist" name="filelist" class="file-loading" type="file" multiple
accept=".xls,.xlsx">
</div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" onclick="importExcelFun()" id="btn_save">导入</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,559 @@
<%@ 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" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%>
</title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<!-- bootstrap switch -->
<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>
<!--bootstrap-edittable 表格行内编辑 -->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-editable/css/bootstrap-editable.css"/>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-editable.js"
charset="utf-8"></script>
<script type="text/javascript"
src="<%=request.getContextPath()%>/plugins/bootstrap-editable/js/bootstrap-table-editable.js"
charset="utf-8"></script>
<style type="text/css">
.main-header {
display: none;
}
.content-header {
display: none;
}
.main-footer {
display: none;
}
.select2-container .select2-selection--single {
height: 30px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.table-hover > tbody > tr:hover {
cursor: pointer;
}
.input-clear-a {
color: white;
}
.input-content:hover + .input-clear-a {
color: #d4d4d4;
}
</style>
<script type="text/javascript">
var addFun = function () {
$("#searchForm").bootstrapValidator('validate');//提交验证
if ($("#searchForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + '/safety/staffArchives/add.do', {companyId: companyId_rawMaterial}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
};
var editFun = function (id) {
stopBubbleDefaultEvent();
$.post(ext.contextPath + '/safety/staffArchives/edit.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var viewFun = function (id) {
$.post(ext.contextPath + '/safety/staffArchives/view.do', {id: id}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
};
var deleteFun = function (id) {
stopBubbleDefaultEvent();
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 + '/safety/staffArchives/del.do', {id: id}, function (data) {
if (data == 1) {
$("#table").bootstrapTable('refresh');
//初始化 从事岗位下拉
postPulldown();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
};
var deletesFun = function () {
var checkedItems = $("#table").bootstrapTable('getSelections');
var datas = "";
$.each(checkedItems, function (index, item) {
datas += item.userid + ",";
});
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 + '/safety/staffArchives/dels.do', {ids: datas}, function (data) {
if (data > 0) {
$("#table").bootstrapTable('refresh');
//初始化 从事岗位下拉
postPulldown();
} else {
showAlert('d', '删除失败', 'mainAlertdiv');
}
});
}
});
}
};
var importFun = function () {
$.post(ext.contextPath + '/safety/staffArchives/importExcelShow.do', {}, function (data) {
$("#subDiv").html(data);
openModal('subModal');
});
}
var exportFun = function () {
var search_name = $('#search_name').val();
var search_code = $('#deptIdSearch').val() ? $('#deptIdSearch').val() : companyId_rawMaterial;
var post = $('#postParam').val();
var hiredate = $('#reservationtimeD').val();
window.open(ext.contextPath + "/safety/staffArchives/exportExcel.do?search_name=" + search_name
+ "&search_code=" + search_code
+ "&post=" + post
+ "&hiredate=" + hiredate
);
}
var dosearch = function () {
$("#table").bootstrapTable('refresh');
};
var companyId_rawMaterial = "";
$(function () {
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
companyId_rawMaterial = unitId;
//初始化 从事岗位下拉
postPulldown();
//初始化 table数据
initFun();
});
//从事岗位下拉数据
function postPulldown() {
//选择 从事岗位
$.post(ext.contextPath + "/safety/staffArchives/postPulldown.do", {}, function (data) {
$("#postParam").empty();
var selelct_ = $("#postParam").select2({
data: data,
placeholder: '请选择',//默认文字提示
allowClear: true,//允许清空
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("").trigger("change");
selelct_.on("change", function (e) {
dosearch();
});
}, 'json');
};
var initFun = function () {
$("#table").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/safety/staffArchives/getList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
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,
search_name: $('#search_name').val(),
search_code: $('#deptIdSearch').val() ? $('#deptIdSearch').val() : companyId_rawMaterial,
post: $('#postParam').val(),
hiredate: $('#reservationtimeD').val(),
}
},
sortName: 'createTime', // 要排序的字段
sortOrder: 'desc', // 排序规则
onClickRow: function (row) {//单击行事件,执行查看功能
// viewFun(row.id);
},
//detailView: true,//父子表
columns: [
{
checkbox: true, // 显示一个勾选框
}, {
field: 'userCardId', // 返回json数据中的name
title: '工号', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'deptName', // 返回json数据中的name
title: '所属部门', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
// formatter: function (value, row, index) {
// return value.substring(0, 16);
// },
}, {
field: 'caption', // 返回json数据中的name
title: '姓名', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'sexText', // 返回json数据中的name
title: '性别', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle' // 上下居中
}, {
field: 'hiredate', // 返回json数据中的name
title: '入职本司时间', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'post', // 返回json数据中的name
title: '从事岗位', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'duty', // 返回json数据中的name
title: '职务', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'jobTitle', // 返回json数据中的name
title: '职称', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
}, {
field: 'userid', // 返回json数据中的name
title: 'userid', // 表格表头显示文字
align: 'center', // 左右居中
valign: 'middle', // 上下居中
visible: false
}, {
title: "操作",
align: 'center',
valign: 'middle',
width: 120, // 定义列的宽度单位为像素px
formatter: function (value, row, index) {
var buts = '';
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editFun(\'' + row.userid + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
buts += '<button class="btn btn-default btn-sm" title="删除" onclick="deleteFun(\'' + row.userid + '\')"><i class="fa fa fa-trash-o"></i><span class="hidden-md hidden-lg">删除</span></button>';
buts += '<button class="btn btn-default btn-sm" title="查看详情" onclick="viewFun(\'' + row.userid + '\')"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg">查看详情</span></button>';
buts = '<div class="btn-group" >' + buts + '</div>';
return buts;
}
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("table");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
};
//对Date的扩展将 Date 转化为指定格式的String
//月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
//年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"H+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
};
$(function () {
initDate1();
$(".daterangepicker").css({'width': '680px'});
var flag = IsApp();
if (flag == true) {
} else {
$(".main-header").show();
$(".content-header").show();
$(".main-footer").show();
}
$('#reservationtimeD').val('');
initFun();
});
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
beginTimeStore1 = oldreservationtime1.substring(0, 16);
endTimeStore1 = oldreservationtime1.substring(19, 36);
$('#reservationtimeD').val(oldreservationtime1);
} else {
beginTimeStore1 = moment().subtract(3, 'days').format('YYYY-MM-DD');
endTimeStore1 = moment().subtract(0, 'days').format('YYYY-MM-DD');
$('#reservationtimeD').val(beginTimeStore1 + locale.separator + endTimeStore1);
}
$('#reservationtimeD').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(6, 'days'), moment().subtract(-1, 'days')],
'本月': [moment().startOf('month'), moment().endOf('month').subtract(-1, 'days')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(-1, 'days')]
},
startDate: beginTimeStore1,
endDate: endTimeStore1
}, function (start, end, label) {
beginTimeStore1 = start.format(this.locale.format);
endTimeStore1 = end.format(this.locale.format);
if (!this.startDate) {
this.element.val('');
} else {
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
};
//选择部门
var showUnit4SelectFun = function () {
$.post(ext.contextPath + '/user/showUnit4Select_Limited.do', {
formId: "searchForm",
hiddenId: "deptIdSearch",
textId: "deptNameSearch"
}, function (data) {
$("#unit4SelectDiv").html(data);
openModal("unit4SelectModal_Limited");
});
};
var timedel = function () {
$('#reservationtimeD').val('');
timeRangeEnd = null;
timeRangeBegin = null;
};
</script>
</head>
<body class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<div class="content-wrapper">
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="subEditDiv"></div>
<div id="subDetailDiv"></div>
<div id="PRDetail4SelectsDiv"></div>
<div id="user4SelectDiv"></div>
<div id="Goods4SelectsDiv"></div>
<div id="fileInputDiv"></div>
<div id="goodsAddDiv"></div>
<div id="equ4SelectDiv"></div>
<div id="fault4SelectDiv"></div>
<div id="unit4SelectDiv"></div>
<form id="searchForm">
<div>
<div class="form-group" style="padding:0;">
<div class="btn-group" style="width: 300px;padding-bottom:10px;">
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="addFun();"><i
class="fa fa-plus"></i> 新增
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="deletesFun();"><i
class="fa fa-trash-o"></i> 删除
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="importFun();"><i
class="fa fa-cloud-upload"></i>
导入
</button>
<button type="button" class="btn btn-default btn-sm" style="margin-right: 15px"
onclick="exportFun();"><i
class="fa fa-cloud-download"></i>
导出
</button>
</div>
<div class="form-group pull-right form-inline">
<div class="form-group">
<label class="form-label">所属部门:</label>
<input type="text" class="form-control" id="deptNameSearch" name="deptNameSearch"
placeholder="请选择部门.."
style="border-radius:4px;background-color:white;height: 30px"
onclick="showUnit4SelectFun();" value="${unit.name}" readonly/>
<input id="deptIdSearch" name="deptIdSearch" type="hidden" value="${unit.id}"/>
</div>
<div class="form-group">
<label class="form-label">从事岗位:</label>
<select class="form-control select2" id="postParam" name="postParam"
style="width: 180px;">
</select>
</div>
<div class="form-group">
<div class="input-group input-group-sm" style="width: 200px;">
<input type="text" autocomplete="off" class="form-control pull-left"
style="height: 30px; width: 200px; border-radius: 4px;" id="reservationtimeD"
style="width:320px;"
placeholder="请选择入职时间范围">
<a class="glyphicon glyphicon-remove btn form-control-feedback input-clear-a"
style="pointer-events: auto;"
onclick="timedel()"></a>
</div>
</div>
<div class="input-group input-group-sm" style="width: 250px;">
<input type="text" id="search_name" name="search_name" class="form-control pull-right"
placeholder="请输入姓名或工号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
</div>
</div>
</form>
<table id="table"></table>
</section>
<!-- /.content -->
</div>
</div>
</body>
<!-- 文件上传-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/css/fileinput.min.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/fileinput.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-fileinput/js/locales/zh.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/JS/commonFileUpload.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js"
charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js"
charset="utf-8"></script>
</html>

View File

@ -0,0 +1,214 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="com.sipai.entity.sparepart.SparePartCommString" %>
<style type="text/css">
.select2-container .select2-selection--single {
height: 34px;
line-height: 34px;
}
.select2-selection__arrow {
margin-top: 3px;
}
.form-horizontal{
padding-top: 20px;
padding-left: 40px;
}
</style>
<script type="text/javascript">
$(function(){
$('#table_otherDetail').bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/sparepart/rawMaterial/getRawMaterialDetailList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20,50], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
//showFooter:true,//添加页脚
sidePagination: 'server', // 设置为服务器端分页
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset/params.limit+1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
pid:'${rawMaterial.id}',
type:'${INSTOCK_OTHER}'
}
},
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
columns: [
// {
// checkbox: true, // 显示一个勾选框
// },{
// field: 'goods.name', // 返回json数据中的name
// title: '物品名称', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle', // 上下居中
// },{
// field: 'goods.model', // 返回json数据中的name
// title: '规格型号', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle', // 上下居中
// },{
// field: 'goods.brand', // 返回json数据中的name
// title: '品牌', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle' // 上下居中
// },{
// field: 'goods.unit', // 返回json数据中的name
// title: '单位', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle' // 上下居中
// },{
// field: 'rawmaterialNumber', // 返回json数据中的name
// title: '登记数量', // 表格表头显示文字
// align: 'center', // 左右居中
// valign: 'middle', // 上下居中
// editable: { //编辑列元素
// type: 'text',
// title: '数量',
// validate: function (v) {
// if (!v) return '数量不能为空';
// }
// }
// },
],
onLoadSuccess: function(){ //加载成功时执行
adjustBootstrapTableView("table_otherDetail");
},
onLoadError: function(){ //加载失败时执行
console.info("加载数据失败");
}
});
//采购时间
$("#registerDate").datetimepicker({
language:'zh-CN',
format: 'yyyy-mm-dd hh:ii',
dateFormat: 'yyyy-mm-dd',//日期显示格式
timeFormat: 'HH:mm',//时间显示格式
startView: "month", //初始化视图是‘年’
minView: 0,
maxView: "year",
minuteStep: 1,//分钟间隔1分钟
autoclose: true
}).on('changeDate', function () {});
$("#planSpotCheckCompleteTime").datetimepicker({
language:'zh-CN',
format: 'yyyy-mm-dd hh:ii',
dateFormat: 'yyyy-mm-dd',//日期显示格式
timeFormat: 'HH:mm',//时间显示格式
startView: "month", //初始化视图是‘年’
minView: 0,
maxView: "year",
minuteStep: 1,//分钟间隔1分钟
autoclose: true
}).on('changeDate', function () { });
//初始化tooltip
$('[data-toggle="tooltip"]').tooltip();
});
$(function(){
var sex='${safetyStaffArchives.sex}';
if(sex== '0'){
$('#sex').html('女');
}else if(sex == '1'){
$('#sex').html('男');
}else{
$('#sex').html('未知');
}
})
</script>
<div class="modal fade" id="subModal">
<div class="modal-dialog" style="width: 45%" >
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">人员档案管理浏览</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-12 col-xs-10">
<!-- 新增界面formid强制为subForm -->
<form class="form-horizontal" id="subForm" enctype="multipart/form-data">
<!-- 界面提醒div强制id为alertDiv -->
<div id="alertDiv"></div>
<input type="hidden" class="form-control" id="id" name="id" value="${abnormity.id}">
<input type="hidden" name="status" value="${Wait}"/>
<div class="form-group">
<label class="col-sm-2 control-label">工号</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.userCardId}</p>
</div>
<label class="col-sm-2 control-label">姓名</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.caption}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">性别</label>
<div class="col-sm-4">
<p class="form-control-static" id="sex">${safetyStaffArchives.sex}</p>
</div>
<label class="col-sm-2 control-label">身份证号</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.idcard}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">出生日期</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.birthday}</p>
</div>
<label class="col-sm-2 control-label">参加工作时间</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.workTime}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">入职时间</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.hiredate}</p>
</div>
<label class="col-sm-2 control-label">所属部门</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.deptName}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">从事岗位</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.post}</p>
</div>
<label class="col-sm-2 control-label">职务</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.duty}</p>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">职称</label>
<div class="col-sm-4">
<p class="form-control-static">${safetyStaffArchives.jobTitle}</p>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭
</button>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,235 @@
<%@ page language="java" pageEncoding="UTF-8" %>
<%@ page import="com.sipai.tools.SessionManager" %>
<%
SessionManager sessionManager = new SessionManager();
%>
<%@page import="com.sipai.entity.scada.MPoint" %>
<%request.setAttribute("Flag_Enable", MPoint.Flag_Enable);%>
<%request.setAttribute("Flag_Disable", MPoint.Flag_Disable);%>
<script type="text/javascript">
var $table;
var companyId = "";
var checkedItem = "";
var doSearchUser = function () {
$("#table_user").bootstrapTable('refresh');
};
function doselect(dialog, grid) {
$.post(ext.contextPath + '/user/getUsersByIds.do', {userIds: checkedItem.id}, function (resp) {
console.log(resp)
$('#${param.formId} #${param.hiddenId}').val(resp[0].id);
$('#${param.formId} #${param.textId}').val(resp[0].caption);
if(`${param.deptNameDom}` != ""){
$('#${param.formId} #${param.deptNameDom}').val(resp[0]._pname);
}
if(`${param.sexDom}` != ""){
$('#${param.formId} #${param.sexDom}').val(resp[0].sex);
}
if(`${param.userCardIdDom}` != ""){
$('#${param.formId} #${param.userCardIdDom}').val(resp[0].userCardId);
}
if(`${param.bean}` != ""){
$('#${param.formId} #${param.bean}').val(JSON.stringify(resp[0])).trigger("change");
}
closeModal("user4SelectModal");
}, 'json');
};
//显示已经勾选的数据
function stateFormatter(value, row, index) {
var flag = false;
if (row.id == '${userId}') {
flag = true;
checkedItem = "";
}
if (flag)
return {
checked: true//设置选中
};
return value;
}
function queryParams(params) {
var temp = {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order, // 排序规则
pid: companyId,
search_name: $('#search_name_user').val(),
search_pid: companyId
};
return temp;
}
$(function () {
$("#search_name_user").keyup(function () {
if (event.keyCode == 13) {
event.preventDefault();
//回车查询
doSearchUser();
event.stopPropagation();
}
});
//简易公司combotree
$.post(ext.contextPath + '/user/getAllCompanyForTree.do', {ng: ''}, function (data) {
if ((data.length == 1 && data.nodes != "") || data.length > 1) {
$('#companiestree').treeview({
data: data,
showBorder: false,
levels: 3,
});
$('#companiestree').on('nodeSelected', function (event, data) {
// $("#search_userPid").val(data.id);
$("#coname_input").val(data.text);
document.getElementById('user_tree').style.display = "none";
companyId = data.id;
doSearchUser();
});
}
}, 'json');
//防止点击树的+号收起下拉框
$("#user_tree").on("click", function (e) {
event.stopPropagation();
});
//点击空白隐藏树
$(document).click(function (e) {
var divTree = $('#user_tree'); // 设置目标区域
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
divTree.hide()
}
});
$table = $("#table_user").bootstrapTable({ // 对应table标签的id
// url: ext.contextPath + '/user/getUsers.do', // 获取表格数据的url
url: ext.contextPath + '/user/getUserForSelects.do', // 获取表格数据的url
//cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
clickToSelect: true,
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
//responseHandler:responseHandler, //在渲染页面数据之前执行的方法,此配置很重要!!!!!!!
queryParams: queryParams,
queryParamsType: "limit",
sortName: 'id', // 要排序的字段
sortOrder: 'desc', // 排序规则
/* showColumns: true,
showRefresh: true, */
columns: [
{
checkbox: true, // 显示一个勾选框
formatter: stateFormatter
}, {
field: 'userCardId',
title: "工号",
align: 'center',
valign: 'middle',
width: '30%'
}, {
field: 'caption',
title: "姓名",
align: 'center',
valign: 'middle',
width: '30%'
}, {
field: '_pname',
title: "部门",
align: 'center',
valign: 'middle',
width: '70%'
}
],
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("table_user");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
});
//绑定选中事件、取消事件、全部选中、全部取消
$table.on('check.bs.table check-all.bs.table uncheck.bs.table uncheck-all.bs.table', function (e, rows, obj) {
if ('check' == e.type) {
$('#table_user .checked').removeClass("checked");
obj.parent().addClass("checked");
checkedItem = rows;
} else {
obj.parent().removeClass("checked");
checkedItem = "";
}
});
});
</script>
<div class="modal fade" id="user4SelectModal">
<div class="modal-dialog modal-md" style="width: 800px;">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">选择人员</h4>
</div>
<div class="modal-body">
<div id="mpoint_mainAlertdiv"></div>
<div id="menu4SelectDiv"></div>
<div id="modal-body">
<div class="form-inline">
<div class="form-group">
<input type="hidden" id="jobIds" name="jobIds" class="form-control" placeholder="职位Ids"
value="${jobIds }">
<ul id="companyForUserSelect" style="list-style-type:none;padding-left:0px;width:260px;">
<li class="dropdown" style="width:260px;">
<!-- Menu toggle button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
style="width:260px;"
onclick="document.getElementById('user_tree').style.display = 'block';">
<div class="input-group">
<span class="input-group-addon"
style="height:34px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">公司:</span>
<input class="form-control " id="coname_input" name="coname_input"
placeholder="请选择"
style="height:34px;width: 200px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;"
readonly/>
</div><!-- /input-group -->
</a>
<ul id="user_tree" class="dropdown-menu" data-stopPropagation="true">
<li class="header">
<div id="companiestree" style="width: 250px;height:300px; overflow:auto;"></div>
</li>
</ul>
</li>
</ul>
</div>
<div class="input-group input-group-sm pull-right" style="width: 250px;">
<input type="text" id="search_name_user" name="search_name_user" class="form-control"
placeholder="姓名或工号">
<div class="input-group-btn">
<button class="btn btn-default" onclick="doSearchUser();"><i class="fa fa-search"></i>
</button>
</div>
</div>
</div>
<div class="table-scrollable">
<%--<table class="table table-bordered table-striped" style="overflow:auto;width:100%"
id="table_user"></table>--%>
<table id="table_user"></table>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary " onclick="doselect()" id="btn_save">确定</button>
</div>
</div>
<!-- /.modal-content -->
</div>
<!-- /.modal-dialog -->
</div>