first commit
This commit is contained in:
135
WebRoot/jsp/report/customReportAdd.jsp
Normal file
135
WebRoot/jsp/report/customReportAdd.jsp
Normal file
@ -0,0 +1,135 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<%@page import="com.sipai.entity.report.CustomReport"%>
|
||||
<% request.setAttribute("Type_group", CustomReport.Type_group);%>
|
||||
<% request.setAttribute("Type_sys", CustomReport.Type_sys);%>
|
||||
<% request.setAttribute("Type_user", CustomReport.Type_user);%>
|
||||
<% request.setAttribute("frequencyType_min", CustomReport.frequencyType_min);%>
|
||||
<% request.setAttribute("frequencyType_hour", CustomReport.frequencyType_hour);%>
|
||||
<% request.setAttribute("frequencyType_day", CustomReport.frequencyType_day);%>
|
||||
<% request.setAttribute("frequencyType_month", CustomReport.frequencyType_month);%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/customReport/save.do", $("#subForm").serialize(), function(result) {
|
||||
console.log(result);
|
||||
var data= $.parseJSON(result);
|
||||
if (data.code == 1) {
|
||||
initTreeView();
|
||||
// showAlert('s','保存成功');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
function doTypeChange(){
|
||||
var value=$('#type').val();
|
||||
if(value=='0'){
|
||||
$('#frequencyShow').hide();
|
||||
}else{
|
||||
$('#frequencyShow').show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$('#frequencyShow').hide();
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" >
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">新增</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="unitId" name="unitId" type="hidden" value="${param.unitId}"/>
|
||||
<input id="pid" name="pid" type="hidden" value="${param.pid}"/>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<div id="menu4SelectDiv"></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="name" name ="name" placeholder="名称" value="">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">类型</label>
|
||||
<div class="col-sm-4" style="padding-top: 7px;">
|
||||
<input id="type" name="type" type="hidden" value="${param.type}"/>
|
||||
<c:if test="${param.type==Type_group}">节点</c:if>
|
||||
<c:if test="${param.type==Type_sys}">系统方案</c:if>
|
||||
<c:if test="${param.type==Type_user}">个人方案</c:if>
|
||||
<!-- <select id ="type" name="type" class="form-control select2" onchange="doTypeChange()">
|
||||
<option value="${Type_group}" >结构</option>
|
||||
<option value="${Type_sys}" >系统方案</option>
|
||||
<option value="${Type_user}" >个人方案</option>
|
||||
</select> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="frequencyShow">
|
||||
<label class="col-sm-2 control-label">频率类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select id ="frequencytype" name="frequencytype" class="form-control select2">
|
||||
<option value="${frequencyType_min}" >分钟</option>
|
||||
<option value="${frequencyType_hour}" >小时</option>
|
||||
<option value="${frequencyType_day}" >天</option>
|
||||
<option value="${frequencyType_month}" >月</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">频率数值</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="frequency" name ="frequency" value="">
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${param.type!=Type_group}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">计算方式</label>
|
||||
<div class="col-sm-4">
|
||||
<select id ="calculation" name="calculation" class="form-control select2">
|
||||
<option value="first" >首值</option>
|
||||
<option value="avg" >均值</option>
|
||||
<option value="max" >最大值</option>
|
||||
<option value="min" >最小值</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="morder" name ="morder" placeholder="顺序" value="">
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
343
WebRoot/jsp/report/customReportEdit.jsp
Normal file
343
WebRoot/jsp/report/customReportEdit.jsp
Normal file
@ -0,0 +1,343 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<%@page import="com.sipai.entity.report.CustomReport"%>
|
||||
<% request.setAttribute("Type_group", CustomReport.Type_group);%>
|
||||
<% request.setAttribute("Type_sys", CustomReport.Type_sys);%>
|
||||
<% request.setAttribute("Type_user", CustomReport.Type_user);%>
|
||||
<% request.setAttribute("frequencyType_min", CustomReport.frequencyType_min);%>
|
||||
<% request.setAttribute("frequencyType_hour", CustomReport.frequencyType_hour);%>
|
||||
<% request.setAttribute("frequencyType_day", CustomReport.frequencyType_day);%>
|
||||
<% request.setAttribute("frequencyType_month", CustomReport.frequencyType_month);%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var unitId = '${param.unitId}'
|
||||
var showMenu4SelectFun = function() {
|
||||
$.post(ext.contextPath + '/user/showMenu4Select.do', {formId:"subForm",hiddenId:"pid",textId:"_pname"} , function(data) {
|
||||
$("#menu4SelectDiv").html(data);
|
||||
openModal("menu4SelectModal")
|
||||
});
|
||||
};
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/customReport/update.do", $("#subForm").serialize(), function(result) {
|
||||
var data= $.parseJSON(result);
|
||||
if (data.code == 1) {
|
||||
initTreeView();
|
||||
//showAlert('s','保存成功');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
function dodel() {
|
||||
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 + '/report/customReport/delete.do', $("#subForm").serialize(), function(result) {
|
||||
// var data= $.parseJSON(result);
|
||||
if(result.code==1){
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d',result.msg);
|
||||
}
|
||||
},'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
function delMpointFun(id) {
|
||||
swal({
|
||||
text: "您确定要删除此记录?",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function(willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/report/customReportMPoint/delete.do', {id:id}, function(data) {
|
||||
if(data.code==1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','alertDiv');
|
||||
}
|
||||
},'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
var addMpointFun = function() {
|
||||
$.post(ext.contextPath + '/report/customReportMPoint/add.do', {pid:'${customReport.id}'} , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('addsubModal');
|
||||
//ComponentsDateTimePickers.init();
|
||||
});
|
||||
};
|
||||
var editMpointFun = function(id) {
|
||||
$.post(ext.contextPath + '/report/customReportMPoint/edit.do', {unitId:unitId,id:id,pid:'${customReport.id}'} , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
//ComponentsDateTimePickers.init();
|
||||
});
|
||||
};
|
||||
|
||||
function addProgrammeFun(){
|
||||
$.post(ext.contextPath + '/report/customReportMPoint/addSYScustomReport.do', {unitId:unitId,pid:'${customReport.id}'} , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('programmeSubModal');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
var addMpointFuns = function(pid) {
|
||||
$.post(ext.contextPath + '/report/customReportMPoint/showlistForSelects.do',{pid:'${customReport.id}'},function(data) {
|
||||
$("#mpSubDiv").html(data);
|
||||
openModal('mpSubModal');
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
$(function() {
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/customReportMPoint/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [5, 10,15], // 设置页面可以显示的数据条数
|
||||
pageSize: 5, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset/params.limit+1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order, // 排序规则
|
||||
pid:'${customReport.id}',
|
||||
unitId:unitId
|
||||
}
|
||||
},
|
||||
sortName: 'morder', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '测量点编号', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function(value,row,index){
|
||||
return value==null?'':value.mpointcode;
|
||||
},
|
||||
},{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '测量点名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function(value,row,index){
|
||||
return value==null?'':value.parmname;
|
||||
},
|
||||
},{
|
||||
field: 'eName', // 返回json数据中的name
|
||||
title: '别名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
},{
|
||||
field: 'morder', // 返回json数据中的name
|
||||
title: '顺序', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
|
||||
},{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 100, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
return '<div class="btn-group"><button class="btn btn-default btn-sm" onclick="editMpointFun(\'' + row.id + '\')"><i class="fa fa-edit"></i></button>'+
|
||||
'<button class="btn btn-default btn-sm" onclick="delMpointFun(\'' + row.id + '\')"><i class="fa fa-trash-o"></i></button></div>';
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
$(".bs-checkbox").css({'text-align':'center','vertical-align':'middle'})
|
||||
},
|
||||
onLoadError: function(){ //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
function doTypeChange(){
|
||||
var value=$('#type').val();
|
||||
if(value=='0'){
|
||||
$('#frequencyShow').hide();
|
||||
}else{
|
||||
$('#frequencyShow').show();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$(function() {
|
||||
var type='${customReport.type}';
|
||||
if(type==0){
|
||||
$('#frequencyShow').hide();
|
||||
}else{
|
||||
$('#frequencyShow').show();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" >
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">详情</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
<a onclick="dodel()" class="btn btn-box-tool" data-toggle="tooltip" title="删除"><i class="glyphicon glyphicon-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${customReport.id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${customReport.unitId}"/>
|
||||
<input id="pid" name="pid" type="hidden" value="${customReport.pid}"/>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<div id="menu4SelectDiv"></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="name" name ="name" placeholder="名称" value="${customReport.name}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">类型</label>
|
||||
<div class="col-sm-4">
|
||||
<c:if test="${customReport.type==Type_group}"><span style="line-height: 34px;">节点</span></c:if>
|
||||
<c:if test="${customReport.type!=Type_group}">
|
||||
<select id ="type" name="type" class="form-control select2" onchange="doTypeChange()">
|
||||
<%-- <option value="${Type_group}" <c:if test="${customReport.type==Type_group }">selected</c:if>>节点</option>--%>
|
||||
<option value="${Type_sys}" <c:if test="${customReport.type==Type_sys }">selected</c:if>>系统方案</option>
|
||||
<option value="${Type_user}" <c:if test="${customReport.type==Type_user }">selected</c:if>>个人方案</option>
|
||||
</select>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="frequencyShow">
|
||||
<label class="col-sm-2 control-label">频率类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select id ="frequencytype" name="frequencytype" class="form-control select2">
|
||||
<option value="${frequencyType_min}" <c:if test="${customReport.frequencytype==frequencyType_min }">selected</c:if>>分钟</option>
|
||||
<option value="${frequencyType_hour}" <c:if test="${customReport.frequencytype==frequencyType_hour }">selected</c:if>>小时</option>
|
||||
<option value="${frequencyType_day}" <c:if test="${customReport.frequencytype==frequencyType_day }">selected</c:if>>天</option>
|
||||
<option value="${frequencyType_month}" <c:if test="${customReport.frequencytype==frequencyType_month }">selected</c:if>>月</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">频率数值</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" class="form-control" id="frequency" name ="frequency" value="${customReport.frequency}">
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${customReport.type!=Type_group}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">计算方式</label>
|
||||
<div class="col-sm-4">
|
||||
<select id ="calculation" name="calculation" class="form-control select2">
|
||||
<option value="first" <c:if test="${customReport.calculation=='first' }">selected</c:if>>首值</option>
|
||||
<option value="avg" <c:if test="${customReport.calculation=='avg' }">selected</c:if>>均值</option>
|
||||
<option value="max" <c:if test="${customReport.calculation=='max' }">selected</c:if>>最大值</option>
|
||||
<option value="min" <c:if test="${customReport.calculation=='min' }">selected</c:if>>最小值</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="morder" name ="morder" placeholder="顺序" value="${customReport.morder}">
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">测量点配置</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body ">
|
||||
<div >
|
||||
<div id="alertDiv_power"></div>
|
||||
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
|
||||
<c:if test="${customReport.type==Type_user||customReport.type==Type_sys}">
|
||||
<!-- <button type="button" class="btn btn-default" onclick="addMpointFun();"><i class="fa fa-plus"></i> 新增</button> -->
|
||||
<button type="button" class="btn btn-default" style="margin-left: 10px;" onclick="addMpointFuns();"><i class="fa fa-plus"></i> 新增</button>
|
||||
</c:if>
|
||||
</div>
|
||||
<div id="powerDiv"></div>
|
||||
<div id="menu4SelectDiv_func"></div>
|
||||
<br>
|
||||
<table id="table"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
93
WebRoot/jsp/report/customReportMPointAdd.jsp
Normal file
93
WebRoot/jsp/report/customReportMPointAdd.jsp
Normal file
@ -0,0 +1,93 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/customReportMPoint/save.do", $("#subForm").serialize(), function(result) {
|
||||
// console.log(result);
|
||||
var data= $.parseJSON(result);
|
||||
if (data.code == 1) {
|
||||
closeModal('addsubModal');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
// showAlert('s','保存成功');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
mpid: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '测量点不能为空'
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
var selectMPint = function(pid) {
|
||||
$.post(ext.contextPath + '/work/mpoint/showlistForSelect.do', {formId:'subForm',hiddenId:'mpid',codeId:'mpcode',unitId:'unitId',textId:'txt',valueId :'value',mpid:$("#mpid").val()} , function(data) {
|
||||
$("#mpSubDiv").html(data);
|
||||
openModal('mpSubModal');
|
||||
});
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
<div class="modal fade" id="addsubModal">
|
||||
<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">×</span></button>
|
||||
<h4 class="modal-title">添加测量点</h4>
|
||||
</div>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subForm -->
|
||||
<form class="form-horizontal" id="subForm">
|
||||
<input id="pid" name="pid" type="hidden" value="${param.pid}"/>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">测量点编号</label>
|
||||
<div class="col-sm-7">
|
||||
<input type="hidden" class="form-control" style="cursor: pointer" id="unitId" name="unitId" value="" >
|
||||
<input type="hidden" class="form-control" style="cursor: pointer" id="mpcode" >
|
||||
<input type="text" class="form-control" id="mpid" name ="mpointId" onclick="selectMPint('${param.pid}')" placeholder="单击选择" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">顺序</label>
|
||||
<div class="col-sm-7">
|
||||
<input type="text" class="form-control" id="morder" name ="morder" placeholder="顺序" value="">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</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="dosave()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
96
WebRoot/jsp/report/customReportMPointEdit.jsp
Normal file
96
WebRoot/jsp/report/customReportMPointEdit.jsp
Normal file
@ -0,0 +1,96 @@
|
||||
<%@ 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"%>
|
||||
<script type="text/javascript">
|
||||
|
||||
var selectMPint = function(pid) {
|
||||
$.post(ext.contextPath + '/work/mpoint/showlistForSelect.do', {formId:'subForm',hiddenId:'mpid',codeId:'mpcode',unitId:'unitId',textId:'txt',valueId :'value',mpid:$("#mpid").val()} , function(data) {
|
||||
$("#mpSubDiv").html(data);
|
||||
openModal('mpSubModal');
|
||||
});
|
||||
};
|
||||
|
||||
function doupdate() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/customReportMPoint/update.do", $("#subForm").serialize(), function(result) {
|
||||
// var data= $.parseJSON(result);
|
||||
if (result.code == 1) {
|
||||
closeModal('subModal');
|
||||
$("#box").show();
|
||||
$("#table").bootstrapTable('refresh');
|
||||
//$("#table").bootstrapTable('refresh');
|
||||
|
||||
}else{
|
||||
showAlert('d',result.res);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
mpid: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '测量点不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="modal fade" id="subModal">
|
||||
<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">×</span></button>
|
||||
<h4 class="modal-title">编辑测量点</h4>
|
||||
</div>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subForm -->
|
||||
<form class="form-horizontal" id="subForm">
|
||||
<input type="hidden" class="form-control" id="id" name="id" value="${customReportMPoint.id}">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">测量点编号</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="hidden" class="form-control" style="cursor: pointer" id="unitId" name="unitId" value="${customReportMPoint.unitId}" >
|
||||
<input type="hidden" class="form-control" style="cursor: pointer" id="mpcode" >
|
||||
<input type="text" class="form-control" id="mpid" name ="mpointId" onclick="selectMPint('${param.pid}')" placeholder="单击选择" value="${customReportMPoint.mpointId}" readonly>
|
||||
</div>
|
||||
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="morder" name ="morder" placeholder="顺序" value="${customReportMPoint.morder}">
|
||||
</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="eName" name ="eName" placeholder="别名" value="${customReportMPoint.eName}">
|
||||
</div>
|
||||
|
||||
<label class="col-sm-2 control-label">单位</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="unitText" name ="unitText" placeholder="单位" value="${customReportMPoint.unitText}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</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="doupdate()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
193
WebRoot/jsp/report/customReportManageList.jsp
Normal file
193
WebRoot/jsp/report/customReportManageList.jsp
Normal file
@ -0,0 +1,193 @@
|
||||
<%@ 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.report.CustomReport"%>
|
||||
<% request.setAttribute("Type_group", CustomReport.Type_group);%>
|
||||
<% request.setAttribute("Type_sys", CustomReport.Type_sys);%>
|
||||
<% request.setAttribute("Type_user", CustomReport.Type_user);%>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!-- <html lang="zh-CN"> -->
|
||||
<!-- BEGIN HEAD -->
|
||||
<head>
|
||||
<title><%= ServerObject.atttable.get("TOPTITLE")%></title>
|
||||
<!-- 引用页头及CSS页-->
|
||||
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
||||
<script type="text/javascript">
|
||||
var unitId='';
|
||||
var addFun = function(type) {
|
||||
var node=$('#tree').treeview('getSelected');
|
||||
var pid="";
|
||||
if(node!=null && node.length>0){
|
||||
pid=node[0].id;
|
||||
}else{
|
||||
pid="-1";
|
||||
}
|
||||
$.post(ext.contextPath + '/report/customReport/add.do', {unitId:unitId,pid:pid,type:type} , function(data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
var editFun = function(id) {
|
||||
$.post(ext.contextPath + '/report/customReport/edit.do', {unitId:unitId,id:id} , function(data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
var deleteFun = function(id) {
|
||||
swal({
|
||||
text: "您确定要删除此记录?",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function(willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/report/customReport/delete.do', {id : id}, function(data) {
|
||||
if(data==1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}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 + '/report/customReport/deletes.do', {ids:datas} , function(data) {
|
||||
if(data>0){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
var initTreeView = function() {
|
||||
$.post(ext.contextPath + '/report/customReport/getTreeList.do', {unitId:unitId} , function(data) {
|
||||
//console.info(data)
|
||||
$('#tree').treeview({data: data
|
||||
});
|
||||
$('#tree').on('nodeSelected', function(event, data) {
|
||||
editFun(data.id);
|
||||
//var node=$('#tree').treeview('getSelected');
|
||||
});
|
||||
},'json');
|
||||
$("#menuBox").html("");
|
||||
};
|
||||
$(function() {
|
||||
unitId=unitId;
|
||||
initTreeView();
|
||||
console.log('${cu.id}')
|
||||
if ('${cu.id}' !== 'emp01') {
|
||||
document.getElementById('jD').style.display = 'none';
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="mpSubDiv"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">方案列表</h3>
|
||||
|
||||
<div class="box-tools">
|
||||
<button type="button" id="jD" class="btn btn-box-tool" onclick="addFun('${Type_group}');"><i class="fa fa-plus">节点</i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-box-tool" onclick="addFun('${Type_user}');"><i class="fa fa-plus">个人方案</i>
|
||||
</button>
|
||||
<button type="button" class="btn btn-box-tool" onclick="addFun('${Type_sys}');"><i class="fa fa-plus">系统方案</i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:550px;overflow:auto;"></div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9" id="menuBox">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
521
WebRoot/jsp/report/customReportManageView.jsp
Normal file
521
WebRoot/jsp/report/customReportManageView.jsp
Normal file
@ -0,0 +1,521 @@
|
||||
<%@ 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>
|
||||
<script type="text/javascript">
|
||||
var showProgrammeReportView = function () {
|
||||
var id = $('#report_id').val();
|
||||
var oldreservationtime1 = $('#reservationtime1').val();
|
||||
var oldmpids = $('#mpids').val();
|
||||
var frequencytype = $('#frequencyType').val();
|
||||
var frequency = $('#frequency').val();
|
||||
var calculation = $('#calculation').val();
|
||||
$.post(ext.contextPath + '/report/customReport/view.do', {
|
||||
unitId: hiddenUnitId,
|
||||
programmeId: id,
|
||||
oldmpids: oldmpids,
|
||||
oldreservationtime1: oldreservationtime1,
|
||||
frequencytype: frequencytype,
|
||||
frequency: frequency,
|
||||
calculation: calculation,
|
||||
}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var elementArr = new Array();
|
||||
|
||||
var showMPReportView = function (mpid, $element) {
|
||||
// console.log($element);
|
||||
// console.log($element[0].style);
|
||||
// $('.info').removeClass('info');//移除class
|
||||
$($element).addClass('info');//添加class
|
||||
elementArr.push($element);
|
||||
var oldmpids = $('#mpids').val();
|
||||
var oldreservationtime1 = $('#reservationtime1').val();
|
||||
var frequencytype = $('#frequencyType2').val();
|
||||
var frequency = $('#frequency2').val();
|
||||
var calculation = $('#calculation2').val();
|
||||
|
||||
if (oldmpids != '') {
|
||||
$('#mpids').val(oldmpids)
|
||||
}
|
||||
if (calculation != '') {
|
||||
$('#calculation2').val(calculation)
|
||||
}
|
||||
if (frequency != '') {
|
||||
$('#frequency2').val(frequency)
|
||||
} else {
|
||||
$('#frequency2').val('')
|
||||
}
|
||||
if (oldreservationtime1 != '') {
|
||||
$('#reservationtime1').val(oldreservationtime1)
|
||||
}
|
||||
if (frequencytype != '') {
|
||||
$('#frequencyType2').val(frequencytype)
|
||||
}
|
||||
|
||||
$.post(ext.contextPath + '/report/customReport/view.do', {
|
||||
unitId: hiddenUnitId,
|
||||
mpid: mpid,
|
||||
oldmpids: oldmpids,
|
||||
oldreservationtime1: oldreservationtime1,
|
||||
frequencytype: frequencytype,
|
||||
frequency: frequency,
|
||||
calculation: calculation
|
||||
}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var initProgrammeTreeView = function () {
|
||||
$.post(ext.contextPath + '/report/customReport/getTreeViewList.do', {unitId: hiddenUnitId}, function (data) {
|
||||
// console.log(data)
|
||||
if (data.length > 0) {
|
||||
$("#report_id").val(data[0].id);
|
||||
// $("#report_input").val(data[0].text);
|
||||
$("#reportName").text(data[0].text);
|
||||
$("#frequencyType2").val(data[0].frequencytype);
|
||||
$("#frequency2").val(data[0].frequency);
|
||||
$("#calculation2").val(data[0].calculation);
|
||||
// initProgrammeListView(data[0].id);
|
||||
$('#reporttree').treeview({
|
||||
data: data,
|
||||
showBorder: false,
|
||||
levels: 2,
|
||||
});
|
||||
} else {
|
||||
$("#report_id").val("");
|
||||
$("#report_input").val("");
|
||||
$("#reportName").text("");
|
||||
$("#reporttree").html("");
|
||||
initProgrammeListView("");
|
||||
}
|
||||
|
||||
$('#reporttree').on('nodeSelected', function (event, data) {
|
||||
console.log(data)
|
||||
$('#mpids').val("");
|
||||
// sessionStorage.setItem("hmpids", "")
|
||||
$("#viewtable").bootstrapTable("removeAll");
|
||||
$("#viewtable").html('');
|
||||
$('.info').removeClass('info');//移除蓝色背景
|
||||
elementArr.splice(0, elementArr.length);//清空数组
|
||||
|
||||
$("#report_id").val(data.id);
|
||||
$("#report_input").val(data.text);
|
||||
$("#reportName").text(data.text);
|
||||
$("#frequencyType").val(data.frequencytype);
|
||||
$("#frequency").val(data.frequency);
|
||||
$("#calculation").val(data.calculation);
|
||||
// sessionStorage.setItem("calculation2", data.calculation)
|
||||
// sessionStorage.setItem("frequency2", data.frequency)
|
||||
// sessionStorage.setItem("frequencytype", data.frequencytype)
|
||||
// sessionStorage.setItem("hmpids", "")
|
||||
// sessionStorage.setItem("frequencyType2", "0")
|
||||
// sessionStorage.setItem("chooseDataContent", "")
|
||||
// sessionStorage.setItem("chooseDataNum", "0")
|
||||
|
||||
document.getElementById('report_tree').style.display = "none";
|
||||
initProgrammeListView(data.id);
|
||||
showProgrammeReportView();
|
||||
});
|
||||
|
||||
// if (data.length > 0) {
|
||||
// showfirstView(data[0]);
|
||||
// }
|
||||
}, 'json');
|
||||
// $("#menuBox").html("");
|
||||
};
|
||||
|
||||
//点击空白隐藏树
|
||||
$(document).click(function (e) {
|
||||
var divTree = $('#report_tree'); // 设置目标区域
|
||||
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
|
||||
divTree.hide()
|
||||
}
|
||||
});
|
||||
|
||||
function showfirstView(data) {
|
||||
if (data.type == '1' || data.type == '2') {
|
||||
$("#report_id").val(data.id);
|
||||
$("#report_input").val(data.text);
|
||||
$("#reportName").text(data.text);
|
||||
$("#frequencyType2").val(data.frequencytype);
|
||||
$("#frequency2").val(data.frequency);
|
||||
$("#calculation2").val(data.calculation);
|
||||
initProgrammeListView(data.id);
|
||||
showProgrammeReportView();
|
||||
} else {
|
||||
if (data.nodes.length > 0) {
|
||||
showfirstView(data.nodes[0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var initProgrammeListView = function (id) {
|
||||
$('#programmetable').bootstrapTable('destroy');
|
||||
$("#programmetable").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/customReportMPoint/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [5, 10, 15], // 设置页面可以显示的数据条数
|
||||
pageSize: 5, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order, // 排序规则
|
||||
pid: id,
|
||||
unitId: hiddenUnitId
|
||||
}
|
||||
},
|
||||
rowStyle: function (row, index) {
|
||||
//这里有5个取值代表5中颜色['active', 'success', 'info', 'warning', 'danger'];
|
||||
return {classes: 'info'}
|
||||
},
|
||||
sortName: 'morder', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '测量点编号', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function (value, row, index) {
|
||||
return value == null ? '' : value.mpointcode;
|
||||
},
|
||||
}, {
|
||||
field: 'eName', // 返回json数据中的name
|
||||
title: '别名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function (value, row, index) {
|
||||
return value === '' ? row.mPoint.parmname : value;
|
||||
},
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("programmetable");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
onClickRow: function (row, $element) {
|
||||
showMPReportView(row.mPoint.id, $element);
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
var initMpListView = function () {
|
||||
$('#mptable').bootstrapTable('destroy');
|
||||
$("#mptable").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/work/mpoint/getlist.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [20, 30, 50], // 设置页面可以显示的数据条数
|
||||
pageSize: 20, // 页面数据条数
|
||||
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: $('#mpsearch_name').val(),
|
||||
companyId: hiddenUnitId
|
||||
}
|
||||
},
|
||||
sortName: 'id', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: 'mpointcode', // 返回json数据中的name
|
||||
title: '测量点编号', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
}, {
|
||||
field: 'parmname', // 返回json数据中的name
|
||||
title: '测量点名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("mptable");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
onClickRow: function (row, $element) {
|
||||
showMPReportView(row.id, $element);
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
var hiddenUnitId = "";
|
||||
var urlUnitId = "${param.urlUnitId}";//通过路径地址传参,直接显示该测量点
|
||||
$(function () {
|
||||
sessionStorage.clear();
|
||||
$("#company").hide();
|
||||
var chooseunitId = "";
|
||||
if (urlUnitId != '' && urlUnitId.length > 0) {
|
||||
chooseunitId = urlUnitId;
|
||||
hiddenUnitId = urlUnitId;
|
||||
} else {
|
||||
chooseunitId = unitId;
|
||||
}
|
||||
// initMpListView();
|
||||
|
||||
var windowghight = $(window).height();
|
||||
windowghight = windowghight - 30;
|
||||
$('#leftBox').attr("style", "height:" + windowghight + "px;overflow-x:visible;padding:0px;");
|
||||
//简易公司combotree
|
||||
$.post(ext.contextPath + '/user/getUnitForTreeFromTop.do', {unitId: chooseunitId}, function (data) {
|
||||
if (data.length == 1 && !data[0].hasOwnProperty("nodes")) {
|
||||
// 当登陆者的pid以下没有子节点时显示单独一个span
|
||||
$("#hiddenUnitId").val(data[0].id);
|
||||
$("#companyselect").hide();
|
||||
$("#company").show();
|
||||
$("#company").text("公 司:" + data[0].text);
|
||||
hiddenUnitId = data[0].id;
|
||||
// initProgrammeTreeView();
|
||||
|
||||
initMpListView();
|
||||
//initFun();
|
||||
} else if ((data.length == 1 && data.nodes != "") || data.length > 1) {
|
||||
//第一次加载时赋值
|
||||
$("#hiddenUnitId").val(data[0].id);
|
||||
$("#cname_input").val(data[0].text);
|
||||
hiddenUnitId = data[0].id;
|
||||
|
||||
// initProgrammeTreeView();
|
||||
initMpListView();
|
||||
//initFun();
|
||||
//$table.bootstrapTable('refresh');//异步加载重新刷新,待修改
|
||||
$('#companytree').treeview({
|
||||
data: data,
|
||||
showBorder: false,
|
||||
levels: 3,
|
||||
});
|
||||
$('#companytree').on('nodeSelected', function (event, data) {
|
||||
$("#hiddenUnitId").val(data.id);
|
||||
$("#cname_input").val(data.text);
|
||||
document.getElementById('ul_tree').style.display = "none";
|
||||
hiddenUnitId = data.id;
|
||||
initProgrammeTreeView();
|
||||
initMpListView();
|
||||
//initFun();
|
||||
});
|
||||
} else {
|
||||
//待完善
|
||||
}
|
||||
;
|
||||
}, 'json');
|
||||
//防止点击树的+号收起下拉框
|
||||
$("#ul_tree").on("click", function (e) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
//点击空白隐藏树
|
||||
$(document).click(function (e) {
|
||||
var divTree = $('#ul_tree'); // 设置目标区域
|
||||
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
|
||||
divTree.hide()
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini" style="overflow: auto;">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<%-- <section class="content-header">--%>
|
||||
<%-- <h1 id="head_title"></h1>--%>
|
||||
<%-- <ol class="breadcrumb">--%>
|
||||
<%-- <li><a id='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>--%>
|
||||
<%-- <!-- <li class="active">Here</li> -->--%>
|
||||
<%-- </ol>--%>
|
||||
<%-- </section>--%>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="mpSubDiv"></div>
|
||||
|
||||
<div id="leftBox" class="col-md-3">
|
||||
<div class="box box-solid"
|
||||
style="height: 100%;padding-top:5px;padding-left:5px;margin-bottom: 0px;overflow: auto;">
|
||||
|
||||
<input id="hiddenUnitId" name="hiddenUnitId" type="hidden"/>
|
||||
<!-- </div> -->
|
||||
<label class="form-label" id="company"
|
||||
style="margin-left:39px;border: none;background: transparent;"></label>
|
||||
<ul id="companyselect" style="list-style-type:none;padding-left:0px;width:300px;">
|
||||
<li class="dropdown" style="width:300px;">
|
||||
<!-- Menu toggle button -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
|
||||
style="width:300px;"
|
||||
onclick="document.getElementById('ul_tree').style.display = 'block';">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"
|
||||
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">公司:</span>
|
||||
<input class="form-control " id="cname_input" name="cname_input"
|
||||
style="height:31px;width: 218px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;"
|
||||
readonly/>
|
||||
</div><!-- /input-group -->
|
||||
</a>
|
||||
<ul id="ul_tree" class="dropdown-menu" data-stopPropagation="true">
|
||||
<li class="header">
|
||||
<div id="companytree" style="width: 275px;overflow:auto;"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="nav nav-tabs" id="myTab">
|
||||
<li class="active"><a href="#tab1" data-toggle="tab"
|
||||
index="0" aria-expanded="true">测量点清单</a></li>
|
||||
<li class=""><a href="#tab2" data-toggle="tab" index="1"
|
||||
aria-expanded="true">报表方案</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content no-padding" style="height: 100%;">
|
||||
<div class="chart tab-pane active" id="tab1"
|
||||
style="position: relative; padding:5px;">
|
||||
<div class="box box-solid" style="height: 100%;margin-bottom:0px;overflow: auto;">
|
||||
<div class="box-header with-border">
|
||||
<ul style="list-style-type:none;padding-left:0px;margin-bottom:5px;">
|
||||
<!-- Menu toggle button -->
|
||||
<div class="input-group input-group-sm" style="width: 150px;">
|
||||
<input type="text" id="mpsearch_name" name="mpsearch_name"
|
||||
class="form-control pull-right" placeholder="名称">
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-default" onclick="initMpListView();"><i
|
||||
class="fa fa-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
<h3 class="box-title">测量点清单</h3>
|
||||
|
||||
<div class="box-tools">
|
||||
<!-- <button type="button" class="btn btn-box-tool" onclick="addFun();"><i class="fa fa-plus"></i>
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
<table id="mptable"></table>
|
||||
</div>
|
||||
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
<div class=" tab-pane" id="tab2"
|
||||
style="position: relative; padding:5px;overflow:hidden;height: 100%;">
|
||||
<div class="form-group form-inline"
|
||||
style="padding-top:5px;padding-left:5px;margin-bottom: 0px;">
|
||||
<!-- <div class="form-group " style="margin-bottom:10px;"> -->
|
||||
<ul id="reportselect"
|
||||
style="list-style-type:none;padding-left:0px;width:200px;margin-bottom: 0px;">
|
||||
<li class="dropdown" style="width:200px;">
|
||||
<!-- Menu toggle button -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" style="width:200px;"
|
||||
onclick="document.getElementById('report_tree').style.display = 'block';">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon"
|
||||
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">报表方案:</span>
|
||||
<input class="form-control " id="report_input" name="report_input"
|
||||
onclick="initProgrammeTreeView()"
|
||||
style="height:31px;width: 190px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;cursor:pointer;"
|
||||
readonly/>
|
||||
</div><!-- /input-group -->
|
||||
</a>
|
||||
<ul id="report_tree" class="dropdown-menu" data-stopPropagation="true"
|
||||
style="border-color:#ccc;">
|
||||
<li class="header">
|
||||
<div id="reporttree"
|
||||
style="width: 275px;height:400px;overflow-y:scroll;overflow-x:hidden;"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- -->
|
||||
<input id="report_id" name="report_id" type="hidden"/>
|
||||
</div>
|
||||
<div class="box-header with-border">
|
||||
<input id="frequencyType" name="frequencyType" type="hidden"/>
|
||||
<input id="frequency" name="frequency" type="hidden"/>
|
||||
<input id="calculation" name="calculation" type="hidden"/>
|
||||
<!-- <a class="box-title" id="reportName" style="cursor: pointer;" onclick="showProgrammeReportView();"></a> -->
|
||||
|
||||
<div class="box-tools">
|
||||
<!-- <button type="button" class="btn btn-box-tool" onclick="addFun();"><i class="fa fa-plus"></i>
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
<table id="programmetable"></table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9" id="menuBox">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="input-group" style="padding-left: 5px;padding-top: 5px;">
|
||||
<span class="input-group-addon"
|
||||
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">曲线方案:</span>
|
||||
<input class="form-control " id="reporttree" name="reporttree"
|
||||
style="height:31px;width: 220px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;cursor:pointer;"
|
||||
readonly />
|
||||
</div> -->
|
||||
|
||||
|
||||
<%-- <!-- /.box-body -->--%>
|
||||
<%-- </div>--%>
|
||||
|
||||
<%-- </div>--%>
|
||||
|
||||
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
<!-- 引入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>
|
||||
607
WebRoot/jsp/report/customReportView.jsp
Normal file
607
WebRoot/jsp/report/customReportView.jsp
Normal file
@ -0,0 +1,607 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
<%@page import="com.sipai.entity.report.CustomReport" %>
|
||||
<% request.setAttribute("Type_group", CustomReport.Type_group);%>
|
||||
<% request.setAttribute("Type_sys", CustomReport.Type_sys);%>
|
||||
<% request.setAttribute("Type_user", CustomReport.Type_user);%>
|
||||
<% request.setAttribute("frequencyType_min", CustomReport.frequencyType_min);%>
|
||||
<% request.setAttribute("frequencyType_hour", CustomReport.frequencyType_hour);%>
|
||||
<% request.setAttribute("frequencyType_day", CustomReport.frequencyType_day);%>
|
||||
<% request.setAttribute("frequencyType_month", CustomReport.frequencyType_month);%>
|
||||
<style type="text/css">
|
||||
.W120 .th-inner {
|
||||
width: 150px !important;
|
||||
}
|
||||
|
||||
.W80 .th-inner {
|
||||
width: 80px !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var beginTimeStore1 = '';
|
||||
var endTimeStore1 = '';
|
||||
var unitId = unitId;
|
||||
var colors = ['#c12e34', '#e6b600', '#0098d9', '#2b821d', '#005eaa', '#339ca8', '#cda819', '#32a487', '#f3a43b', '#60c0dd', '#d7504b', '#c6e579', '#f4e001'];
|
||||
|
||||
function initDate1() {
|
||||
//定义locale汉化插件
|
||||
beginTimeStore1 = moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm');
|
||||
endTimeStore1 = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
|
||||
|
||||
var locale = {
|
||||
"format": 'YYYY-MM-DD HH:mm',
|
||||
"separator": " ~ ",
|
||||
"applyLabel": "确定",
|
||||
"cancelLabel": "取消",
|
||||
"fromLabel": "起始时间",
|
||||
"toLabel": "结束时间'",
|
||||
"customRangeLabel": "自定义",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
||||
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
"firstDay": 1
|
||||
};
|
||||
$('#reservationtime1').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 oldreservationtime1 = "${param.oldreservationtime1}";
|
||||
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
|
||||
beginTimeStore1 = oldreservationtime1.substring(0, 16);
|
||||
endTimeStore1 = oldreservationtime1.substring(19, 35);
|
||||
$('#reservationtime1').val(oldreservationtime1);
|
||||
} else {
|
||||
$('#reservationtime1').val(beginTimeStore1 + locale.separator + endTimeStore1);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
var mpcodestr = "";
|
||||
var mpnamestr = "";
|
||||
var mpunitstr = "";
|
||||
var unitIdstr = "";
|
||||
var hmpids = "";
|
||||
var numtailstr = "";
|
||||
var chooseDataString = "";
|
||||
var chooseDataNum = 0;
|
||||
|
||||
var cNum = 0;
|
||||
var totalSize = 0;
|
||||
|
||||
$(function () {
|
||||
hmpids = "${mpids}";
|
||||
var hmpidss = hmpids.substring(0, hmpids.length - 1).split(",");
|
||||
var newmpidss = "";
|
||||
totalSize = hmpidss.length;
|
||||
if (hmpidss.length > 0) {
|
||||
for (var h = 0; h < hmpidss.length; h++) {
|
||||
if ("${param.oldmpids}".indexOf(hmpidss[h]) > -1) {
|
||||
// newmpidss+=hmpidss[h]+",";
|
||||
} else {
|
||||
newmpidss += hmpidss[h] + ",";
|
||||
}
|
||||
}
|
||||
}
|
||||
hmpids = newmpidss + "${param.oldmpids}";
|
||||
$('#mpids').val(newmpidss + "${param.oldmpids}");
|
||||
|
||||
// sessionStorage.setItem("hmpids", hmpids);
|
||||
// var viewHeight = jQuery(window).height();
|
||||
initDate1();
|
||||
getMpointJson();
|
||||
getFormValue();
|
||||
});
|
||||
|
||||
|
||||
function getFormValue() {
|
||||
// if (sessionStorage.getItem("reservationtime1")) {
|
||||
// document.getElementById('reservationtime1').value = sessionStorage.getItem("reservationtime1");
|
||||
// }
|
||||
// if (sessionStorage.getItem("frequencyType2")) {
|
||||
// document.getElementById('frequencyType2').value = sessionStorage.getItem("frequencyType2");
|
||||
// }
|
||||
// if (sessionStorage.getItem("frequency2")) {
|
||||
// document.getElementById('frequency2').value = sessionStorage.getItem("frequency2");
|
||||
// }
|
||||
// if (sessionStorage.getItem("calculation2")) {
|
||||
// document.getElementById('calculation2').value = sessionStorage.getItem("calculation2");
|
||||
// }
|
||||
// if (sessionStorage.getItem("chooseDataContent")) {
|
||||
// $("#chooseDataContent").html(sessionStorage.getItem("chooseDataContent"));
|
||||
// }
|
||||
// if (sessionStorage.getItem("chooseDataNum") != null) {
|
||||
// sessionStorage.setItem("chooseDataNum", parseInt(sessionStorage.getItem("chooseDataNum")) + chooseDataNum);
|
||||
// chooseDataNum += parseInt(sessionStorage.getItem("chooseDataNum"));
|
||||
// }
|
||||
doChooseDataSearch();
|
||||
}
|
||||
|
||||
function addJsPoint() {
|
||||
// let hmpids = sessionStorage.getItem("hmpids");
|
||||
if (hmpids) {
|
||||
let selectJsPointAndBizid = hmpids.substring(0, hmpids.length - 1).split(",");
|
||||
for (var i = 0; i < chooseDataNum; i++) {
|
||||
var m = i + 1;
|
||||
var id = "jsPoint" + m;
|
||||
var x = document.getElementById(id);
|
||||
if (x) {
|
||||
document.getElementById(id).options.length = 0;
|
||||
for (let s = 0; s < selectJsPointAndBizid.length; s++) {
|
||||
let selectJsPoint = selectJsPointAndBizid[s].split(":");
|
||||
document.getElementById("jsPoint" + m).options.add(new Option(selectJsPoint[2], selectJsPoint[0]));
|
||||
// $("#" + id).append("<option value='" + selectJsPoint[0] + "'>" + selectJsPoint[0] + "</option>");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getMpointJson() {
|
||||
var mPionts = hmpids.substring(0, hmpids.length - 1).split(",");
|
||||
// console.log(mPionts)
|
||||
for (var i = 0; i < mPionts.length; i++) {
|
||||
let m = mPionts[i].substring(0, hmpids.length - 1).split(":");
|
||||
mpcodestr += m[0] + ",";
|
||||
mpunitstr += m[1] + ",";
|
||||
mpnamestr += m[2] + ",";
|
||||
unitIdstr += m[3] + ",";
|
||||
numtailstr += m[4] + ",";
|
||||
}
|
||||
if ($("#frequency2").val()) {
|
||||
getHistoryList();
|
||||
}
|
||||
// console.log(hmpids);
|
||||
// $.post(ext.contextPath + "/report/customReport/getMPointJson.do", {checkedIds: hmpids}, function (data) {
|
||||
// var ArrayDatas = eval("(" + data + ")");
|
||||
// // console.log(ArrayDatas);
|
||||
// for (var i = 0; i < ArrayDatas.length; i++) {
|
||||
// mpcodestr += ArrayDatas[i].mpointcode + ",";//测量点code
|
||||
// mpnamestr += ArrayDatas[i].parmname + ",";//测量点名称
|
||||
// mpunitstr += ArrayDatas[i].unit + ",";//测量点单位
|
||||
// unitIdstr += ArrayDatas[i].bizid + ",";//厂
|
||||
// }
|
||||
// if ($("#frequency2").val()) {
|
||||
// getHistoryList();
|
||||
// }
|
||||
// });
|
||||
|
||||
}
|
||||
|
||||
function getHistoryList() {
|
||||
var namearr = mpnamestr.substring(0, mpnamestr.length - 1);
|
||||
namearr = namearr.split(",");
|
||||
|
||||
var unitstr = mpunitstr.substring(0, mpunitstr.length - 1);
|
||||
unitstr = unitstr.split(",");
|
||||
|
||||
var numtails = numtailstr.substring(0, numtailstr.length - 1);
|
||||
numtails = numtails.split(",");
|
||||
|
||||
var length = namearr.length;
|
||||
var mpoint = [];
|
||||
var checkobx = {};
|
||||
checkobx.checkbox = true;
|
||||
//mpoint.push(checkobx);
|
||||
var measuredt = {};
|
||||
measuredt.class = 'W120';
|
||||
measuredt.field = 'measuredt';
|
||||
measuredt.title = '时间';
|
||||
measuredt.align = 'center';
|
||||
measuredt.valign = 'middle';
|
||||
measuredt.width = '145px';
|
||||
measuredt.sortable = true;
|
||||
measuredt.footerFormatter = function (value) {
|
||||
return "最小值<br>最大值<br>平均值<br>合计值";
|
||||
}
|
||||
mpoint.push(measuredt);
|
||||
|
||||
// var type = {};
|
||||
// type.class = 'W80';
|
||||
// type.field = 'type';
|
||||
// type.title = '类型';
|
||||
// type.align = 'center';
|
||||
// type.valign = 'middle';
|
||||
// type.width = '80px';
|
||||
// type.sortable = true;
|
||||
// mpoint.push(type);
|
||||
|
||||
for (var i = 0; i < namearr.length; i++) {
|
||||
// var color = colors[i % namearr.length];
|
||||
|
||||
var parmvalue = {};
|
||||
parmvalue.field = 'paramvalue' + i;
|
||||
parmvalue.title = namearr[i] + "<br>" + unitstr[i];
|
||||
parmvalue.align = 'center';
|
||||
parmvalue.valign = 'middle';
|
||||
parmvalue.sortable = true;
|
||||
// parmvalue.width=80;
|
||||
// var css1 = {};
|
||||
// css1.color = color;
|
||||
// var cellstyle = {};
|
||||
// cellstyle.css = css1;
|
||||
// parmvalue.cellStyle = cellstyle;
|
||||
// parmvalue.formatter = function (value, row, index) {
|
||||
// console.log(index)
|
||||
// return Number(value).toFixed(Number(numtails[index]));
|
||||
// }
|
||||
parmvalue.footerFormatter = function (value) {
|
||||
// console.log(cNum)
|
||||
if ((totalSize - 1) < cNum) {
|
||||
cNum = 0;
|
||||
}
|
||||
let sum = 0;
|
||||
let max = "-";
|
||||
let min = "-";
|
||||
let avg = 0;
|
||||
let dataNum = 0;
|
||||
for (var k in value) {
|
||||
let content = value[k];
|
||||
for (var key in content) {
|
||||
if (key == "paramvalue" + cNum) {
|
||||
sum = Number(sum) + Number(content[key]);
|
||||
dataNum++;
|
||||
if (max == '-') {
|
||||
max = content[key];
|
||||
} else {
|
||||
if (Number(max) < Number(content[key])) {
|
||||
max = content[key];
|
||||
}
|
||||
}
|
||||
|
||||
if (min == '-') {
|
||||
min = content[key];
|
||||
} else {
|
||||
if (Number(min) > Number(content[key])) {
|
||||
min = content[key];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
cNum++;
|
||||
// return sum + "<br>" + "1";
|
||||
avg = (Number(sum) / dataNum).toFixed(Number(numtails[cNum - 1]))
|
||||
return Number(min).toFixed(Number(numtails[cNum - 1])) + "<br>" + Number(max).toFixed(Number(numtails[cNum - 1])) + "<br>" + avg + "<br>" + sum.toFixed(Number(numtails[cNum - 1]));
|
||||
}
|
||||
mpoint.push(parmvalue);
|
||||
}
|
||||
// console.log(mpoint)
|
||||
|
||||
// var jsonStr1 = JSON.stringify(mpoint)
|
||||
|
||||
$("#viewtable").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/customReport/getTabListFromSP.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'client', // 设置为服务器端分页
|
||||
showFooter: true,
|
||||
rowStyle: function (row, index) {
|
||||
var classes = ['active', 'success', 'info', 'warning', 'danger'];
|
||||
return {
|
||||
classes: classes[row / 5]
|
||||
};
|
||||
return {};
|
||||
},
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
ids: hmpids,
|
||||
sdt: beginTimeStore1,
|
||||
edt: endTimeStore1,
|
||||
bizId: hiddenUnitId,
|
||||
frequencytype: $('#frequencyType2').val(),
|
||||
frequency: $('#frequency2').val(),
|
||||
calculation: $('#calculation2').val(),
|
||||
// forwardingFrequency: $('#forwardingFrequency').val(),
|
||||
chooseDataString: chooseDataString
|
||||
}
|
||||
},
|
||||
sortName: 'measuredt', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
//viewFun(row.id);
|
||||
},
|
||||
columns: mpoint,
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
// $(".th-inner").css('background-color','#659be0');
|
||||
}
|
||||
|
||||
function dosearch() {
|
||||
cNum = 0;
|
||||
// sessionStorage.setItem("frequencyType2", $("#frequencyType2").val());
|
||||
// sessionStorage.setItem("reservationtime1", $("#reservationtime1").val());
|
||||
// sessionStorage.setItem("frequency2", $("#frequency2").val());
|
||||
// sessionStorage.setItem("calculation2", $("#calculation2").val());
|
||||
var frequency = $('#frequency2').val();
|
||||
var frequencyType = $('#frequencyType2').val();
|
||||
// var forwardingFrequencyNum = $('#forwardingFrequency').val();
|
||||
if ($.isNumeric(frequency) && $('#mpids').val() != "") {
|
||||
mpcodestr = "";
|
||||
mpnamestr = "";
|
||||
mpunitstr = "";
|
||||
unitIdstr = "";
|
||||
numtailstr = "";
|
||||
getMpointJson();
|
||||
$("#viewtable").bootstrapTable('refresh');
|
||||
} else {
|
||||
if ($('#mpids').val() == "") {
|
||||
alert("请重新选择测量点或方案进行查询");
|
||||
} else if (frequency == "") {
|
||||
alert("请填写数值进行查询");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function deleteData() {
|
||||
hmpids = "";
|
||||
chooseDataString = "";
|
||||
chooseDataNum = 0;
|
||||
$('#mpids').val("");
|
||||
// sessionStorage.setItem("hmpids", "")
|
||||
// sessionStorage.setItem("calculation2", "")
|
||||
// sessionStorage.setItem("frequency2", "")
|
||||
// sessionStorage.setItem("frequencyType2", "0")
|
||||
// sessionStorage.setItem("chooseDataContent", "")
|
||||
// sessionStorage.setItem("chooseDataNum", "0")
|
||||
$("#viewtable").bootstrapTable("removeAll");
|
||||
$("#frequency2").val("");
|
||||
$("#viewtable").html('');
|
||||
$('.info').removeClass('info');//移除蓝色背景
|
||||
elementArr.splice(0, elementArr.length);//清空数组
|
||||
document.getElementById('chooseDatadrop').innerHTML = '';
|
||||
// getEcharts();
|
||||
doChooseDataSearchDetel();
|
||||
}
|
||||
|
||||
function doOutExcel() {
|
||||
let idsUrl = encodeURIComponent(hmpids);
|
||||
let url = ext.contextPath + "/report/customReport/getTabListFromSPExcel.do?sdt=" + beginTimeStore1
|
||||
+ "&edt=" + endTimeStore1 + "&ids=" + idsUrl + "&frequencytype=" + $('#frequencyType2').val() + "&frequency=" + $('#frequency2').val()
|
||||
+ "&calculation=" + $('#calculation2').val() + "&forwardingFrequency=" + $('#forwardingFrequency').val() + "&chooseDataString=" + chooseDataString + "&bizId=" + hiddenUnitId
|
||||
+ "&pid=" + '${pid}';
|
||||
window.open(url);
|
||||
}
|
||||
|
||||
$(document).click(function (e) {
|
||||
var divTree = $('#chooseDatadrop'); // 设置目标区域
|
||||
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
|
||||
divTree.hide()
|
||||
}
|
||||
});
|
||||
|
||||
function showChooseData() {
|
||||
// addJsPoint();
|
||||
document.getElementById('chooseDatadrop').style.display = 'block';
|
||||
}
|
||||
|
||||
function addChooseData() {
|
||||
chooseDataNum++;
|
||||
// sessionStorage.setItem("chooseDataNum", chooseDataNum);
|
||||
let html = "";
|
||||
html += "<div style='float:left;width: 100%;height: 45px;'>";
|
||||
html += "<label class='col-sm-1 control-label' style='line-height: 34px;'>测点</label>";
|
||||
html += "<div class='col-sm-3'>";
|
||||
html += "<select class='form-control select2' id='jsPoint" + chooseDataNum + "' name='jsPoint" + chooseDataNum + "'>";
|
||||
let selectJsPointAndBizid = hmpids.substring(0, hmpids.length - 1).split(",");
|
||||
for (let i = 0; i < selectJsPointAndBizid.length; i++) {
|
||||
let selectJsPoint = selectJsPointAndBizid[i].split(":");
|
||||
html += "<option value='" + selectJsPoint[0] + "'>" + selectJsPoint[2] + "</option>";
|
||||
}
|
||||
html += "</select>";
|
||||
html += "</div>";
|
||||
html += "<label class='col-sm-1 control-label' style='line-height: 34px;'>类型</label>";
|
||||
html += "<div class='col-sm-3'>";
|
||||
html += "<select class='form-control select2' id='jstype" + chooseDataNum + "' name='jstype" + chooseDataNum + "'>";
|
||||
html += "<option value='>' selected='selected'>></option>";
|
||||
html += "<option value='>='>>=</option>";
|
||||
html += "<option value='='>=</option>";
|
||||
html += "<option value='<'><</option>";
|
||||
html += "<option value='<='><=</option>";
|
||||
html += "</select>";
|
||||
html += "</div>";
|
||||
html += "<label class='col-sm-1 control-label' style='line-height: 34px;'>数值</label>";
|
||||
html += "<div class='col-sm-3'>";
|
||||
html += "<input class='form-control' type='text' id='jsvalue" + chooseDataNum + "' name='jsvalue" + chooseDataNum + "' value='0'>";
|
||||
html += "</div>";
|
||||
html += "</div>";
|
||||
// console.log(html)
|
||||
$("#chooseDataContent").append(html);
|
||||
// if (sessionStorage.getItem("chooseDataContent")) {
|
||||
// sessionStorage.setItem("chooseDataContent", sessionStorage.getItem("chooseDataContent") + html);
|
||||
// } else {
|
||||
// sessionStorage.setItem("chooseDataContent", html);
|
||||
// }
|
||||
}
|
||||
|
||||
// 确认
|
||||
function doChooseDataSearch() {
|
||||
chooseDataString = "";
|
||||
if (chooseDataNum > 0) {
|
||||
for (let i = 0; i < chooseDataNum; i++) {
|
||||
let jstype = $("#jstype" + (i + 1)).val();
|
||||
let jsvalue = $("#jsvalue" + (i + 1)).val();
|
||||
let jsPoint = $("#jsPoint" + (i + 1)).val();
|
||||
chooseDataString += jstype + ":" + jsvalue + ":" + jsPoint + ",";
|
||||
}
|
||||
// console.log("is html ", $("#chooseDataContent").html())
|
||||
// // $("#chooseDataContent").append(html)
|
||||
// sessionStorage.setItem("chooseDataContent", $("#chooseDataContent").html());
|
||||
$("#viewtable").bootstrapTable('refresh');
|
||||
// console.log(chooseDataString)
|
||||
} else {
|
||||
// alert("请添加筛选条件");
|
||||
}
|
||||
}
|
||||
|
||||
function doChooseDataSearchDetel() {
|
||||
chooseDataNum = 0;
|
||||
chooseDataString = "";
|
||||
$("#chooseDataContent").html("");
|
||||
$("#viewtable").bootstrapTable('refresh');
|
||||
}
|
||||
|
||||
</script>
|
||||
<input id="mpids" name="mpids" type="hidden" style="width: 500px;" value=""/>
|
||||
<div class="box box-solid" id="box-echart">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">报表展示</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="box-body " style="height: 30px;">
|
||||
<div id="tipdiv"></div>
|
||||
</div> -->
|
||||
<div class="box-body " style="height: 40px;">
|
||||
<div class="input-group pull-left input-group-sm">
|
||||
<input type="text" class="form-control pull-left" id="reservationtime1" style="width:230px">
|
||||
<div class="input-group pull-left input-group-sm" style="margin-left: 5px;width: 150px;">
|
||||
<label class="col-sm-6 control-label"
|
||||
style="line-height: 30px;padding:0px;text-align: center;">频率类别</label>
|
||||
<div class="control-label col-sm-6" style="padding:0px;">
|
||||
<select id="frequencyType2" name="frequencyType2" class="form-control select2"
|
||||
style="height: 30px;padding: 0px 10px;">
|
||||
<option value="${frequencyType_min}"
|
||||
<c:if test="${param.frequencytype==frequencyType_min }">selected</c:if>>分钟
|
||||
</option>
|
||||
<option value="${frequencyType_hour}"
|
||||
<c:if test="${param.frequencytype==frequencyType_hour }">selected</c:if>>小时
|
||||
</option>
|
||||
<option value="${frequencyType_day}"
|
||||
<c:if test="${param.frequencytype==frequencyType_day }">selected</c:if>>天
|
||||
</option>
|
||||
<option value="${frequencyType_month}"
|
||||
<c:if test="${param.frequencytype==frequencyType_month }">selected</c:if>>月
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group pull-left input-group-sm" style="width: 100px;">
|
||||
<label class="col-sm-6 control-label"
|
||||
style="line-height: 30px;padding:0px;text-align: center;">数值</label>
|
||||
<div class="control-label col-sm-6" style="padding:0px;">
|
||||
<input type="text" class="form-control pull-left" id="frequency2" style="height: 30px;"
|
||||
value="${param.frequency}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group pull-left input-group-sm" style="margin-left: 5px;width: 180px;">
|
||||
<label class="col-sm-6 control-label"
|
||||
style="line-height: 30px;padding:0px;text-align: center;">计算方式</label>
|
||||
<div class="control-label col-sm-6" style="padding:0px;">
|
||||
<select id="calculation2" name="calculation2" class="form-control select2"
|
||||
style="height: 30px;padding: 0px 10px;">
|
||||
<option value="first" <c:if test="${param.calculation=='first' }">selected</c:if>>首值</option>
|
||||
<option value="avg" <c:if test="${param.calculation=='avg' }">selected</c:if>>均值</option>
|
||||
<option value="max" <c:if test="${param.calculation=='max' }">selected</c:if>>最大值</option>
|
||||
<option value="min" <c:if test="${param.calculation=='min' }">selected</c:if>>最小值</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<%-- <div class="input-group pull-left input-group-sm" style="width: 130px;">--%>
|
||||
<%-- <label class="col-sm-8 control-label"--%>
|
||||
<%-- style="line-height: 30px;padding:0px;text-align: center;">转发频率</label>--%>
|
||||
<%-- <div class="control-label col-sm-4" style="padding:0px;">--%>
|
||||
<%-- <input type="text" class="form-control pull-left" id="forwardingFrequency" style="height: 30px;"--%>
|
||||
<%-- value="5">--%>
|
||||
<%-- </div>--%>
|
||||
<%-- </div>--%>
|
||||
<div class="input-group-btn pull-left" style="margin-left:5px;">
|
||||
<button type="button" class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i> 查询
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body " style="height: 40px;">
|
||||
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
|
||||
<!-- <li class="dropdown" > -->
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="showChooseData();">
|
||||
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
|
||||
title="数据筛选">
|
||||
<img src="<%=request.getContextPath()%>/IMG/curve/dataFiltering.png"
|
||||
style="width:100%;height:100%;"/>
|
||||
</div>
|
||||
</a>
|
||||
<ul id="chooseDatadrop" class="dropdown-menu" data-stopPropagation="true"
|
||||
style="width:700px;height:340px;overflow: hidden;box-shadow:#d2cdcd 0px 3px 5px 0px;">
|
||||
<div style="float: left;width: 100%;height: 30px;">
|
||||
<button type="button" class="btn btn-box-tool" onclick="addChooseData();"><i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="chooseDataContent" style="float: left;width: 100%;height: 260px;overflow: auto;">
|
||||
|
||||
</div>
|
||||
<div style="float: left;width: 100%;height: 40px;padding-top: 10px;">
|
||||
<div class="pull-right"
|
||||
style="width:50px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;">
|
||||
<div style="text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;"
|
||||
onclick="doChooseDataSearch();">确认
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pull-right"
|
||||
style="width:50px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;">
|
||||
<div style="text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;"
|
||||
onclick="doChooseDataSearchDetel();">清除
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
|
||||
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
|
||||
title="数据导出" onclick="doOutExcel();">
|
||||
<img src="<%=request.getContextPath()%>/IMG/curve/tableDownload.png"
|
||||
style="width:100%;height:100%;"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group pull-right input-group-sm" style="margin-left:10px;">
|
||||
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
|
||||
title="清除数据" onclick="deleteData();">
|
||||
<img src="<%=request.getContextPath()%>/IMG/curve/delete.png"
|
||||
style="width:100%;height:100%;"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body ">
|
||||
<div class="box-body no-padding">
|
||||
<table id="viewtable" style="overflow: auto;"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,86 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var showSelectFun = function() {
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableConfigure/showListSelect.do', {formId:"subForm",hiddenId:"pid",textId:"_pname"} , function(data) {
|
||||
$("#drainageDataomprehensiveTableConfigureSelectDiv").html(data);
|
||||
openModal('configureSelectModal');
|
||||
});
|
||||
};
|
||||
function dosave() {
|
||||
//if ($("#subForm").form('validate')) {
|
||||
$.post(ext.contextPath + "/report/drainageDataomprehensiveTableConfigure/dosave.do", $("#subForm").serialize(), function(result) {
|
||||
if (result == 1) {
|
||||
initTreeView();
|
||||
//showAlert('s','保存成功');
|
||||
}else{
|
||||
showAlert('d','保存失败');
|
||||
}
|
||||
});
|
||||
//}
|
||||
}
|
||||
|
||||
var showMpidList = function() {
|
||||
var bizid= $("#bizid").val();
|
||||
$.post(ext.contextPath + '/data/measurepoint/selectMeasurepointByBizid.do', {formId:"subForm",bizid:bizid} , function(data) {
|
||||
$("#showMpidListDiv").html(data);
|
||||
openModal("showMpidListModal");
|
||||
});
|
||||
};
|
||||
|
||||
$(function() {
|
||||
$("#active").select2({minimumResultsForSearch: 10});
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" >
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">新增</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" />
|
||||
<input id="bizid" name="bizid" type="hidden" value="${bizid}" />
|
||||
<input id="pid" name="pid" type="hidden" value="${pid}" />
|
||||
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<div id="drainageDataomprehensiveTableConfigureSelectDiv"></div>
|
||||
<div id="showMpidListDiv"></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="name" name ="name" readonly>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">启用</label>
|
||||
<div class="col-sm-4">
|
||||
<select id ="active" name="active" class="form-control select2">
|
||||
<option value="1" >启用</option>
|
||||
<option value="0" >禁用</option>
|
||||
</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="mpid" name ="mpid" onfocus="this.blur();" placeholder="点击选择" onclick="showMpidList();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,125 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var showSelectFun = function() {
|
||||
var bizid=$('#bizid').val();
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableConfigure/showListSelect.do', {formId:"subForm",hiddenId:"pid",textId:"_pname",bizid:bizid} , function(data) {
|
||||
$("#drainageDataomprehensiveTableConfigureSelectDiv").html(data);
|
||||
openModal('configureSelectModal');
|
||||
});
|
||||
};
|
||||
function dosave() {
|
||||
//if ($("#subForm").form('validate')) {
|
||||
$.post(ext.contextPath + "/report/drainageDataomprehensiveTableConfigure/doupdate.do", $("#subForm").serialize(), function(result) {
|
||||
if (result == 1) {
|
||||
showAlert('s','保存成功');
|
||||
}else{
|
||||
showAlert('d','保存失败');
|
||||
}
|
||||
});
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
function dodel() {
|
||||
|
||||
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 + '/report/drainageDataomprehensiveTableConfigure/dodel.do', $("#subForm").serialize(), function(data) {
|
||||
if(data.res>0){
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d','删除失败');
|
||||
}
|
||||
},'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
$(function() {
|
||||
$("#active").select2({minimumResultsForSearch: 10}).val("${drainageDataomprehensiveTableConfigure.active}").trigger("change");
|
||||
});
|
||||
|
||||
var showMpidList = function() {
|
||||
var bizid= $("#bizid").val();
|
||||
$.post(ext.contextPath + '/data/measurepoint/selectMeasurepointByBizid.do', {formId:"subForm",bizid:bizid} , function(data) {
|
||||
$("#showMpidListDiv").html(data);
|
||||
openModal("showMpidListModal");
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<div class="box box-primary" >
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">详情</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
<a onclick="dodel()" class="btn btn-box-tool" data-toggle="tooltip" title="删除"><i class="glyphicon glyphicon-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${drainageDataomprehensiveTableConfigure.id}"/>
|
||||
<input id="bizid" name="bizid" type="hidden" value="${bizid}" />
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<c:if test="${ishavelist=='1'}">
|
||||
<div id="alertDiv"></div>
|
||||
<div id="drainageDataomprehensiveTableConfigureSelectDiv"></div>
|
||||
<div id="showMpidListDiv"></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="name" name ="name" value="${drainageDataomprehensiveTableConfigure.name }" readonly>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">启用</label>
|
||||
<div class="col-sm-4">
|
||||
<select id ="active" name="active" class="form-control select2">
|
||||
<option value="1" >启用</option>
|
||||
<option value="0" >禁用</option>
|
||||
</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="mpid" name ="mpid" placeholder="点击选择" value="${drainageDataomprehensiveTableConfigure.mpid}" onclick="showMpidList();">
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${ishavelist=='0'}">
|
||||
暂无数据
|
||||
</c:if>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -0,0 +1,236 @@
|
||||
<%@ 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>
|
||||
<script type="text/javascript">
|
||||
var addFun = function() {
|
||||
var bizid=$("#company_id").val();
|
||||
var node=$('#tree').treeview('getSelected');
|
||||
var pid=node[0].id;
|
||||
var pstatus=node[0].pid;
|
||||
|
||||
if(bizid==''){
|
||||
showAlert('d','请选择水厂!','mainAlertdiv');
|
||||
}else if(pstatus=='-1'){
|
||||
showAlert('d','请选择子节点!','mainAlertdiv');
|
||||
}
|
||||
else{
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableConfigure/doadd.do', {pid:pid,bizid:bizid} , function(data) {
|
||||
$("#configureBox").html(data);
|
||||
});
|
||||
}
|
||||
|
||||
};
|
||||
var editFun = function() {
|
||||
var bizid=$("#company_id").val();
|
||||
var node=$('#tree').treeview('getSelected');
|
||||
var pid="-1";
|
||||
if(node!=null && node.length>0){
|
||||
pid=node[0].id;
|
||||
}
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableConfigure/doedit.do', {pid:pid,bizid:bizid} , function(data) {
|
||||
$("#configureBox").html(data);
|
||||
});
|
||||
};
|
||||
var deleteFun = function(id) {
|
||||
swal({
|
||||
text: "您确定要删除此记录?",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function(willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/work/group/delete.do', {id : id}, function(data) {
|
||||
if(data==1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
};
|
||||
var initTreeView = function() {
|
||||
var bizid=$("#company_id").val();
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableConfigure/getDrainageDataomprehensiveTableConfiguresJson.do',{bizid:bizid}, function(data) {
|
||||
//console.info(data)
|
||||
$('#tree').treeview({data: data
|
||||
});
|
||||
$('#tree').on('nodeSelected', function(event, data) {
|
||||
var nodesnum=0;
|
||||
if(data.nodes!=null){
|
||||
nodesnum=data.nodes.length;
|
||||
}else{
|
||||
nodesnum=nodesnum;
|
||||
}
|
||||
|
||||
if(nodesnum>0){
|
||||
|
||||
}else{
|
||||
editFun(data.id);
|
||||
}
|
||||
|
||||
//var node=$('#tree').treeview('getSelected');
|
||||
});
|
||||
},'json');
|
||||
$("#configureBox").html("");
|
||||
};
|
||||
$(function() {
|
||||
initTreeView();
|
||||
});
|
||||
|
||||
$(function () {
|
||||
$.post(ext.contextPath + '/user/getUnitForTree.do', { ng: '' }, function (data) {
|
||||
//console.log("data",data);
|
||||
if (data.length == 1 && !data[0].hasOwnProperty("nodes")) {
|
||||
//当登陆者的pid以下没有子节点时显示单独一个span
|
||||
$("#company_id").val(data[0].id);
|
||||
$("#companyselect").hide();
|
||||
$("#companyName").text("公司:" + data[0].text);
|
||||
|
||||
} else if ((data.length == 1 && data.node != "") || data.length > 1) {
|
||||
//第一次加载时赋值
|
||||
//$("#company_id").val(data[0].id);
|
||||
//$("#cname_input").val(data[0].text);
|
||||
//$table.bootstrapTable('refresh');
|
||||
$('#companytree').treeview({
|
||||
data: data,
|
||||
showBorder: false,
|
||||
levels: 3
|
||||
});
|
||||
|
||||
$('#companytree').on('nodeSelected', function (event, data) {
|
||||
var nodesnum=0;
|
||||
if(data.nodes!=null){
|
||||
nodesnum=data.nodes.length;
|
||||
}else{
|
||||
nodesnum=nodesnum;
|
||||
}
|
||||
|
||||
if(nodesnum>0){
|
||||
|
||||
}else{
|
||||
$("#company_id").val(data.id);
|
||||
$("#cname_input").val(data.text);
|
||||
document.getElementById('ul_tree').style.display = "none";
|
||||
|
||||
initTreeView();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
//待完善
|
||||
};
|
||||
}, 'json');
|
||||
|
||||
//防止点击树收起下拉框
|
||||
$("#ul_tree").on("click", function (e) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
//点击树之外其他区域收起
|
||||
$(document).click(function(){
|
||||
$("#ul_tree").hide();
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
|
||||
<div class="form-group " style="margin-bottom:10px;">
|
||||
<!-- -->
|
||||
<input id="company_id" name="company_id" type="hidden" />
|
||||
<span id="companyName" style="width:220px;border: none;background: transparent;"></span>
|
||||
</div>
|
||||
<ul id="companyselect" style="list-style-type:none;padding-left:0px;width:300px;">
|
||||
<li class="dropdown" style="width:300px;">
|
||||
<!-- Menu toggle button -->
|
||||
<a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" style="width:300px;"
|
||||
onclick="document.getElementById('ul_tree').style.display = 'block';">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon" style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">水厂列表:</span>
|
||||
<input class="form-control " id="cname_input" name="cname_input" style="height:31px;width: 220px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;"
|
||||
readonly />
|
||||
</div><!-- /input-group -->
|
||||
</a>
|
||||
<ul id="ul_tree" class="dropdown-menu" data-stopPropagation="true">
|
||||
<li class="header">
|
||||
<div id="companytree" style="width: 275px;overflow:auto;"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-4">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">配置列表</h3>
|
||||
|
||||
<div class="box-tools">
|
||||
<button type="button" class="btn btn-box-tool" onclick="addFun();"><i class="fa fa-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:550px;overflow:auto; "></div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8" id="configureBox">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,42 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
var bizid=$('#bizid').val();
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableConfigure/getDrainageDataomprehensiveTableConfiguresJson.do', {ng:'',bizid:bizid} , function(data) {
|
||||
//console.info(data)
|
||||
if(data.length>0){
|
||||
$('#configure_select_tree').treeview({
|
||||
data: data,
|
||||
});
|
||||
$('#configure_select_tree').on('nodeSelected', function(event, data) {
|
||||
$('#${param.formId} #${param.hiddenId}' ).val(data.id);
|
||||
$('#${param.formId} #${param.textId}').val(data.text);
|
||||
closeModal("configureSelectModal")
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
|
||||
});
|
||||
</script>
|
||||
<div class="modal fade" id="configureSelectModal">
|
||||
<input id="bizid" name="bizid" type="text" value="${bizid}" />
|
||||
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">选择列表</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="configure_select_tree" style="height:430px;overflow:auto;width:100%"></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="selectMenu()">保存</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
281
WebRoot/jsp/report/drainageDataomprehensiveTableList.jsp
Normal file
281
WebRoot/jsp/report/drainageDataomprehensiveTableList.jsp
Normal file
@ -0,0 +1,281 @@
|
||||
<%@ 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>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
<!-- echarts-->
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/echarts/echarts.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/echarts/macarons.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>
|
||||
<!-- TableFreeze表格工具-->
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/TableFreeze.js" charset="utf-8"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var beginTimeStore = '';
|
||||
var endTimeStore = '';
|
||||
function initDate() {
|
||||
//定义locale汉化插件
|
||||
var timestatus=$('#timestatus').val();
|
||||
var timevalue=$('#timevalue').val();
|
||||
|
||||
if(timestatus=='1'){
|
||||
beginTimeStore = timevalue.substring(0,7);
|
||||
endTimeStore = timevalue.substring(8, 15);
|
||||
}else{
|
||||
beginTimeStore = moment().subtract(0, 'month').format('YYYY-MM');
|
||||
endTimeStore = moment().subtract(0, 'month').format('YYYY-MM');
|
||||
}
|
||||
|
||||
var locale = {
|
||||
"format": 'YYYY-MM',
|
||||
"separator": "~",
|
||||
"applyLabel": "确定",
|
||||
"cancelLabel": "取消",
|
||||
"fromLabel": "起始时间",
|
||||
"toLabel": "结束时间'",
|
||||
"customRangeLabel": "自定义",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
||||
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||||
"firstDay": 1
|
||||
};
|
||||
$('#reservationtime').daterangepicker({
|
||||
timePicker: false,
|
||||
timePicker24Hour: false,
|
||||
linkedCalendars: false,
|
||||
autoUpdateInput: false,
|
||||
showDropdowns: true,
|
||||
locale: locale,
|
||||
//汉化按钮部分
|
||||
ranges: {
|
||||
'本月': [moment().startOf('month'), moment().endOf('month').subtract(0, 'month')],
|
||||
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month').subtract(0, 'month')]
|
||||
},
|
||||
startDate: beginTimeStore,
|
||||
endDate: endTimeStore
|
||||
}, function(start, end, label) {
|
||||
beginTimeStore = start.format(this.locale.format);
|
||||
endTimeStore = 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));
|
||||
}
|
||||
dosearch();
|
||||
});
|
||||
$('#reservationtime').val(beginTimeStore + locale.separator + endTimeStore);
|
||||
};
|
||||
|
||||
|
||||
function dosearch() {
|
||||
var time=$('#reservationtime').val();
|
||||
|
||||
window.location.href="showList.do?time="+time+"&bizid="+$('#company_id').val();
|
||||
};
|
||||
|
||||
$(function () {
|
||||
initDate();
|
||||
var time=$('#reservationtime').val();
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTable/gettable.do',{ time: time,bizid:$('#company_id').val()}, function(result) {
|
||||
var htmlstr="";
|
||||
htmlstr+=result;
|
||||
//console.log(htmlstr);
|
||||
$("#table").html(htmlstr);
|
||||
})
|
||||
});
|
||||
|
||||
$(document).ready(function(){
|
||||
setTimeout(function () {
|
||||
freeTable();
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
|
||||
function freeTable(){
|
||||
var table = $("#table"); //获取当前table
|
||||
var tableId = table.attr('id'); //table的ID之后作为参数传递
|
||||
var freezeRowNum = table.attr('freezeRowNum'); //获取页面table定义的冻结行和列
|
||||
var freezeColumnNum = table.attr('freezeColumnNum');
|
||||
|
||||
if (typeof(freezeRowNum) != 'undefined' || typeof(freezeColumnNum) != 'undefined') {
|
||||
freezeTable(table, freezeRowNum || 0, freezeColumnNum || 0, pageWidth()-10, pageHeight()-100);
|
||||
|
||||
var flag = false;
|
||||
$(window).resize(function() {
|
||||
if (flag)
|
||||
return ;
|
||||
|
||||
setTimeout(function() {
|
||||
adjustTableSize(tableId, pageWidth()-10, pageHeight()-100);
|
||||
flag = false;
|
||||
}, 100);
|
||||
|
||||
flag = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(function () {
|
||||
$.post(ext.contextPath + '/user/getUnitForTree.do', { ng: '' }, function (data) {
|
||||
//console.log("data",data);
|
||||
if (data.length == 1 && !data[0].hasOwnProperty("nodes")) {
|
||||
//当登陆者的pid以下没有子节点时显示单独一个span
|
||||
$("#company_id").val(data[0].id);
|
||||
$("#companyselect").hide();
|
||||
$("#companyName").text("公司:" + data[0].text);
|
||||
|
||||
} else if ((data.length == 1 && data.node != "") || data.length > 1) {
|
||||
//第一次加载时赋值
|
||||
|
||||
/*$("#company_id").val(data[0].id);
|
||||
$("#cname_input").val(data[0].text);*/
|
||||
//$table.bootstrapTable('refresh');//异步加载重新刷新,待修改
|
||||
$('#companytree').treeview({
|
||||
data: data,
|
||||
showBorder: false,
|
||||
levels: 3
|
||||
});
|
||||
|
||||
|
||||
$('#companytree').on('nodeSelected', function (event, data) {
|
||||
var nodesnum=0;
|
||||
if(data.nodes!=null){
|
||||
nodesnum=data.nodes.length;
|
||||
}else{
|
||||
nodesnum=nodesnum;
|
||||
}
|
||||
|
||||
if(nodesnum>0){
|
||||
|
||||
}else{
|
||||
$("#company_id").val(data.id);
|
||||
$("#cname_input").val(data.text);
|
||||
document.getElementById('ul_tree').style.display = "none";
|
||||
|
||||
var time=$('#reservationtime').val();
|
||||
var bizid=$('#company_id').val();
|
||||
window.location.href="showList.do?time="+time+"&bizid="+bizid;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
//待完善
|
||||
};
|
||||
}, 'json');
|
||||
|
||||
//防止点击树收起下拉框
|
||||
$("#ul_tree").on("click", function (e) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
//点击树之外其他区域收起
|
||||
$(document).click(function(){
|
||||
$("#ul_tree").hide();
|
||||
});
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
<style >
|
||||
table{
|
||||
border:1px solid black;
|
||||
|
||||
}
|
||||
table tr td{
|
||||
border:1px solid black;
|
||||
}
|
||||
|
||||
ol, ul {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini" style="overflow-y: hidden" >
|
||||
<div class="wrapper" >
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid" >
|
||||
|
||||
<form id="ListForm" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" id="timestatus" name="timestatus" value="${timestatus}">
|
||||
<input type="hidden" id="timevalue" name="timevalue" value="${time}">
|
||||
<input id="company_id" name="company_id" type="hidden" value="${bizid}" />
|
||||
|
||||
<div class="form-group form-inline" style="padding:0;">
|
||||
<div class="form-group">
|
||||
<ul id="companyselect" style="list-style-type:none;padding-left:0px;width:300px;">
|
||||
<li class="dropdown" style="width:300px;">
|
||||
<!-- Menu toggle button -->
|
||||
<a href="javascript:void(0);" class="dropdown-toggle" data-toggle="dropdown" style="width:300px;"
|
||||
onclick="document.getElementById('ul_tree').style.display = 'block';">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon" style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">水厂列表:</span>
|
||||
<input class="form-control " id="cname_input" name="cname_input" style="height:31px;width: 220px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;" value="${bizname}"
|
||||
readonly />
|
||||
</div><!-- /input-group -->
|
||||
</a>
|
||||
<ul id="ul_tree" class="dropdown-menu" data-stopPropagation="true">
|
||||
<li class="header">
|
||||
<div id="companytree" style="width: 275px;overflow:auto;"></div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="input-lable" > 日期:</label>
|
||||
<div class="input-group " >
|
||||
<div class="input-group pull-right input-group-sm" >
|
||||
<div class="input-group-addon">
|
||||
<i class="fa fa-clock-o"></i>
|
||||
</div>
|
||||
<input type="text" class="form-control" id="reservationtime" style="width:175px">
|
||||
<!-- <div class="input-group-btn ">
|
||||
<button type="button" class="btn btn-default" onclick="dosearch();" ><i class="fa fa-search"></i> 查询</button>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table id="table" style="width:${monthnum*400+850}px;" freezeColumnNum="2" freezeRowNum="2"></table>
|
||||
|
||||
|
||||
</form>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,78 @@
|
||||
<%@page import="com.sipai.entity.report.TemplateType"%>
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/drainageDataomprehensiveTableMainconfigure/dosave.do", $("#subForm").serialize(), function(data) {
|
||||
if (data == 1){
|
||||
closeModal('subModal');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else if(data == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.res);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
</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">×</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-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" autocomplete="off" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">备注</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id ="remark" name ="remark" placeholder="说明..."></textarea>
|
||||
</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>
|
||||
@ -0,0 +1,84 @@
|
||||
<%@page import="com.sipai.entity.report.TemplateType"%>
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave2() {
|
||||
$("#subForm2").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm2").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/drainageDataomprehensiveTableMainconfigureDetail/dosave.do", $("#subForm2").serialize(), function(data) {
|
||||
if (data == 1){
|
||||
closeModal('subDetailModal');
|
||||
$("#table_Detail").bootstrapTable('refresh');
|
||||
}else if(data == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.res);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
//输入框验证
|
||||
$("#subForm2").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function doclose() {
|
||||
closeModal('subDetailModal');
|
||||
}
|
||||
</script>
|
||||
<div class="modal fade" id="subDetailModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">新增</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="alertDiv"></div>
|
||||
<!-- 新增界面formid强制为subForm -->
|
||||
<form class="form-horizontal" id="subForm2">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<input type="hidden" id="pid" name="pid" value ="${pid}">
|
||||
<div id="alertDiv"></div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" autocomplete="off" >
|
||||
</div>
|
||||
</div><div class="form-group">
|
||||
<label class="col-sm-2 control-label">目标值</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="targetValue" name ="targetValue" placeholder="目标值" autocomplete="off" >
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" onclick="doclose()">关闭</button>
|
||||
<button type="button" class="btn btn-primary" onclick="dosave2()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
@ -0,0 +1,84 @@
|
||||
<%@page import="com.sipai.entity.report.TemplateType"%>
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%request.setAttribute("day",TemplateType.REPORT_DAY); %>
|
||||
<%request.setAttribute("month",TemplateType.REPORT_MONTH); %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave2() {
|
||||
$("#subForm2").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm2").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/drainageDataomprehensiveTableMainconfigureDetail/doupdate.do", $("#subForm2").serialize(), function(data) {
|
||||
if (data == 1){
|
||||
closeModal('subDetailModal');
|
||||
$("#table_Detail").bootstrapTable('refresh');
|
||||
}else if(data == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
//输入框验证
|
||||
$("#subForm2").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function doclose() {
|
||||
closeModal('subDetailModal');
|
||||
}
|
||||
</script>
|
||||
<div class="modal fade" id="subDetailModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">编辑</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subForm -->
|
||||
<form class="form-horizontal" id="subForm2">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" id="id" name ="id" value ="${drainageDataomprehensiveTableMainconfigureDetail.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" value ="${drainageDataomprehensiveTableMainconfigureDetail.name}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">目标值</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="targetValue" name ="targetValue" placeholder="目标值" value ="${drainageDataomprehensiveTableMainconfigureDetail.targetValue}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" onclick="doclose()">关闭</button>
|
||||
<button type="button" class="btn btn-primary" onclick="dosave2()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
@ -0,0 +1,289 @@
|
||||
<%@page import="com.sipai.entity.report.TemplateType"%>
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%request.setAttribute("day",TemplateType.REPORT_DAY); %>
|
||||
<%request.setAttribute("month",TemplateType.REPORT_MONTH); %>
|
||||
<head>
|
||||
<!-- 拖拽排序-->
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/jquery.tablednd.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js" charset="utf-8"></script>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css"/>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
|
||||
.modal-dialog{
|
||||
width: 1000px;
|
||||
}
|
||||
.hidden{display:none;}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/drainageDataomprehensiveTableMainconfigure/doupdate.do", $("#subForm").serialize(), function(data) {
|
||||
if (data == 1){
|
||||
closeModal('subModal');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else if(data == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var addDetailFun = function() {
|
||||
var id=$('#id').val();
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigureDetail/doadd.do' ,{pid:id}, function(data) {
|
||||
$("#subDetailDiv").html(data);
|
||||
openModal('subDetailModal');
|
||||
});
|
||||
};
|
||||
|
||||
var editDetailFun = function(id) {
|
||||
stopBubbleDefaultEvent();
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigureDetail/doedit.do', {id:id} , function(data) {
|
||||
$("#subDetailDiv").html(data);
|
||||
openModal('subDetailModal');
|
||||
});
|
||||
};
|
||||
|
||||
var deleteDetailFun = function(id) {
|
||||
stopBubbleDefaultEvent();
|
||||
if(confirm("信息删除后不能恢复,请问要执行删除操作吗?")){
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigureDetail/dodel.do', {id : id}, function(data) {
|
||||
if(data==1){
|
||||
$("#table_Detail").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertDetaildiv');
|
||||
}
|
||||
});
|
||||
}
|
||||
/*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 + '/report/drainageDataomprehensiveTableMainconfigureDetail/dodel.do', {id : id}, function(data) {
|
||||
if(data==1){
|
||||
$("#table_Detail").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertDetaildiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});*/
|
||||
};
|
||||
|
||||
var deletesDetailFun = function() {
|
||||
var checkedItems = $("#table_Detail").bootstrapTable('getSelections');
|
||||
var datas="";
|
||||
$.each(checkedItems, function(index, item){
|
||||
datas+=item.id+",";
|
||||
});
|
||||
if(datas==""){
|
||||
showAlert('d','请先选择记录','mainAlertDetaildiv');
|
||||
}else{
|
||||
if(confirm("信息删除后不能恢复,请问要执行删除操作吗?")){
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigureDetail/deletes.do', {ids:datas} , function(data) {
|
||||
if(data>0){
|
||||
$("#table_Detail").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertDetaildiv');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
$(function() {
|
||||
var id=$('#id').val();
|
||||
$("#table_Detail").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigureDetail/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10, 20,50], // 设置页面可以显示的数据条数
|
||||
pageSize: 5, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
paginationDetailHAlign:' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset/params.limit+1, // 每页显示数据的开始页码
|
||||
sort: "dr."+params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
id: id,
|
||||
search_name: $('#search_name').val()
|
||||
}
|
||||
},
|
||||
sortName: 'id', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
//viewFun(row.id);
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},{
|
||||
field: 'name', // 返回json数据中的name
|
||||
title: '名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 500
|
||||
},{
|
||||
field: 'targetValue', // 返回json数据中的name
|
||||
title: '目标值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: '_insuser', // 返回json数据中的name
|
||||
title: '最后更新人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'insdt', // 返回json数据中的name
|
||||
title: '最后更新时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',// 上下居中
|
||||
formatter: function (value, row, index) {
|
||||
return row.insdt.substring(0,10);
|
||||
}
|
||||
},{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 160, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
var buts= '';
|
||||
buts+= '<security:authorize buttonUrl="report/drainageDataomprehensiveTableMainconfigureDetail/doedit.do">';
|
||||
buts+= '<button class="btn btn-default btn-sm" title="编辑" onclick="editDetailFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
|
||||
buts+= '</security:authorize>';
|
||||
|
||||
buts+= '<security:authorize buttonUrl="report/drainageDataomprehensiveTableMainconfigureDetail/dodel.do">';
|
||||
buts+='<button class="btn btn-default btn-sm" title="删除" onclick="deleteDetailFun(\''+row.id+'\')"><i class="fa fa fa-trash-o"></i><span class="hidden-md hidden-lg">删除</span></button';
|
||||
buts+= '</security:authorize>';
|
||||
|
||||
buts='<div class="btn-group" >'+buts+'</div>';
|
||||
return buts;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
adjustBootstrapTableView("table_Detail");
|
||||
},
|
||||
onLoadError: function(){ //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
onReorderRow: function (newData) {
|
||||
//这里的newData是整个表格数据,数组形式
|
||||
//console.log(newData); //调试用代码
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigureDetail/dosort.do',{ jsondata: JSON.stringify(newData) },//将整张表数据 不能分页
|
||||
function(data) {
|
||||
if (data == 1) {
|
||||
//$("#table_Detail").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','数据错误','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
$(document).ready(function() {
|
||||
$("#table_Detail").tableDnD();
|
||||
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<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">×</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 type="hidden" id="id" name="id" value ="${drainageDataomprehensiveTableMainconfigure.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" value ="${drainageDataomprehensiveTableMainconfigure.name}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">说明</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id ="remark" name ="remark" placeholder="说明...">${drainageDataomprehensiveTableMainconfigure.remark}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="box box-primary" >
|
||||
<div id="mainAlertDetaildiv"></div>
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">明细</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="addDetailFun()" class="btn btn-box-tool" data-toggle="tooltip" title="新增"><i class="glyphicon glyphicon-plus"></i></a>
|
||||
<a onclick="deletesDetailFun()" class="btn btn-box-tool" data-toggle="tooltip" title="删除"><i class="glyphicon glyphicon-minus"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<table id="table_Detail" data-use-row-attr-func="true" data-reorderable-rows="true"></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="dosave()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
@ -0,0 +1,292 @@
|
||||
<%@ 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>
|
||||
<!-- 文件上传-->
|
||||
<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()%>/plugins/bootstrap-table/jquery.tablednd.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js" charset="utf-8"></script>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css"/>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
.table-hover>tbody>tr:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
.hidden{display:none;}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var addFun = function() {
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigure/doadd.do' , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var editFun = function(id) {
|
||||
stopBubbleDefaultEvent();
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigure/doedit.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 + '/report/drainageDataomprehensiveTableMainconfigure/dodel.do', {id : id}, function(data) {
|
||||
if(data==1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}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 + '/report/drainageDataomprehensiveTableMainconfigure/deletes.do', {ids:datas} , function(data) {
|
||||
if(data>0){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var dosearch = function() {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
$(function() {
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigure/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10, 20,50], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1,
|
||||
paginationDetailHAlign:' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
useRowAttrFunc: true,
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset/params.limit+1, // 每页显示数据的开始页码
|
||||
sort: "dr."+params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
search_name: $('#search_name').val()
|
||||
}
|
||||
},
|
||||
sortName: 'morder', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
//viewFun(row.id);
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},{
|
||||
field: 'name', // 返回json数据中的name
|
||||
title: '名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '20%'
|
||||
},{
|
||||
field: '_insuser', // 返回json数据中的name
|
||||
title: '最后更新人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '18%'
|
||||
},{
|
||||
field: 'insdt', // 返回json数据中的name
|
||||
title: '最后更新时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '18%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.insdt.substring(0,10);
|
||||
}
|
||||
},{
|
||||
field: 'remark', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 160, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
var buts= '';
|
||||
buts+= '<security:authorize buttonUrl="report/drainageDataomprehensiveTableMainconfigure/doedit.do">';
|
||||
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+= '</security:authorize>';
|
||||
|
||||
buts+= '<security:authorize buttonUrl="report/drainageDataomprehensiveTableMainconfigure/dodel.do">';
|
||||
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+= '</security:authorize>';
|
||||
|
||||
buts='<div class="btn-group" >'+buts+'</div>';
|
||||
return buts;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function(){ //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
|
||||
/* //当选中行,拖拽时的哪行数据,并且可以获取这行数据的上一行数据和下一行数据
|
||||
onReorderRowsDrag: function(table, row) {
|
||||
//取索引号
|
||||
dragbeforeidx = $(row).attr("data-index");
|
||||
},
|
||||
//拖拽完成后的这条数据,并且可以获取这行数据的上一行数据和下一行数据
|
||||
onReorderRowsDrop: function (table, row) {
|
||||
//取索引号
|
||||
draglateridx = $(row).attr("data-index");
|
||||
},*/
|
||||
//当拖拽结束后,整个表格的数据
|
||||
onReorderRow: function (newData) {
|
||||
//这里的newData是整个表格数据,数组形式
|
||||
//console.log(newData); //调试用代码
|
||||
$.post(ext.contextPath + '/report/drainageDataomprehensiveTableMainconfigure/dosort.do',{ jsondata: JSON.stringify(newData) },//将整张表数据 不能分页
|
||||
function(data) {
|
||||
if (data == 1) {
|
||||
//$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','数据错误','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$("#table").tableDnD();
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="subDetailDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
|
||||
<form id="searchForm">
|
||||
<div class="form-group" style="padding:0;">
|
||||
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
|
||||
<security:authorize buttonUrl="report/drainageDataomprehensiveTableMainconfigure/add.do">
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"><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>
|
||||
</security:authorize>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<table id="table" data-use-row-attr-func="true" data-reorderable-rows="true"></table>
|
||||
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
330
WebRoot/jsp/report/mPointListForCustomReportSelects.jsp
Normal file
330
WebRoot/jsp/report/mPointListForCustomReportSelects.jsp
Normal file
@ -0,0 +1,330 @@
|
||||
<%@ 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 companyId='';
|
||||
var signalType="-1";
|
||||
var dosearchMp = function() {
|
||||
$("#table_mpoint").bootstrapTable('refresh');
|
||||
};
|
||||
function doselect(dialog,grid) {
|
||||
var checkedItem = $("#table_mpoint").bootstrapTable('getAllSelections');
|
||||
if(checkedItem!= null && checkedItem!=""){
|
||||
// console.log(checkedItem);
|
||||
var mpoints="[";
|
||||
|
||||
for(var i=0;i<checkedItem.length;i++){
|
||||
mpoints+= "{\"mpointId\":\""+ checkedItem[i].id+"\"," + "\"name\":\"" + checkedItem[i].parmname + "\"}";
|
||||
if ((checkedItem.length -1) > i) {
|
||||
mpoints += ","
|
||||
}
|
||||
}
|
||||
mpoints += "]";
|
||||
$.post(ext.contextPath + '/report/customReportMPoint/saves.do', {companyId:unitId,mpointids:mpoints,pid:'${param.pid}'}, function(resp) {
|
||||
//console.info(checkedItem.id)
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal('mpSubModal');
|
||||
if (resp.code == 0) {
|
||||
showAlert('d',resp.msg,'alertDiv_power');
|
||||
}
|
||||
},'json');
|
||||
}else{
|
||||
showAlert('d','尚未选择测量点!','mpoint_mainAlertdiv');
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
//显示已经勾选的数据
|
||||
function stateFormatter(value, row, index) {
|
||||
var flag=false;
|
||||
if(row.id=='${mpid}'){
|
||||
flag=true;
|
||||
checkedItem = "";
|
||||
}
|
||||
if (flag)
|
||||
return {
|
||||
checked : true//设置选中
|
||||
};
|
||||
return value;
|
||||
}
|
||||
|
||||
var $table;
|
||||
|
||||
function queryParams(params) {
|
||||
|
||||
var temp={
|
||||
pid:params.pid,
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset/params.limit+1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order, // 排序规则
|
||||
search_name: $('#search_name').val(),
|
||||
search_mpointcode: $('#search_mpointcode').val(),
|
||||
search_mpointcode: $('#processSection').val(),
|
||||
companyId:unitId,
|
||||
signalType:signalType
|
||||
};
|
||||
/* var status =$('#switchBtn').bootstrapSwitch('state')
|
||||
if(status){
|
||||
temp.checkedIds=getCheckedIds();
|
||||
}
|
||||
*/ return temp;
|
||||
}
|
||||
$(function() {
|
||||
|
||||
$.post(ext.contextPath + "/user/processSection/getProcessSection4Select.do", { companyId: companyId }, function (data) {
|
||||
$("#processSection").empty();
|
||||
var selelct_ = $("#processSection").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' })
|
||||
selelct_.val('').trigger("change");
|
||||
selelct_.on("change", function (e) {
|
||||
$("#table_mpoint").bootstrapTable('refresh');
|
||||
});
|
||||
|
||||
}, 'json');
|
||||
|
||||
//简易公司combotree
|
||||
$.post(ext.contextPath + '/user/getUnitForTree.do', { ng: '' }, function (data) {
|
||||
if (data.length == 1 && !data[0].hasOwnProperty("nodes")) {
|
||||
//当登陆者的pid以下没有子节点时显示单独一个span
|
||||
$("#search_code").val(data[0].id);
|
||||
$("#companyselect").hide();
|
||||
$("#company").text("公司: " + data[0].text);
|
||||
companyId = data[0].id;
|
||||
dosearchMp();
|
||||
//initFun();
|
||||
} else if ((data.length == 1 && data.nodes != "") || data.length > 1) {
|
||||
//第一次加载时赋值
|
||||
$("#search_code").val(data[0].id);
|
||||
$("#cname_input").val(data[0].text);
|
||||
companyId = data[0].id;
|
||||
dosearchMp();
|
||||
//initFun();
|
||||
//$table.bootstrapTable('refresh');//异步加载重新刷新,待修改
|
||||
$('#companytree').treeview({
|
||||
data: data,
|
||||
showBorder: false,
|
||||
levels: 3,
|
||||
});
|
||||
$('#companytree').on('nodeSelected', function (event, data) {
|
||||
$("#search_code").val(data.id);
|
||||
$("#cname_input").val(data.text);
|
||||
document.getElementById('ul_tree').style.display = "none";
|
||||
companyId= data.id;
|
||||
dosearchMp();
|
||||
//initFun();
|
||||
});
|
||||
} else {
|
||||
//待完善
|
||||
};
|
||||
}, 'json');
|
||||
//防止点击树的+号收起下拉框
|
||||
$("#ul_tree").on("click", function (e) {
|
||||
event.stopPropagation();
|
||||
});
|
||||
//点击空白隐藏树
|
||||
$(document).click(function (e) {
|
||||
var divTree = $('#ul_tree'); // 设置目标区域
|
||||
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
|
||||
divTree.hide()
|
||||
}
|
||||
})
|
||||
//initialSelectionIds();
|
||||
//alert();
|
||||
$table=$("#table_mpoint").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/work/mpoint/getlist.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: 'mpointcode', // 返回json数据中的name
|
||||
title: '测量点Code', // 表格表头显示文字
|
||||
sortable : true,
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'parmname', // 返回json数据中的name
|
||||
title: '名称', // 表格表头显示文字
|
||||
sortable : true,
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'parmvalue', // 返回json数据中的name
|
||||
title: '当前值', // 表格表头显示文字
|
||||
sortable : true,
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'measuredt', // 返回json数据中的name
|
||||
title: '当前时间', // 表格表头显示文字
|
||||
sortable : true,
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'unit', // 返回json数据中的name
|
||||
title: '单位', // 表格表头显示文字
|
||||
sortable : true,
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
adjustBootstrapTableView("table_mpoint");
|
||||
|
||||
|
||||
},
|
||||
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_mpoint .checked').removeClass("checked");
|
||||
// obj.parent().addClass("checked");
|
||||
// checkedItem = rows;
|
||||
// }else{
|
||||
// obj.parent().removeClass("checked");
|
||||
// checkedItem = "";
|
||||
// }
|
||||
// });
|
||||
});
|
||||
|
||||
function changeSignalType(obj){
|
||||
var value=$(obj).val();
|
||||
signalType=value;
|
||||
dosearchMp();
|
||||
}
|
||||
</script>
|
||||
<div class="modal fade" id="mpSubModal" >
|
||||
<div class="modal-dialog modal-md" >
|
||||
<div class="modal-content" style="width: 700px;">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">选择测量点</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div id="mpoint_mainAlertdiv"></div>
|
||||
<div id="menu4SelectDiv"></div>
|
||||
<div id="modal-body">
|
||||
<!-- <div class="form-group">
|
||||
<label class="form-label" id="companylabel">水厂:</label>
|
||||
<label class="form-label" id="company" style="width:180px;border: none;background: transparent;" ></label>
|
||||
<select class="form-control select2 " id="search_code" name ="search_code" style="width: 220px;"></select>
|
||||
</div> -->
|
||||
<%-- <div class="form-group " style="margin-bottom:10px;">--%>
|
||||
<%-- <input id="search_code" name="search_code" type="hidden" />--%>
|
||||
<%-- <span id="company" style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold"></span>--%>
|
||||
<%-- </div>--%>
|
||||
<%-- <ul id="companyselect" style="list-style-type:none;padding-left:0px;width:300px;">--%>
|
||||
<%-- <li class="dropdown" style="width:300px;">--%>
|
||||
<%-- <!-- Menu toggle button -->--%>
|
||||
<%-- <a href="#" class="dropdown-toggle" data-toggle="dropdown"--%>
|
||||
<%-- style="width:300px;" onclick="document.getElementById('ul_tree').style.display = 'block';">--%>
|
||||
<%-- <div class="input-group">--%>
|
||||
<%-- <span class="input-group-addon"--%>
|
||||
<%-- style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">公司:</span>--%>
|
||||
<%-- <input class="form-control " id="cname_input" name="cname_input"--%>
|
||||
<%-- style="height:31px;width: 220px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;"--%>
|
||||
<%-- readonly />--%>
|
||||
<%-- </div><!-- /input-group -->--%>
|
||||
<%-- </a>--%>
|
||||
<%-- <ul id="ul_tree" class="dropdown-menu" data-stopPropagation="true">--%>
|
||||
<%-- <li class="header">--%>
|
||||
<%-- <div id="companytree" style="width: 275px;overflow:auto;"></div>--%>
|
||||
<%-- </li>--%>
|
||||
<%-- </ul>--%>
|
||||
<%-- </li>--%>
|
||||
<%-- </ul>--%>
|
||||
<div class="form-group pull-right form-inline" >
|
||||
<div class="input-group input-group-sm " style="width: 180px;margin-left:30px">
|
||||
<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="dosearchMp();"><i class="fa fa-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group input-group-sm " style="width: 200px;">
|
||||
<label class="col-sm-4 control-label" style="padding:0px 10px 0px 10px;line-height:40px;">工艺段</label>
|
||||
<div class="col-sm-8 control-label" style="padding: 0px;line-height:40px;">
|
||||
<select class="form-control select2 " id="processSection" name ="processSection" style="width: 120px;"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="input-group input-group-sm " style="width: 150px;">
|
||||
<label class="col-sm-4 control-label" style="padding:0px 10px 0px 10px;line-height: 40px;">信号</label>
|
||||
<div class="col-sm-8 control-label" style="padding: 0px;line-height:40px;">
|
||||
<select id ="signalType" name="signalType" class="form-control select2" style="margin-top:5px;height: 30px;" onchange="changeSignalType(this);">
|
||||
<option value="-1" >全部</option>
|
||||
<option value="AI" >AI</option>
|
||||
<option value="DI" >DI</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <button type="button" class="btn btn-default" onclick="addFun();"><i class="fa fa-plus"></i> 重置</button> -->
|
||||
</div>
|
||||
<!-- <div class="form-group " style="padding:0;">
|
||||
<label class="form-label">班组</label>
|
||||
<select class="form-control select2 " id="search_code" name ="search_code" style="width: 220px;"></select>
|
||||
<div class="form-group pull-right" >
|
||||
<div class="input-group input-group-sm" style="width: 500px;">
|
||||
<input type="text" id="search_pid" name="search_pid" class="form-control pull-right" style="width: 200px;" placeholder="所属车间">
|
||||
<input type="text" id="search_name" name="search_name" class="form-control pull-right" style="width: 200px;margin-right:10px" 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 class="table-scrollable">
|
||||
<table class="table table-bordered table-striped" style="overflow:auto;width:100%" id="table_mpoint"></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()" id="btn_save">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
274
WebRoot/jsp/report/operatingCostAnalysisList.jsp
Normal file
274
WebRoot/jsp/report/operatingCostAnalysisList.jsp
Normal file
@ -0,0 +1,274 @@
|
||||
<%@ 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>
|
||||
<script type="text/javascript">
|
||||
var dosearch = function() {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
$(function() {
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/operatingCostAnalysis/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(),
|
||||
}
|
||||
},
|
||||
sortName: 'id', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
/* onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
viewFun(row.id);
|
||||
}, */
|
||||
columns: [
|
||||
[{
|
||||
field: 'sname', // 返回json数据中的name
|
||||
title: '水厂名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 2
|
||||
},{
|
||||
field: 'text1', // 返回json数据中的name
|
||||
title: '设备维护保养计划', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 4,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text2', // 返回json数据中的name
|
||||
title: '设备设施防腐计划', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 4,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text3', // 返回json数据中的name
|
||||
title: '设备维修计划', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 4,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text4', // 返回json数据中的name
|
||||
title: '设施维修计划', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 4,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text5', // 返回json数据中的name
|
||||
title: '库存金额', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 2
|
||||
},{
|
||||
field: 'text6', // 返回json数据中的name
|
||||
title: '维护维修计划完成率', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 2,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text7', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 2
|
||||
}],
|
||||
[{
|
||||
field: 'text11', // 返回json数据中的name
|
||||
title: '计划项数', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text12', // 返回json数据中的name
|
||||
title: '完成率(%)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text13', // 返回json数据中的name
|
||||
title: '费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text14', // 返回json数据中的name
|
||||
title: '其中委外费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text21', // 返回json数据中的name
|
||||
title: '计划项数', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text22', // 返回json数据中的name
|
||||
title: '完成率(%)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text23', // 返回json数据中的name
|
||||
title: '费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text24', // 返回json数据中的name
|
||||
title: '其中委外费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text31', // 返回json数据中的name
|
||||
title: '应修台数', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text32', // 返回json数据中的name
|
||||
title: '完成率(%)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text33', // 返回json数据中的name
|
||||
title: '费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text34', // 返回json数据中的name
|
||||
title: '其中委外费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text41', // 返回json数据中的name
|
||||
title: '应修台数', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text42', // 返回json数据中的name
|
||||
title: '完成率(%)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text43', // 返回json数据中的name
|
||||
title: '费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text44', // 返回json数据中的name
|
||||
title: '其中委外费用(元)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text61', // 返回json数据中的name
|
||||
title: '项数', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
},{
|
||||
field: 'text62', // 返回json数据中的name
|
||||
title: '完成率(%)', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
colspan: 1,
|
||||
rowspan: 1
|
||||
}]
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function(){ //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div >
|
||||
<table id="table"></table>
|
||||
</div>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
212
WebRoot/jsp/report/reportCreate_processView.jsp
Normal file
212
WebRoot/jsp/report/reportCreate_processView.jsp
Normal file
@ -0,0 +1,212 @@
|
||||
<%@page import="com.sipai.entity.business.BusinessUnit" %>
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.maintenance.Maintenance" %>
|
||||
<%@ 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();%>
|
||||
<%request.setAttribute("Status_Finish", Maintenance.Status_Finish);%>
|
||||
<!-- 补录状态 -->
|
||||
<%request.setAttribute("TYPE_SUPPLEMENT", Maintenance.TYPE_SUPPLEMENT);%>
|
||||
<!-- 运维主流程状态 -->
|
||||
<%request.setAttribute("TYPE_MAINTENANCE", Maintenance.TYPE_MAINTENANCE);%>
|
||||
<%request.setAttribute("UNIT_HANDLE", BusinessUnit.UNIT_HANDLE);%>
|
||||
<!-- bootstrap-star-rating -->
|
||||
<link rel="stylesheet"
|
||||
href="<%=request.getContextPath()%>/node_modules/bootstrap-star-rating/css/star-rating.min.css"/>
|
||||
<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">
|
||||
//var masterId=$('#maintenanceId').val();
|
||||
var tbName_problem = 'tb_maintenance_problem_fille'; //数据表
|
||||
var tbName_maintenance = 'tb_maintenance_file'; //数据表
|
||||
var nameSpace = 'MaintenanceProblem';//保存文件夹
|
||||
var previews = new Array();
|
||||
var previewConfigs = new Array();
|
||||
/* var student = {
|
||||
"caption":"lilei",
|
||||
|
||||
}
|
||||
previewConfigs[0]=student; */
|
||||
//初始化fileinput控件(第一次初始化)
|
||||
function showFileInput(ctrlName) {
|
||||
var control = $('#' + ctrlName);
|
||||
|
||||
control.fileinput('destroy');
|
||||
control.fileinput({
|
||||
language: 'zh', //设置语言
|
||||
showUpload: false, //是否显示上传按钮
|
||||
showRemove: false,
|
||||
showCaption: false,//是否显示标题
|
||||
showBrowse: false,//选择按钮
|
||||
showClose: false,//右上角关闭按钮
|
||||
dropZoneEnabled: false,//是否显示拖拽区域
|
||||
resizeImage: true,
|
||||
fileActionSettings: {
|
||||
showDrag: false
|
||||
},
|
||||
browseClass: "btn btn-primary", //按钮样式
|
||||
maxFileCount: 10, //表示允许同时上传的最大文件个数
|
||||
enctype: 'multipart/form-data',
|
||||
validateInitialCount: true,
|
||||
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
|
||||
initialPreviewAsData: true,
|
||||
initialPreview: previews,
|
||||
initialPreviewConfig: previewConfigs,
|
||||
layoutTemplates: {
|
||||
actionUpload: '',
|
||||
actionDelete: ''
|
||||
}
|
||||
});
|
||||
$('#kvFileinputModal').on("hidden.bs.modal", function () {
|
||||
$(this).removeData("bs.modal");
|
||||
//modal重复打开会导致前面的滚动条失去作用
|
||||
$('.modal').css("overflow", "auto");
|
||||
});
|
||||
}
|
||||
|
||||
var viewHandleDetailFun = function (id) {
|
||||
$.post(ext.contextPath + '/maintenance/showHandleDetailView.do', {id: id}, function (data) {
|
||||
$("#handleDetailDiv").html(data);
|
||||
openModal('handleDetailModal');
|
||||
});
|
||||
};
|
||||
|
||||
//流程审核文件上传所需参数
|
||||
var masterId_process = '${param.id}';//业务Id
|
||||
var tbName_process = 'TB_Process_UploadFile'; //数据表
|
||||
var nameSpace_process = 'ProcessUploadFile';//保存文件夹
|
||||
var status = 'view';//有查看权限
|
||||
|
||||
$(function () {
|
||||
//getFileList_process();
|
||||
$("#judgemaintainerstaff").rating('refresh', {showClear: false, showCaption: false, readonly: true});
|
||||
$("#judgeresult").rating('refresh', {showClear: false, showCaption: false, readonly: true});
|
||||
var result = '${businessUnitRecords}';
|
||||
result = result.replace(new RegExp("\r\n", "gm"), "");
|
||||
var json = JSON.parse(result);
|
||||
$.each(json, function (index, item) {
|
||||
if (item.id != null && item.id != "") {
|
||||
previews = new Array();
|
||||
$('#' + item.id).show();
|
||||
var data = item.files;
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var previewConfig = new Object();
|
||||
var path = data[i].abspath;
|
||||
path = path.substring(path.indexOf('webapps') + 7, path.length);
|
||||
path = ext.basePath.replace(ext.contextPath, '') + path.replace(/\\/g, "\/");
|
||||
previews.push(path);
|
||||
previewConfig['width'] = '30px';
|
||||
previewConfig['caption'] = data[i].filename;
|
||||
previewConfig['key'] = data[i].id;
|
||||
previewConfigs.push(previewConfig);
|
||||
}
|
||||
showFileInput(item.id);
|
||||
}
|
||||
});
|
||||
})
|
||||
//----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
var printpage = function (myDiv) {
|
||||
$('.printContent').show();
|
||||
var printHtml = document.getElementById(myDiv).innerHTML;
|
||||
var wind = window.open("", "newwin", "width=1550,height=565,top=80,left=80,toolbar=no,scrollbars=yes,menubar=no");
|
||||
var link = document.createElement('link');
|
||||
link.type = 'text/css';
|
||||
link.rel = 'stylesheet';
|
||||
link.href = '<%=serverPath%><%=contextPath%>/plugins/bootstrap-ext/dist/bootstrap.min.css';
|
||||
wind.document.head.appendChild(link);
|
||||
|
||||
wind.document.body.innerHTML = printHtml;
|
||||
wind.print();
|
||||
wind.close();
|
||||
$('.printContent').hide();
|
||||
};
|
||||
//----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
</script>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!-- The time line -->
|
||||
<ul class="timeline">
|
||||
<c:forEach items="${businessUnitRecords}" var="item" varStatus="status">
|
||||
<li>
|
||||
<c:choose>
|
||||
<c:when test='${finishFlag && status.last}'>
|
||||
<i class="fa fa-check bg-blue"></i>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<i class="fa fa-clock-o bg-grey"></i>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<div class="timeline-item">
|
||||
<span class="time"><i class="fa fa-clock-o"></i> ${item.insdt.substring(0,16)}</span>
|
||||
<h3 class="timeline-header"><a href="#">${item.taskName}</a> ${item.user.caption}</h3>
|
||||
<div class="timeline-body" style="padding-left:5px;padding-right:5px;">
|
||||
<div>
|
||||
${item.record}
|
||||
<c:if test="${UNIT_HANDLE==item.type}">
|
||||
<a style="cursor:pointer" onclick="viewHandleDetailFun('${item.id}')">查看详情</a>
|
||||
</c:if>
|
||||
</div>
|
||||
<c:if test="${item.id!=''}">
|
||||
<div style="padding-top:5px;">
|
||||
<input type="file" id='${item.id}' multiple class="file-loading"/>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
<%-- <c:forEach items="${item.files}" var="file" >
|
||||
<img src="${file.abspath.substring(file.abspath.indexOf('webapps')+7,file.abspath.length())}" height="200" width="200" class="margin">
|
||||
</c:forEach> --%>
|
||||
</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>
|
||||
-->
|
||||
|
||||
<!-- 流程打印布局 开始-->
|
||||
<div id="maintenanceDetail">
|
||||
<div class="printContent" style="display:none">
|
||||
<h4 style="text-align:center;">流程处理详情</h4>
|
||||
</div>
|
||||
<div class="printContent" style="display:none">
|
||||
<table style="border-collapse:collapse;margin:0 auto">
|
||||
<tr>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">时间</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">发起人</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">任务</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">流程内容详情</td>
|
||||
</tr>
|
||||
<c:forEach items="${businessUnitRecords}" var="item" varStatus="status">
|
||||
<tr>
|
||||
<td style="border:1px solid black;width:150px;text-align: center;">${item.insdt.substring(0,16)}</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">${item.user.caption}</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">${item.taskName}</td>
|
||||
<td style="border:1px solid black;width:300px;">${item.record}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
</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>
|
||||
</div>
|
||||
<!-- 流程打印布局 结束-->
|
||||
257
WebRoot/jsp/report/reportCreate_processView_alone.jsp
Normal file
257
WebRoot/jsp/report/reportCreate_processView_alone.jsp
Normal file
@ -0,0 +1,257 @@
|
||||
<%@page import="com.sipai.entity.business.BusinessUnit" %>
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.maintenance.Maintenance" %>
|
||||
<%@ 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();%>
|
||||
<%request.setAttribute("Status_Finish", Maintenance.Status_Finish);%>
|
||||
<!-- 补录状态 -->
|
||||
<%request.setAttribute("TYPE_SUPPLEMENT", Maintenance.TYPE_SUPPLEMENT);%>
|
||||
<!-- 运维主流程状态 -->
|
||||
<%request.setAttribute("TYPE_MAINTENANCE", Maintenance.TYPE_MAINTENANCE);%>
|
||||
<%request.setAttribute("UNIT_HANDLE", BusinessUnit.UNIT_HANDLE);%>
|
||||
<!-- bootstrap-star-rating -->
|
||||
<link rel="stylesheet"
|
||||
href="<%=request.getContextPath()%>/node_modules/bootstrap-star-rating/css/star-rating.min.css"/>
|
||||
<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">
|
||||
//var masterId=$('#maintenanceId').val();
|
||||
var tbName_problem = 'tb_maintenance_problem_fille'; //数据表
|
||||
var tbName_maintenance = 'tb_maintenance_file'; //数据表
|
||||
var nameSpace = 'MaintenanceProblem';//保存文件夹
|
||||
var previews = new Array();
|
||||
var previewConfigs = new Array();
|
||||
/* var student = {
|
||||
"caption":"lilei",
|
||||
|
||||
}
|
||||
previewConfigs[0]=student; */
|
||||
//初始化fileinput控件(第一次初始化)
|
||||
function showFileInput(ctrlName) {
|
||||
var control = $('#' + ctrlName);
|
||||
|
||||
control.fileinput('destroy');
|
||||
control.fileinput({
|
||||
language: 'zh', //设置语言
|
||||
showUpload: false, //是否显示上传按钮
|
||||
showRemove: false,
|
||||
showCaption: false,//是否显示标题
|
||||
showBrowse: false,//选择按钮
|
||||
showClose: false,//右上角关闭按钮
|
||||
dropZoneEnabled: false,//是否显示拖拽区域
|
||||
resizeImage: true,
|
||||
fileActionSettings: {
|
||||
showDrag: false
|
||||
},
|
||||
browseClass: "btn btn-primary", //按钮样式
|
||||
maxFileCount: 10, //表示允许同时上传的最大文件个数
|
||||
enctype: 'multipart/form-data',
|
||||
validateInitialCount: true,
|
||||
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
|
||||
initialPreviewAsData: true,
|
||||
initialPreview: previews,
|
||||
initialPreviewConfig: previewConfigs,
|
||||
layoutTemplates: {
|
||||
actionUpload: '',
|
||||
actionDelete: ''
|
||||
}
|
||||
});
|
||||
$('#kvFileinputModal').on("hidden.bs.modal", function () {
|
||||
$(this).removeData("bs.modal");
|
||||
//modal重复打开会导致前面的滚动条失去作用
|
||||
$('.modal').css("overflow", "auto");
|
||||
});
|
||||
}
|
||||
|
||||
var viewHandleDetailFun = function (id) {
|
||||
$.post(ext.contextPath + '/maintenance/showHandleDetailView.do', {id: id}, function (data) {
|
||||
$("#handleDetailDiv").html(data);
|
||||
openModal('handleDetailModal');
|
||||
});
|
||||
};
|
||||
|
||||
//流程审核文件上传所需参数
|
||||
var masterId_process = '${param.id}';//业务Id
|
||||
var tbName_process = 'TB_Process_UploadFile'; //数据表
|
||||
var nameSpace_process = 'ProcessUploadFile';//保存文件夹
|
||||
var status = 'view';//有查看权限
|
||||
|
||||
$(function () {
|
||||
//初始化文件显示
|
||||
// getFileList_process();
|
||||
// $("#judgemaintainerstaff").rating('refresh', { showClear: false, showCaption: false, readonly: true });
|
||||
// $("#judgeresult").rating('refresh', { showClear: false, showCaption: false, readonly: true });
|
||||
// var result = '${businessUnitRecords}';
|
||||
// result = result.replace(new RegExp("\r\n", "gm"), "");
|
||||
// var json = JSON.parse(result);
|
||||
// $.each(json, function (index, item) {
|
||||
// if (item.id != null && item.id != "") {
|
||||
// previews = new Array();
|
||||
// $('#' + item.id).show();
|
||||
// var data = item.files;
|
||||
// for (var i = 0; i < data.length; i++) {
|
||||
// var previewConfig = new Object();
|
||||
// var path = data[i].abspath;
|
||||
// path = path.substring(path.indexOf('webapps') + 7, path.length);
|
||||
// path = ext.basePath.replace(ext.contextPath, '') + path.replace(/\\/g, "\/");
|
||||
// previews.push(path);
|
||||
// previewConfig['width'] = '30px';
|
||||
// previewConfig['caption'] = data[i].filename;
|
||||
// previewConfig['key'] = data[i].id;
|
||||
// previewConfigs.push(previewConfig);
|
||||
// }
|
||||
// showFileInput(item.id);
|
||||
// }
|
||||
// });
|
||||
})
|
||||
//----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
var printpage = function (myDiv) {
|
||||
$('.printContent').show();
|
||||
var printHtml = document.getElementById(myDiv).innerHTML;
|
||||
var wind = window.open("", "newwin", "width=1550,height=565,top=80,left=80,toolbar=no,scrollbars=yes,menubar=no");
|
||||
/*
|
||||
var ss = ".coversheet-pageBoder{"
|
||||
+" padding: 10px;"
|
||||
+" margin-top: 10px;"
|
||||
+" border: 1px solid gray;"
|
||||
+" page-break-after: always;"
|
||||
+" border-radius: 5px;"
|
||||
+" box-shadow: 0 1px 2px 1px rgba(0,0,0,.08), 0 3px 6px rgba(0,0,0,.08);"
|
||||
+"}"
|
||||
+".noprint{display: none;}"
|
||||
+".select2-container .select2-selection--single{ "
|
||||
+" height:34px; "
|
||||
+" line-height: 34px; "
|
||||
+" }"
|
||||
+" .select2-selection__arrow{"
|
||||
+" margin-top:3px;"
|
||||
+" } "
|
||||
+" .div-row{"
|
||||
+" margin-left:3px;"
|
||||
+" margin-right:3px;"
|
||||
+" }"
|
||||
+" .div-border{"
|
||||
+" border-style:solid;"
|
||||
+" border-width:1px;"
|
||||
+" text-align:center;"
|
||||
+" }"
|
||||
+" .right-border{"
|
||||
+" border-right:none;"
|
||||
+" }"
|
||||
+" .top-right-border{"
|
||||
+" border-top:none;"
|
||||
+" border-right:none;"
|
||||
+" }"
|
||||
+" .top-border{"
|
||||
+" border-top:none;"
|
||||
+" }";
|
||||
*/
|
||||
//for Chrome Firefox Opera Safari
|
||||
//wind.document.body.innerHTML = printHtml;
|
||||
var link = document.createElement('link');
|
||||
link.type = 'text/css';
|
||||
link.rel = 'stylesheet';
|
||||
link.href = '<%=serverPath%><%=contextPath%>/plugins/bootstrap-ext/dist/bootstrap.min.css';
|
||||
wind.document.head.appendChild(link);
|
||||
/*
|
||||
var style = document.createElement('style');
|
||||
style.type = 'text/css';
|
||||
style.rel = 'stylesheet';
|
||||
style.appendChild(document.createTextNode(ss));
|
||||
wind.document.head.appendChild(style);
|
||||
*/
|
||||
wind.document.body.innerHTML = printHtml;
|
||||
//console.log(wind.document);
|
||||
wind.print();
|
||||
wind.close();
|
||||
$('.printContent').hide();
|
||||
};
|
||||
//----------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
</script>
|
||||
<div class="modal fade" id="processViewModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">流程处理详情</h4>
|
||||
</div>
|
||||
<div class="modal-body " style="padding-left:0;padding-right:0;">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<!-- The time line -->
|
||||
<ul class="timeline">
|
||||
<c:forEach items="${businessUnitRecords}" var="item" varStatus="status">
|
||||
<li>
|
||||
<c:choose>
|
||||
<c:when test='${finishFlag && status.last}'>
|
||||
<i class="fa fa-check bg-blue"></i>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<i class="fa fa-clock-o bg-grey"></i>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<div class="timeline-item">
|
||||
<span class="time"><i
|
||||
class="fa fa-clock-o"></i> ${item.insdt.substring(0,16)}</span>
|
||||
<h3 class="timeline-header"><a
|
||||
href="#">${item.taskName}</a> ${item.user.caption}</h3>
|
||||
<div class="timeline-body" style="padding-left:5px;padding-right:5px;">
|
||||
<div>
|
||||
${item.record}
|
||||
</div>
|
||||
<c:if test="${item.id!=''}">
|
||||
<%--<div style="padding-top:5px;">
|
||||
<input type="file" id='${item.id}' multiple class="file-loading"/>
|
||||
</div>--%>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</c:forEach>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- 流程打印布局 开始 -->
|
||||
<div id="inStockExcuteDetail">
|
||||
<div class="printContent" style="display:none">
|
||||
<h4 style="text-align:center;">流程处理详情</h4>
|
||||
</div>
|
||||
<div class="printContent" style="display:none">
|
||||
<table style="border-collapse:collapse;margin:0 auto">
|
||||
<tr>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">时间</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">发起人</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">任务</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">流程内容详情</td>
|
||||
</tr>
|
||||
<c:forEach items="${businessUnitRecords}" var="item" varStatus="status">
|
||||
<tr>
|
||||
<td style="border:1px solid black;width:150px;text-align: center;">${item.insdt.substring(0,16)}</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">${item.user.caption}</td>
|
||||
<td style="border:1px solid black;width:120px;text-align: center;">${item.taskName}</td>
|
||||
<td style="border:1px solid black;width:300px;">${item.record}</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 流程打印布局 结束-->
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" onclick="printpage('inStockExcuteDetail');"><i
|
||||
class="fa fa-print"></i>打印
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
183
WebRoot/jsp/report/reportListShow.jsp
Normal file
183
WebRoot/jsp/report/reportListShow.jsp
Normal file
@ -0,0 +1,183 @@
|
||||
<%@page import="com.sipai.entity.report.TemplateType"%>
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
|
||||
<%@ page import="com.sipai.entity.base.ServerObject"%>
|
||||
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security"%>
|
||||
<%String contextPath = request.getContextPath();%>
|
||||
<%request.setAttribute("day", TemplateType.REPORT_DAY); %>
|
||||
<%request.setAttribute("month", TemplateType.REPORT_MONTH); %>
|
||||
<!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>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
.table-hover>tbody>tr:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var tbName='TB_Report_TemplateFile'; //数据表
|
||||
var viewFun = function(id) {
|
||||
//alert(id)
|
||||
$.post(ext.contextPath + '/report/reportTemplate/view.do', {id:id,tbName:tbName} , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
//console.log("报表","xxxxx");
|
||||
openModal('subModal_report');
|
||||
});
|
||||
};
|
||||
//展示报表图片
|
||||
var getListFun = function(){
|
||||
$.post(ext.contextPath + "/report/reportTemplate/getReportList.do",{type_id: $('#type_id').val(),
|
||||
companyId: companyId}, function(data) {
|
||||
document.getElementById("pic").innerHTML="";
|
||||
var list = data.rows;
|
||||
for(i=0;i<list.length;i++){
|
||||
var url = "";
|
||||
if(list[i].templateType.type == '${day}'){
|
||||
url = "<%=contextPath%>/IMG/report_day_pic.png";
|
||||
}else{
|
||||
url = "<%=contextPath%>/IMG/report_month_pic.png";
|
||||
}
|
||||
$('#pic').append(
|
||||
'<div class="col-sm-2 pull-left" style="height:200px;text-align:center">'
|
||||
+'<div >'
|
||||
+'<button onclick="viewFun("'+list[i].id+'")" type="button" style="background:none;border:none" >'
|
||||
+'<img src="'+url+'" />'
|
||||
+'</button>'
|
||||
+'</div>'
|
||||
+'<div >'
|
||||
+'<lable ><strong>'+list[i].name+'</strong></lable>'
|
||||
+'</div>'
|
||||
+'</div>'
|
||||
)
|
||||
}
|
||||
},'json');
|
||||
};
|
||||
|
||||
var companyId="";
|
||||
$(function() {
|
||||
getListFun();
|
||||
$.post(ext.contextPath + "/user/getSearchBizsByUserId4Select.do", {}, function(data) {
|
||||
if(data.length == 1){
|
||||
//选择厂区为一个厂时隐藏选择框
|
||||
$("#search_code").css("display", "none");
|
||||
$("#company").text(data[0].text);
|
||||
companyId=data[0].id;
|
||||
}else{
|
||||
$("#company").css("display", "none");
|
||||
var selelct=$("#search_code").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;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
selelct.val('').trigger("change");
|
||||
selelct.on("change",function(e){
|
||||
companyId= $(this).val();
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
|
||||
//选择模板类型
|
||||
$.post(ext.contextPath + "/report/templateType/getTemplateTypeForSelect.do", function(data) {
|
||||
var selelct =$("#type_id").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct.val('').trigger("change");
|
||||
selelct.on("change",function(){
|
||||
getListFun();
|
||||
});
|
||||
},'json');
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
<form id="searchForm">
|
||||
<div >
|
||||
<div class="form-group form-inline">
|
||||
<div class="form-group">
|
||||
<label class="form-label" id="companylabel">水厂:</label>
|
||||
<label class="form-label" id="company" style="width:180px;border: none;background: transparent;" ></label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<select class="form-control select2 " id="search_code" name ="search_code" style="width: 220px;"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" style="padding:0;">
|
||||
<div class="form-group form-inline" >
|
||||
<label class="control-label">模板类型</label>
|
||||
<select class="form-control select2" id="type_id" name ="type_id" style="width:160px;"></select>
|
||||
<!-- <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>
|
||||
<!-- <table id="table"></table> -->
|
||||
<div class="form-group form-inline" id="pic"></div>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
205
WebRoot/jsp/report/reportTemplateAdd.jsp
Normal file
205
WebRoot/jsp/report/reportTemplateAdd.jsp
Normal file
@ -0,0 +1,205 @@
|
||||
<%@ 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:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var masterId='${id}';
|
||||
var tbName='TB_Report_TemplateFile'; //数据表
|
||||
var nameSpace='ReportTemplateFile';//保存文件夹
|
||||
var filelist = new Array();
|
||||
var control;
|
||||
//初始化fileinput控件(第一次初始化)
|
||||
function initFileInput(ctrlName, uploadUrl) {
|
||||
control = $('#' + ctrlName);
|
||||
control.fileinput({
|
||||
language: 'zh', //设置语言
|
||||
uploadUrl: uploadUrl, //上传的地址
|
||||
uploadAsync:true,
|
||||
allowedFileExtensions : ['jasper'],//接收的文件后缀
|
||||
showUpload: false, //是否显示上传按钮
|
||||
showRemove:false,
|
||||
dropZoneEnabled: false,//是否显示拖拽区域
|
||||
showCaption: false,//是否显示标题
|
||||
showClose:false,//右上角关闭按钮
|
||||
browseClass: "btn btn-info", //按钮样式
|
||||
maxFileCount: 1, //表示允许同时上传的最大文件个数
|
||||
enctype: 'multipart/form-data',
|
||||
autoReplace:true,
|
||||
validateInitialCount:true,
|
||||
previewFileIcon: "<i class='fa fa-file'></i>",
|
||||
preferIconicPreview: true,//是否强制相关文件展示icon
|
||||
initialPreviewAsData: true,
|
||||
uploadExtraData:function (previewId, index) { //传参
|
||||
var data = {
|
||||
"masterId": masterId, //此处自定义传参
|
||||
"tbName": tbName,
|
||||
"nameSpace": nameSpace
|
||||
};
|
||||
return data;
|
||||
},
|
||||
layoutTemplates:{
|
||||
actionDelete:''
|
||||
},
|
||||
});
|
||||
//文件上传后的事件
|
||||
control.on("filebatchselected", function (event, data, index) {
|
||||
//console.info(data.length)
|
||||
if(data.length == 0){
|
||||
$("#name").val("");
|
||||
showAlert('d','上传失败,请检查上传文件的类型!');
|
||||
}else if(data.length >0){
|
||||
//上传文件后生成模板名称
|
||||
var tempName = data[0].name;
|
||||
var nameArr = tempName.split('.');
|
||||
$("#name").val(nameArr[0]+"${nowDate}");
|
||||
}else{
|
||||
showAlert('d','上传失败!');
|
||||
}
|
||||
//$(this).fileinput("upload");
|
||||
});
|
||||
//隐藏预览
|
||||
$(".file-preview").css("display","none");
|
||||
//导入文件上传保存完成之后的事件
|
||||
control.on("fileuploaded", function (event, data, previewId, index) {
|
||||
if(data.response.suc) {
|
||||
//$("#name").val(data.files[0].name);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function dosave() {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('name', 'NOT_VALIDATED',null)
|
||||
.validateField('name');
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
control.fileinput("upload");//保存上传的文件
|
||||
$.post(ext.contextPath + "/report/reportTemplate/save.do", $("#subForm").serialize(), function(data) {
|
||||
if (data.res == 1){
|
||||
closeModal('subModal');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else if(data.res == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.res);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
$(function(){
|
||||
initFileInput("filelist",ext.contextPath+ "/base/inputFile.do");
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '模板类型名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
typeId: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '模板类型不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
//选择模板类型
|
||||
$.post(ext.contextPath + "/report/templateType/getTemplateTypeForSelect.do", function(data) {
|
||||
var selelct =$("#typeId").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct.val('').trigger("change");
|
||||
selelct.on("change",function(){
|
||||
//$("#name").val($("#typeId option:selected").text()+"${nowDate}");
|
||||
});
|
||||
},'json');
|
||||
})
|
||||
|
||||
</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">×</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 type="hidden" id="id" name ="id" value="${id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">所属厂区</label>
|
||||
<div class="col-sm-6">
|
||||
<input name="bizId" type="hidden" value="${company.id}"/>
|
||||
<p class="form-control-static" >${company.name}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*模板类型</label>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control select2" id="typeId" name ="typeId" style="width:270px;"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*模板名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" autocomplete="off" readonly>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<label class="input-group-btn">
|
||||
<input name="filelist" id="filelist" class="file" type="file" >
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="form-group">
|
||||
<label class="col-sm-2 control-label">备注</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id ="remark" name ="remark" placeholder="备注..."></textarea>
|
||||
</div>
|
||||
</div> -->
|
||||
<!-- <div class="form-group">
|
||||
<label class="col-sm-2 control-label">模板文件</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id = "templateName" placeholder="模板文件...">
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<label class="input-group-btn">
|
||||
<input name="filelist" id="filelist" class="file" type="file" >
|
||||
</label>
|
||||
</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>
|
||||
188
WebRoot/jsp/report/reportTemplateEdit.jsp
Normal file
188
WebRoot/jsp/report/reportTemplateEdit.jsp
Normal file
@ -0,0 +1,188 @@
|
||||
<%@ 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:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var masterId='${reportTemplate.id}';
|
||||
var tbName='TB_Report_TemplateFile'; //数据表
|
||||
var nameSpace='ReportTemplateFile';//保存文件夹
|
||||
var filelist = new Array();
|
||||
var control;
|
||||
var dataLength = 0;
|
||||
//初始化fileinput控件(第一次初始化)
|
||||
function initFileInput(ctrlName, uploadUrl) {
|
||||
control = $('#' + ctrlName);
|
||||
control.fileinput({
|
||||
language: 'zh', //设置语言
|
||||
uploadUrl: uploadUrl, //上传的地址
|
||||
uploadAsync:true,
|
||||
allowedFileExtensions : ['jasper'],//接收的文件后缀
|
||||
showUpload: false, //是否显示上传按钮
|
||||
showRemove:false,
|
||||
dropZoneEnabled: false,//是否显示拖拽区域
|
||||
showCaption: false,//是否显示标题
|
||||
showClose:false,//右上角关闭按钮
|
||||
browseClass: "btn btn-info", //按钮样式
|
||||
maxFileCount: 1, //表示允许同时上传的最大文件个数
|
||||
enctype: 'multipart/form-data',
|
||||
autoReplace:true,
|
||||
validateInitialCount:true,
|
||||
previewFileIcon: "<i class='fa fa-file'></i>",
|
||||
preferIconicPreview: true,//是否强制相关文件展示icon
|
||||
initialPreviewAsData: true,
|
||||
uploadExtraData:function (previewId, index) { //传参
|
||||
var data = {
|
||||
"masterId": masterId, //此处自定义传参
|
||||
"tbName": tbName,
|
||||
"nameSpace": nameSpace
|
||||
};
|
||||
return data;
|
||||
},
|
||||
layoutTemplates:{
|
||||
actionDelete:''
|
||||
},
|
||||
});
|
||||
//文件上传后的事件
|
||||
control.on("filebatchselected", function (event, data, index) {
|
||||
//console.info(data.length)
|
||||
if(data.length == 0){
|
||||
$("#name").val("");
|
||||
showAlert('d','上传失败,请检查上传文件的类型!');
|
||||
}else if(data.length >0){
|
||||
dataLength = data.length;
|
||||
//上传文件后生成模板名称
|
||||
var tempName = data[0].name;
|
||||
var nameArr = tempName.split('.');
|
||||
$("#name").val(nameArr[0]+"${nowDate}");
|
||||
console.info(dataLength)
|
||||
}else{
|
||||
showAlert('d','上传失败!');
|
||||
}
|
||||
//$(this).fileinput("upload");
|
||||
});
|
||||
//隐藏预览
|
||||
$(".file-preview").css("display","none");
|
||||
//导入文件上传保存完成之后的事件
|
||||
control.on("fileuploaded", function (event, data, previewId, index) {
|
||||
if(data.response.suc) {
|
||||
//$("#name").val(data.files[0].name);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function dosave() {
|
||||
console.info(dataLength.toString())
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('name', 'NOT_VALIDATED',null)
|
||||
.validateField('name');
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/reportTemplate/update.do?fileLength="+dataLength+"&tbName="+tbName,
|
||||
$("#subForm").serialize(), function(data) {
|
||||
if (data.res == 1){
|
||||
if(dataLength>0){
|
||||
control.fileinput("upload");//保存上传的文件
|
||||
}
|
||||
closeModal('subModal');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else if(data.res == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.res);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
$(function(){
|
||||
initFileInput("filelist",ext.contextPath+ "/base/inputFile.do");
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '模板类型名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
typeId: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '模板类型不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
//选择模板类型
|
||||
$.post(ext.contextPath + "/report/templateType/getTemplateTypeForSelect.do", function(data) {
|
||||
var selelct =$("#typeId").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct.val('${reportTemplate.typeId}').trigger("change");
|
||||
selelct.on("change",function(){
|
||||
//$("#name").val($("#typeId option:selected").text()+"${nowDate}");
|
||||
});
|
||||
},'json');
|
||||
})
|
||||
|
||||
</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">×</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 type="hidden" id="id" name ="id" value="${reportTemplate.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*模板类型</label>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control select2" id="typeId" name ="typeId" style="width:270px;"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*模板名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" autocomplete="off" value="${reportTemplate.name}" readonly>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<label class="input-group-btn">
|
||||
<input name="filelist" id="filelist" class="file" type="file" >
|
||||
</label>
|
||||
</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>
|
||||
338
WebRoot/jsp/report/reportTemplateList.jsp
Normal file
338
WebRoot/jsp/report/reportTemplateList.jsp
Normal file
@ -0,0 +1,338 @@
|
||||
<%@ 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>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
.table-hover>tbody>tr:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var tbName='TB_Report_TemplateFile'; //数据表
|
||||
var addFun = function() {
|
||||
$("#searchForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#searchForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + '/report/reportTemplate/add.do', {companyId : companyId} , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var editFun = function(id) {
|
||||
stopBubbleDefaultEvent();
|
||||
$.post(ext.contextPath + '/report/reportTemplate/edit.do', {id:id} , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
var viewFun = function(id) {
|
||||
$.post(ext.contextPath + '/report/reportTemplate/view.do', {id:id,tbName:'TB_Report_TemplateFile'} , 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 + '/report/reportTemplate/delete.do', {id : id,tbName:tbName}, function(data) {
|
||||
if(data==1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}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 + '/report/reportTemplate/deletes.do', {ids:datas,tbName:tbName} , function(data) {
|
||||
if(data>0){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var dosearch = function() {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
var companyId="";
|
||||
$(function() {
|
||||
//输入框验证
|
||||
$("#searchForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
search_code: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请先选择厂区'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
$.post(ext.contextPath + "/user/getSearchBizsByUserId4Select.do", {}, function(data) {
|
||||
if(data.length == 1){
|
||||
//选择厂区为一个厂时隐藏选择框
|
||||
$("#search_code").css("display", "none");
|
||||
$("#company").text(data[0].text);
|
||||
companyId=data[0].id;
|
||||
dosearch();
|
||||
}else{
|
||||
$("#company").css("display", "none");
|
||||
var selelct=$("#search_code").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;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
selelct.val('').trigger("change");
|
||||
selelct.on("change",function(e){
|
||||
companyId= $(this).val();
|
||||
dosearch();
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/reportTemplate/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(),
|
||||
type_id: $('#type_id').val(),
|
||||
companyId: companyId
|
||||
}
|
||||
},
|
||||
sortName: 'id', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
//viewFun(row.id);
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},{
|
||||
field: 'templateType.name', // 返回json数据中的name
|
||||
title: '模板类型', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'name', // 返回json数据中的name
|
||||
title: '模板名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'remark', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 120, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
var buts= '';
|
||||
buts+= '<security:authorize buttonUrl="report/reportTemplate/edit.do">';
|
||||
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+= '</security:authorize>';
|
||||
|
||||
buts+= '<security:authorize buttonUrl="report/reportTemplate/delete.do">';
|
||||
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+= '</security:authorize>';
|
||||
|
||||
buts='<div class="btn-group" >'+buts+'</div>';
|
||||
return buts;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function(){ //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
|
||||
});
|
||||
//选择模板类型
|
||||
$.post(ext.contextPath + "/report/templateType/getTemplateTypeForSelect.do", function(data) {
|
||||
var selelct =$("#type_id").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct.val('').trigger("change");
|
||||
selelct.on("change",function(){
|
||||
dosearch();
|
||||
});
|
||||
},'json');
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
<form id="searchForm">
|
||||
<div >
|
||||
<div class="form-group form-inline">
|
||||
<div class="form-group">
|
||||
<label class="form-label" id="companylabel">水厂:</label>
|
||||
<label class="form-label" id="company" style="width:180px;border: none;background: transparent;" ></label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<select class="form-control select2 " id="search_code" name ="search_code" style="width: 220px;"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" style="padding:0;">
|
||||
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
|
||||
<security:authorize buttonUrl="report/reportTemplate/add.do">
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"><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>
|
||||
</security:authorize>
|
||||
</div>
|
||||
<div class="form-group pull-right form-inline" >
|
||||
<label class="control-label">模板类型</label>
|
||||
<select class="form-control select2" id="type_id" name ="type_id" style="width:160px;"></select>
|
||||
<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>
|
||||
<table id="table"></table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
41
WebRoot/jsp/report/reportTemplateView.jsp
Normal file
41
WebRoot/jsp/report/reportTemplateView.jsp
Normal file
@ -0,0 +1,41 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var exportByTypeFun = function(type) {
|
||||
window.location.href = ext.contextPath + "/report/reportTemplate/exportReportTemplate.do?id=${param.id}&tbName=${param.tbName}&type="+type;
|
||||
};
|
||||
$(function() {
|
||||
$('#reportIframe').attr("src",ext.contextPath +"/report/reportTemplate/showReportTemplate.do?id=${param.id}&tbName=${param.tbName}");
|
||||
})
|
||||
</script>
|
||||
<div class="modal fade" id="subModal_report">
|
||||
<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">×</span></button>
|
||||
<h4 class="modal-title">报表模板</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="exportByTypeFun('pdf');"><i class="fa fa-file-pdf-o"></i>导出PDF</button>
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="exportByTypeFun('excel');"><i class="fa fa-file-excel-o"></i>导出Excel</button>
|
||||
</div>
|
||||
<iframe id='reportIframe' style="width:100%;height:440px" frameborder="0"></iframe>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
232
WebRoot/jsp/report/reportdetail.jsp
Normal file
232
WebRoot/jsp/report/reportdetail.jsp
Normal file
@ -0,0 +1,232 @@
|
||||
<%@ 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/fmt" prefix="fmt" %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
.control-label-overflow{
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
|
||||
jsonObject.rptdt=$("#rptdt").val();
|
||||
jsonObject.id=$("#id").val();
|
||||
jsonObject.memo=$("#memo").val();
|
||||
jsonObject.status="未提交";
|
||||
|
||||
for(var i in jsonObject.mPointList){//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue=$("#id"+i).val();
|
||||
}
|
||||
var jsonstr =JSON.stringify(jsonObject);
|
||||
|
||||
console.log(jsonstr);
|
||||
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do",{json:jsonstr}, function(data) {
|
||||
if (data.code == 1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
}else if(data.code == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
},'json');
|
||||
closeModal('subModal');
|
||||
}
|
||||
//显示悬浮层
|
||||
function show(event,lastvalue,Unit,NumTail){
|
||||
var data_text="当前值:"+lastvalue+"<br/>单位:"+Unit+"<br/>小数位:"+NumTail;
|
||||
var showbox=$('<div>'+data_text+'</div>').css({
|
||||
width:'135px',
|
||||
padding:'2px 5px',
|
||||
position:'absolute',
|
||||
top:-12,
|
||||
left:140,
|
||||
color:'#000000',
|
||||
border:'1px solid #000000',
|
||||
borderRadius:'5px',
|
||||
background: '#ffffe0',
|
||||
'z-index':9999
|
||||
}).addClass("showbox");
|
||||
|
||||
showbox.insertAfter(event);
|
||||
}
|
||||
//隐藏悬浮层
|
||||
function hide(event){
|
||||
$(".showbox").remove();
|
||||
}
|
||||
|
||||
//初始化选择框
|
||||
var refreshActiveSelect = function() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
for(var i in jsonObject.mPointList){
|
||||
|
||||
if (jsonObject.mPointList[i].valuemeaningFlag) {
|
||||
var select = $("#id"+i).select2({
|
||||
data: null,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
});
|
||||
select.val(jsonObject.mPointList[i].parmvalue).trigger("change");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
$(function () {
|
||||
refreshActiveSelect();
|
||||
//填报日期选择
|
||||
// var date = new Date();
|
||||
$("#rptdt").datetimepicker({
|
||||
// startDate: date,
|
||||
language:'zh-CN',
|
||||
format: 'yyyy-mm-dd hh:ii:ss',
|
||||
startView: "month", //初始化视图是‘年’
|
||||
minView: 1,
|
||||
maxView: "year",
|
||||
autoclose: true
|
||||
// todayBtn: "linked"
|
||||
});
|
||||
// $(".timecheck").datetimepicker({
|
||||
// bootcssVer:3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头
|
||||
// format: 'yyyy-mm-dd HH:mm',
|
||||
// minView: 'day',//设置时间选择为年月日 去掉时分秒选择
|
||||
// todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。
|
||||
// language: 'zh-CN',
|
||||
// autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。
|
||||
// keyboardNavigation: true, //是否允许通过方向键改变日期。
|
||||
// forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。
|
||||
// todayHighlight: 1 //如果为true, 高亮当前日期
|
||||
// })
|
||||
})
|
||||
|
||||
</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">×</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 type="hidden" id="bizId" name="bizId" value="${patrolContents.bizId}">
|
||||
<input type="hidden" id="unitId" name="unitId" value="${patrolContents.unitId}">
|
||||
<input type="hidden" id="pid" name="pid" value="${patrolContents.pid}">
|
||||
<input type="hidden" id="patrolContentsType" name="patrolContentsType" value="${patrolContents.patrolContentsType}"> -->
|
||||
|
||||
<input type="hidden" id="id" name="id" value="${rptDayLog.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">填报日期</label>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control" id="rptdt" name ="rptdt" value="${rptDayLog.rptdt}">
|
||||
</div>
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="按Tab键切换光标"></i>
|
||||
</div>
|
||||
<c:forEach items="${rptDayLog.mPointList}" var="item" varStatus="i">
|
||||
|
||||
<c:if test="${(i.index % 2) == 0}"><!-- 单数 -->
|
||||
<div class="form-group">
|
||||
</c:if>
|
||||
<c:if test="${!item.valuemeaningFlag}"><!-- 填值 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="number" onfocus="show(this,'${item.lastvalue}','${item.Unit}','${item.NumTail}')" onblur="hide(this)" class="form-control" id="id${i.index}" name ="name${i.index}" value="<fmt:formatNumber type="number" value="${item.parmvalue}" groupingUsed="false" maxFractionDigits="${item.NumTail}"/>">
|
||||
</div>
|
||||
<!-- <fmt:formatNumber type="number" value="${item.parmvalue}" pattern="${item.NumTail}"/> -->
|
||||
<label class="col-sm-1 control-label">${item.Unit}</label>
|
||||
</c:if>
|
||||
<c:if test="${item.valuemeaningFlag}"><!-- 选择 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-3">
|
||||
<select id= "id${i.index}" name="name${i.index}" class="form-control select2">
|
||||
<c:forEach items="${item.valuemeaningArray}" var="valuemeaningItem" varStatus="i1">
|
||||
<c:choose>
|
||||
<c:when test="${item.parmvalue==valuemeaningItem.zhi}">
|
||||
<option value="${valuemeaningItem.zhi}" selected>${valuemeaningItem.mingcheng}</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${valuemeaningItem.zhi}">${valuemeaningItem.mingcheng}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 1}"><!-- 双数 -->
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 0&&i.last}"><!-- 单数最后一个 -->
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其他参数</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="others" name="others" placeholder="">${rptDayLog.others}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo" placeholder="">${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${rptDayLog.reviewComments!=null && rptDayLog.reviewComments!=''}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="reviewComments" name="reviewComments" placeholder=""
|
||||
readonly>${rptDayLog.reviewComments}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</form>
|
||||
</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="dosave()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
304
WebRoot/jsp/report/reportdetailAdd.jsp
Normal file
304
WebRoot/jsp/report/reportdetailAdd.jsp
Normal file
@ -0,0 +1,304 @@
|
||||
<%@ 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/fmt" prefix="fmt" %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
.control-label-overflow{
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject = jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
|
||||
jsonObject.rptdt = $("#rptdt").val();
|
||||
var rptdt = $("#rptdt").val();
|
||||
var rptdeptId = jsonObject.rptdeptId
|
||||
jsonObject.id = $("#id").val();
|
||||
jsonObject.memo = $("#memo").val();
|
||||
jsonObject.status = "未提交";
|
||||
|
||||
for (var i in jsonObject.mPointList) {//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue = $("#id" + i).val();
|
||||
}
|
||||
var jsonstr = JSON.stringify(jsonObject);
|
||||
|
||||
// console.log(jsonstr);
|
||||
|
||||
$.post(ext.contextPath + "/report/RptDayLog/docheckRptdt.do", {
|
||||
rptdt: rptdt,
|
||||
rptdeptId: rptdeptId
|
||||
}, function (data) {
|
||||
if (data == true) {
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do", {json: jsonstr}, function (data) {
|
||||
if (data.code == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
showAlert('s', '保存成功');
|
||||
} else if (data.code == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.msg);
|
||||
}
|
||||
}, 'json');
|
||||
} else {
|
||||
showAlert('d', "该填报日期已有数据");
|
||||
}
|
||||
}, 'json');
|
||||
// closeModal('subModal');
|
||||
}
|
||||
|
||||
//显示悬浮层
|
||||
function show(event, lastvalue, Unit, NumTail, mpointcode) {
|
||||
/*var data_text = "当前值:" + lastvalue + "<br/>单位:" + Unit + "<br/>小数位:" + NumTail;
|
||||
var showbox = $('<div>' + data_text + '</div>').css({
|
||||
width: '135px',
|
||||
padding: '2px 5px',
|
||||
position: 'absolute',
|
||||
top: -12,
|
||||
left: 140,
|
||||
color: '#000000',
|
||||
border: '1px solid #000000',
|
||||
borderRadius: '5px',
|
||||
background: '#ffffe0',
|
||||
'z-index': 9999
|
||||
}).addClass("showbox");*/
|
||||
|
||||
var data_text = '';
|
||||
var rptdt = $('#rptdt').val();
|
||||
|
||||
$.post(ext.contextPath + "/work/mpoint/selectTop14Time.do", {
|
||||
rptdt: rptdt,
|
||||
mpointcode: mpointcode,
|
||||
unitId: unitId
|
||||
}, function (data) {
|
||||
var str = $.parseJSON(data);
|
||||
// console.log(str.value);
|
||||
data_text = "当前值:" + str.value + "<br/>单位:" + Unit + "<br/>小数位:" + NumTail;
|
||||
// console.log(data_text);
|
||||
var showbox = $('<div>' + data_text + '</div>').css({
|
||||
width: '135px',
|
||||
padding: '2px 5px',
|
||||
position: 'absolute',
|
||||
top: -12,
|
||||
left: 140,
|
||||
color: '#000000',
|
||||
border: '1px solid #000000',
|
||||
borderRadius: '5px',
|
||||
background: '#ffffe0',
|
||||
'z-index': 9999
|
||||
}).addClass("showbox");
|
||||
|
||||
showbox.insertAfter(event);
|
||||
|
||||
}, 'json');
|
||||
|
||||
// data_text = "当前值:" + lastvalue + "<br/>单位:" + Unit + "<br/>小数位:" + NumTail;
|
||||
|
||||
/*var showbox = $('<div>' + data_text + '</div>').css({
|
||||
width: '135px',
|
||||
padding: '2px 5px',
|
||||
position: 'absolute',
|
||||
top: -12,
|
||||
left: 140,
|
||||
color: '#000000',
|
||||
border: '1px solid #000000',
|
||||
borderRadius: '5px',
|
||||
background: '#ffffe0',
|
||||
'z-index': 9999
|
||||
}).addClass("showbox");
|
||||
|
||||
showbox.insertAfter(event);*/
|
||||
}
|
||||
|
||||
//隐藏悬浮层
|
||||
function hide(event) {
|
||||
$(".showbox").remove();
|
||||
}
|
||||
|
||||
//初始化选择框
|
||||
var refreshActiveSelect = function () {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject = jQuery.parseJSON(jsonStr);
|
||||
|
||||
for (var i in jsonObject.mPointList) {
|
||||
|
||||
if (jsonObject.mPointList[i].valuemeaningFlag) {
|
||||
var select = $("#id" + i).select2({
|
||||
data: null,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
});
|
||||
select.val(jsonObject.mPointList[i].parmvalue).trigger("change");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
$(function () {
|
||||
refreshActiveSelect();
|
||||
//填报日期选择
|
||||
// var date = new Date();
|
||||
$("#rptdt").datetimepicker({
|
||||
// startDate: date,
|
||||
language: 'zh-CN',
|
||||
format: 'yyyy-mm-dd hh:ii:ss',
|
||||
startView: "month", //初始化视图是‘年’
|
||||
minView: 1,
|
||||
maxView: "year",
|
||||
autoclose: true
|
||||
// todayBtn: "linked"
|
||||
});
|
||||
// $(".timecheck").datetimepicker({
|
||||
// bootcssVer:3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头
|
||||
// format: 'yyyy-mm-dd HH:mm',
|
||||
// minView: 'day',//设置时间选择为年月日 去掉时分秒选择
|
||||
// todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。
|
||||
// language: 'zh-CN',
|
||||
// autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。
|
||||
// keyboardNavigation: true, //是否允许通过方向键改变日期。
|
||||
// forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。
|
||||
// todayHighlight: 1 //如果为true, 高亮当前日期
|
||||
// })
|
||||
})
|
||||
|
||||
</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">×</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 type="hidden" id="bizId" name="bizId" value="${patrolContents.bizId}">
|
||||
<input type="hidden" id="unitId" name="unitId" value="${patrolContents.unitId}">
|
||||
<input type="hidden" id="pid" name="pid" value="${patrolContents.pid}">
|
||||
<input type="hidden" id="patrolContentsType" name="patrolContentsType" value="${patrolContents.patrolContentsType}"> -->
|
||||
|
||||
<input type="hidden" id="id" name="id" value="${rptDayLog.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">填报日期<i class="fa fa-question-circle" aria-hidden="true" title="按Tab键切换光标"></i></label>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control" id="rptdt" name="rptdt" value="${rptDayLog.rptdt}">
|
||||
</div>
|
||||
</div>
|
||||
<c:forEach items="${rptDayLog.mPointList}" var="item" varStatus="i">
|
||||
|
||||
<c:if test="${(i.index % 2) == 0}"><!-- 单数 -->
|
||||
<div class="form-group">
|
||||
</c:if>
|
||||
<c:if test="${!item.valuemeaningFlag}"><!-- 填值 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<fmt:formatNumber type="number" var="parmvalue" value="${item.parmvalue}" groupingUsed="false" maxFractionDigits="${item.NumTail}"/>
|
||||
<div class="col-sm-2">
|
||||
<input type="number"
|
||||
onfocus="show(this,'${item.lastvalue}','${item.Unit}','${item.NumTail}','${item.mpointcode2}')"
|
||||
onblur="hide(this)" class="form-control" id="id${i.index}" name="name${i.index}"
|
||||
value="${parmvalue}">
|
||||
</div>
|
||||
<!-- <fmt:formatNumber type="number" value="${item.parmvalue}" pattern="${item.NumTail}"/> -->
|
||||
<label class="col-sm-1 control-label"
|
||||
style="text-align:left;padding-left: 0px;">${item.Unit}</label>
|
||||
</c:if>
|
||||
<c:if test="${item.valuemeaningFlag}"><!-- 选择 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-3">
|
||||
<select id="id${i.index}" name="name${i.index}" class="form-control select2">
|
||||
<c:forEach items="${item.valuemeaningArray}" var="valuemeaningItem" varStatus="i1">
|
||||
<c:choose>
|
||||
<c:when test="${item.parmvalue==valuemeaningItem.zhi}">
|
||||
<option value="${valuemeaningItem.zhi}" selected >${valuemeaningItem.mingcheng}</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${valuemeaningItem.zhi}">${valuemeaningItem.mingcheng}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 1}"><!-- 双数 -->
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 0&&i.last}"><!-- 单数最后一个 -->
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<!-- <c:if test="${rptDayLog.status=='未提交'||rptDayLog.status=='不通过'}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo" placeholder=""
|
||||
readonly>${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>-->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其他参数</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="others" name="others" placeholder="">${rptDayLog.others}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo" placeholder="">${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${rptDayLog.reviewComments!=null && rptDayLog.reviewComments!=''}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="reviewComments" name="reviewComments" placeholder=""
|
||||
readonly>${rptDayLog.reviewComments}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</form>
|
||||
</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="dosave()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
136
WebRoot/jsp/report/reportdetailAudit.jsp
Normal file
136
WebRoot/jsp/report/reportdetailAudit.jsp
Normal file
@ -0,0 +1,136 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave(status) {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
|
||||
jsonObject.rptdt=$("#rptdt").val();
|
||||
jsonObject.id=$("#id").val();
|
||||
jsonObject.memo=$("#memo").val();
|
||||
jsonObject.status=status;
|
||||
console.log(status);
|
||||
for(var i in jsonObject.mPointList){//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue=$("#id"+i).val();
|
||||
}
|
||||
var jsonstr =JSON.stringify(jsonObject);
|
||||
|
||||
console.log(jsonstr);
|
||||
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do",{json:jsonstr}, function(data) {
|
||||
if (data.code == 1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
}else if(data.code == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
},'json');
|
||||
closeModal('subModal');
|
||||
}
|
||||
|
||||
$(function () {
|
||||
//填报日期选择
|
||||
$("#rptdt").datetimepicker({
|
||||
language:'zh-CN',
|
||||
format: 'yyyy-mm-dd hh:ii:ss',
|
||||
dateFormat: 'yyyy-mm-dd',//日期显示格式
|
||||
timeFormat: 'HH:mm',//时间显示格式
|
||||
startView: "day", //初始化视图是‘年’
|
||||
minView: 0,
|
||||
maxView: "year",
|
||||
minuteStep: 30,//分钟间隔1分钟
|
||||
autoclose: true
|
||||
}).on('changeDate', function () {
|
||||
$('#subForm')
|
||||
.data('bootstrapValidator')
|
||||
.updateStatus('rptdt', 'NOT_VALIDATED', null)
|
||||
.validateField('rptdt');
|
||||
});
|
||||
})
|
||||
|
||||
</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">×</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 type="hidden" id="bizId" name="bizId" value="${patrolContents.bizId}">
|
||||
<input type="hidden" id="unitId" name="unitId" value="${patrolContents.unitId}">
|
||||
<input type="hidden" id="pid" name="pid" value="${patrolContents.pid}">
|
||||
<input type="hidden" id="patrolContentsType" name="patrolContentsType" value="${patrolContents.patrolContentsType}"> -->
|
||||
|
||||
<input type="hidden" id="id" name="id" value="${rptDayLog.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">填报时间</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" readonly class="form-control" id="rptdt" name ="rptdt" value="${rptDayLog.rptdt.substring(0,19)}">
|
||||
</div>
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="按Tab键切换光标"></i>
|
||||
</div>
|
||||
<c:forEach items="${rptDayLog.mPointList}" var="item" varStatus="i">
|
||||
|
||||
<c:if test="${(i.index % 2) == 0}"><!-- 单数 -->
|
||||
<div class="form-group">
|
||||
</c:if>
|
||||
<label class="col-sm-3 control-label">${item.parmname}</label>
|
||||
<div class="col-sm-3">
|
||||
<input type="number" readonly class="form-control" id="id${i.index}" name ="name${i.index}" value="${item.parmvalue}">
|
||||
</div>
|
||||
<c:if test="${(i.index % 2) == 1}"><!-- 双数 -->
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 0&&i.last}"><!-- 单数最后一个 -->
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name ="memo" placeholder="" <c:if test="${rptDayLog.status!='未提交'}">readonly</c:if>>${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">关闭</button>
|
||||
<c:if test="${rptDayLog.status=='未提交'}">
|
||||
<button type="button" class="btn btn-primary" onclick="dosave('通过')" id="btn_save">通过</button>
|
||||
<button type="button" class="btn btn-primary" onclick="dosave('不通过')" id="btn_save">不通过</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
170
WebRoot/jsp/report/rptCreateAdd.jsp
Normal file
170
WebRoot/jsp/report/rptCreateAdd.jsp
Normal file
@ -0,0 +1,170 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.tools.CommString" %>
|
||||
<% request.setAttribute("Flag_Active", CommString.Flag_Active); %>
|
||||
<% request.setAttribute("Flag_Unactive", CommString.Flag_Unactive); %>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {
|
||||
//加载层
|
||||
layer.load();
|
||||
//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptCreate/dosave.do", $("#subForm").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
//关闭加载层
|
||||
layer.closeAll('loading');
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
rptdt: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '日期不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
inputuserName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '负责人不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$('#rptdtD').datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 0,
|
||||
maxViewMode: 0,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('rptdtD', 'NOT_VALIDATED', null)
|
||||
.validateField('rptdtD');
|
||||
});
|
||||
$('#rptdtM').datepicker({
|
||||
changeYear: true,
|
||||
changeMonth: true,
|
||||
format: 'yyyy-mm',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 1,
|
||||
maxViewMode: 2,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('rptdtM', 'NOT_VALIDATED', null)
|
||||
.validateField('rptdtM');
|
||||
});
|
||||
|
||||
$('#rptdtQ').datepicker({
|
||||
changeYear: true,
|
||||
changeMonth: true,
|
||||
format: 'yyyy-mm',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 1,
|
||||
maxViewMode: 2,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('rptdtQ', 'NOT_VALIDATED', null)
|
||||
.validateField('rptdtQ');
|
||||
});
|
||||
|
||||
$('#rptdtY').datepicker({
|
||||
format: 'yyyy',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 2,
|
||||
maxViewMode: 2,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('rptdtY', 'NOT_VALIDATED', null)
|
||||
.validateField('rptdtY');
|
||||
});
|
||||
|
||||
|
||||
</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">×</span></button>
|
||||
<h4 class="modal-title">新增</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subForm -->
|
||||
<form class="form-horizontal" id="subForm" autocomplete="off">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" name="id" id="id" value="${id}"/>
|
||||
<input type="hidden" id="unitId" name="unitId" value="${param.unitId}"/>
|
||||
<input type="hidden" id="rptsetId" name="rptsetId" value="${param.classId}"/>
|
||||
|
||||
<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="rptdtD" name="rptdt" style="width: 132px;"
|
||||
value="${dateD}">
|
||||
<input type="text" class="form-control" id="rptdtM" name="rptdt" style="width: 132px;"
|
||||
value="${dateM}">
|
||||
<input type="text" class="form-control" id="rptdtQ" name="rptdt" style="width: 132px;"
|
||||
value="${dateQ}">
|
||||
<input type="text" class="form-control" id="rptdtY" name="rptdt" style="width: 132px;"
|
||||
value="${dateY}">
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">负责人</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="inputuserName" name="inputuserName"
|
||||
value="${userName}" readonly/>
|
||||
<input type="hidden" id="inputuser" name="inputuser" value="${userId}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">备注</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" id="memo" name="memo"
|
||||
placeholder="备注">${rptCreate.memo}</textarea>
|
||||
</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>
|
||||
196
WebRoot/jsp/report/rptCreateAddMore.jsp
Normal file
196
WebRoot/jsp/report/rptCreateAddMore.jsp
Normal file
@ -0,0 +1,196 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.tools.CommString" %>
|
||||
<% request.setAttribute("Flag_Active", CommString.Flag_Active); %>
|
||||
<% request.setAttribute("Flag_Unactive", CommString.Flag_Unactive); %>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {
|
||||
//加载层
|
||||
layer.load();
|
||||
//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptCreate/dosaveMore.do", $("#subForm").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
//关闭加载层
|
||||
layer.closeAll('loading');
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
rptdt: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '日期不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
inputuserName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '负责人不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$('#rptdtD_Start').datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 0,
|
||||
maxViewMode: 0,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator').updateStatus('rptdtD_Start', 'NOT_VALIDATED', null).validateField('rptdtD_Start');
|
||||
});
|
||||
$('#rptdtM_Start').datepicker({
|
||||
changeYear: true,
|
||||
changeMonth: true,
|
||||
format: 'yyyy-mm',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 1,
|
||||
maxViewMode: 2,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator').updateStatus('rptdtM_Start', 'NOT_VALIDATED', null).validateField('rptdtM_Start');
|
||||
});
|
||||
$('#rptdtY_Start').datepicker({
|
||||
format: 'yyyy',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 2,
|
||||
maxViewMode: 2,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator').updateStatus('rptdtY_Start', 'NOT_VALIDATED', null).validateField('rptdtY_Start');
|
||||
});
|
||||
|
||||
$('#rptdtD_End').datepicker({
|
||||
format: 'yyyy-mm-dd',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 0,
|
||||
maxViewMode: 0,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator').updateStatus('rptdtD_End', 'NOT_VALIDATED', null).validateField('rptdtD_End');
|
||||
});
|
||||
$('#rptdtM_End').datepicker({
|
||||
changeYear: true,
|
||||
changeMonth: true,
|
||||
format: 'yyyy-mm',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 1,
|
||||
maxViewMode: 2,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator').updateStatus('rptdtM_End', 'NOT_VALIDATED', null).validateField('rptdtM_End');
|
||||
});
|
||||
$('#rptdtY_End').datepicker({
|
||||
format: 'yyyy',
|
||||
language: "zh-CN",
|
||||
autoclose: true,
|
||||
startView: 1,
|
||||
minViewMode: 2,
|
||||
maxViewMode: 2,
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator').updateStatus('rptdtY_End', 'NOT_VALIDATED', null).validateField('rptdtY_End');
|
||||
});
|
||||
|
||||
|
||||
</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">×</span></button>
|
||||
<h4 class="modal-title">新增</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subForm -->
|
||||
<form class="form-horizontal" id="subForm" autocomplete="off">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" name="id" id="id" value="${id}"/>
|
||||
<input type="hidden" id="unitId" name="unitId" value="${param.unitId}"/>
|
||||
<input type="hidden" id="rptsetId" name="rptsetId" value="${param.classId}"/>
|
||||
|
||||
<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="rptdtD_Start" name="rptdt_start" style="width: 132px;"
|
||||
value="${dateD}">
|
||||
<input type="text" class="form-control" id="rptdtM_Start" name="rptdt_start" style="width: 132px;"
|
||||
value="${dateM}">
|
||||
<input type="text" class="form-control" id="rptdtY_Start" name="rptdt_start" style="width: 132px;"
|
||||
value="${dateY}">
|
||||
</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="rptdtD_End" name="rptdt_end" style="width: 132px;"
|
||||
value="${dateD}">
|
||||
<input type="text" class="form-control" id="rptdtM_End" name="rptdt_end" style="width: 132px;"
|
||||
value="${dateM}">
|
||||
<input type="text" class="form-control" id="rptdtY_End" name="rptdt_end" style="width: 132px;"
|
||||
value="${dateY}">
|
||||
</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" id="inputuserName" name="inputuserName"
|
||||
value="${userName}" readonly/>
|
||||
<input type="hidden" id="inputuser" name="inputuser" value="${userId}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">备注</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" id="memo" name="memo"
|
||||
placeholder="备注">${rptCreate.memo}</textarea>
|
||||
</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>
|
||||
440
WebRoot/jsp/report/rptCreateAudit.jsp
Normal file
440
WebRoot/jsp/report/rptCreateAudit.jsp
Normal file
@ -0,0 +1,440 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
|
||||
<%@ page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<% request.setAttribute("RptSpSet_Type_Cal", RptSpSet.RptSpSet_Type_Cal); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Insuser", RptSpSet.RptSpSet_Type_Insuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Confirm", RptSpSet.RptSpSet_Type_Confirm); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Checkuser", RptSpSet.RptSpSet_Type_Checkuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Rptdt", RptSpSet.RptSpSet_Type_Rptdt); %>
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
//流程审核文件上传所需参数
|
||||
var masterId_process = '${scrapApply.id}';//业务Id
|
||||
var tbName_process = 'TB_Process_UploadFile'; //数据表
|
||||
var nameSpace_process = 'ProcessUploadFile';//保存文件夹
|
||||
var status = 'delete';//有删除权限
|
||||
|
||||
function doSubmit() {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('targetUsersName', 'NOT_VALIDATED', null)
|
||||
.validateField('targetUsersName');
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptCreate/doAuditProcess.do", $("#subForm").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalAudit')
|
||||
// $("#table2").bootstrapTable('refresh');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '操作执行失败,请重试');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
var showUser4SelectsFun = function () {
|
||||
var userIds = $("#targetusers").val();
|
||||
var jobIds = $("#targetjobs").val();
|
||||
$.post(ext.contextPath + '/user/userForSelectByCompany.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "targetusers",
|
||||
textId: "targetUsersName",
|
||||
userIds: userIds,
|
||||
jobIds: jobIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
//$(function () {
|
||||
//初始化选择框,方法在workflow.js里
|
||||
processSelectNode("${businessUnitAudit.taskid}");
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
targetUsersName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '提交人员不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
//显示流程详情
|
||||
var id = '${entity.id}';
|
||||
$.post(ext.contextPath + '/report/rptCreate/showProcessView.do', {
|
||||
id: id,
|
||||
inModal: 'inModal'
|
||||
}, function (data) {
|
||||
$("#showView").html(data);
|
||||
});
|
||||
// });
|
||||
|
||||
//后台解析报表渲染到前端
|
||||
function onlineExcel4minio(id) {
|
||||
var layerType = 'view';
|
||||
window.parent.window.onlineExcel4minio(id, layerType);
|
||||
/* var sheetName = '';
|
||||
//获取该excel的所有sheet 默认加载第一个sheet
|
||||
$.post(ext.contextPath + '/report/rptCreate/getSheet.do', {id: id}, function (data) {
|
||||
var datastr = eval('(' + data + ')');
|
||||
if (datastr.code == 1) {
|
||||
var msg = datastr.msg;
|
||||
var arr = msg.split(",");
|
||||
|
||||
var sheetstr = '';
|
||||
//循环sheet
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
sheetstr += '<div style="border:1px solid #696969;font-weight: bold;float: left; margin-left: 5px;cursor: pointer;" onclick="viewFile(\'' + id + '\',\'' + arr[i] + '\');">' + arr[i] + '</div>';
|
||||
}
|
||||
$('#viewFile_top').html(sheetstr);
|
||||
|
||||
//获取excel数据,前端渲染
|
||||
sheetName = arr[0];
|
||||
viewFile_open(id, sheetName);
|
||||
}
|
||||
});*/
|
||||
}
|
||||
|
||||
//赋值并打开页面
|
||||
function viewFile_open(id, sheetName) {
|
||||
//sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
//creatId赋值
|
||||
$('#creatId').val(id);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {
|
||||
id: id,
|
||||
sheetName: sheetName,
|
||||
layerType: 'edit'
|
||||
}, function (data) {
|
||||
var end = data.replace(RegExp('${RptSpSet_Type_Confirm}', 'g'), '<button type="button" style="pointer-events:none;">确认</button>');
|
||||
$('#viewFile_bottom').html(end);
|
||||
//$('#viewFile_bottom').html(data);
|
||||
});
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
area: '90%',
|
||||
skin: 'bgfff', //没有背景色
|
||||
maxmin: true,
|
||||
content: $('#viewFile'),
|
||||
cancel: function () {//获取右上角关闭事件
|
||||
// $.post(ext.contextPath + '/report/rptCreate/dosaveAgain.do', {createId: id}, function (data) {
|
||||
//
|
||||
// });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//仅赋值---切换sheet
|
||||
function viewFile(id, sheetName) {
|
||||
//给sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {id: id, sheetName: sheetName}, function (data) {
|
||||
$('#viewFile_bottom').html(data);
|
||||
});
|
||||
}
|
||||
|
||||
//渲染后的table 右键事件
|
||||
function tabClickRight() {
|
||||
var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
|
||||
if (td.parentElement.rowIndex != 'undefined' && td.parentElement.rowIndex != undefined && td.cellIndex != 'undefined' && td.cellIndex != undefined) {
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
$('#tableLog').bootstrapTable('destroy');
|
||||
$("#tableLog").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptLog/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [200], // 设置页面可以显示的数据条数
|
||||
pageSize: 200, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
createId: $('#creatId').val(),
|
||||
posx: posx,
|
||||
posy: posy
|
||||
}
|
||||
},
|
||||
sortName: 'insdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订前值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.beforeValue;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.afterValue;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.user != null && row.user != '') {
|
||||
return row.user.caption;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.insdt.substring(0, 19);
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function (data) { //加载成功时执行
|
||||
adjustBootstrapTableView("tableLog");
|
||||
if (data.total > 0) {
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
area: '50%',
|
||||
skin: 'bgfff', //没有背景色
|
||||
maxmin: false,
|
||||
content: $('#viewHis'),
|
||||
cancel: function () {//获取右上角关闭事件
|
||||
//无
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//渲染后的table 左键事件
|
||||
function tabClickLeft() {
|
||||
var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
|
||||
if (td.parentElement.rowIndex != 'undefined' && td.parentElement.rowIndex != undefined && td.cellIndex != 'undefined' && td.cellIndex != undefined) {
|
||||
var str = td.innerHTML;
|
||||
var reg = RegExp(/button/);
|
||||
//如果包含button则为有事件的单元格 不参与修改值
|
||||
if (str.match(reg)) {
|
||||
//if (str.match('确认区域')) {
|
||||
layer.confirm("是否确认该时间段内数据?", {icon: 3, title: '提示'},
|
||||
function (index) {//确认
|
||||
var sheet = $('#sheet').val();
|
||||
var creatId = $('#creatId').val();
|
||||
var type = '${RptSpSet_Type_Confirm}';
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
var userId = '${userId}';
|
||||
$.post(ext.contextPath + '/report/rptLog/doupdate.do', {
|
||||
sheet: sheet,
|
||||
creatId: creatId,
|
||||
type: type,
|
||||
posx: posx,
|
||||
posy: posy,
|
||||
userId: userId,
|
||||
val: 0
|
||||
}, function (data) {
|
||||
//
|
||||
});
|
||||
td.innerHTML = '${userName}';
|
||||
layer.close(index);
|
||||
},
|
||||
function (index) {//取消
|
||||
layer.close(index);
|
||||
});
|
||||
} else {
|
||||
layer.prompt({value: str},
|
||||
function (val, index) {
|
||||
td.innerHTML = val;//设置单击单元格的值
|
||||
var sheet = $('#sheet').val();
|
||||
var creatId = $('#creatId').val();
|
||||
var type = '${RptSpSet_Type_Cal}';
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
$.post(ext.contextPath + '/report/rptLog/dosave.do', {
|
||||
sheet: sheet,
|
||||
creatId: creatId,
|
||||
type: type,
|
||||
posx: posx,
|
||||
posy: posy,
|
||||
beforeValue: str,//修改前的值
|
||||
afterValue: val //修改后的值
|
||||
}, function (data) {
|
||||
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//渲染后的table 单击事件
|
||||
$("#viewFile_bottom").unbind("mousedown").bind("mousedown", function (event) {
|
||||
if (event.which == 1) {//左键事件
|
||||
tabClickLeft();
|
||||
} else if (event.which == 2) {//中键事件
|
||||
|
||||
} else if (event.which == 3) {//右键事件
|
||||
document.oncontextmenu = function (ev) {
|
||||
return false;
|
||||
}
|
||||
tabClickRight();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalAudit">
|
||||
<div class="modal-dialog modal-xlg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">报表审核(${taskName})</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>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">日期</label>
|
||||
<div class="col-sm-4">
|
||||
<p class="form-control-static">${entity.rptdt}</p>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">负责人</label>
|
||||
<div class="col-sm-4">
|
||||
<p class="form-control-static">${entity.inputusername}</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">${entity.memo}</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"><span style="color: #0AB1DF"
|
||||
onclick="onlineExcel4minio('${entity.id}');">点击查看</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="form-control" name="id" value="${businessUnitAudit.id}">
|
||||
<input type="hidden" class="form-control" name="processid"
|
||||
value="${businessUnitAudit.processid}">
|
||||
<input type="hidden" class="form-control" name="taskid" value="${businessUnitAudit.taskid}">
|
||||
<input type="hidden" class="form-control" name="businessid"
|
||||
value="${businessUnitAudit.businessid}">
|
||||
<input type="hidden" class="form-control" name=unitid value="${param.unitId}">
|
||||
<input type="hidden" class="form-control" name="taskdefinitionkey"
|
||||
value="${businessUnitAudit.taskdefinitionkey}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*审核结果</label>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control select2" id="passstatus" name="passstatus"
|
||||
style="width: 270px;">
|
||||
<option value=true>通过</option>
|
||||
<option value=false>驳回</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*下一节点</label>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control select2" id="routeNum" name="routeNum"
|
||||
style="width: 270px;">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div id="reject" class="form-group">
|
||||
<label class="col-sm-2 control-label">*审核意见</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id="auditopinion" name="auditopinion"
|
||||
placeholder="处理意见"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div id="selectUsers" class="form-group">
|
||||
<label class="col-sm-2 control-label">提交至:</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="targetUsersName" name="targetUsersName"
|
||||
placeholder="下一级人员" onclick="showUser4SelectsFun();">
|
||||
<input id="targetusers" name="targetusers" type="hidden" value=""/>
|
||||
<input class="form-control" id="targetjobs" name="targetjobs" type="hidden"
|
||||
value=""/>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 文件上传,显示 -->
|
||||
<!-- <div class="form-group" style="margin:8px">
|
||||
<label class="col-sm-2 control-label"></label>
|
||||
<button type="button" class="btn btn-default btn-file" onclick="fileinput_process()" id="btn_save"><i
|
||||
class="fa fa-paperclip"></i>上传文件</button>
|
||||
</div> -->
|
||||
<%-- <div id="fileArea">--%>
|
||||
<%-- </div>--%>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-5 col-xs-12" id="showView"></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="doSubmit()" id="btn_update">提交</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
410
WebRoot/jsp/report/rptCreateCreate.jsp
Normal file
410
WebRoot/jsp/report/rptCreateCreate.jsp
Normal file
@ -0,0 +1,410 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
|
||||
<%@ page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<% request.setAttribute("RptSpSet_Type_Cal", RptSpSet.RptSpSet_Type_Cal); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Insuser", RptSpSet.RptSpSet_Type_Insuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Confirm", RptSpSet.RptSpSet_Type_Confirm); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Checkuser", RptSpSet.RptSpSet_Type_Checkuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Rptdt", RptSpSet.RptSpSet_Type_Rptdt); %>
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
//流程审核文件上传所需参数
|
||||
var masterId_process = '${scrapApply.id}';//业务Id
|
||||
var tbName_process = 'TB_Process_UploadFile'; //数据表
|
||||
var nameSpace_process = 'ProcessUploadFile';//保存文件夹
|
||||
var status = 'delete';//有删除权限
|
||||
|
||||
function doSubmit() {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('targetUsersName', 'NOT_VALIDATED', null)
|
||||
.validateField('targetUsersName');
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptCreate/handleProcess.do", $("#subForm").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalCreate')
|
||||
$("#table").bootstrapTable('refresh');
|
||||
// $("#table2").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '操作执行失败,请重试');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
var showUser4SelectsFun = function () {
|
||||
var userIds = $("#targetusers").val();
|
||||
var jobIds = $("#targetjobs").val();
|
||||
$.post(ext.contextPath + '/user/userForSelectByCompany.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "targetusers",
|
||||
textId: "targetUsersName",
|
||||
userIds: userIds,
|
||||
jobIds: jobIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
//$(function () {
|
||||
//初始化选择框,方法在workflow.js里
|
||||
//processSelectNode("${businessUnitAudit.taskid}");
|
||||
|
||||
//初始化选择框,方法在workflow.js里
|
||||
processSelectNodeForHandle("${businessUnitHandle.taskid}");
|
||||
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
targetUsersName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '提交人员不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
|
||||
//显示流程详情
|
||||
var id = '${entity.id}';
|
||||
$.post(ext.contextPath + '/report/rptCreate/showProcessView.do', {
|
||||
id: id,
|
||||
inModal: 'inModal'
|
||||
}, function (data) {
|
||||
$("#showView").html(data);
|
||||
});
|
||||
// });
|
||||
|
||||
//后台解析报表渲染到前端
|
||||
function onlineExcel4minio(id) {
|
||||
var layerType = 'view';
|
||||
window.parent.window.onlineExcel4minio(id, layerType);
|
||||
}
|
||||
|
||||
//赋值并打开页面
|
||||
function viewFile_open(id, sheetName) {
|
||||
//sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
//creatId赋值
|
||||
$('#creatId').val(id);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {
|
||||
id: id,
|
||||
sheetName: sheetName,
|
||||
layerType: 'edit'
|
||||
}, function (data) {
|
||||
var end = data.replace(RegExp('${RptSpSet_Type_Confirm}', 'g'), '<button type="button" style="pointer-events:none;">确认</button>');
|
||||
$('#viewFile_bottom').html(end);
|
||||
//$('#viewFile_bottom').html(data);
|
||||
});
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
area: '90%',
|
||||
skin: 'bgfff', //没有背景色
|
||||
maxmin: true,
|
||||
content: $('#viewFile'),
|
||||
cancel: function () {//获取右上角关闭事件
|
||||
// $.post(ext.contextPath + '/report/rptCreate/dosaveAgain.do', {createId: id}, function (data) {
|
||||
//
|
||||
// });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//仅赋值---切换sheet
|
||||
function viewFile(id, sheetName) {
|
||||
//给sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {id: id, sheetName: sheetName}, function (data) {
|
||||
$('#viewFile_bottom').html(data);
|
||||
});
|
||||
}
|
||||
|
||||
//渲染后的table 右键事件
|
||||
function tabClickRight() {
|
||||
var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
|
||||
if (td.parentElement.rowIndex != 'undefined' && td.parentElement.rowIndex != undefined && td.cellIndex != 'undefined' && td.cellIndex != undefined) {
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
$('#tableLog').bootstrapTable('destroy');
|
||||
$("#tableLog").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptLog/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [200], // 设置页面可以显示的数据条数
|
||||
pageSize: 200, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
createId: $('#creatId').val(),
|
||||
posx: posx,
|
||||
posy: posy
|
||||
}
|
||||
},
|
||||
sortName: 'insdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订前值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.beforeValue;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.afterValue;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.user != null && row.user != '') {
|
||||
return row.user.caption;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.insdt.substring(0, 19);
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function (data) { //加载成功时执行
|
||||
adjustBootstrapTableView("tableLog");
|
||||
if (data.total > 0) {
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
area: '50%',
|
||||
skin: 'bgfff', //没有背景色
|
||||
maxmin: false,
|
||||
content: $('#viewHis'),
|
||||
cancel: function () {//获取右上角关闭事件
|
||||
//无
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//渲染后的table 左键事件
|
||||
function tabClickLeft() {
|
||||
var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
|
||||
if (td.parentElement.rowIndex != 'undefined' && td.parentElement.rowIndex != undefined && td.cellIndex != 'undefined' && td.cellIndex != undefined) {
|
||||
var str = td.innerHTML;
|
||||
var reg = RegExp(/button/);
|
||||
//如果包含button则为有事件的单元格 不参与修改值
|
||||
if (str.match(reg)) {
|
||||
//if (str.match('确认区域')) {
|
||||
layer.confirm("是否确认该时间段内数据?", {icon: 3, title: '提示'},
|
||||
function (index) {//确认
|
||||
var sheet = $('#sheet').val();
|
||||
var creatId = $('#creatId').val();
|
||||
var type = '${RptSpSet_Type_Confirm}';
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
var userId = '${userId}';
|
||||
$.post(ext.contextPath + '/report/rptLog/doupdate.do', {
|
||||
sheet: sheet,
|
||||
creatId: creatId,
|
||||
type: type,
|
||||
posx: posx,
|
||||
posy: posy,
|
||||
userId: userId,
|
||||
val: 0
|
||||
}, function (data) {
|
||||
//
|
||||
});
|
||||
td.innerHTML = '${userName}';
|
||||
layer.close(index);
|
||||
},
|
||||
function (index) {//取消
|
||||
layer.close(index);
|
||||
});
|
||||
} else {
|
||||
layer.prompt({value: str},
|
||||
function (val, index) {
|
||||
td.innerHTML = val;//设置单击单元格的值
|
||||
var sheet = $('#sheet').val();
|
||||
var creatId = $('#creatId').val();
|
||||
var type = '${RptSpSet_Type_Cal}';
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
$.post(ext.contextPath + '/report/rptLog/dosave.do', {
|
||||
sheet: sheet,
|
||||
creatId: creatId,
|
||||
type: type,
|
||||
posx: posx,
|
||||
posy: posy,
|
||||
beforeValue: str,//修改前的值
|
||||
afterValue: val //修改后的值
|
||||
}, function (data) {
|
||||
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//渲染后的table 单击事件
|
||||
$("#viewFile_bottom").unbind("mousedown").bind("mousedown", function (event) {
|
||||
if (event.which == 1) {//左键事件
|
||||
tabClickLeft();
|
||||
} else if (event.which == 2) {//中键事件
|
||||
|
||||
} else if (event.which == 3) {//右键事件
|
||||
document.oncontextmenu = function (ev) {
|
||||
return false;
|
||||
}
|
||||
tabClickRight();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalCreate">
|
||||
<div class="modal-dialog modal-xlg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">报表审核(${taskName})</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>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">日期</label>
|
||||
<div class="col-sm-4">
|
||||
<p class="form-control-static">${entity.rptdt}</p>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">负责人</label>
|
||||
<div class="col-sm-4">
|
||||
<p class="form-control-static">${entity.inputusername}</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">${entity.memo}</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"><span style="color: #0AB1DF"
|
||||
onclick="onlineExcel4minio('${entity.id}');">点击查看</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" class="form-control" name="id" value="${businessUnitHandle.id}">
|
||||
<input type="hidden" class="form-control" name="processid"
|
||||
value="${businessUnitHandle.processid}">
|
||||
<input type="hidden" class="form-control" name="taskid"
|
||||
value="${businessUnitHandle.taskid}">
|
||||
<input type="hidden" class="form-control" name="businessid"
|
||||
value="${businessUnitHandle.businessid}">
|
||||
<input type="hidden" class="form-control" name="taskdefinitionkey"
|
||||
value="${businessUnitHandle.taskdefinitionkey}">
|
||||
<input type="hidden" class="form-control" name="unitid"
|
||||
value="${businessUnitHandle.unitid}">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*下一节点</label>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control select2" id="routeNum" name="routeNum"
|
||||
style="width: 270px;">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div id="reject" class="form-group">
|
||||
<label class="col-sm-2 control-label">*处理内容</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id="auditopinion" name="auditopinion"
|
||||
placeholder="处理内容"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div id="selectUsers" class="form-group">
|
||||
<label class="col-sm-2 control-label">提交至:</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="targetUsersName" name="targetUsersName"
|
||||
placeholder="下一级人员" onclick="showUser4SelectsFun();">
|
||||
<input id="targetusers" name="targetusers" type="hidden" value=""/>
|
||||
<input class="form-control" id="targetjobs" name="targetjobs" type="hidden"
|
||||
value=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-5 col-xs-12" id="showView"></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="doSubmit()" id="btn_update">提交</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
239
WebRoot/jsp/report/rptCreateEdit.jsp
Normal file
239
WebRoot/jsp/report/rptCreateEdit.jsp
Normal file
@ -0,0 +1,239 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.report.RptCreate" %>
|
||||
<% request.setAttribute("Status_Start", RptCreate.Status_Start); %>
|
||||
<% request.setAttribute("Status_Finish", RptCreate.Status_Finish); %>
|
||||
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<% request.setAttribute("Checkst_Yes", RptInfoSet.Checkst_Yes); %>
|
||||
<% request.setAttribute("Checkst_No", RptInfoSet.Checkst_No); %>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
//仅保存
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {
|
||||
//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptCreate/doupdate.do", $("#subForm").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
|
||||
//提示是否重新生成
|
||||
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) {
|
||||
//生成方法
|
||||
docreat();
|
||||
}
|
||||
});
|
||||
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
//重新生成
|
||||
function docreat() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {
|
||||
//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptCreate/dosave.do", $("#subForm").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
//提交
|
||||
function dosubmit() {
|
||||
$("#status").val('${Status_Start}');
|
||||
// $('#subForm').data('bootstrapValidator')
|
||||
// .updateStatus('checkusername', 'NOT_VALIDATED', null)
|
||||
// .validateField('checkusername');
|
||||
$.post(ext.contextPath + "/report/rptCreate/startProcess.do", $("#subForm").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal('subModal');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else if (data.res == 2) {
|
||||
showAlert('d', '未检测到报表审核流程,请先部署报表审核流程!');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
rptdt: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '日期不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
inputuserName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '负责人不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
var showUser4AuditSelectsFun = function () {
|
||||
var userIds = $("#checkuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelectByCompany.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "checkuser",
|
||||
textId: "checkusername",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
/*$('#rptdt').datepicker({
|
||||
language: 'zh-CN',
|
||||
autoclose: true,
|
||||
todayHighlight: true,
|
||||
format: 'yyyy-mm-dd',
|
||||
}).on('hide', function (e) {
|
||||
$('#subForm').data('bootstrapValidator')
|
||||
.updateStatus('rptdt', 'NOT_VALIDATED', null)
|
||||
.validateField('rptdt');
|
||||
});*/
|
||||
|
||||
$.ajax({
|
||||
url: ext.contextPath + '/report/rptInfoSet/getInfo.do', // 获取表格数据的url
|
||||
async: true,
|
||||
data: {
|
||||
id: '${rptCreate.rptsetId}'
|
||||
},
|
||||
success: function (data) {
|
||||
var data = eval('(' + data + ')');
|
||||
switch (data[0].checkst) {
|
||||
case '${Checkst_Yes}':
|
||||
$('#checkDiv').attr("style", "display:block;")
|
||||
break;
|
||||
case '${Checkst_No}':
|
||||
$('#checkDiv').attr("style", "display:none;")
|
||||
break;
|
||||
default:
|
||||
//
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
</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">×</span></button>
|
||||
<h4 class="modal-title">修改</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subForm -->
|
||||
<form class="form-horizontal" id="subForm" autocomplete="off">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" name="id" id="id" value="${rptCreate.id}"/>
|
||||
<input type="hidden" id="unitId" name="unitId" value="${rptCreate.unitId}"/>
|
||||
<input type="hidden" id="rptsetId" name="rptsetId" value="${rptCreate.rptsetId}"/>
|
||||
<input type="hidden" id="status" name="status" value=""/>
|
||||
|
||||
<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="rptdt" name="rptdt" style="width: 132px;"
|
||||
value="${rptCreate.rptdt}" readonly>
|
||||
</div>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">负责人</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="inputuserName" name="inputuserName"
|
||||
value="${rptCreate.inputusername}" readonly/>
|
||||
<input type="hidden" id="inputuser" name="inputuser" value="${rptCreate.inputuser}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">备注</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" id="memo" name="memo"
|
||||
placeholder="备注">${rptCreate.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="checkDiv">
|
||||
<label class="col-sm-2 control-label">*审核人</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="checkusername" name="checkusername"
|
||||
placeholder="点击选择"
|
||||
value="${rptCreate.checkusername}" onclick="showUser4AuditSelectsFun();">
|
||||
<input id="checkuser" name="checkuser" type="hidden"
|
||||
value="${rptCreate.checkuser}"/>
|
||||
</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()">保存</button>--%>
|
||||
<%--<button type="button" class="btn btn-primary" onclick="docreat()">重新生成</button>--%>
|
||||
<button type="button" class="btn btn-primary" onclick="dosave()">重新生成</button>
|
||||
<button type="button" class="btn btn-primary" onclick="dosubmit()">提交</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
739
WebRoot/jsp/report/rptCreateList4Check.jsp
Normal file
739
WebRoot/jsp/report/rptCreateList4Check.jsp
Normal file
@ -0,0 +1,739 @@
|
||||
<%@ 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.report.RptSpSet" %>
|
||||
|
||||
<% request.setAttribute("RptSpSet_Type_Cal", RptSpSet.RptSpSet_Type_Cal); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Insuser", RptSpSet.RptSpSet_Type_Insuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Confirm", RptSpSet.RptSpSet_Type_Confirm); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Checkuser", RptSpSet.RptSpSet_Type_Checkuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Rptdt", RptSpSet.RptSpSet_Type_Rptdt); %>
|
||||
|
||||
<%@page import="com.sipai.entity.activiti.ProcessType" %>
|
||||
<% request.setAttribute("Type_Detail", ProcessType.B_Maintenance.getId());%>
|
||||
|
||||
<%--报表--%>
|
||||
<%@page import="com.sipai.entity.business.BusinessUnit" %>
|
||||
<% request.setAttribute("UNIT_REPORT_CREATE", BusinessUnit.UNIT_REPORT_CREATE);%>
|
||||
<% request.setAttribute("UNIT_REPORT_AUDIT", BusinessUnit.UNIT_REPORT_AUDIT);%>
|
||||
|
||||
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security" %>
|
||||
<%String contextPath = request.getContextPath();%>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function getNowFormatDate() {
|
||||
var date = new Date();
|
||||
var seperator1 = "-";
|
||||
var seperator2 = ":";
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
var hour = date.getHours();
|
||||
var minute = date.getMinutes();
|
||||
var second = date.getSeconds();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
if (hour >= 0 && hour <= 9) {
|
||||
hour = "0" + hour;
|
||||
}
|
||||
if (minute >= 0 && minute <= 9) {
|
||||
minute = "0" + minute;
|
||||
}
|
||||
if (second >= 0 && second <= 9) {
|
||||
second = "0" + second;
|
||||
}
|
||||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
||||
+ " " + hour + seperator2 + minute
|
||||
+ seperator2 + second;
|
||||
return currentdate;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
var beginTimeStore2 = '';
|
||||
var endTimeStore2 = '';
|
||||
|
||||
function initDate2() {
|
||||
//定义locale汉化插件
|
||||
beginTimeStore2 = moment().subtract(6, 'days').format('YYYY-MM-DD');
|
||||
endTimeStore2 = moment().subtract(-1, 'days').format('YYYY-MM-DD');
|
||||
var locale = {
|
||||
"format": 'YYYY-MM-DD',
|
||||
"separator": " ~ ",
|
||||
"applyLabel": "确定",
|
||||
"cancelLabel": "取消",
|
||||
"fromLabel": "起始时间",
|
||||
"toLabel": "结束时间'",
|
||||
"customRangeLabel": "自定义",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
||||
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
|
||||
"九月", "十月", "十一月", "十二月"],
|
||||
"firstDay": 1
|
||||
};
|
||||
$('#reservationtime2').daterangepicker(
|
||||
{
|
||||
"timePicker": false,
|
||||
"timePicker24Hour": false,
|
||||
"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: beginTimeStore2,
|
||||
endDate: endTimeStore2
|
||||
},
|
||||
function (start, end, label) {
|
||||
beginTimeStore2 = start.format(this.locale.format);
|
||||
endTimeStore2 = 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));
|
||||
}
|
||||
});
|
||||
$('#reservationtime2').val(
|
||||
beginTimeStore2 + locale.separator + endTimeStore2);
|
||||
//$('#reservationtime2').daterangepicker({autoUpdateInput:false})
|
||||
};
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
var dosearch = function () {
|
||||
$("#table2").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
var getListFun2 = function () {
|
||||
$("#table2").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptCreate/getList4Check.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'client', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
classId: '${param.classId}',
|
||||
search_name: $('#search_name').val(),
|
||||
unitId: '${param.unitId}'
|
||||
}
|
||||
},
|
||||
sortName: 'rptdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
field: 'name', // 返回json数据中的name
|
||||
title: '任务名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
formatter: function (value, row) {
|
||||
//console.log(row)
|
||||
if (row.type.indexOf('${Type_Detail}') != -1) {
|
||||
var arr = new Array();
|
||||
arr = row.type.split("-")
|
||||
var maintenanceType = arr[2];//运维类型:保养,维修,检修
|
||||
switch (maintenanceType) {
|
||||
case '${MAINTENANCE_TYPE_MAINTAIN}':
|
||||
return "保养任务";
|
||||
case '${MAINTENANCE_TYPE_REPAIR}':
|
||||
return "维修任务";
|
||||
case '${MAINTENANCE_TYPE_DEFECT}':
|
||||
return "缺陷任务";
|
||||
default:
|
||||
return "--";
|
||||
}
|
||||
} else {
|
||||
return row.name;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'createTime', // 返回json数据中的name
|
||||
title: '上步处理时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
formatter: function (value, row) {
|
||||
return row.task.createTime;
|
||||
}
|
||||
}, {
|
||||
field: 'companyname', // 返回json数据中的name
|
||||
title: '厂区', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
formatter: function (value, row) {
|
||||
if (row.business != null && row.business != '') {
|
||||
if (row.business.company != null && row.business.company != '') {
|
||||
return row.business.company.name;
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'problem', // 返回json数据中的name
|
||||
title: '问题描述', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
formatter: function (value, row) {
|
||||
return row.business == null ? '' : row.business.problem;
|
||||
}
|
||||
}, {
|
||||
field: 'taskName', // 返回json数据中的name
|
||||
title: '任务节点', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
formatter: function (value, row) {
|
||||
return row.task.name;
|
||||
}
|
||||
}, {
|
||||
field: 'op',
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 80, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
var str = '';
|
||||
if (!row.task.assignee) {
|
||||
str += '<button class="btn btn-default btn-sm" onclick="claimFun(\'' + row.task.id + '\')" data-toggle="tooltip" title="签收"><i class="fa fa-tag"></i><span class="hidden-md hidden-lg"> 签收</span></button>';
|
||||
} else {
|
||||
if (row.type.indexOf('${Type_Detail}') != -1) {
|
||||
str += '<button class="btn btn-default btn-sm" onclick="viewDetailFun(\'' + row.processInstance.businessKey + '\',\'' + row.type + '\')" data-toggle="tooltip" title="查看详情"><i class="fa fa-history"></i><span class="hidden-md hidden-lg"> 查看详情</span></button>'
|
||||
}
|
||||
if (row.business != null) {
|
||||
str += '<button class="btn btn-default btn-sm" onclick="gotoTaskFun(\'' + row.type + '\',\'' + row.business.status + '\',\'' + row.processInstance.id + '\',\'' + row.task.id + '\',\'' + row.processInstance.businessKey + '\');" data-toggle="tooltip" title="处理">' +
|
||||
'<i class="fa fa-play"></i><span class="hidden-md hidden-lg"> 处理</span></button>';
|
||||
}
|
||||
}
|
||||
str = '<div class="btn-group" >' + str + '</div>';
|
||||
return str;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
//签收
|
||||
var claimFun = function (id) {
|
||||
stopBubbleDefaultEvent();
|
||||
$.post(ext.contextPath + '/activiti/workflow/task/claim.do', {taskId: id}, function (data) {
|
||||
if (data == 1) {
|
||||
showAlert('s', '签收成功', 'mainAlertdiv');
|
||||
$("#table2").bootstrapTable('refresh')
|
||||
} else {
|
||||
showAlert('d', '签收失败', 'mainAlertdiv');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var gotoTaskFun = function (type, status, processInstanceId, taskId, businessKey) {
|
||||
stopBubbleDefaultEvent();
|
||||
/* tabIndex为维护清单页面tab的index变量 */
|
||||
/* console.log('status',status); */
|
||||
if (type.indexOf('${Report_Check}') != -1) {
|
||||
switch (status) {
|
||||
case '${UNIT_REPORT_CREATE}'://报表生成
|
||||
$.post(ext.contextPath + '/report/rptCreate/doedit.do', {
|
||||
processInstanceId: processInstanceId, taskId: taskId,
|
||||
unitId: status
|
||||
}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
break;
|
||||
case '${UNIT_REPORT_AUDIT}'://报表审核
|
||||
$.post(ext.contextPath + '/report/rptCreate/showAudit.do', {
|
||||
processInstanceId: processInstanceId, taskId: taskId,
|
||||
unitId: status
|
||||
}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModalAudit');
|
||||
});
|
||||
break;
|
||||
default:
|
||||
showAlert('w', '未查询到任务模块!', 'mainAlertdiv');
|
||||
}
|
||||
} else {
|
||||
showAlert('w', '未查询到任务模块!', 'mainAlertdiv');
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
function onlineExcel(filename) {
|
||||
window.open(getRootPath() + '_tohtm/Report/data/' + filename + '.htm', 'onlineExcel', 'width=' + (window.screen.availWidth - 10) + ',height=' + (window.screen.availHeight - 30) + ',top=0,left=0,toolbar=no,menubar=no,scrollbars=yes, resizable=no,location=no, status=no');
|
||||
}
|
||||
|
||||
function docheck(id) {
|
||||
alert('开发中' + id);
|
||||
}
|
||||
|
||||
//后台解析报表渲染到前端
|
||||
function onlineExcel4minio(id) {
|
||||
var sheetName = '';
|
||||
//获取该excel的所有sheet 默认加载第一个sheet
|
||||
$.post(ext.contextPath + '/report/rptCreate/getSheet.do', {id: id}, function (data) {
|
||||
var datastr = eval('(' + data + ')');
|
||||
if (datastr.code == 1) {
|
||||
var msg = datastr.msg;
|
||||
var arr = msg.split(",");
|
||||
|
||||
var sheetstr = '';
|
||||
//循环sheet
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
sheetstr += '<div style="border:1px solid #696969;font-weight: bold;float: left; margin-left: 5px;cursor: pointer;" onclick="viewFile(\'' + id + '\',\'' + arr[i] + '\');">' + arr[i] + '</div>';
|
||||
}
|
||||
$('#viewFile_top').html(sheetstr);
|
||||
|
||||
//获取excel数据,前端渲染
|
||||
sheetName = arr[0];
|
||||
viewFile_open(id, sheetName);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//赋值并打开页面
|
||||
function viewFile_open(id, sheetName) {
|
||||
//sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
//creatId赋值
|
||||
$('#creatId').val(id);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {
|
||||
id: id,
|
||||
sheetName: sheetName,
|
||||
layerType: 'edit'
|
||||
}, function (data) {
|
||||
var end = data.replace(RegExp('${RptSpSet_Type_Confirm}', 'g'), '<button type="button" style="pointer-events:none;">确认</button>');
|
||||
$('#viewFile_bottom').html(end);
|
||||
});
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
area: '90%',
|
||||
skin: 'bgfff', //没有背景色
|
||||
maxmin: true,
|
||||
content: $('#viewFile'),
|
||||
cancel: function () {//获取右上角关闭事件
|
||||
$.post(ext.contextPath + '/report/rptCreate/dosaveAgain.do', {createId: id}, function (data) {
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//仅赋值---切换sheet
|
||||
function viewFile(id, sheetName) {
|
||||
//给sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {
|
||||
id: id,
|
||||
sheetName: sheetName,
|
||||
layerType: 'edit'
|
||||
}, function (data) {
|
||||
var end = data.replace(RegExp('${RptSpSet_Type_Confirm}', 'g'), '<button type="button" style="pointer-events:none;">确认</button>');
|
||||
$('#viewFile_bottom').html(end);
|
||||
});
|
||||
}
|
||||
|
||||
//渲染后的table 右键事件
|
||||
function tabClickRight() {
|
||||
var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
|
||||
if (td.parentElement.rowIndex != 'undefined' && td.parentElement.rowIndex != undefined && td.cellIndex != 'undefined' && td.cellIndex != undefined) {
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
$('#tableLog').bootstrapTable('destroy');
|
||||
$("#tableLog").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptLog/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [200], // 设置页面可以显示的数据条数
|
||||
pageSize: 200, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
createId: $('#creatId').val(),
|
||||
posx: posx,
|
||||
posy: posy
|
||||
}
|
||||
},
|
||||
sortName: 'insdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订前值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.beforeValue;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.afterValue;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.user != null && row.user != '') {
|
||||
return row.user.caption;
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: '修订时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.insdt.substring(0, 19);
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function (data) { //加载成功时执行
|
||||
adjustBootstrapTableView("tableLog");
|
||||
if (data.total > 0) {
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: false,
|
||||
area: '50%',
|
||||
skin: 'bgfff', //没有背景色
|
||||
maxmin: false,
|
||||
content: $('#viewHis'),
|
||||
cancel: function () {//获取右上角关闭事件
|
||||
//无
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//渲染后的table 左键事件
|
||||
function tabClickLeft() {
|
||||
var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
|
||||
if (td.parentElement.rowIndex != 'undefined' && td.parentElement.rowIndex != undefined && td.cellIndex != 'undefined' && td.cellIndex != undefined) {
|
||||
var str = td.innerHTML;
|
||||
var reg = RegExp(/button/);
|
||||
//如果包含button则为有事件的单元格 不参与修改值
|
||||
if (str.match(reg)) {
|
||||
//if (str.match('确认区域')) {
|
||||
layer.confirm("是否确认该时间段内数据?", {icon: 3, title: '提示'},
|
||||
function (index) {//确认
|
||||
var sheet = $('#sheet').val();
|
||||
var creatId = $('#creatId').val();
|
||||
var type = '${RptSpSet_Type_Confirm}';
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
var userId = '${userId}';
|
||||
$.post(ext.contextPath + '/report/rptLog/doupdate.do', {
|
||||
sheet: sheet,
|
||||
creatId: creatId,
|
||||
type: type,
|
||||
posx: posx,
|
||||
posy: posy,
|
||||
userId: userId,
|
||||
val: 0
|
||||
}, function (data) {
|
||||
//
|
||||
});
|
||||
td.innerHTML = '${userName}';
|
||||
layer.close(index);
|
||||
},
|
||||
function (index) {//取消
|
||||
layer.close(index);
|
||||
});
|
||||
} else {
|
||||
layer.prompt({value: str},
|
||||
function (val, index) {
|
||||
td.innerHTML = val;//设置单击单元格的值
|
||||
var sheet = $('#sheet').val();
|
||||
var creatId = $('#creatId').val();
|
||||
var type = '${RptSpSet_Type_Cal}';
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
$.post(ext.contextPath + '/report/rptLog/dosave.do', {
|
||||
sheet: sheet,
|
||||
creatId: creatId,
|
||||
type: type,
|
||||
posx: posx,
|
||||
posy: posy,
|
||||
beforeValue: str,//修改前的值
|
||||
afterValue: val //修改后的值
|
||||
}, function (data) {
|
||||
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//渲染后的table 单击事件
|
||||
$("#viewFile_bottom").unbind("mousedown").bind("mousedown", function (event) {
|
||||
if (event.which == 1) {//左键事件
|
||||
tabClickLeft();
|
||||
} else if (event.which == 2) {//中键事件
|
||||
|
||||
} else if (event.which == 3) {//右键事件
|
||||
document.oncontextmenu = function (ev) {
|
||||
return false;
|
||||
}
|
||||
tabClickRight();
|
||||
}
|
||||
});
|
||||
|
||||
//确认数据方法
|
||||
function confirmData() {
|
||||
var td = event.srcElement; // 通过event.srcElement 获取激活事件的对象 td
|
||||
layer.confirm("是否确认该时间段内数据?", {icon: 3, title: '提示'},
|
||||
function (index) {//确认
|
||||
|
||||
var sheet = $('#sheet').val();
|
||||
var creatId = $('#creatId').val();
|
||||
var type = '${RptSpSet_Type_Confirm}';
|
||||
var posx = td.cellIndex;
|
||||
var posy = td.parentElement.rowIndex;
|
||||
var userId = '${userId}';
|
||||
$.post(ext.contextPath + '/report/rptLog/doupdate.do', {
|
||||
sheet: sheet,
|
||||
creatId: creatId,
|
||||
type: type,
|
||||
posx: posx,
|
||||
posy: posy,
|
||||
userId: userId,
|
||||
val: ''
|
||||
}, function (data) {
|
||||
//
|
||||
});
|
||||
|
||||
td.innerHTML = '${userName}';
|
||||
layer.close(index);
|
||||
},
|
||||
function (index) {//取消
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
|
||||
// function fileDownloadFun(id) {
|
||||
// // window.open(ext.contextPath + "/base/downloadFileFromMasterid.do?key="+id+"&tbName=TB_Report_RptCreateFile");
|
||||
// $.post(ext.contextPath + "/base/downloadFileFromMasterid.do", { key: id, tbName: 'TB_Report_RptCreateFile' });
|
||||
// }
|
||||
|
||||
function fileDownloadFun(id) {
|
||||
window.open(ext.contextPath + "/report/rptCreate/downloadFile4minio.do?id=" + id);
|
||||
// $.post(ext.contextPath + "/report/rptCreate/downloadFile4minio.do", { id: id, tbName: 'TB_Report_RptCreateFile' });
|
||||
}
|
||||
|
||||
function downloadFilesFun() {
|
||||
var checkedItems = $("#table2").bootstrapTable('getSelections');
|
||||
$.each(checkedItems, function (index, item) {
|
||||
|
||||
fileDownloadFun(item.id);
|
||||
console.log(item.id);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function getRootPath() {
|
||||
var pathName = window.location.pathname.substring(1);
|
||||
var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
|
||||
return window.location.protocol + '//' + window.location.host + "/" + webName;
|
||||
}
|
||||
|
||||
var addFun = function () {
|
||||
var pid = '${param.classId}';
|
||||
$.post(ext.contextPath + '/report/rptCreate/doadd.do', {
|
||||
classId: '${param.classId}',
|
||||
unitId: '${param.unitId}'
|
||||
}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var editFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/doedit.do', {id: id}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
var deleteFun = function (id) {
|
||||
swal({
|
||||
text: "您确定要删除此记录? ",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function (willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/dodelete.do', {id: id}, function (data) {
|
||||
var datastr = eval('(' + data + ')');
|
||||
if (datastr.code == 1) {
|
||||
$("#table2").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var deletesFun = function () {
|
||||
var checkedItems = $("#table2").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 + '/report/rptCreate/dodeletes.do', {ids: datas}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table2").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$(function () {
|
||||
getListFun2();
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<input type="hidden" id="classId" name="classId" value="${param.classId}">
|
||||
<input type="hidden" id="sheet" name="sheet" value="${param.sheet}">
|
||||
<input type="hidden" id="creatId" name="creatId" value="${param.creatId}">
|
||||
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">${param.text}</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<%--<button type="button" class="btn btn-default" onclick="downloadFilesFun();"><i
|
||||
class="fa fa-download"></i>
|
||||
下載
|
||||
</button>--%>
|
||||
|
||||
<%--<div style="float:right;">
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="dosearch();"><i class="fa fa-search"></i>
|
||||
搜索
|
||||
</button>
|
||||
<label style="padding-top:6px;">时间范围:</label>
|
||||
<input type="text" class="form-control pull-right" id="reservationtime2"
|
||||
style="width:190px;height:35px;">
|
||||
</div>--%>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body ">
|
||||
<div>
|
||||
<table id="table2" style="table-layout:fixed;"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</html>
|
||||
634
WebRoot/jsp/report/rptCreateList4Generate.jsp
Normal file
634
WebRoot/jsp/report/rptCreateList4Generate.jsp
Normal file
@ -0,0 +1,634 @@
|
||||
<%@ 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.report.RptCreate" %>
|
||||
<%@ page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
|
||||
<% request.setAttribute("Status_Start", RptCreate.Status_Start); %>
|
||||
<% request.setAttribute("Status_Finish", RptCreate.Status_Finish); %>
|
||||
|
||||
<% request.setAttribute("RptType_Day", RptInfoSet.RptType_Day); %>
|
||||
<% request.setAttribute("RptType_Week", RptInfoSet.RptType_Week); %>
|
||||
<% request.setAttribute("RptType_Month", RptInfoSet.RptType_Month); %>
|
||||
<% request.setAttribute("RptType_Quarterly", RptInfoSet.RptType_Quarterly); %>
|
||||
<% request.setAttribute("RptType_HalfYear", RptInfoSet.RptType_HalfYear); %>
|
||||
<% request.setAttribute("RptType_Year", RptInfoSet.RptType_Year); %>
|
||||
|
||||
<%--<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security" %>--%>
|
||||
<style type="text/css">
|
||||
.ui-datepicker-calendar {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var masterId = '${param.classId}';
|
||||
var tbName = 'TB_Report_RptCreateFile'; //数据表
|
||||
var nameSpace = 'report';//保存文件夹
|
||||
var bucketName = 'report';
|
||||
|
||||
/*function getNowFormatDate() {
|
||||
var date = new Date();
|
||||
var seperator1 = "-";
|
||||
var seperator2 = ":";
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
var hour = date.getHours();
|
||||
var minute = date.getMinutes();
|
||||
var second = date.getSeconds();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
if (hour >= 0 && hour <= 9) {
|
||||
hour = "0" + hour;
|
||||
}
|
||||
if (minute >= 0 && minute <= 9) {
|
||||
minute = "0" + minute;
|
||||
}
|
||||
if (second >= 0 && second <= 9) {
|
||||
second = "0" + second;
|
||||
}
|
||||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
||||
+ " " + hour + seperator2 + minute
|
||||
+ seperator2 + second;
|
||||
return currentdate;
|
||||
}*/
|
||||
|
||||
/*var beginTimeStore2 = '';
|
||||
var endTimeStore2 = '';
|
||||
|
||||
function initDate2() {
|
||||
//定义locale汉化插件
|
||||
beginTimeStore2 = moment().subtract(6, 'days').format('YYYY-MM-DD');
|
||||
endTimeStore2 = moment().subtract(-1, 'days').format('YYYY-MM-DD');
|
||||
var locale = {
|
||||
"format": 'YYYY-MM-DD',
|
||||
"separator": " ~ ",
|
||||
"applyLabel": "确定",
|
||||
"cancelLabel": "取消",
|
||||
"fromLabel": "起始时间",
|
||||
"toLabel": "结束时间'",
|
||||
"customRangeLabel": "自定义",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
||||
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
|
||||
"九月", "十月", "十一月", "十二月"],
|
||||
"firstDay": 1
|
||||
};
|
||||
$('#reservationtime2').daterangepicker(
|
||||
{
|
||||
"timePicker": false,
|
||||
"timePicker24Hour": false,
|
||||
"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: beginTimeStore2,
|
||||
endDate: endTimeStore2
|
||||
},
|
||||
function (start, end, label) {
|
||||
beginTimeStore2 = start.format(this.locale.format);
|
||||
endTimeStore2 = 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));
|
||||
}
|
||||
});
|
||||
$('#reservationtime2').val(beginTimeStore2 + locale.separator + endTimeStore2);
|
||||
};*/
|
||||
|
||||
var dosearch = function () {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
|
||||
var getListFun = function () {
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptCreate/getList4Generate.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则终止请求
|
||||
var rpt_sdt = $("#rpt_sdt").val();
|
||||
var rpt_edt = $("#rpt_edt").val();
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
classId: '${param.classId}',
|
||||
search_name: $('#search_name').val(),
|
||||
unitId: '${param.unitId}',
|
||||
stdt: rpt_sdt,
|
||||
eddt: rpt_edt,
|
||||
st: $('#st').val()
|
||||
}
|
||||
},
|
||||
sortName: 'rptdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
width: '40px',
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},
|
||||
{
|
||||
field: 'rptdt', // 返回json数据中的name
|
||||
title: '日期', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.rptInfoSet != null && row.rptInfoSet != '') {
|
||||
switch (row.rptInfoSet.rpttype) {
|
||||
case '${RptType_Day}':
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 10) + "'>" + value.substring(0, 10) + "</span>";
|
||||
break;
|
||||
case '${RptType_Month}':
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 7) + "'>" + value.substring(0, 7) + "</span>";
|
||||
break;
|
||||
case '${RptType_Quarterly}':
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 4) + "'>" + value.substring(0, 4) + "</span>";
|
||||
break;
|
||||
case '${RptType_HalfYear}':
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 4) + "'>" + value.substring(0, 4) + "</span>";
|
||||
break;
|
||||
case '${RptType_Year}':
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 4) + "'>" + value.substring(0, 4) + "</span>";
|
||||
break;
|
||||
default:
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 10) + "'>" + value.substring(0, 10) + "</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'rptname', // 返回json数据中的name
|
||||
title: '生成报表名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
width: '35%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.status == '${Status_Finish}') {
|
||||
return '<span onclick="onlineExcel4minio(\'' + row.id + '\',\'view\')" style="color:#004B97;cursor:pointer;">' + row.rptname + '</span>';
|
||||
} else {
|
||||
return '<span onclick="onlineExcel4minio(\'' + row.id + '\',\'edit\')" style="color:#004B97;cursor:pointer;">' + row.rptname + '</span>';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'upsdt', // 返回json数据中的name
|
||||
title: '生成时间 ', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '15%',
|
||||
formatter: function (value, row, index) {
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 19) + "'>" + value.substring(0, 19) + "</span>";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'inputusername', // 返回json数据中的name
|
||||
title: '生成人 ', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '13%'
|
||||
},
|
||||
{
|
||||
field: 'memo', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '12%',
|
||||
formatter: function (value, row, index) {
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value + "'>" + value + "</span>";
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '15%',
|
||||
formatter: function (value, row, index) {
|
||||
var buts = '';
|
||||
if (row.status == '' || row.status == '报表生成') {
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="editFun(\'' + row.id + '\')" data-toggle="tooltip" title="编辑"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="deleteFun(\'' + row.id + '\')" data-toggle="tooltip" title="删除"><i class="fa fa-trash-o "></i><span class="hidden-md hidden-lg"> 删除</span></button>';
|
||||
}
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="fileDownloadFun(\'' + row.id + '\')" data-toggle="tooltip" title="文件下载"><i class="fa fa-download"></i><span class="hidden-md hidden-lg"> 文件下载</span></button>';
|
||||
if (row.status == '${Status_Finish}') {
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="onlineExcel4minio(\'' + row.id + '\',\'view\')" data-toggle="tooltip" title="在线预览"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg"> 在线预览</span></button>';
|
||||
} else {
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="onlineExcel4minio(\'' + row.id + '\',\'edit\')" data-toggle="tooltip" title="在线预览"><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("加载数据失败");
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function onlineExcel(filename) {
|
||||
window.open(getRootPath() + '_tohtm/Report/data/' + filename + '.htm', 'onlineExcel', 'width=' + (window.screen.availWidth - 10) + ',height=' + (window.screen.availHeight - 30) + ',top=0,left=0,toolbar=no,menubar=no,scrollbars=yes, resizable=no,location=no, status=no');
|
||||
}
|
||||
|
||||
//后台解析报表渲染到前端
|
||||
function onlineExcel4minio(id, layerType) {
|
||||
window.parent.window.onlineExcel4minio(id, layerType);
|
||||
}
|
||||
|
||||
function fileDownloadFun(id) {
|
||||
window.open(ext.contextPath + "/report/rptCreate/downloadFile4minio.do?id=" + id);
|
||||
}
|
||||
|
||||
function downloadFilesFun() {
|
||||
var checkedItems = $("#table").bootstrapTable('getSelections');
|
||||
$.each(checkedItems, function (index, item) {
|
||||
fileDownloadFun(item.id);
|
||||
});
|
||||
}
|
||||
|
||||
function getRootPath() {
|
||||
var pathName = window.location.pathname.substring(1);
|
||||
var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
|
||||
return window.location.protocol + '//' + window.location.host + "/" + webName;
|
||||
}
|
||||
|
||||
var addFun = function () {
|
||||
var pid = '${param.classId}';
|
||||
$.post(ext.contextPath + '/report/rptCreate/doadd.do', {
|
||||
classId: '${param.classId}',
|
||||
unitId: '${param.unitId}',
|
||||
rpttype: '${param.rpttype}',
|
||||
minViewMode: '${param.minViewMode}',
|
||||
format: '${param.format}'
|
||||
}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
if ('${param.minViewMode}' === '0') {
|
||||
$("#rptdtD")[0].type = 'text';
|
||||
$("#rptdtM")[0].type = 'hidden';
|
||||
$("#rptdtQ")[0].type = 'hidden';
|
||||
$("#rptdtY")[0].type = 'hidden';
|
||||
} else if ('${param.minViewMode}' === '1') {
|
||||
$("#rptdtD")[0].type = 'hidden';
|
||||
$("#rptdtM")[0].type = 'text';
|
||||
$("#rptdtQ")[0].type = 'hidden';
|
||||
$("#rptdtY")[0].type = 'hidden';
|
||||
} else if ('${param.minViewMode}' === '2') {
|
||||
$("#rptdtD")[0].type = 'hidden';
|
||||
$("#rptdtM")[0].type = 'hidden';
|
||||
$("#rptdtQ")[0].type = 'text';
|
||||
$("#rptdtY")[0].type = 'hidden';
|
||||
} else if ('${param.minViewMode}' === '3') {
|
||||
$("#rptdtD")[0].type = 'hidden';
|
||||
$("#rptdtM")[0].type = 'hidden';
|
||||
$("#rptdtQ")[0].type = 'hidden';
|
||||
$("#rptdtY")[0].type = 'text';
|
||||
}
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var addMoreFun = function () {
|
||||
var pid = '${param.classId}';
|
||||
$.post(ext.contextPath + '/report/rptCreate/doaddMore.do', {
|
||||
classId: '${param.classId}',
|
||||
unitId: '${param.unitId}',
|
||||
rpttype: '${param.rpttype}',
|
||||
minViewMode: '${param.minViewMode}',
|
||||
format: '${param.format}'
|
||||
}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
if ('${param.minViewMode}' === '0') {
|
||||
$("#rptdtD_Start")[0].type = 'text';
|
||||
$("#rptdtM_Start")[0].type = 'hidden';
|
||||
$("#rptdtQ_Start")[0].type = 'hidden';
|
||||
$("#rptdtY_Start")[0].type = 'hidden';
|
||||
|
||||
$("#rptdtD_End")[0].type = 'text';
|
||||
$("#rptdtM_End")[0].type = 'hidden';
|
||||
$("#rptdtQ_End")[0].type = 'hidden';
|
||||
$("#rptdtY_End")[0].type = 'hidden';
|
||||
} else if ('${param.minViewMode}' === '1') {
|
||||
$("#rptdtD_Start")[0].type = 'hidden';
|
||||
$("#rptdtM_Start")[0].type = 'text';
|
||||
$("#rptdtQ_Start")[0].type = 'hidden';
|
||||
$("#rptdtY_Start")[0].type = 'hidden';
|
||||
|
||||
$("#rptdtD_End")[0].type = 'hidden';
|
||||
$("#rptdtM_End")[0].type = 'text';
|
||||
$("#rptdtQ_End")[0].type = 'hidden';
|
||||
$("#rptdtY_End")[0].type = 'hidden';
|
||||
} else if ('${param.minViewMode}' === '2') {
|
||||
$("#rptdtD_Start")[0].type = 'hidden';
|
||||
$("#rptdtM_Start")[0].type = 'hidden';
|
||||
$("#rptdtQ_Start")[0].type = 'text';
|
||||
$("#rptdtY_Start")[0].type = 'hidden';
|
||||
|
||||
$("#rptdtD_End")[0].type = 'hidden';
|
||||
$("#rptdtM_End")[0].type = 'hidden';
|
||||
$("#rptdtQ_End")[0].type = 'text';
|
||||
$("#rptdtY_End")[0].type = 'hidden';
|
||||
} else if ('${param.minViewMode}' === '3') {
|
||||
$("#rptdtD_Start")[0].type = 'hidden';
|
||||
$("#rptdtM_Start")[0].type = 'hidden';
|
||||
$("#rptdtQ_Start")[0].type = 'hidden';
|
||||
$("#rptdtY_Start")[0].type = 'text';
|
||||
|
||||
$("#rptdtD_End")[0].type = 'hidden';
|
||||
$("#rptdtM_End")[0].type = 'hidden';
|
||||
$("#rptdtQ_End")[0].type = 'hidden';
|
||||
$("#rptdtY_End")[0].type = 'text';
|
||||
}
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var editFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/doedit.do', {id: id}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var deleteFun = function (id) {
|
||||
swal({
|
||||
text: "您确定要删除此记录? ",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function (willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/dodelete.do', {id: id}, function (data) {
|
||||
var datastr = eval('(' + data + ')');
|
||||
if (datastr.code == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} 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 + '/report/rptCreate/dodeletes.do', {ids: datas}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$('#st').select2({minimumResultsForSearch: 10});
|
||||
//状态触发方法
|
||||
$("#st").on("change", function (e) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
|
||||
//判断新增删除的按钮显示
|
||||
if ($('#st').val() == '') {
|
||||
document.getElementById("addButton").style.visibility = "visible"; //显示DIV
|
||||
document.getElementById("deleteButton").style.visibility = "visible"; //显示DIV
|
||||
} else {
|
||||
document.getElementById("addButton").style.visibility = "hidden"; //隐藏DIV 占据页面的位置
|
||||
document.getElementById("deleteButton").style.visibility = "hidden"; //隐藏DIV 占据页面的位置
|
||||
}
|
||||
});
|
||||
|
||||
var uploadFilesFun = function () {
|
||||
$.post(ext.contextPath + '/base/fileinputMinio_Report_Creat.do', {
|
||||
masterId: masterId,
|
||||
tbName: tbName,
|
||||
nameSpace: nameSpace,
|
||||
divId: ''
|
||||
}, function (data) {
|
||||
$("#fileInputDiv").html(data);
|
||||
openModal('fileInputModal');
|
||||
});
|
||||
};
|
||||
|
||||
$(function () {
|
||||
getListFun();
|
||||
|
||||
//加载日期控件
|
||||
createDatetimepickerTwo('rpt_sdt', 'rpt_edt', 'D');
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<input type="hidden" id="classId" name="classId" value="${param.classId}">
|
||||
<input type="hidden" id="sheet" name="sheet" value="${param.sheet}">
|
||||
<input type="hidden" id="creatId" name="creatId" value="${param.creatId}">
|
||||
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">${param.text}</h3>
|
||||
<div class="box-tools pull-right">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body ">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="rptDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
<div class="row" style="margin-bottom:5px;">
|
||||
<div class="col-lg-7">
|
||||
<div class="btn-group btn-group-sm" role="group" aria-label="...">
|
||||
|
||||
<button type="button" id="addButton" class="btn btn-default" onclick="addFun();"><i
|
||||
class="fa fa-plus"></i>
|
||||
新增
|
||||
</button>
|
||||
|
||||
<c:if test="${addMoreView == 1}">
|
||||
<button type="button" id="addButton" class="btn btn-default" onclick="addMoreFun();"><i
|
||||
class="fa fa-plus"></i>
|
||||
批量生成
|
||||
</button>
|
||||
</c:if>
|
||||
|
||||
<button type="button" id="deleteButton" class="btn btn-default" onclick="deletesFun();"><i
|
||||
class="fa fa-trash-o"></i>
|
||||
删除
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-default" onclick="uploadFilesFun();"><i
|
||||
class="fa fa-cloud-upload"></i>
|
||||
上传
|
||||
</button>
|
||||
|
||||
<button type="button" class="btn btn-default" onclick="downloadFilesFun();"><i
|
||||
class="fa fa-cloud-download"></i>
|
||||
下载
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<div class="input-group input-group-sm">
|
||||
<div class="input-group-addon">时间范围:</div>
|
||||
<input type="text" class="form-control" id="rpt_sdt" name="rpt_sdt" value="" readOnly>
|
||||
<div class="input-group-addon">至</div>
|
||||
<input type="text" class="form-control" id="rpt_edt" name="rpt_edt" value="" readOnly>
|
||||
<span class="input-group-btn">
|
||||
<a class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i> 搜索</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table id="table" data-use-row-attr-func="true" data-reorderable-rows="true"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<%--<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">${param.text}</h3>
|
||||
<div id="fileInputDiv"></div>
|
||||
|
||||
<div class="box-tools pull-right form-inline">
|
||||
|
||||
<security:authorize buttonUrl="report/rptCreate/add.do">
|
||||
<button type="button" id="addButton" class="btn btn-default" onclick="addFun();"><i
|
||||
class="fa fa-plus"></i>
|
||||
新增
|
||||
</button>
|
||||
<a type="button" class="btn btn-default" onclick="addFun();"><i class="fa fa-plus"></i>新增</a>
|
||||
<c:if test="${addMoreView == 1}">
|
||||
<button type="button" id="addButton" class="btn btn-default" onclick="addMoreFun();"><i
|
||||
class="fa fa-plus"></i>
|
||||
批量生成
|
||||
</button>
|
||||
</c:if>
|
||||
</security:authorize>
|
||||
<security:authorize buttonUrl="report/rptCreate/delete.do">
|
||||
<button type="button" id="deleteButton" class="btn btn-default" onclick="deletesFun();"><i
|
||||
class="fa fa-trash-o"></i>
|
||||
删除
|
||||
</button>
|
||||
</security:authorize>
|
||||
<security:authorize buttonUrl="report/rptCreate/edit.do">
|
||||
<button type="button" class="btn btn-default" onclick="uploadFilesFun();"><i
|
||||
class="fa fa-cloud-upload"></i>
|
||||
上传
|
||||
</button>
|
||||
</security:authorize>
|
||||
<security:authorize buttonUrl="report/rptCreate/edit.do">
|
||||
<button type="button" class="btn btn-default" onclick="downloadFilesFun();"><i
|
||||
class="fa fa-cloud-download"></i>
|
||||
下载
|
||||
</button>
|
||||
</security:authorize>
|
||||
|
||||
<label class="form-label ">状态:</label>
|
||||
<select id="st" name="st" class="form-control select2" style="width: 100px;">
|
||||
<option value="" selected>未提交</option>
|
||||
<option value="${Status_Start}">审核中</option>
|
||||
<option value="${Status_Finish}">已完成</option>
|
||||
</select>
|
||||
|
||||
<%–<div style="float:right;">
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="dosearch();"><i class="fa fa-search"></i>
|
||||
搜索
|
||||
</button>
|
||||
<label style="padding-top:6px;">时间范围:</label>
|
||||
<input type="text" class="form-control pull-right" id="reservationtime2"
|
||||
style="width:190px;height:35px;">
|
||||
</div>–%>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body ">
|
||||
<div>
|
||||
<table id="table" style="table-layout:fixed;"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
</html>
|
||||
537
WebRoot/jsp/report/rptCreateList4View.jsp
Normal file
537
WebRoot/jsp/report/rptCreateList4View.jsp
Normal file
@ -0,0 +1,537 @@
|
||||
<%@ 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" %>
|
||||
<%@ page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<%@ page import="com.sipai.entity.report.RptLog" %>
|
||||
|
||||
<% request.setAttribute("RptSpSet_Type_Cal", RptSpSet.RptSpSet_Type_Cal); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Insuser", RptSpSet.RptSpSet_Type_Insuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Confirm", RptSpSet.RptSpSet_Type_Confirm); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Checkuser", RptSpSet.RptSpSet_Type_Checkuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Rptdt", RptSpSet.RptSpSet_Type_Rptdt); %>
|
||||
|
||||
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security" %>
|
||||
<%String contextPath = request.getContextPath();%>
|
||||
<!-- 引入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>
|
||||
<script type="text/javascript">
|
||||
|
||||
function getNowFormatDate() {
|
||||
var date = new Date();
|
||||
var seperator1 = "-";
|
||||
var seperator2 = ":";
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
var hour = date.getHours();
|
||||
var minute = date.getMinutes();
|
||||
var second = date.getSeconds();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
if (hour >= 0 && hour <= 9) {
|
||||
hour = "0" + hour;
|
||||
}
|
||||
if (minute >= 0 && minute <= 9) {
|
||||
minute = "0" + minute;
|
||||
}
|
||||
if (second >= 0 && second <= 9) {
|
||||
second = "0" + second;
|
||||
}
|
||||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
||||
+ " " + hour + seperator2 + minute
|
||||
+ seperator2 + second;
|
||||
return currentdate;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
var beginTimeStore2 = '';
|
||||
var endTimeStore2 = '';
|
||||
|
||||
function initDate2() {
|
||||
//定义locale汉化插件
|
||||
beginTimeStore2 = moment().subtract(6, 'days').format('YYYY-MM-DD');
|
||||
endTimeStore2 = moment().subtract(-1, 'days').format('YYYY-MM-DD');
|
||||
var locale = {
|
||||
"format": 'YYYY-MM-DD',
|
||||
"separator": " ~ ",
|
||||
"applyLabel": "确定",
|
||||
"cancelLabel": "取消",
|
||||
"fromLabel": "起始时间",
|
||||
"toLabel": "结束时间'",
|
||||
"customRangeLabel": "自定义",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
||||
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
|
||||
"九月", "十月", "十一月", "十二月"],
|
||||
"firstDay": 1
|
||||
};
|
||||
$('#reservationtime2').daterangepicker(
|
||||
{
|
||||
"timePicker": false,
|
||||
"timePicker24Hour": false,
|
||||
"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: beginTimeStore2,
|
||||
endDate: endTimeStore2
|
||||
},
|
||||
function (start, end, label) {
|
||||
beginTimeStore2 = start.format(this.locale.format);
|
||||
endTimeStore2 = 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));
|
||||
}
|
||||
});
|
||||
$('#reservationtime2').val(
|
||||
beginTimeStore2 + locale.separator + endTimeStore2);
|
||||
//$('#reservationtime2').daterangepicker({autoUpdateInput:false})
|
||||
};
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
var dosearch = function () {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
var getListFun = function () {
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptCreate/getList4View.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
var rpt_sdt = $("#rpt_sdt").val();
|
||||
var rpt_edt = $("#rpt_edt").val();
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
classId: '${param.classId}',
|
||||
search_name: $('#search_name').val(),
|
||||
unitId: '${param.unitId}',
|
||||
stdt: rpt_sdt,
|
||||
eddt: rpt_edt
|
||||
}
|
||||
},
|
||||
sortName: 'rptdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
width: '40px',
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},
|
||||
{
|
||||
field: 'rptdt', // 返回json数据中的name
|
||||
title: '日期', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 10) + "'>" + value.substring(0, 10) + "</span>";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'rptname', // 返回json数据中的name
|
||||
title: '生成报表名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
width: '35%',
|
||||
formatter: function (value, row, index) {
|
||||
return '<span onclick="onlineExcel4minio(\'' + row.id + '\',\'view\')" style="color:#004B97;cursor:pointer;">' + row.rptname + '</span>';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'upsdt', // 返回json数据中的name
|
||||
title: '生成时间 ', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '15%',
|
||||
formatter: function (value, row, index) {
|
||||
return "<span style='display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;' title='" + value.substring(0, 19) + "'>" + value.substring(0, 19) + "</span>";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'inputusername', // 返回json数据中的name
|
||||
title: '生成人 ', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '13%'
|
||||
},
|
||||
{
|
||||
field: 'memo', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '12%'
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '15%',
|
||||
formatter: function (value, row, index) {
|
||||
var buts = '';
|
||||
buts += '<security:authorize buttonUrl="report/rptCreate/down.do"><button class="btn btn-default btn-sm" onclick="fileDownloadFun(\'' + row.id + '\')" data-toggle="tooltip" title="文件下载"><i class="fa fa-download"></i><span class="hidden-md hidden-lg"> 文件下载</span></button></security:authorize>';
|
||||
// buts += '<button class="btn btn-default btn-sm" onclick="onlineExcel4minio(\'' + row.id + '\')" data-toggle="tooltip" title="在线预览"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg"> 在线预览</span></button>';
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="onlineExcel4minio(\'' + row.id + '\',\'view\')" data-toggle="tooltip" title="在线预览"><i class="fa fa-eye"></i><span class="hidden-md hidden-lg"> 在线预览</span></button>';
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="deleteFun(\'' + row.id + '\')" data-toggle="tooltip" title="删除"><i class="fa fa-trash-o "></i><span class="hidden-md hidden-lg"> 删除</span></button>';
|
||||
buts = '<div class = "btn-group">' + buts + '</div>';
|
||||
return buts;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
function onlineExcel(filename) {
|
||||
window.open(getRootPath() + '_tohtm/Report/data/' + filename + '.htm', 'onlineExcel', 'width=' + (window.screen.availWidth - 10) + ',height=' + (window.screen.availHeight - 30) + ',top=0,left=0,toolbar=no,menubar=no,scrollbars=yes, resizable=no,location=no, status=no');
|
||||
}
|
||||
|
||||
// function onlineExcel4minio(id) {
|
||||
// window.open(ext.contextPath + '/report/rptCreate/viewFile.do?id=8f6bd39a19c0418285a5d70d7dd11c7a&sheetName=泵房运行操作记录(3系统)表零', 'onlineExcel', 'width=' + (window.screen.availWidth - 10) + ',height=' + (window.screen.availHeight - 30) + ',top=0,left=0,toolbar=no,menubar=no,scrollbars=yes, resizable=no,location=no, status=no');
|
||||
// }
|
||||
|
||||
//后台解析报表渲染到前端
|
||||
// function onlineExcel4minio(id) {
|
||||
// $.post(ext.contextPath + '/report/rptCreate/viewFile.do', { id: '8f6bd39a19c0418285a5d70d7dd11c7a', sheetName: '泵房运行操作记录(3系统)表零' }, function (data) {
|
||||
// $('#viewFile').html(data);
|
||||
// });
|
||||
// layer.open({
|
||||
// type: 1,
|
||||
// title: false,
|
||||
// //closeBtn: 0,
|
||||
// area: '90%',
|
||||
// //fixed: false,
|
||||
// skin: 'bgfff', //没有背景色
|
||||
// //shadeClose: true,
|
||||
// maxmin: true,
|
||||
// content: $('#viewFile')
|
||||
// });
|
||||
// }
|
||||
|
||||
//后台解析报表渲染到前端
|
||||
function onlineExcel4minio(id, layerType) {
|
||||
window.parent.window.onlineExcel4minio(id, layerType);
|
||||
}
|
||||
|
||||
//后台解析报表渲染到前端
|
||||
/*function onlineExcel4minio(id) {
|
||||
var sheetName = '';
|
||||
//获取该excel的所有sheet 默认加载第一个sheet
|
||||
$.post(ext.contextPath + '/report/rptCreate/getSheet.do', {id: id}, function (data) {
|
||||
var datastr = eval('(' + data + ')');
|
||||
if (datastr.code == 1) {
|
||||
var msg = datastr.msg;
|
||||
var arr = msg.split(",");
|
||||
|
||||
var sheetstr = '';
|
||||
//循环sheet
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
sheetstr += '<div style="border:1px solid #696969;font-weight: bold;float: left; margin-left: 5px;cursor: pointer;" onclick="viewFile(\'' + id + '\',\'' + arr[i] + '\');">' + arr[i] + '</div>';
|
||||
}
|
||||
$('#viewFile_top').html(sheetstr);
|
||||
|
||||
//获取excel数据,前端渲染
|
||||
sheetName = arr[0];
|
||||
viewFile_open(id, sheetName);
|
||||
}
|
||||
});
|
||||
}*/
|
||||
|
||||
//赋值并打开页面
|
||||
function viewFile_open(id, sheetName) {
|
||||
//先清空excel div
|
||||
$('#viewFile_bottom').html('');
|
||||
//等待
|
||||
top.layer.load(1);
|
||||
//sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
//creatId赋值
|
||||
$('#creatId').val(id);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {
|
||||
id: id,
|
||||
sheetName: sheetName,
|
||||
layerType: 'view'
|
||||
}, function (data) {
|
||||
var end = data.replace(RegExp('${RptSpSet_Type_Confirm}', 'g'), '未确认');
|
||||
$('#viewFile_bottom').html(end);
|
||||
//关闭等待
|
||||
top.layer.closeAll('loading');
|
||||
});
|
||||
layer.open({
|
||||
type: 1,
|
||||
title: '报表预览',
|
||||
area: '95%',
|
||||
skin: 'bgfff', //没有背景色
|
||||
maxmin: true,
|
||||
shadeClose: true,
|
||||
closeBtn: '1',
|
||||
content: $('#viewFile'),
|
||||
success: function (layero, index) { //弹出层加载成功后执行
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//仅赋值---切换sheet
|
||||
function viewFile(id, sheetName) {
|
||||
//先清空excel div
|
||||
$('#viewFile_bottom').html('');
|
||||
//等待
|
||||
top.layer.load(1);
|
||||
//给sheet赋值
|
||||
$('#sheet').val(sheetName);
|
||||
$.post(ext.contextPath + '/report/rptCreate/viewFile.do', {
|
||||
id: id,
|
||||
sheetName: sheetName,
|
||||
layerType: 'view'
|
||||
}, function (data) {
|
||||
var end = data.replace(RegExp('${RptSpSet_Type_Confirm}', 'g'), '未确认');
|
||||
$('#viewFile_bottom').html(end);
|
||||
//关闭等待
|
||||
top.layer.closeAll('loading');
|
||||
});
|
||||
}
|
||||
|
||||
// function fileDownloadFun(id) {
|
||||
// // window.open(ext.contextPath + "/base/downloadFileFromMasterid.do?key="+id+"&tbName=TB_Report_RptCreateFile");
|
||||
// $.post(ext.contextPath + "/base/downloadFileFromMasterid.do", { key: id, tbName: 'TB_Report_RptCreateFile' });
|
||||
// }
|
||||
|
||||
function fileDownloadFun(id) {
|
||||
window.open(ext.contextPath + "/report/rptCreate/downloadFile4minio.do?id=" + id);
|
||||
// $.post(ext.contextPath + "/report/rptCreate/downloadFile4minio.do", { id: id, tbName: 'TB_Report_RptCreateFile' });
|
||||
}
|
||||
|
||||
function downloadFilesFun() {
|
||||
var checkedItems = $("#table").bootstrapTable('getSelections');
|
||||
$.each(checkedItems, function (index, item) {
|
||||
|
||||
fileDownloadFun(item.id);
|
||||
console.log(item.id);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function getRootPath() {
|
||||
var pathName = window.location.pathname.substring(1);
|
||||
var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
|
||||
return window.location.protocol + '//' + window.location.host + "/" + webName;
|
||||
}
|
||||
|
||||
var addFun = function () {
|
||||
var pid = '${param.classId}';
|
||||
$.post(ext.contextPath + '/report/rptCreate/doadd.do', {
|
||||
classId: '${param.classId}',
|
||||
unitId: '${param.unitId}'
|
||||
}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var editFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/doedit.do', {id: id}, function (data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
var deleteFun = function (id) {
|
||||
swal({
|
||||
text: "您确定要删除此记录? ",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function (willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/dodelete.do', {id: id}, function (data) {
|
||||
var datastr = eval('(' + data + ')');
|
||||
if (datastr.code == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} 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 + '/report/rptCreate/dodeletes.do', {ids: datas}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$(function () {
|
||||
getListFun();
|
||||
|
||||
//加载日期控件
|
||||
createDatetimepickerTwo('rpt_sdt','rpt_edt','D');
|
||||
});
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<input type="hidden" id="classId" name="classId" value="${param.classId}">
|
||||
<input type="hidden" id="sheet" name="sheet" value="${param.sheet}">
|
||||
<input type="hidden" id="creatId" name="creatId" value="${param.creatId}">
|
||||
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">${param.text}</h3>
|
||||
<div class="box-tools pull-right">
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body ">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="rptDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
<div class="row" style="margin-bottom:5px;">
|
||||
<div class="col-lg-7">
|
||||
<div class="btn-group btn-group-sm" role="group" aria-label="...">
|
||||
|
||||
<button type="button" class="btn btn-default" onclick="downloadFilesFun();"><i
|
||||
class="fa fa-cloud-download"></i>
|
||||
下载
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<div class="input-group input-group-sm">
|
||||
<div class="input-group-addon">时间范围:</div>
|
||||
<input type="text" class="form-control" id="rpt_sdt" name="rpt_sdt" value="" readOnly>
|
||||
<div class="input-group-addon">至</div>
|
||||
<input type="text" class="form-control" id="rpt_edt" name="rpt_edt" value="" readOnly>
|
||||
<span class="input-group-btn">
|
||||
<a class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i> 搜索</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table id="table" data-use-row-attr-func="true" data-reorderable-rows="true"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%--<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">${param.text}</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<security:authorize buttonUrl="report/rptCreate/edit.do">
|
||||
<button type="button" class="btn btn-default" onclick="downloadFilesFun();"><i
|
||||
class="fa fa-download"></i>
|
||||
下載
|
||||
</button>
|
||||
</security:authorize>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body ">
|
||||
<div>
|
||||
<table id="table" style="table-layout:fixed;"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>--%>
|
||||
|
||||
</html>
|
||||
207
WebRoot/jsp/report/rptCreateTree.jsp
Normal file
207
WebRoot/jsp/report/rptCreateTree.jsp
Normal file
@ -0,0 +1,207 @@
|
||||
<%@ 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>
|
||||
<%--<jsp:include page="/jsp/frameset.jsp"></jsp:include>--%>
|
||||
|
||||
<!-- 文件上传-->
|
||||
<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 src="<%=request.getContextPath()%>/JS/activiti/workflow.js" type="text/javascript"></script>
|
||||
<script src="<%=request.getContextPath()%>/JS/qtip/jquery.qtip.min.js" type="text/javascript"></script>
|
||||
<%-- 引入CSS --%>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/JS/qtip/jquery.qtip.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/CSS/style-activiti.css" type="text/css">
|
||||
|
||||
<!-- 引入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">
|
||||
/*.buttonDiv {
|
||||
float: left;
|
||||
}*/
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
var unitId = "";
|
||||
|
||||
$(function () {
|
||||
if ("${param.urlUnitId}" != '' && "${param.urlUnitId}".length > 0) {
|
||||
unitId = "${param.urlUnitId}";
|
||||
} else {
|
||||
unitId = unitId;
|
||||
}
|
||||
treeViewGenerate();
|
||||
});
|
||||
|
||||
var choiceGenerateFun = function (id, unitId, rpttype, text) {
|
||||
var minViewMode = 0;
|
||||
var format = 'yyyy-mm-dd';
|
||||
if (rpttype == 'sp_report_mth_01') {
|
||||
var minViewMode = 1;
|
||||
var format = 'yyyy-mm';
|
||||
} else if (rpttype == 'sp_report_qua_01') {
|
||||
var minViewMode = 2;
|
||||
var format = 'yyyy-mm';
|
||||
} else if (rpttype == 'sp_report_halfYear_01') {
|
||||
var minViewMode = 1;
|
||||
var format = 'yyyy-mm';
|
||||
} else if (rpttype == 'sp_report_year_01') {
|
||||
var minViewMode = 3;
|
||||
var format = 'yyyy';
|
||||
}
|
||||
|
||||
$.post(ext.contextPath + '/report/rptCreate/showList4Generate.do', {
|
||||
classId: id,
|
||||
unitId: unitId,
|
||||
rpttype: rpttype,
|
||||
text: text,
|
||||
minViewMode: minViewMode,
|
||||
format: format
|
||||
}, function (data) {
|
||||
$("#right_div").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var choiceCheckFun = function (id, unitId, text) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/showList4Check.do', {
|
||||
classId: id,
|
||||
unitId: unitId,
|
||||
text: text
|
||||
}, function (data) {
|
||||
$("#right_div").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
//获取报表生成tree
|
||||
var treeViewGenerate = function () {
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/getTree4Generate.do', {unitId: unitId}, function (data) {
|
||||
$('#tree').treeview({
|
||||
data: data,
|
||||
levels: 3
|
||||
});
|
||||
$('#tree').on('nodeSelected', function (event, data) {
|
||||
choiceGenerateFun(data.id, data.unitId, data.rpttype, data.text);
|
||||
});
|
||||
}, 'json');
|
||||
$("#right_div").html("");
|
||||
};
|
||||
|
||||
//获取报表审核tree
|
||||
var treeViewCheck = function () {
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/getTree4Check.do', {unitId: unitId}, function (data) {
|
||||
// console.log(data);
|
||||
$('#tree').treeview({
|
||||
data: data,
|
||||
showTags: true,//显示徽章
|
||||
levels: 3
|
||||
});
|
||||
$('#tree').on('nodeSelected', function (event, data) {
|
||||
choiceCheckFun(data.id, data.unitId, data.text);
|
||||
});
|
||||
}, 'json');
|
||||
$("#right_div").html("");
|
||||
};
|
||||
|
||||
|
||||
//选择报表生成
|
||||
function choiceGenerate() {
|
||||
document.getElementById('button1').className = 'btn btn-primary btn-sm';
|
||||
document.getElementById('button2').className = 'btn btn-default btn-sm';
|
||||
treeViewGenerate();
|
||||
}
|
||||
|
||||
//选择报表审核
|
||||
function choiceCheck() {
|
||||
document.getElementById('button1').className = 'btn btn-default btn-sm';
|
||||
document.getElementById('button2').className = 'btn btn-primary btn-sm';
|
||||
treeViewCheck();
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<div class="btn-group" style="width: 100%;">
|
||||
<button type="button" id="button1" class="btn btn-primary btn-sm" onclick="choiceGenerate();"><i
|
||||
class="fa fa-file-text-o"></i>
|
||||
报表生成
|
||||
</button>
|
||||
<button type="button" id="button2" class="btn btn-default btn-sm" onclick="choiceCheck();"><i
|
||||
class="fa fa-check-square"></i>
|
||||
报表审核
|
||||
</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="content container-fluid" style="padding-top:2px;">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="user4SelectDiv"></div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">报表类别</h3>
|
||||
<div class="box-tools" id="addDiv" style="display:none">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:700px;overflow:auto; "></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9" id="right_div"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<%--<div id="viewFile" style="display:none;height:900px;">
|
||||
<!-- sheet列表 -->
|
||||
<div id="viewFile_top" style="width:100%;height:5%;float:left;">
|
||||
|
||||
</div>
|
||||
<!-- 报表内容 -->
|
||||
<div id="viewFile_bottom" style="width:20000px;height:95%;float:left;" @contextmenu.prevent></div>
|
||||
</div>
|
||||
<!-- 修订记录 -->
|
||||
<div id="viewHis" style="display:none;height:300px;">
|
||||
<table id="tableLog" style="table-layout:fixed;">
|
||||
|
||||
</table>
|
||||
</div>--%>
|
||||
|
||||
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
129
WebRoot/jsp/report/rptCreateTree4View.jsp
Normal file
129
WebRoot/jsp/report/rptCreateTree4View.jsp
Normal file
@ -0,0 +1,129 @@
|
||||
<%@ 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>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
|
||||
<style type="text/css">
|
||||
.buttonDiv {
|
||||
float: left;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
var unitId = "";
|
||||
|
||||
$(function () {
|
||||
unitId = unitId;
|
||||
treeViewGenerate();
|
||||
});
|
||||
|
||||
var choiceGenerateFun = function (id, unitId, text) {
|
||||
$.post(ext.contextPath + '/report/rptCreate/showList4View.do', {
|
||||
classId: id,
|
||||
unitId: unitId,
|
||||
text: text
|
||||
}, function (data) {
|
||||
$("#right_div").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
//获取报表生成tree
|
||||
var treeViewGenerate = function () {
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/getTree4View.do', {unitId: unitId}, function (data) {
|
||||
$('#tree').treeview({
|
||||
data: data,
|
||||
levels: 3
|
||||
});
|
||||
$('#tree').on('nodeSelected', function (event, data) {
|
||||
choiceGenerateFun(data.id, data.unitId, data.text);
|
||||
});
|
||||
}, 'json');
|
||||
$("#right_div").html("");
|
||||
};
|
||||
|
||||
|
||||
//选择报表浏览
|
||||
function choiceView() {
|
||||
document.getElementById('button1').className = 'btn btn-primary btn-sm';
|
||||
treeViewGenerate();
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="content-wrapper">
|
||||
<section class="content-header">
|
||||
<div class="btn-group" style="width: 100%;">
|
||||
<button type="button" id="button1" class="btn btn-primary btn-sm" onclick="choiceView();"><i
|
||||
class="fa fa-file-text-o"></i>
|
||||
报表浏览
|
||||
</button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="content container-fluid" style="padding-top:2px;">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="user4SelectDiv"></div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">报表类别</h3>
|
||||
<div class="box-tools" id="addDiv" style="display:none">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:700px;overflow:auto; "></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9" id="right_div"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="viewFile" style="display:none;height:900px;">
|
||||
<!-- sheet列表 -->
|
||||
<div id="viewFile_top" style="width:100%;height:5%;float:left;">
|
||||
|
||||
</div>
|
||||
<!-- 报表内容 -->
|
||||
<div id="viewFile_bottom" style="width:3000px;height:95%;float:left;" @contextmenu.prevent></div>
|
||||
</div>
|
||||
|
||||
<div id="viewHis" style="display:none;height:300px;">
|
||||
<table id="tableLog" style="table-layout:fixed;">
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
306
WebRoot/jsp/report/rptDayLogAdd.jsp
Normal file
306
WebRoot/jsp/report/rptDayLogAdd.jsp
Normal file
@ -0,0 +1,306 @@
|
||||
<%@ 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/fmt" prefix="fmt" %>
|
||||
<%@ 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;
|
||||
}
|
||||
.control-label-overflow{
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject = jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
|
||||
jsonObject.rptdt = $("#rptdt").val();
|
||||
var rptdt = $("#rptdt").val();
|
||||
var rptdeptId = jsonObject.rptdeptId
|
||||
jsonObject.id = $("#id").val();
|
||||
jsonObject.memo=$("#memo").val();
|
||||
jsonObject.others=$("#others").val();
|
||||
jsonObject.status = "未提交";
|
||||
|
||||
for (var i in jsonObject.mPointList) {//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue = $("#id" + i).val();
|
||||
}
|
||||
var jsonstr = JSON.stringify(jsonObject);
|
||||
|
||||
// console.log(jsonstr);
|
||||
|
||||
$.post(ext.contextPath + "/report/RptDayLog/docheckRptdt.do", {
|
||||
rptdt: rptdt,
|
||||
rptdeptId: rptdeptId
|
||||
}, function (data) {
|
||||
if (data == true) {
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do", {json: jsonstr}, function (data) {
|
||||
if (data.code == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
showAlert('s', '保存成功','mainAlertdiv');
|
||||
} else if (data.code == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.msg);
|
||||
}
|
||||
}, 'json');
|
||||
} else {
|
||||
showAlert('d', "该填报日期已有数据");
|
||||
}
|
||||
}, 'json');
|
||||
// closeModal('subModal');
|
||||
}
|
||||
|
||||
//显示悬浮层
|
||||
function show(event, lastvalue, Unit, NumTail, mpointcode) {
|
||||
/*var data_text = "当前值:" + lastvalue + "<br/>单位:" + Unit + "<br/>小数位:" + NumTail;
|
||||
var showbox = $('<div>' + data_text + '</div>').css({
|
||||
width: '135px',
|
||||
padding: '2px 5px',
|
||||
position: 'absolute',
|
||||
top: -12,
|
||||
left: 140,
|
||||
color: '#000000',
|
||||
border: '1px solid #000000',
|
||||
borderRadius: '5px',
|
||||
background: '#ffffe0',
|
||||
'z-index': 9999
|
||||
}).addClass("showbox");*/
|
||||
|
||||
var data_text = '';
|
||||
var rptdt = $('#rptdt').val();
|
||||
|
||||
$.post(ext.contextPath + "/work/mpoint/selectTop14Time.do", {
|
||||
rptdt: rptdt,
|
||||
mpointcode: mpointcode,
|
||||
unitId: unitId
|
||||
}, function (data) {
|
||||
var str = $.parseJSON(data);
|
||||
// console.log(str.value);
|
||||
data_text = "当前值:" + str.value + "<br/>单位:" + Unit + "<br/>小数位:" + NumTail;
|
||||
// console.log(data_text);
|
||||
var showbox = $('<div>' + data_text + '</div>').css({
|
||||
width: '135px',
|
||||
padding: '2px 5px',
|
||||
position: 'absolute',
|
||||
top: -12,
|
||||
left: 140,
|
||||
color: '#000000',
|
||||
border: '1px solid #000000',
|
||||
borderRadius: '5px',
|
||||
background: '#ffffe0',
|
||||
'z-index': 9999
|
||||
}).addClass("showbox");
|
||||
|
||||
showbox.insertAfter(event);
|
||||
|
||||
}, 'json');
|
||||
|
||||
// data_text = "当前值:" + lastvalue + "<br/>单位:" + Unit + "<br/>小数位:" + NumTail;
|
||||
|
||||
/*var showbox = $('<div>' + data_text + '</div>').css({
|
||||
width: '135px',
|
||||
padding: '2px 5px',
|
||||
position: 'absolute',
|
||||
top: -12,
|
||||
left: 140,
|
||||
color: '#000000',
|
||||
border: '1px solid #000000',
|
||||
borderRadius: '5px',
|
||||
background: '#ffffe0',
|
||||
'z-index': 9999
|
||||
}).addClass("showbox");
|
||||
|
||||
showbox.insertAfter(event);*/
|
||||
}
|
||||
|
||||
//隐藏悬浮层
|
||||
function hide(event) {
|
||||
$(".showbox").remove();
|
||||
}
|
||||
|
||||
//初始化选择框
|
||||
var refreshActiveSelect = function () {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject = jQuery.parseJSON(jsonStr);
|
||||
|
||||
for (var i in jsonObject.mPointList) {
|
||||
|
||||
if (jsonObject.mPointList[i].valuemeaningFlag) {
|
||||
var select = $("#id" + i).select2({
|
||||
theme: "classic",
|
||||
data: null,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: true,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
});
|
||||
select.val(jsonObject.mPointList[i].parmvalue).trigger("change");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
$(function () {
|
||||
refreshActiveSelect();
|
||||
//填报日期选择
|
||||
var type = $("#dateType").val();
|
||||
createDatetimepicker ('rptdt',type)
|
||||
// $(".timecheck").datetimepicker({
|
||||
// bootcssVer:3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头
|
||||
// format: 'yyyy-mm-dd HH:mm',
|
||||
// minView: 'day',//设置时间选择为年月日 去掉时分秒选择
|
||||
// todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。
|
||||
// language: 'zh-CN',
|
||||
// autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。
|
||||
// keyboardNavigation: true, //是否允许通过方向键改变日期。
|
||||
// forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。
|
||||
// todayHighlight: 1 //如果为true, 高亮当前日期
|
||||
// })
|
||||
})
|
||||
|
||||
</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">×</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 type="hidden" id="bizId" name="bizId" value="${patrolContents.bizId}">
|
||||
<input type="hidden" id="unitId" name="unitId" value="${patrolContents.unitId}">
|
||||
<input type="hidden" id="pid" name="pid" value="${patrolContents.pid}">
|
||||
<input type="hidden" id="patrolContentsType" name="patrolContentsType" value="${patrolContents.patrolContentsType}"> -->
|
||||
|
||||
<input type="hidden" id="id" name="id" value="${rptDayLog.id}">
|
||||
<input type="hidden" id="dateType" name="dateType" value="${rptDayLog.type}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">填报日期<i class="fa fa-question-circle" aria-hidden="true" title="按Tab键切换光标"></i></label>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control" id="rptdt" name="rptdt" value="${rptDayLog.rptdt}">
|
||||
</div>
|
||||
</div>
|
||||
<c:forEach items="${rptDayLog.mPointList}" var="item" varStatus="i">
|
||||
|
||||
<c:if test="${(i.index % 2) == 0}"><!-- 单数 -->
|
||||
<div class="form-group">
|
||||
</c:if>
|
||||
<c:if test="${!item.valuemeaningFlag}"><!-- 填值 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-2">
|
||||
<c:set var="numTail" value="${item.NumTail}" />
|
||||
<c:set var="drop" value="." />
|
||||
<c:if test="${fn:containsIgnoreCase(numTail, drop)}">
|
||||
<c:set var="dropNum" value="${fn:indexOf(numTail, drop)}" />
|
||||
<c:set var="numTail" value="${fn:substring(numTail, dropNum+1, fn:length(numTail))}" />
|
||||
<c:set var="numTail" value="${fn:length(numTail)}" />
|
||||
</c:if>
|
||||
<fmt:formatNumber type="number" var="parmvalue" value="${item.parmvalue}" groupingUsed="false" maxFractionDigits="${numTail}"/>
|
||||
<input type="number"
|
||||
onfocus="show(this,'${item.lastvalue}','${item.Unit}','${item.NumTail}','${item.mpointcode2}')"
|
||||
onblur="hide(this)" class="form-control" id="id${i.index}" name="name${i.index}"
|
||||
value="${parmvalue}">
|
||||
</div>
|
||||
<!-- <fmt:formatNumber type="number" value="${item.parmvalue}" pattern="${item.NumTail}"/> -->
|
||||
<label class="col-sm-1 control-label text-left"
|
||||
style="text-align:left;padding-left: 0px;">${item.Unit}</label>
|
||||
</c:if>
|
||||
<c:if test="${item.valuemeaningFlag}"><!-- 选择 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-3">
|
||||
<select id="id${i.index}" name="name${i.index}" class="form-control select2" style="width:100%;">
|
||||
<c:forEach items="${item.valuemeaningArray}" var="valuemeaningItem" varStatus="i1">
|
||||
<c:choose>
|
||||
<c:when test="${item.parmvalue==valuemeaningItem.zhi}">
|
||||
<option value="${valuemeaningItem.zhi}" selected >${valuemeaningItem.mingcheng}</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${valuemeaningItem.zhi}">${valuemeaningItem.mingcheng}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 1}"><!-- 双数 -->
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 0&&i.last}"><!-- 单数最后一个 -->
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<!-- <c:if test="${rptDayLog.status=='未提交'||rptDayLog.status=='不通过'}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo" placeholder=""
|
||||
readonly>${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>-->
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其他参数</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="others" name="others" placeholder="">${rptDayLog.others}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo" placeholder="">${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${rptDayLog.reviewComments!=null && rptDayLog.reviewComments!=''}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="reviewComments" name="reviewComments" placeholder=""
|
||||
readonly>${rptDayLog.reviewComments}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</form>
|
||||
</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="dosave()" id="btn_save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
137
WebRoot/jsp/report/rptDayLogAudit.jsp
Normal file
137
WebRoot/jsp/report/rptDayLogAudit.jsp
Normal file
@ -0,0 +1,137 @@
|
||||
<%@ 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/fmt" prefix="fmt" %>
|
||||
<%@ 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;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave(status) {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
|
||||
if(jsonObject.checkuser!=null){
|
||||
delete jsonObject.checkuser.sql;
|
||||
delete jsonObject.checkuser.where;
|
||||
delete jsonObject.checkuser.roles;
|
||||
}
|
||||
jsonObject.rptdt=$("#rptdt").val();
|
||||
jsonObject.id=$("#id").val();
|
||||
jsonObject.memo=$("#memo").val();
|
||||
jsonObject.others=$("#others").val();
|
||||
jsonObject.reviewComments=$("#reviewComments").val();
|
||||
jsonObject.status=status;
|
||||
for(var i in jsonObject.mPointList){//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue=$("#id"+i).val();
|
||||
}
|
||||
var jsonstr =JSON.stringify(jsonObject);
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do",{json:jsonstr}, function(data) {
|
||||
if (data.code == 1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
}else if(data.code == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
},'json');
|
||||
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">×</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 type="hidden" id="bizId" name="bizId" value="${patrolContents.bizId}">
|
||||
<input type="hidden" id="unitId" name="unitId" value="${patrolContents.unitId}">
|
||||
<input type="hidden" id="pid" name="pid" value="${patrolContents.pid}">
|
||||
<input type="hidden" id="patrolContentsType" name="patrolContentsType" value="${patrolContents.patrolContentsType}"> -->
|
||||
|
||||
<input type="hidden" id="id" name="id" value="${rptDayLog.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">填报时间</label>
|
||||
<div class="col-sm-5">
|
||||
<input type="text" readonly class="form-control" id="rptdt" name ="rptdt" value="${rptDayLog.rptdt}" readOnly>
|
||||
</div>
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="按Tab键切换光标"></i>
|
||||
</div>
|
||||
<c:forEach items="${rptDayLog.mPointList}" var="item" varStatus="i">
|
||||
|
||||
<c:if test="${(i.index % 2) == 0}"><!-- 单数 -->
|
||||
<div class="form-group">
|
||||
</c:if>
|
||||
<label class="col-sm-3 control-label">${item.parmname}</label>
|
||||
<div class="col-sm-3">
|
||||
<c:set var="numTail" value="${item.NumTail}" />
|
||||
<c:set var="drop" value="." />
|
||||
<c:if test="${fn:containsIgnoreCase(numTail, drop)}">
|
||||
<c:set var="dropNum" value="${fn:indexOf(numTail, drop)}" />
|
||||
<c:set var="numTail" value="${fn:substring(numTail, dropNum+1, fn:length(numTail))}" />
|
||||
<c:set var="numTail" value="${fn:length(numTail)}" />
|
||||
</c:if>
|
||||
<fmt:formatNumber type="number" var="parmvalue" value="${item.parmvalue}" groupingUsed="false" maxFractionDigits="${numTail}"/>
|
||||
<input type="number" readonly class="form-control" id="id${i.index}" name ="name${i.index}" value="${parmvalue}">
|
||||
</div>
|
||||
<c:if test="${(i.index % 2) == 1}"><!-- 双数 -->
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 0&&i.last}"><!-- 单数最后一个 -->
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其他参数</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="others" name="others" placeholder="" readOnly>${rptDayLog.others}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo" placeholder="" readOnly>${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<c:set var="reviewComments" value="通过" />
|
||||
<c:if test="${rptDayLog.reviewComments!=null && rptDayLog.reviewComments!=''}">
|
||||
<c:set var="reviewComments" value="${rptDayLog.reviewComments}" />
|
||||
</c:if>
|
||||
<textarea class="form-control" rows="3" id="reviewComments" name ="reviewComments" placeholder="">${reviewComments}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</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="dosave('已审核')" id="btn_save">通过</button>
|
||||
<button type="button" class="btn btn-warning" onclick="dosave('已退回')" id="btn_back">退回</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
85
WebRoot/jsp/report/rptDayLogAuditTree.jsp
Normal file
85
WebRoot/jsp/report/rptDayLogAuditTree.jsp
Normal file
@ -0,0 +1,85 @@
|
||||
<%@ 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>
|
||||
<script type="text/javascript">
|
||||
|
||||
var editFun = function(id) {
|
||||
$.post(ext.contextPath + '/report/RptDayLog/showRptDayLogListAudit.do', {rptdeptId: id} , function(data) {
|
||||
$("#rptDayLogList").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var initTreeView = function() {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/getTree4RptDayLogAudit.do', {unitId:unitId} , function(data) {
|
||||
var treeData = data.result;
|
||||
$('#tree').treeview({data: treeData,levels: 3});
|
||||
$('#tree').on('nodeSelected', function(event, treeData) {
|
||||
editFun(treeData.id);
|
||||
//level为树形层级 1为设备大类 2为设备小类 3为部位
|
||||
});
|
||||
},'json');
|
||||
$("#rptDayLogList").html("");
|
||||
};
|
||||
$(function() {
|
||||
initTreeView();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"> </h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<!-- <div id="equipmentClassSubDiv"></div> -->
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">填报类型</h3>
|
||||
<div class="box-tools" id="addDiv">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:700px;overflow:auto; "></div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9" id="rptDayLogList" ></div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
86
WebRoot/jsp/report/rptDayLogBrowseTree.jsp
Normal file
86
WebRoot/jsp/report/rptDayLogBrowseTree.jsp
Normal file
@ -0,0 +1,86 @@
|
||||
<%@ 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.report.RptInfoSet" %>
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<%request.setAttribute("Role_View", RptInfoSet.Role_View);%>
|
||||
<!DOCTYPE html>
|
||||
<!-- <html lang="zh-CN"> -->
|
||||
<!-- BEGIN HEAD -->
|
||||
<head>
|
||||
<title><%= ServerObject.atttable.get("TOPTITLE")%></title>
|
||||
<!-- 引用页头及CSS页-->
|
||||
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
||||
<script type="text/javascript">
|
||||
var rptTypeStatic="";
|
||||
|
||||
var editFun = function(id) {
|
||||
if (id.length<2) {
|
||||
$("#rptDeptSetEdit").html("");
|
||||
}else{
|
||||
$.post(ext.contextPath + '/report/RptDayLog/showRptDayLogListBrowse.do', {rptdeptId: id} , function(data) {
|
||||
$("#rptDeptSetEdit").html(data);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var initTreeView = function() {
|
||||
$("#rptDeptSetEdit").html("");
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/getTree.do', {unitId:unitId,urlType:'${Role_View}'} , function(data) {
|
||||
var treeData = data.result;
|
||||
$('#tree').treeview({data: treeData,levels: 2});
|
||||
$('#tree').on('nodeSelected', function(event, treeData) {
|
||||
editFun(treeData.id);
|
||||
});
|
||||
},'json');
|
||||
};
|
||||
$(function() {
|
||||
initTreeView();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<!-- <div id="equipmentClassSubDiv"></div> -->
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">填报类型</h3>
|
||||
<div class="box-tools" id="addDiv">
|
||||
<!-- <button type="button" class="btn btn-box-tool" onclick="addFun();"><i class="fa fa-plus"></i>
|
||||
</button> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:700px;overflow:auto; "></div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9" id="rptDeptSetEdit" ></div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
322
WebRoot/jsp/report/rptDayLogEdit.jsp
Normal file
322
WebRoot/jsp/report/rptDayLogEdit.jsp
Normal file
@ -0,0 +1,322 @@
|
||||
<%@ 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/fmt" prefix="fmt" %>
|
||||
<%@ 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;
|
||||
}
|
||||
.control-label-overflow{
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
jsonStr = jsonStr.replaceAll(/\n/g,"\\n").replaceAll(/\r/g,"\\r")
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
|
||||
jsonObject.rptdt=$("#rptdt").val();
|
||||
jsonObject.id=$("#id").val();
|
||||
jsonObject.memo=$("#memo").val();
|
||||
jsonObject.others=$("#others").val();
|
||||
jsonObject.status="未提交";
|
||||
|
||||
for(var i in jsonObject.mPointList){//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue=$("#id"+i).val();
|
||||
}
|
||||
var jsonstr =JSON.stringify(jsonObject);
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do",{json:jsonstr}, function(data) {
|
||||
if (data.code == 1){
|
||||
closeModal("subModal");
|
||||
$("#table").bootstrapTable('refresh');
|
||||
showAlert('s', '保存成功','mainAlertdiv');
|
||||
}else if(data.code == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
function dosubmit() {
|
||||
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) {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
jsonStr = jsonStr.replaceAll(/\n/g,"\\n").replaceAll(/\r/g,"\\r")
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
if(jsonObject.checkuser!=null){
|
||||
delete jsonObject.checkuser.sql;
|
||||
delete jsonObject.checkuser.where;
|
||||
delete jsonObject.checkuser.roles;
|
||||
}
|
||||
|
||||
jsonObject.rptdt=$("#rptdt").val();
|
||||
jsonObject.id=$("#id").val();
|
||||
jsonObject.memo=$("#memo").val();
|
||||
jsonObject.others=$("#others").val();
|
||||
jsonObject.status="未提交";
|
||||
|
||||
for(var i in jsonObject.mPointList){//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue=$("#id"+i).val();
|
||||
}
|
||||
var jsonstr =JSON.stringify(jsonObject);
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do",{json:jsonstr}, function(data) {
|
||||
if (data.code == 1){
|
||||
var id = $("#id").val();
|
||||
var rptdeptId = $("#rptdeptId").val();
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosubmit.do",{id:id,rptdeptId:rptdeptId}, function(data) {
|
||||
if (data.code == 1){
|
||||
closeModal("subModal");
|
||||
$("#table").bootstrapTable('refresh');
|
||||
showAlert('s','提交成功','mainAlertdiv');
|
||||
}else if(data.code == 0){
|
||||
showAlert('d','提交失败');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
},'json');
|
||||
}else if(data.code == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
});
|
||||
}
|
||||
//显示悬浮层
|
||||
function show(event,lastvalue,Unit,NumTail){
|
||||
var data_text="当前值:"+lastvalue+"<br/>单位:"+Unit+"<br/>小数位:"+NumTail;
|
||||
var showbox=$('<div>'+data_text+'</div>').css({
|
||||
width:'135px',
|
||||
padding:'2px 5px',
|
||||
position:'absolute',
|
||||
top:-12,
|
||||
left:140,
|
||||
color:'#000000',
|
||||
border:'1px solid #000000',
|
||||
borderRadius:'5px',
|
||||
background: '#ffffe0',
|
||||
'z-index':9999
|
||||
}).addClass("showbox");
|
||||
|
||||
showbox.insertAfter(event);
|
||||
}
|
||||
//隐藏悬浮层
|
||||
function hide(event){
|
||||
$(".showbox").remove();
|
||||
}
|
||||
|
||||
//初始化选择框
|
||||
var refreshActiveSelect = function() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
jsonStr = jsonStr.replaceAll(/\n/g,"\\n").replaceAll(/\r/g,"\\r")
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
for(var i in jsonObject.mPointList){
|
||||
|
||||
if (jsonObject.mPointList[i].valuemeaningFlag) {
|
||||
var select = $("#id"+i).select2({
|
||||
theme: "classic",
|
||||
data: null,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: true,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
});
|
||||
select.val(jsonObject.mPointList[i].parmvalue).trigger("change");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
$(function () {
|
||||
refreshActiveSelect();
|
||||
//填报日期选择
|
||||
var type = $("#dateType").val();
|
||||
createDatetimepicker ('rptdt',type)
|
||||
//填报日期选择
|
||||
// var date = new Date();
|
||||
/* $("#rptdt").datetimepicker({
|
||||
// startDate: date,
|
||||
language:'zh-CN',
|
||||
format: 'yyyy-mm-dd hh:ii:ss',
|
||||
startView: "month", //初始化视图是‘年’
|
||||
minView: 1,
|
||||
maxView: "year",
|
||||
autoclose: true
|
||||
// todayBtn: "linked"
|
||||
}); */
|
||||
// $(".timecheck").datetimepicker({
|
||||
// bootcssVer:3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头
|
||||
// format: 'yyyy-mm-dd HH:mm',
|
||||
// minView: 'day',//设置时间选择为年月日 去掉时分秒选择
|
||||
// todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。
|
||||
// language: 'zh-CN',
|
||||
// autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。
|
||||
// keyboardNavigation: true, //是否允许通过方向键改变日期。
|
||||
// forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。
|
||||
// todayHighlight: 1 //如果为true, 高亮当前日期
|
||||
// })
|
||||
})
|
||||
|
||||
</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">×</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 type="hidden" id="bizId" name="bizId" value="${patrolContents.bizId}">
|
||||
<input type="hidden" id="unitId" name="unitId" value="${patrolContents.unitId}">
|
||||
<input type="hidden" id="pid" name="pid" value="${patrolContents.pid}">
|
||||
<input type="hidden" id="patrolContentsType" name="patrolContentsType" value="${patrolContents.patrolContentsType}"> -->
|
||||
|
||||
<input type="hidden" id="id" name="id" value="${rptDayLog.id}">
|
||||
<input type="hidden" id="dateType" name="dateType" value="${rptDayLog.type}">
|
||||
<input type="hidden" id="rptdeptId" name="rptdeptId" value="${rptDayLog.rptdeptId}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">填报日期</label>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control" id="rptdt" name ="rptdt" value="${rptDayLog.rptdt}"readOnly>
|
||||
</div>
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="按Tab键切换光标"></i>
|
||||
</div>
|
||||
<c:forEach items="${rptDayLog.mPointList}" var="item" varStatus="i">
|
||||
|
||||
<c:if test="${(i.index % 2) == 0}"><!-- 单数 -->
|
||||
<div class="form-group">
|
||||
</c:if>
|
||||
<c:if test="${!item.valuemeaningFlag}"><!-- 填值 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-2">
|
||||
<c:set var="numTail" value="${item.NumTail}" />
|
||||
<c:set var="drop" value="." />
|
||||
<c:if test="${fn:containsIgnoreCase(numTail, drop)}">
|
||||
<c:set var="dropNum" value="${fn:indexOf(numTail, drop)}" />
|
||||
<c:set var="numTail" value="${fn:substring(numTail, dropNum+1, fn:length(numTail))}" />
|
||||
<c:set var="numTail" value="${fn:length(numTail)}" />
|
||||
</c:if>
|
||||
<fmt:formatNumber type="number" var="parmvalue" value="${item.parmvalue}" groupingUsed="false" maxFractionDigits="${numTail}"/>
|
||||
<input type="number" onfocus="show(this,'${item.lastvalue}','${item.Unit}','${item.NumTail}')" onblur="hide(this)" class="form-control" id="id${i.index}"
|
||||
name ="name${i.index}" value="${parmvalue}">
|
||||
</div>
|
||||
<!-- <fmt:formatNumber type="number" value="${item.parmvalue}" pattern="${item.NumTail}"/> -->
|
||||
<label class="col-sm-1 control-label"
|
||||
style="text-align:left;padding-left: 0px;">${item.Unit}</label>
|
||||
</c:if>
|
||||
<c:if test="${item.valuemeaningFlag}"><!-- 选择 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-3">
|
||||
<select id= "id${i.index}" name="name${i.index}" class="form-control select2" style="width:100%;">
|
||||
<c:forEach items="${item.valuemeaningArray}" var="valuemeaningItem" varStatus="i1">
|
||||
<c:choose>
|
||||
<c:when test="${item.parmvalue==valuemeaningItem.zhi}">
|
||||
<option value="${valuemeaningItem.zhi}" selected>${valuemeaningItem.mingcheng}</option>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<option value="${valuemeaningItem.zhi}">${valuemeaningItem.mingcheng}</option>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</select>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 1}"><!-- 双数 -->
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 0&&i.last}"><!-- 单数最后一个 -->
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其他参数</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="others" name="others" placeholder="">${rptDayLog.others}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo" placeholder="">${rptDayLog.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${rptDayLog.reviewComments!=null && rptDayLog.reviewComments!=''}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<textarea class="form-control" rows="3" id="reviewComments" name="reviewComments" placeholder=""
|
||||
readonly>${rptDayLog.reviewComments}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</form>
|
||||
</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="dosubmit()" id="btn_submit">提交</button>
|
||||
<c:if test="${rptDayLog.status=='未提交'|| rptDayLog.status=='已退回'}"><!-- 填值 -->
|
||||
<button type="button" class="btn btn-primary" onclick="dosave()" id="btn_save">保存</button>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
96
WebRoot/jsp/report/rptDayLogImport.jsp
Normal file
96
WebRoot/jsp/report/rptDayLogImport.jsp
Normal file
@ -0,0 +1,96 @@
|
||||
<%@ 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:34px;
|
||||
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 = {
|
||||
"unitId": unitId, //此处自定义传参
|
||||
"rptdeptId": '${param.rptdeptId}'
|
||||
};
|
||||
return data;
|
||||
}
|
||||
});
|
||||
control.on("fileuploaded", function (event, data, previewId, index) {
|
||||
if(data.response.code == 1){
|
||||
closeModal('fileInputModel');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
showAlert('s','成功!','mainAlertdiv');
|
||||
}else{
|
||||
showAlert('d',data.response.msg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$(function(){
|
||||
initUpload("filelist", ext.contextPath+ "/report/RptDayLog/doimport.do");
|
||||
})
|
||||
//导入上传文件的数据
|
||||
function importExcelFun(){
|
||||
if($("#filelist").val() == null || $("#filelist").val()==""){
|
||||
showAlert('d','上传的文件不能为空!');
|
||||
}else{
|
||||
control.fileinput("upload");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<div class="modal fade" id="fileInputModel">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">导入数据填报</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form 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>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
351
WebRoot/jsp/report/rptDayLogList.jsp
Normal file
351
WebRoot/jsp/report/rptDayLogList.jsp
Normal file
@ -0,0 +1,351 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security" %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
</style>
|
||||
<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>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
<!-- 引入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>
|
||||
<script type="text/javascript">
|
||||
function getNowFormatDate() {
|
||||
var date = new Date();
|
||||
var seperator1 = "-";
|
||||
var seperator2 = ":";
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
var hour = date.getHours();
|
||||
var minute = date.getMinutes();
|
||||
var second = date.getSeconds();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
if (hour >= 0 && hour <= 9) {
|
||||
hour = "0" + hour;
|
||||
}
|
||||
if (minute >= 0 && minute <= 9) {
|
||||
minute = "0" + minute;
|
||||
}
|
||||
if (second >= 0 && second <= 9) {
|
||||
second = "0" + second;
|
||||
}
|
||||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
||||
+ " " + hour + seperator2 + minute
|
||||
+ seperator2 + second;
|
||||
return currentdate;
|
||||
}
|
||||
|
||||
function paramsMatter(value, row, index) {
|
||||
var values = row.memo;
|
||||
var span=document.createElement('span');
|
||||
span.setAttribute('title',values);
|
||||
span.innerHTML = row.memo;
|
||||
return span.outerHTML;
|
||||
}
|
||||
|
||||
var addFun = function () {
|
||||
var time = getNowFormatDate();
|
||||
$.post(ext.contextPath + '/report/RptDayLog/doadd.do', {
|
||||
unitId: unitId,
|
||||
rptdt: time,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var editRptDayLogFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/RptDayLog/doedit.do', {
|
||||
id: id,
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var viewRptDayLogFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/RptDayLog/doview.do', {
|
||||
id: id,
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
//导入数据填报
|
||||
function importFun() {
|
||||
var companyId = unitId;
|
||||
$.post(ext.contextPath + '/report/RptDayLog/importRptDayLog.do', {rptdeptId: '${param.rptdeptId}'}, function (data) {
|
||||
$("#fileInputDiv").html(data);
|
||||
openModal('fileInputModel');
|
||||
});
|
||||
// }
|
||||
}
|
||||
|
||||
//导出模板
|
||||
function downloadFun() {
|
||||
|
||||
window.open(ext.contextPath + "/report/RptDayLog/downloadExcel.do?unitId=" + unitId
|
||||
+ "&rptdeptId=" + '${param.rptdeptId}');
|
||||
//}
|
||||
}
|
||||
|
||||
var deletesFun = function () {
|
||||
var checkedItems = $("#table").bootstrapTable('getSelections');
|
||||
var datas = "";
|
||||
$.each(checkedItems, function (index, item) {
|
||||
if (item.status == "未提交" || item.status == "已退回") {
|
||||
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 + '/report/RptDayLog/dodeletes.do', {ids: datas}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
var dosearch = function () {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
$(function () {
|
||||
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/RptDayLog/getlist.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1,
|
||||
paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
// useRowAttrFunc: true,
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
var rpt_sdt = $("#rpt_sdt").val();
|
||||
var rpt_edt = $("#rpt_edt").val();
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: 'rptdt', // 要排序的字段
|
||||
order: 'desc',
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}',
|
||||
stdt: rpt_sdt,
|
||||
eddt: rpt_edt,
|
||||
}
|
||||
},
|
||||
sortName: 'rptdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
//viewFun(row.id);
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
formatter: function (value, row, index) {
|
||||
if (row.status == "未提交" || row.status == "已退回") {
|
||||
return { disabled: false,}
|
||||
} else {
|
||||
return { disabled: true, }
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'rptdt', // 返回json数据中的name
|
||||
title: '日期', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
// width: '20%'
|
||||
}, {
|
||||
field: '_insuser', // 返回json数据中的name
|
||||
title: '填报人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
return row.user.caption;
|
||||
}
|
||||
}, {
|
||||
field: 'insdt', // 返回json数据中的name
|
||||
title: '填报时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
return value.substring(0,19);
|
||||
}
|
||||
}, {
|
||||
field: 'status', // 返回json数据中的name
|
||||
title: '填报状态', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
}, {
|
||||
field: 'checkuser', // 返回json数据中的name
|
||||
title: '审核人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
if(value!=null && value!=''){
|
||||
return row._checkuser.caption;
|
||||
}else{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'checkdt', // 返回json数据中的name
|
||||
title: '审核时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
return value.substring(0,19);
|
||||
}
|
||||
}, {
|
||||
field: 'memo', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 300,
|
||||
cellStyle: function (value, row, index, field) {
|
||||
return {
|
||||
css: {
|
||||
"min-width": "150px",
|
||||
"white-space": "nowrap",
|
||||
"text-overflow": "ellipsis",
|
||||
"overflow": "hidden",
|
||||
"max-width":"300px"
|
||||
}
|
||||
}
|
||||
},
|
||||
formatter: paramsMatter
|
||||
}, {
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 160, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
var buts = '';
|
||||
if (row.status == "未提交" || row.status == "已退回" || row.status == "已审核" || row.status == "已提交") {
|
||||
buts += '<button class="btn btn-default btn-sm" title="编辑" onclick="editRptDayLogFun(\'' + row.id + '\')"><i class="fa fa-edit"></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
|
||||
}else{
|
||||
buts += '<button class="btn btn-default btn-sm" title="浏览" onclick="viewRptDayLogFun(\'' + 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 () { //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
});
|
||||
|
||||
createDatetimepickerTwo('rpt_sdt','rpt_edt','${rptDeptSet.dateType}');
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">${rptDeptSet.name}</h3>
|
||||
<div class="box-tools pull-right">
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="rptDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
<div class="row" style="margin-bottom:5px;">
|
||||
<div class="col-lg-7">
|
||||
<div class="btn-group btn-group-sm" role="group" aria-label="...">
|
||||
<a type="button" class="btn btn-default" onclick="addFun();"><i class="fa fa-plus"></i>新增</a>
|
||||
<a type="button" class="btn btn-default" onclick="deletesFun();"><i class="fa fa-trash-o"></i>删除</a>
|
||||
<a type="button" class="btn btn-default" onclick="importFun();"><i class="fa fa-cloud-upload"></i>导入</a>
|
||||
<a type="button" class="btn btn-default" onclick="downloadFun();"><i class="fa fa-cloud-download"></i>下载模板</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<div class="input-group input-group-sm">
|
||||
<div class="input-group-addon">时间范围:</div>
|
||||
<input type="text" class="form-control" id="rpt_sdt" name ="rpt_sdt" value="" readOnly>
|
||||
<div class="input-group-addon">至</div>
|
||||
<input type="text" class="form-control" id="rpt_edt" name ="rpt_edt" value="" readOnly>
|
||||
<span class="input-group-btn">
|
||||
<a class="btn btn-default" onclick="dosearch();" ><i class="fa fa-search"></i> 搜索</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table id="table"></table>
|
||||
<%-- <table id="table" style="table-layout:fixed; word-break:break-all"></table>--%>
|
||||
</div>
|
||||
</div>
|
||||
414
WebRoot/jsp/report/rptDayLogListAudit.jsp
Normal file
414
WebRoot/jsp/report/rptDayLogListAudit.jsp
Normal file
@ -0,0 +1,414 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security" %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
</style>
|
||||
<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>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
<!-- 引入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>
|
||||
<script type="text/javascript">
|
||||
function getNowFormatDate() {
|
||||
var date = new Date();
|
||||
var seperator1 = "-";
|
||||
var seperator2 = ":";
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
var hour = date.getHours();
|
||||
var minute = date.getMinutes();
|
||||
var second = date.getSeconds();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
if (hour >= 0 && hour <= 9) {
|
||||
hour = "0" + hour;
|
||||
}
|
||||
if (minute >= 0 && minute <= 9) {
|
||||
minute = "0" + minute;
|
||||
}
|
||||
if (second >= 0 && second <= 9) {
|
||||
second = "0" + second;
|
||||
}
|
||||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
||||
+ " " + hour + seperator2 + minute
|
||||
+ seperator2 + second;
|
||||
return currentdate;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
var beginTimeStore2 = '';
|
||||
var endTimeStore2 = '';
|
||||
|
||||
function initDate2() {
|
||||
//定义locale汉化插件
|
||||
beginTimeStore2 = moment().subtract(6, 'days').format('YYYY-MM-DD');
|
||||
endTimeStore2 = moment().subtract(-1, 'days').format('YYYY-MM-DD');
|
||||
var locale = {
|
||||
"format": 'YYYY-MM-DD',
|
||||
"separator": " ~ ",
|
||||
"applyLabel": "确定",
|
||||
"cancelLabel": "取消",
|
||||
"fromLabel": "起始时间",
|
||||
"toLabel": "结束时间'",
|
||||
"customRangeLabel": "自定义",
|
||||
"weekLabel": "W",
|
||||
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
||||
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
|
||||
"九月", "十月", "十一月", "十二月"],
|
||||
"firstDay": 1
|
||||
};
|
||||
$('#reservationtime2').daterangepicker(
|
||||
{
|
||||
"timePicker": false,
|
||||
"timePicker24Hour": false,
|
||||
"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: beginTimeStore2,
|
||||
endDate: endTimeStore2
|
||||
},
|
||||
function (start, end, label) {
|
||||
beginTimeStore2 = start.format(this.locale.format);
|
||||
endTimeStore2 = 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));
|
||||
}
|
||||
});
|
||||
$('#reservationtime2').val(
|
||||
beginTimeStore2 + locale.separator + endTimeStore2);
|
||||
//$('#reservationtime2').daterangepicker({autoUpdateInput:false})
|
||||
};
|
||||
//----------------------------------------------------------------------------
|
||||
var addFun = function () {
|
||||
var time = getNowFormatDate();
|
||||
$.post(ext.contextPath + '/report/RptDayLog/checkRptdt.do', {
|
||||
unitId: unitId,
|
||||
rptdt: time,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
var editRptDayLogFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/RptDayLog/doaudit.do', {
|
||||
id: id,
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var viewRptDayLogFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/RptDayLog/doview.do', {
|
||||
id: id,
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
//导入数据填报
|
||||
function importFun() {
|
||||
var companyId = unitId;
|
||||
$.post(ext.contextPath + '/report/RptDayLog/importRptDayLog.do', {rptdeptId: '${param.rptdeptId}'}, function (data) {
|
||||
$("#fileInputDiv").html(data);
|
||||
openModal('fileInputModel');
|
||||
});
|
||||
// }
|
||||
}
|
||||
|
||||
//导出模板
|
||||
function downloadFun() {
|
||||
|
||||
window.open(ext.contextPath + "/report/RptDayLog/downloadExcel.do?unitId=" + unitId
|
||||
+ "&rptdeptId=" + '${param.rptdeptId}');
|
||||
//}
|
||||
}
|
||||
|
||||
var onekeyAudit = function () {
|
||||
var checkedItems = $("#table").bootstrapTable('getSelections');
|
||||
var datas = "";
|
||||
$.each(checkedItems, function (index, item) {
|
||||
if (item.status == "未审核" || item.status == "待审核") {
|
||||
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 + '/report/RptDayLog/onekeyAudit.do', {
|
||||
ids: datas,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
if (data.code > 0) {
|
||||
showAlert('s', '审核成功','mainAlertdiv');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '审核失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
var dosearch = function () {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
function paramsMatter(value, row, index) {
|
||||
var values = row.memo;
|
||||
var span = document.createElement('span');
|
||||
span.setAttribute('title', values);
|
||||
span.innerHTML = row.memo;
|
||||
return span.outerHTML;
|
||||
}
|
||||
|
||||
$(function () {
|
||||
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/RptDayLog/getlist.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1,
|
||||
paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
useRowAttrFunc: true,
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
var rpt_sdt = $("#rpt_sdt").val();
|
||||
var rpt_edt = $("#rpt_edt").val();
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: 'rptdt', // 要排序的字段
|
||||
order: 'desc',
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}',
|
||||
stdt: rpt_sdt,
|
||||
eddt: rpt_edt,
|
||||
audit: '1',
|
||||
}
|
||||
},
|
||||
sortName: 'rptdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
//viewFun(row.id);
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
formatter: function (value, row, index) {
|
||||
if (row.status == "未审核" || row.status == "待审核") {
|
||||
return { disabled: false,}
|
||||
} else {
|
||||
return { disabled: true, }
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'rptdt', // 返回json数据中的name
|
||||
title: '日期', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
}, {
|
||||
field: '_insuser', // 返回json数据中的name
|
||||
title: '填报人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
return row.user.caption;
|
||||
}
|
||||
}, {
|
||||
field: 'insdt', // 返回json数据中的name
|
||||
title: '填报时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
return value.substring(0, 19);
|
||||
}
|
||||
}, {
|
||||
field: 'status', // 返回json数据中的name
|
||||
title: '填报状态', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
}, {
|
||||
field: 'checkuser', // 返回json数据中的name
|
||||
title: '审核人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
if (value != null && value != '') {
|
||||
return row._checkuser.caption;
|
||||
} else {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'checkdt', // 返回json数据中的name
|
||||
title: '审核时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
return value.substring(0, 19);
|
||||
}
|
||||
}, {
|
||||
field: 'memo', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 300,
|
||||
cellStyle: function (value, row, index, field) {
|
||||
return {
|
||||
css: {
|
||||
"min-width": "150px",
|
||||
"white-space": "nowrap",
|
||||
"text-overflow": "ellipsis",
|
||||
"overflow": "hidden",
|
||||
"max-width": "300px"
|
||||
}
|
||||
}
|
||||
},
|
||||
formatter: paramsMatter
|
||||
}, {
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 160, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
var buts = '';
|
||||
if (row.status == "未审核" || row.status == "待审核") {
|
||||
buts += '<button class="btn btn-default btn-sm" title="审核" onclick="editRptDayLogFun(\'' + row.id + '\')"><i class="fa fa-check-square-o"></i><span class="hidden-md hidden-lg"> 审核</span></button>';
|
||||
} else {
|
||||
buts += '<button class="btn btn-default btn-sm" title="浏览" onclick="viewRptDayLogFun(\'' + 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 () { //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
});
|
||||
|
||||
createDatetimepickerTwo('rpt_sdt', 'rpt_edt', '${rptDeptSet.dateType}');
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">审核</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="rptDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
<div class="row" style="margin-bottom:5px;">
|
||||
<div class="col-lg-7">
|
||||
<div class="btn-group btn-group-sm" role="group" aria-label="...">
|
||||
<a class="btn btn-default" onclick="onekeyAudit();"><i class="fa fa-cloud-download"></i> 一键审核</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<div class="input-group input-group-sm">
|
||||
<div class="input-group-addon">时间范围:</div>
|
||||
<input type="text" class="form-control" id="rpt_sdt" name="rpt_sdt" value="" readOnly>
|
||||
<div class="input-group-addon">至</div>
|
||||
<input type="text" class="form-control" id="rpt_edt" name="rpt_edt" value="" readOnly>
|
||||
<span class="input-group-btn">
|
||||
<a class="btn btn-default" onclick="dosearch();"><i class="fa fa-search"></i> 搜索</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table id="table" data-use-row-attr-func="true" data-reorderable-rows="true"></table>
|
||||
</div>
|
||||
</div>
|
||||
381
WebRoot/jsp/report/rptDayLogListBrowse.jsp
Normal file
381
WebRoot/jsp/report/rptDayLogListBrowse.jsp
Normal file
@ -0,0 +1,381 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security"%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<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>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
<!-- 引入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>
|
||||
<script type="text/javascript">
|
||||
function getNowFormatDate() {
|
||||
var date = new Date();
|
||||
var seperator1 = "-";
|
||||
var seperator2 = ":";
|
||||
var month = date.getMonth() + 1;
|
||||
var strDate = date.getDate();
|
||||
var hour = date.getHours();
|
||||
var minute = date.getMinutes();
|
||||
var second = date.getSeconds();
|
||||
if (month >= 1 && month <= 9) {
|
||||
month = "0" + month;
|
||||
}
|
||||
if (strDate >= 0 && strDate <= 9) {
|
||||
strDate = "0" + strDate;
|
||||
}
|
||||
if (hour >= 0 && hour <= 9) {
|
||||
hour = "0" + hour;
|
||||
}
|
||||
if (minute >= 0 && minute <= 9) {
|
||||
minute = "0" + minute;
|
||||
}
|
||||
if (second >= 0 && second <= 9) {
|
||||
second = "0" + second;
|
||||
}
|
||||
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
|
||||
+ " " + hour + seperator2 + minute
|
||||
+ seperator2 + second;
|
||||
return currentdate;
|
||||
}
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
var beginTimeStore2 = '';
|
||||
var endTimeStore2 = '';
|
||||
|
||||
function paramsMatter(value, row, index) {
|
||||
var values = row.memo;
|
||||
var span=document.createElement('span');
|
||||
span.setAttribute('title',values);
|
||||
span.innerHTML = row.memo;
|
||||
return span.outerHTML;
|
||||
}
|
||||
function initDate2() {
|
||||
//定义locale汉化插件
|
||||
beginTimeStore2 = moment().subtract(6, 'days').format('YYYY-MM-DD');
|
||||
endTimeStore2 = moment().subtract(-1, 'days').format('YYYY-MM-DD');
|
||||
var locale = {
|
||||
"format" : 'YYYY-MM-DD',
|
||||
"separator" : " ~ ",
|
||||
"applyLabel" : "确定",
|
||||
"cancelLabel" : "取消",
|
||||
"fromLabel" : "起始时间",
|
||||
"toLabel" : "结束时间'",
|
||||
"customRangeLabel" : "自定义",
|
||||
"weekLabel" : "W",
|
||||
"daysOfWeek" : [ "日", "一", "二", "三", "四", "五", "六" ],
|
||||
"monthNames" : [ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月",
|
||||
"九月", "十月", "十一月", "十二月" ],
|
||||
"firstDay" : 1
|
||||
};
|
||||
$('#reservationtime2').daterangepicker(
|
||||
{
|
||||
"timePicker" : false,
|
||||
"timePicker24Hour" : false,
|
||||
"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 : beginTimeStore2,
|
||||
endDate : endTimeStore2
|
||||
},
|
||||
function(start, end, label) {
|
||||
beginTimeStore2 = start.format(this.locale.format);
|
||||
endTimeStore2 = 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));
|
||||
}
|
||||
});
|
||||
$('#reservationtime2').val(
|
||||
beginTimeStore2 + locale.separator + endTimeStore2);
|
||||
//$('#reservationtime2').daterangepicker({autoUpdateInput:false})
|
||||
};
|
||||
//----------------------------------------------------------------------------
|
||||
var addFun = function() {
|
||||
var time = getNowFormatDate();
|
||||
$.post(ext.contextPath + '/report/RptDayLog/checkRptdt.do',{unitId:unitId,rptdt:time,rptdeptId:'${param.rptdeptId}'}, function(data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
var editRptDayLogFun = function(id) {
|
||||
$.post(ext.contextPath + '/report/RptDayLog/doaudit.do',{id:id,unitId:unitId,rptdeptId:'${param.rptdeptId}'}, function(data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var viewRptDayLogFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/RptDayLog/doview.do', {
|
||||
id: id,
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}'
|
||||
}, function (data) {
|
||||
$("#rptDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
//导入数据填报
|
||||
function importFun(){
|
||||
var companyId = unitId;
|
||||
$.post(ext.contextPath + '/report/RptDayLog/importRptDayLog.do', {rptdeptId:'${param.rptdeptId}'} , function(data) {
|
||||
$("#fileInputDiv").html(data);
|
||||
openModal('fileInputModel');
|
||||
});
|
||||
// }
|
||||
}
|
||||
//导出模板
|
||||
function downloadFun() {
|
||||
|
||||
window.open(ext.contextPath + "/report/RptDayLog/downloadExcel.do?unitId="+unitId
|
||||
+"&rptdeptId="+'${param.rptdeptId}');
|
||||
//}
|
||||
}
|
||||
|
||||
var onekeyAudit = 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 + '/report/RptDayLog/onekeyAudit.do', {ids:datas} , function(data) {
|
||||
if(data.code>0){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','审核失败','mainAlertdiv');
|
||||
}
|
||||
},'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
var dosearch = function() {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
$(function() {
|
||||
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/RptDayLog/getlist.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1,
|
||||
paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
useRowAttrFunc: true,
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
var rpt_sdt = $("#rpt_sdt").val();
|
||||
var rpt_edt = $("#rpt_edt").val();
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: 'rptdt', // 要排序的字段
|
||||
order: 'desc',
|
||||
unitId: unitId,
|
||||
rptdeptId: '${param.rptdeptId}',
|
||||
stdt: rpt_sdt,
|
||||
eddt: rpt_edt,
|
||||
view:'1',
|
||||
}
|
||||
},
|
||||
sortName: 'rptdt', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
//viewFun(row.id);
|
||||
},
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
}, {
|
||||
field: 'rptdt', // 返回json数据中的name
|
||||
title: '日期', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
// width: '20%'
|
||||
}, {
|
||||
field: '_insuser', // 返回json数据中的name
|
||||
title: '填报人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
// width: '18%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.user.caption;
|
||||
}
|
||||
}, {
|
||||
field: 'insdt', // 返回json数据中的name
|
||||
title: '填报时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
// width: '18%',
|
||||
formatter: function (value, row, index) {
|
||||
return value.substring(0,19);
|
||||
}
|
||||
}, {
|
||||
field: 'status', // 返回json数据中的name
|
||||
title: '填报状态', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
width: 200,
|
||||
valign: 'middle' // 上下居中
|
||||
}, {
|
||||
field: 'checkuser', // 返回json数据中的name
|
||||
title: '审核人', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
if(value!=null && value!=''){
|
||||
return row._checkuser.caption;
|
||||
}else{
|
||||
return value;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'checkdt', // 返回json数据中的name
|
||||
title: '审核时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 200,
|
||||
formatter: function (value, row, index) {
|
||||
return value.substring(0,19);
|
||||
}
|
||||
}, {
|
||||
field: 'memo', // 返回json数据中的name
|
||||
title: '备注', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: 300,
|
||||
cellStyle: function (value, row, index, field) {
|
||||
return {
|
||||
css: {
|
||||
"min-width": "150px",
|
||||
"white-space": "nowrap",
|
||||
"text-overflow": "ellipsis",
|
||||
"overflow": "hidden",
|
||||
"max-width":"300px"
|
||||
}
|
||||
}
|
||||
},
|
||||
formatter: paramsMatter
|
||||
}, {
|
||||
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="viewRptDayLogFun(\'' + 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 () { //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
});
|
||||
|
||||
createDatetimepickerTwo('rpt_sdt','rpt_edt','${rptDeptSet.dateType}');
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">浏览</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<!-- <a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a> -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="rptDiv"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
|
||||
<div class="row" style="margin-bottom:5px;">
|
||||
<div class="col-lg-7">
|
||||
</div>
|
||||
<div class="col-lg-5">
|
||||
<div class="input-group input-group-sm">
|
||||
<div class="input-group-addon">时间范围:</div>
|
||||
<input type="text" class="form-control" id="rpt_sdt" name ="rpt_sdt" value="" readOnly>
|
||||
<div class="input-group-addon">至</div>
|
||||
<input type="text" class="form-control" id="rpt_edt" name ="rpt_edt" value="" readOnly>
|
||||
<span class="input-group-btn">
|
||||
<a class="btn btn-default" onclick="dosearch();" ><i class="fa fa-search"></i> 搜索</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<table id="table" data-use-row-attr-func="true" data-reorderable-rows="true"></table>
|
||||
</div>
|
||||
</div>
|
||||
125
WebRoot/jsp/report/rptDayLogTree.jsp
Normal file
125
WebRoot/jsp/report/rptDayLogTree.jsp
Normal file
@ -0,0 +1,125 @@
|
||||
<%@ 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.report.RptInfoSet" %>
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<%request.setAttribute("Role_Generate", RptInfoSet.Role_Generate);%>
|
||||
<%request.setAttribute("Role_Check", RptInfoSet.Role_Check);%>
|
||||
<!DOCTYPE html>
|
||||
<!-- <html lang="zh-CN"> -->
|
||||
<!-- BEGIN HEAD -->
|
||||
<head>
|
||||
<title><%= ServerObject.atttable.get("TOPTITLE")%></title>
|
||||
<!-- 引用页头及CSS页-->
|
||||
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
||||
<script type="text/javascript">
|
||||
|
||||
var editFun1 = function(id) {
|
||||
if (id.length<2) {
|
||||
$("#rptDayLogList").html("");
|
||||
}else{
|
||||
$.post(ext.contextPath + '/report/RptDayLog/showRptDayLogList.do', {rptdeptId: id} , function(data) {
|
||||
$("#rptDayLogList").html(data);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var editFun2 = function(id) {
|
||||
if (id.length<2) {
|
||||
$("#rptDayLogList").html("");
|
||||
}else{
|
||||
$.post(ext.contextPath + '/report/RptDayLog/showRptDayLogListAudit.do', {rptdeptId: id}, function(data){
|
||||
$("#rptDayLogList").html(data);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var initTreeView1 = function() {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/getTree.do', {unitId:unitId,urlType:'${Role_Generate}'} , function(data) {
|
||||
var treeData = data.result;
|
||||
// 1
|
||||
$('#tree').treeview({data: treeData,levels: 3});
|
||||
$('#tree').on('nodeSelected', function(event, treeData) {
|
||||
editFun1(treeData.id);
|
||||
//level为树形层级 1为设备大类 2为设备小类 3为部位
|
||||
});
|
||||
},'json');
|
||||
$("#rptDayLogList").html("");
|
||||
document.getElementById('button1').className = 'btn btn-primary btn-sm';
|
||||
document.getElementById('button2').className = 'btn btn-default btn-sm';
|
||||
};
|
||||
|
||||
var initTreeView2 = function() {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/getTree.do', {unitId:unitId,urlType:'${Role_Check}'} , function(data) {
|
||||
var treeData = data.result;
|
||||
// 3
|
||||
$('#tree').treeview({data: treeData,levels: 3});
|
||||
$('#tree').on('nodeSelected', function(event, treeData) {
|
||||
editFun2(treeData.id);
|
||||
//level为树形层级 1为设备大类 2为设备小类 3为部位
|
||||
});
|
||||
},'json');
|
||||
$("#rptDayLogList").html("");
|
||||
document.getElementById('button1').className = 'btn btn-default btn-sm';
|
||||
document.getElementById('button2').className = 'btn btn-primary btn-sm';
|
||||
};
|
||||
|
||||
$(function() {
|
||||
initTreeView1();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<div class="btn-group" style="width: 100%;">
|
||||
<security:authorize buttonUrl="report/RptDayLog/showRptDayLogList.do">
|
||||
<button type="button" id="button1" class="btn btn-primary btn-sm" onclick="initTreeView1();"><i
|
||||
class="fa fa-file-text-o"></i>数据填报</button>
|
||||
</security:authorize>
|
||||
<security:authorize buttonUrl="report/RptDayLog/showRptDayLogListAudit.do">
|
||||
<button type="button" id="button2" class="btn btn-default btn-sm" onclick="initTreeView2();"><i
|
||||
class="fa fa-check-square"></i>数据审核</button>
|
||||
</security:authorize>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid" style="padding-top:2px;">
|
||||
<!-- <div id="equipmentClassSubDiv"></div> -->
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">填报类型</h3>
|
||||
</div>
|
||||
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:700px;overflow:auto; "></div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9" id="rptDayLogList" ></div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
200
WebRoot/jsp/report/rptDayLogView.jsp
Normal file
200
WebRoot/jsp/report/rptDayLogView.jsp
Normal file
@ -0,0 +1,200 @@
|
||||
<%@ 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/fmt" prefix="fmt" %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
.control-label-overflow{
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
delete jsonObject.user.sql;
|
||||
delete jsonObject.user.where;
|
||||
delete jsonObject.user.roles;
|
||||
|
||||
jsonObject.rptdt=$("#rptdt").val();
|
||||
jsonObject.id=$("#id").val();
|
||||
jsonObject.memo=$("#memo").val();
|
||||
jsonObject.status="未提交";
|
||||
|
||||
for(var i in jsonObject.mPointList){//mPointHistoryList
|
||||
jsonObject.mPointHistoryList[i].parmvalue=$("#id"+i).val();
|
||||
}
|
||||
var jsonstr =JSON.stringify(jsonObject);
|
||||
|
||||
console.log(jsonstr);
|
||||
|
||||
$.post(ext.contextPath + "/report/RptDayLog/dosave.do",{json:jsonstr}, function(data) {
|
||||
if (data.code == 1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
closeModal("subModal");
|
||||
}else if(data.code == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.msg);
|
||||
}
|
||||
},'json');
|
||||
closeModal('subModal');
|
||||
}
|
||||
//显示悬浮层
|
||||
function show(event,lastvalue,Unit,NumTail){
|
||||
var data_text="当前值:"+lastvalue+"<br/>单位:"+Unit+"<br/>小数位:"+NumTail;
|
||||
var showbox=$('<div>'+data_text+'</div>').css({
|
||||
width:'135px',
|
||||
padding:'2px 5px',
|
||||
position:'absolute',
|
||||
top:-12,
|
||||
left:140,
|
||||
color:'#000000',
|
||||
border:'1px solid #000000',
|
||||
borderRadius:'5px',
|
||||
background: '#ffffe0',
|
||||
'z-index':9999
|
||||
}).addClass("showbox");
|
||||
|
||||
showbox.insertAfter(event);
|
||||
}
|
||||
//隐藏悬浮层
|
||||
function hide(event){
|
||||
$(".showbox").remove();
|
||||
}
|
||||
|
||||
//初始化选择框
|
||||
var refreshActiveSelect = function() {
|
||||
var jsonStr = '${rptDayLog}';
|
||||
var jsonObject= jQuery.parseJSON(jsonStr);
|
||||
|
||||
for(var i in jsonObject.mPointList){
|
||||
|
||||
if (jsonObject.mPointList[i].valuemeaningFlag) {
|
||||
var select = $("#id"+i).select2({
|
||||
theme: "classic",
|
||||
data: null,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
});
|
||||
select.val(jsonObject.mPointList[i].parmvalue).trigger("change");
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
</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">×</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 type="hidden" id="bizId" name="bizId" value="${patrolContents.bizId}">
|
||||
<input type="hidden" id="unitId" name="unitId" value="${patrolContents.unitId}">
|
||||
<input type="hidden" id="pid" name="pid" value="${patrolContents.pid}">
|
||||
<input type="hidden" id="patrolContentsType" name="patrolContentsType" value="${patrolContents.patrolContentsType}"> -->
|
||||
|
||||
<input type="hidden" id="id" name="id" value="${rptDayLog.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">填报日期</label>
|
||||
<div class="col-sm-3">
|
||||
<p class="form-control-static">${rptDayLog.rptdt}</p>
|
||||
</div>
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="按Tab键切换光标"></i>
|
||||
</div>
|
||||
<c:forEach items="${rptDayLog.mPointList}" var="item" varStatus="i">
|
||||
|
||||
<c:if test="${(i.index % 2) == 0}"><!-- 单数 -->
|
||||
<div class="form-group">
|
||||
</c:if>
|
||||
<c:if test="${!item.valuemeaningFlag}"><!-- 填值 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-2">
|
||||
<fmt:formatNumber type="number" var="parmvalue" value="${item.parmvalue}" groupingUsed="false" maxFractionDigits="${item.NumTail}"/>
|
||||
<p class="form-control-static">${parmvalue}</p>
|
||||
</div>
|
||||
<label class="col-sm-1 control-label"
|
||||
style="text-align:left;padding-left: 0px;">${item.Unit}</label>
|
||||
</c:if>
|
||||
<c:if test="${item.valuemeaningFlag}"><!-- 选择 -->
|
||||
<label class="col-sm-3 control-label control-label-overflow" title="${item.parmname}">
|
||||
${item.parmname}
|
||||
<c:if test="${item.explain!=''}">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" title="${item.explain}"></i>
|
||||
</c:if>
|
||||
</label>
|
||||
<div class="col-sm-3">
|
||||
<c:if test="${item.parmvalue!=null}">
|
||||
<fmt:formatNumber value="${item.parmvalue}" pattern="#" var="parmvalue"></fmt:formatNumber>
|
||||
<c:forEach items="${item.valuemeaningArray}" var="valuemeaningItem" varStatus="i1">
|
||||
<c:if test="${parmvalue==valuemeaningItem.zhi}">
|
||||
<p class="form-control-static">${valuemeaningItem.mingcheng}</p></c:if>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 1}"><!-- 双数 -->
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${(i.index % 2) == 0&&i.last}"><!-- 单数最后一个 -->
|
||||
</div>
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">其他参数</label>
|
||||
<div class="col-sm-9">
|
||||
<p class="form-control-static">${rptDayLog.others}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">备注</label>
|
||||
<div class="col-sm-9">
|
||||
<p class="form-control-static">${rptDayLog.memo}</p>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${rptDayLog.reviewComments!=null && rptDayLog.reviewComments!=''}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">审批意见</label>
|
||||
<div class="col-sm-9">
|
||||
<p class="form-control-static">${rptDayLog.reviewComments}</p>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
</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>
|
||||
37
WebRoot/jsp/report/rptDeptSet4Select.jsp
Normal file
37
WebRoot/jsp/report/rptDeptSet4Select.jsp
Normal file
@ -0,0 +1,37 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
var type = "${param.type}";
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/getTree.do', {unitId:unitId,type:type} , function(data) {
|
||||
var treeData = data.result;
|
||||
if(treeData.length>0){
|
||||
$('#menu_select_tree').treeview({
|
||||
data: treeData,
|
||||
});
|
||||
$('#menu_select_tree').on('nodeSelected', function(event, data) {
|
||||
$('#${param.formId} #${param.hiddenId}' ).val(data.id);
|
||||
$('#${param.formId} #${param.textId}').val(data.text);
|
||||
closeModal("menu4SelectModal")
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
});
|
||||
</script>
|
||||
<div class="modal fade" id="menu4SelectModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title">选择目录</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="menu_select_tree" style="height:430px;overflow:auto;width:100%"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
148
WebRoot/jsp/report/rptDeptSetAdd.jsp
Normal file
148
WebRoot/jsp/report/rptDeptSetAdd.jsp
Normal file
@ -0,0 +1,148 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.min.css" />
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/js/bootstrap-switch.min.js" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/dosave.do", $("#subForm").serialize(), function(result) {
|
||||
var data= $.parseJSON(result);
|
||||
if (data.code == 1) {
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d',data.result);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//弹出目录
|
||||
var showTree4SelectFun = function () {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/showTree4Select.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "pid",
|
||||
textId: "pname",
|
||||
type: "${TYPE_CATALOGUE}"
|
||||
}, function (data) {
|
||||
$("#menu4SelectDiv").html(data);
|
||||
openModal("menu4SelectModal")
|
||||
});
|
||||
};
|
||||
var showUser4SelectsFun = function() {
|
||||
var userIds= $("#inputuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {formId:"subForm",hiddenId:"inputuser",textId:"auditMan",userIds:userIds} , function(data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
dateType: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '填报类型不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(function() {
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/getDateType4Select.do", {}, function(data) {
|
||||
var selelct =$("#dateType").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: true,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
selelct.val('${param.rptTypeStatic}').trigger("change");
|
||||
},'json');
|
||||
$("#unitId").val(unitId);
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">详情</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<div id="user4SelectDiv"></div>
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${param.unitId}"/>
|
||||
<input id="type" name="type" type="hidden" value="${param.type}"/>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv1"></div>
|
||||
<div id="menu4SelectDiv"></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="name" name ="name" placeholder="名称" value="${rptDeptSet.name}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">上级菜单</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="pname" name="pname" placeholder="点击选择"
|
||||
onclick="showTree4SelectFun()" value="${pname}" readonly>
|
||||
<input id="pid" name="pid" type="hidden" value="${param.pid}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">填报类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2 " id="dateType" name ="dateType"></select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" class="form-control" id="morder" name="morder" placeholder="顺序"
|
||||
value="${morder }" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <label class="col-sm-2 control-label">提醒时间/分钟</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="remindTime" name ="remindTime" placeholder="请填写分钟数 (正整数)" value="${rptDeptSet.remindTime}">
|
||||
</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="auditMan" name ="auditMan" placeholder="点击选择" onclick="showUser4SelectsFun();" value="${auditMan}">
|
||||
<input id="inputuser" name="inputuser" type="hidden" value="${rptDeptSet.inputuser}" />
|
||||
</div>
|
||||
</div> -->
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
114
WebRoot/jsp/report/rptDeptSetAdd4Catalogue.jsp
Normal file
114
WebRoot/jsp/report/rptDeptSetAdd4Catalogue.jsp
Normal file
@ -0,0 +1,114 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.min.css" />
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/js/bootstrap-switch.min.js" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/dosave.do", $("#subForm").serialize(), function(result) {
|
||||
var data= $.parseJSON(result);
|
||||
if (data.code == 1) {
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d',data.result);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
//弹出目录
|
||||
var showTree4SelectFun = function () {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/showTree4Select.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "pid",
|
||||
textId: "pname",
|
||||
type: "${TYPE_CATALOGUE}"
|
||||
}, function (data) {
|
||||
$("#menu4SelectDiv").html(data);
|
||||
openModal("menu4SelectModal")
|
||||
});
|
||||
};
|
||||
var showUser4SelectsFun = function() {
|
||||
var userIds= $("#inputuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {formId:"subForm",hiddenId:"inputuser",textId:"auditMan",userIds:userIds} , function(data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
dateType: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '填报类型不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(function() {
|
||||
$("#unitId").val(unitId);
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">添加目录</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${param.unitId}"/>
|
||||
<input id="type" name="type" type="hidden" value="${param.type}"/>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv1"></div>
|
||||
<div id="menu4SelectDiv"></div>
|
||||
<div id="user4SelectDiv"></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="name" name ="name" placeholder="名称" value="${rptDeptSet.name}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">上级菜单</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="pname" name="pname" placeholder="点击选择"
|
||||
onclick="showTree4SelectFun()" value="${pname}" readonly>
|
||||
<input id="pid" name="pid" type="hidden" value="${param.pid}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" class="form-control" id="morder" name="morder" placeholder="顺序"
|
||||
value="${morder }" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
723
WebRoot/jsp/report/rptDeptSetEdit.jsp
Normal file
723
WebRoot/jsp/report/rptDeptSetEdit.jsp
Normal file
@ -0,0 +1,723 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.min.css" />
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/js/bootstrap-switch.min.js" charset="utf-8"></script>
|
||||
|
||||
<!-- 拖拽排序-->
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/jquery.tablednd.js" charset="utf-8"></script>
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js" charset="utf-8"></script>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css"/>
|
||||
|
||||
<script type="text/javascript">
|
||||
var data;
|
||||
function dosave() {
|
||||
var remindTime='';
|
||||
$("#remindTimes select").each(function(index,element){
|
||||
if (index==$("#remindTimes select").length-1) {
|
||||
remindTime+=$(element).val();
|
||||
}else{
|
||||
remindTime+=$(element).val()+',';
|
||||
}
|
||||
});
|
||||
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/doupdate.do", $("#subForm").serialize()+"&remindTime="+remindTime, function(result) {
|
||||
var data= $.parseJSON(result);
|
||||
if (data.code == 1) {
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d',data.result);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function dodel() {
|
||||
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 + '/report/rptDeptSet/dodelete.do', $("#subForm").serialize(), function(result) {
|
||||
// var data= $.parseJSON(result);
|
||||
if(result.code==1){
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d',result.msg);
|
||||
}
|
||||
},'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 + '/report/rptDayValSet/dodeletes.do', {ids:datas} , function(data) {
|
||||
if(data.code>0){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertdiv');
|
||||
}
|
||||
},'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
function delMpointFun(id) {
|
||||
|
||||
swal({
|
||||
text: "您确定要删除此记录?",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function(willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/report/rptDayValSet/dodelete.do', {id:id}, function(data) {
|
||||
|
||||
if(data.code==1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','alertDiv');
|
||||
}
|
||||
},'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// var addMpointFuns = function () {
|
||||
// var allTableData = $("#table").bootstrapTable('getData');
|
||||
// var mPointIds = "";
|
||||
// $.each(allTableData, function (index, item) {
|
||||
// if (mPointIds != "") {
|
||||
// mPointIds += ",";
|
||||
// }
|
||||
// mPointIds += item.mPoint.mpointid;
|
||||
// })
|
||||
// $.post(ext.contextPath + '/achievement/acceptanceModelMPoint/showMPoint4Select.do', {
|
||||
// mPointIds: mPointIds,
|
||||
// unitId: unitId
|
||||
// }, function (data) {
|
||||
// $("#menu4SelectDiv_func").html(data);
|
||||
// openModal('MPointModel');
|
||||
// });
|
||||
// };
|
||||
|
||||
var doFinishSelectMPoint = function (data) {
|
||||
$.post(ext.contextPath + '/report/rptDayValSet/doimport.do', {
|
||||
pid: '${rptDeptSet.id}',
|
||||
mpids: data,
|
||||
unitId: unitId
|
||||
}, function (data) {
|
||||
if (data.code) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}
|
||||
}, 'json');
|
||||
};
|
||||
|
||||
//弹出选择测量点页面--SIPAIIS_WMS通用选择测量点方法
|
||||
function doImportMp() {
|
||||
var allTableData = $("#table").bootstrapTable('getData');
|
||||
var mpids = "";
|
||||
$.each(allTableData, function (index, item) {
|
||||
if (mpids != "") {
|
||||
mpids += ",";
|
||||
}
|
||||
mpids += item.mpid;
|
||||
})
|
||||
$.post(ext.contextPath + '/work/mpoint/mpointList4Layer.do', {mpids: mpids,fucname:'doFinishSelectMPoint'}, function (data) {
|
||||
$("#subDivMpointList").html(data);
|
||||
openModal('subModalMpoint');
|
||||
});
|
||||
}
|
||||
|
||||
var showUser4SelectsFun = function() {
|
||||
var userIds= $("#inputuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelectByStructure.do', {formId:"subForm",hiddenId:"inputuser",textId:"auditMan",userIds:userIds,companyId:unitId} , function(data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
var showUser4SelectsFun1 = function() {
|
||||
var userIds= $("#checkuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelectByStructure.do', {formId:"subForm",hiddenId:"checkuser",textId:"auditMan1",userIds:userIds,companyId:unitId} , function(data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
var showJob4SelectsFun = function() {
|
||||
var jobIds= $("#inputjob").val();
|
||||
$.post(ext.contextPath + '/user/jobForSelectByStructure.do', {formId:"subForm",hiddenId:"inputjob",textId:"auditJob",jobIds:jobIds,companyId:unitId} , function(data) {
|
||||
$("#job4SelectDiv").html(data);
|
||||
openModal("job4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
var refreshCheckst = function() {
|
||||
var select = $("#checkst").select2({
|
||||
data: null,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过十个启用搜索框
|
||||
});
|
||||
select.val("${rptDeptSet.checkst}").trigger("change");
|
||||
|
||||
};
|
||||
|
||||
var remindTimeAdd = function() {
|
||||
var i =$("#remindTimes select").length;
|
||||
$("#remindTimeButtonAdd").before('<div style="float: left;margin-bottom: 3px;"><div style="float: left;"><select class="form-control select2" name ="remindTimeName" style="width: 120px;"></select></div><button style="float: left;" type="button" class="btn btn-default btn-sm" onclick="remindTimeDelete(this)"><i class="fa fa-close"></i></button> </div>');
|
||||
|
||||
var selelct =$("select[name='remindTimeName']").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
}
|
||||
|
||||
var remindTimeDelete = function(buttonObject) {
|
||||
$(buttonObject).parent().remove();
|
||||
}
|
||||
|
||||
var changeRoleType = function() {
|
||||
var roleType = $("#roleType").val();
|
||||
if (roleType==null) {
|
||||
$("#inputuserDiv").hide();
|
||||
$("#inputjobDiv").hide();
|
||||
}else if (roleType==0) {
|
||||
$("#inputuserDiv").show();
|
||||
$("#inputjobDiv").hide();
|
||||
}else if (roleType==1) {
|
||||
$("#inputuserDiv").hide();
|
||||
$("#inputjobDiv").show();
|
||||
}
|
||||
}
|
||||
|
||||
var changeCheckst = function() {
|
||||
var checkst = $("#checkst").val();
|
||||
if (checkst=="是") {
|
||||
$("#checkstDiv").show();
|
||||
}else if (checkst=="否") {
|
||||
$("#checkstDiv").hide();
|
||||
}
|
||||
}
|
||||
|
||||
var remindTimeFun = function() {
|
||||
if ('${rptDeptSet.dateType}'=='H') {
|
||||
data = [{"id":"00:00","text":"00:00"},{"id":"00:30","text":"00:30"},{"id":"01:00","text":"01:00"},{"id":"01:30","text":"01:30"},{"id":"02:00","text":"02:00"},{"id":"02:30","text":"02:30"},{"id":"03:00","text":"03:00"},{"id":"03:30","text":"03:30"},{"id":"04:00","text":"04:00"},{"id":"04:30","text":"04:30"},{"id":"05:00","text":"05:00"},{"id":"05:30","text":"05:30"},{"id":"06:00","text":"06:00"},{"id":"06:30","text":"06:30"},{"id":"07:00","text":"07:00"},{"id":"07:30","text":"07:30"},{"id":"08:00","text":"08:00"},{"id":"08:30","text":"08:30"},{"id":"09:00","text":"09:00"},{"id":"09:30","text":"09:30"},{"id":"10:00","text":"10:00"},{"id":"10:30","text":"10:30"},{"id":"11:00","text":"11:00"},{"id":"11:30","text":"11:30"},{"id":"12:00","text":"12:00"},{"id":"12:30","text":"12:30"},{"id":"13:00","text":"13:00"},{"id":"13:30","text":"13:30"},{"id":"14:00","text":"14:00"},{"id":"14:30","text":"14:30"},{"id":"15:00","text":"15:00"},{"id":"15:30","text":"15:30"},{"id":"16:00","text":"16:00"},{"id":"16:30","text":"16:30"},{"id":"17:00","text":"17:00"},{"id":"17:30","text":"17:30"},{"id":"18:00","text":"18:00"},{"id":"18:30","text":"18:30"},{"id":"19:00","text":"19:00"},{"id":"19:30","text":"19:30"},{"id":"20:00","text":"20:00"},{"id":"20:30","text":"20:30"},{"id":"21:00","text":"21:00"},{"id":"21:30","text":"21:30"},{"id":"22:00","text":"22:00"},{"id":"22:30","text":"22:30"},{"id":"23:00","text":"23:00"},{"id":"23:30","text":"23:30"}];
|
||||
}else if ('${rptDeptSet.dateType}'=='D') {
|
||||
data = [{"id":"01","text":"每月01号"},{"id":"02","text":"每月02号"},{"id":"03","text":"每月03号"},{"id":"04","text":"每月04号"},{"id":"05","text":"每月05号"},{"id":"06","text":"每月06号"},{"id":"07","text":"每月07号"},{"id":"08","text":"每月08号"},{"id":"09","text":"每月09号"},{"id":"10","text":"每月10号"},{"id":"11","text":"每月11号"},{"id":"12","text":"每月12号"},{"id":"13","text":"每月13号"},{"id":"14","text":"每月14号"},{"id":"15","text":"每月15号"},{"id":"16","text":"每月16号"},{"id":"17","text":"每月17号"},{"id":"18","text":"每月18号"},{"id":"19","text":"每月19号"},{"id":"20","text":"每月20号"},{"id":"21","text":"每月21号"},{"id":"22","text":"每月22号"},{"id":"23","text":"每月23号"},{"id":"24","text":"每月24号"},{"id":"25","text":"每月25号"},{"id":"26","text":"每月26号"},{"id":"27","text":"每月27号"},{"id":"28","text":"每月28号"},{"id":"29","text":"每月29号"},{"id":"30","text":"每月30号"},{"id":"31","text":"每月31号"}];
|
||||
}
|
||||
|
||||
var remindTime='${rptDeptSet.remindTime}';
|
||||
var timeArr = remindTime.split(',');
|
||||
for (var i = 0; i < timeArr.length; i++) {
|
||||
$("#remindTimes").append('<div id="rDiv'+i+'" style="float: left;margin-bottom: 3px;"><div style="float: left;" id="remindTimeDiv'+i+'"><select class="form-control select2" id="remindTime'+i+'" name ="remindTime'+i+'" style="width: 120px;"></select></div><button style="float: left;" type="button" id="remindTimeButton'+i+'" class="btn btn-default btn-sm" onclick="remindTimeDelete(this)"><i class="fa fa-close"></i></button> </div>');
|
||||
|
||||
var selelct =$("#remindTime"+i).select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
selelct.val(timeArr[i]).trigger("change");
|
||||
}
|
||||
$("#remindTimes").append('<button type="button" style="float: left;" id="remindTimeButtonAdd" class="btn btn-default btn-sm" onclick="remindTimeAdd()">新增时间</button>');
|
||||
|
||||
};
|
||||
|
||||
//弹出选择测量点页面--SIPAIIS_WMS通用选择测量点方法 (单点) sj 2022-02-10
|
||||
function doMpointSingle(id) {
|
||||
var detailId = id;
|
||||
$.post(ext.contextPath + '/work/mpoint/mpointList4LayerSingle.do', {
|
||||
detailId: detailId,
|
||||
// mpids: mpids,
|
||||
fucname: 'doFinishContrast'
|
||||
}, function (data) {
|
||||
$("#subDivMpointList").html(data);
|
||||
openModal('subModalMpoint');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存对比点位 sj 2022-02-10
|
||||
* @param data
|
||||
* @param detailId 表单id
|
||||
*/
|
||||
var doFinishContrast = function (data,detailId) {
|
||||
$.post(ext.contextPath + '/report/rptDayValSet/dosaveContrast.do', {
|
||||
detailId: detailId,
|
||||
mpids: data,
|
||||
unitId: unitId
|
||||
}, function (data) {
|
||||
if (data.code) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}
|
||||
}, 'json');
|
||||
};
|
||||
/**
|
||||
* 判断整数
|
||||
*/
|
||||
function handleEdit(e,id) {
|
||||
//let value = e.value.replace(/[^\d]/g,'');
|
||||
let value = e.value;
|
||||
if(value.length==1){
|
||||
value=value.replace(/[^(\-?)\d+]/ig,'')
|
||||
}else{
|
||||
value=value.substring(0,1)+value.substring(1,value.length).replace(/[^\d+]/ig,'');
|
||||
}
|
||||
if(value!=null && value!=''){
|
||||
changeOffset(id);
|
||||
}
|
||||
e.value= value;
|
||||
}
|
||||
/**
|
||||
* 修改偏移类型
|
||||
*/
|
||||
function changeOffset(id) {
|
||||
let timeType = $("#"+id+"_timeType").val();
|
||||
let offset = $("#"+id+"_offset").val();
|
||||
$.post(ext.contextPath + "/report/rptDayValSet/changeOffset.do", {id: id,timeType: timeType,offset: offset}, function(data) {
|
||||
if(data.code==1){
|
||||
|
||||
}else{
|
||||
showAlert('d','修改失败','alertDiv');
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
|
||||
$(function() {
|
||||
remindTimeFun();
|
||||
refreshCheckst();
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/getDateType4Select.do", {}, function(data) {
|
||||
var selelct =$("#dateType").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
selelct.val('${rptDeptSet.dateType}').trigger("change");
|
||||
},'json');
|
||||
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/getMessageType4Select.do", {}, function(data) {
|
||||
var selelct =$("#messageType").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: true,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
selelct.val('${rptDeptSet.messageType}').trigger("change");
|
||||
},'json');
|
||||
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/getRoleType4Select.do", {}, function(data) {
|
||||
var selelct =$("#roleType").select2({
|
||||
data: data,
|
||||
placeholder:'请选择',//默认文字提示
|
||||
allowClear: true,//允许清空
|
||||
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
|
||||
selelct.val('${rptDeptSet.roleType}').trigger("change");
|
||||
},'json');
|
||||
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptDayValSet/getlist.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [5, 10,15], // 设置页面可以显示的数据条数
|
||||
pageSize: 5, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
paginationDetailHAlign:' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
pid:'${rptDeptSet.id}',
|
||||
unitId:unitId
|
||||
}
|
||||
},
|
||||
sortName: 'morder', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '测量点编号', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function(value,row,index){
|
||||
return value==null?'':value.mpointcode;
|
||||
},
|
||||
},{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '测量点名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function(value,row,index){
|
||||
return value==null?'':value.parmname;
|
||||
},
|
||||
},{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '当前值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '10%',
|
||||
formatter: function(value,row,index){
|
||||
return value==null?'':value.parmvalue;
|
||||
},
|
||||
},{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '单位', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
formatter: function(value,row,index){
|
||||
return value==null?'':value.unit;
|
||||
},
|
||||
},{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: '时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '15%',
|
||||
formatter: function(value,row,index){
|
||||
if (value!=null) {
|
||||
if (value.measuredt!=null) {
|
||||
return value.measuredt.substring(0,19);
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'timeType', // 返回json数据中的name
|
||||
title: "偏移类型",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '8%',
|
||||
formatter: function (value, row, index) {
|
||||
var hourSelected= "";
|
||||
var daySelected= "";
|
||||
|
||||
if(value=='hour' || value=='' || value==null || value==undefined){
|
||||
hourSelected= "selected";
|
||||
}
|
||||
if(value=='day'){
|
||||
daySelected= "selected";
|
||||
}
|
||||
var str ='<select id= "'+row.id+'_timeType" name="checkst" class="form-control select2" onchange="changeOffset(\''+row.id+'\')">'+
|
||||
'<option value="hour" '+hourSelected+'>小时</option>'+
|
||||
'<option value="day"'+daySelected+'>天</option>'+
|
||||
'</select>';
|
||||
return str;
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'offset', // 返回json数据中的name
|
||||
title: "偏移量(整数)",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '8%',
|
||||
formatter: function (value, row, index) {
|
||||
if(value!=null && value!='' && value!= undefined ){
|
||||
return '<input id= "'+row.id+'_offset" type="number" class="form-control" onkeyup= "handleEdit(this,\''+row.id+'\')" value="'+value+'">';
|
||||
}else{
|
||||
return '<input id= "'+row.id+'_offset" type="number" class="form-control" onkeyup= "handleEdit(this,\''+row.id+'\')" value="0">';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: "对比点位编号",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '15%',
|
||||
formatter: function (value, row, index) {
|
||||
return '<div class="btn-group" onclick="doMpointSingle(\'' + row.id + '\')" ><input class="form-control" type="text" value="'+row.mpid2+'" readonly></div>';
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'mPoint', // 返回json数据中的name
|
||||
title: "对比点位名称",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '15%',
|
||||
formatter: function (value, row, index) {
|
||||
if(row.mPoint2!=null && row.mPoint2!=''){
|
||||
return '<div class="btn-group" onclick="doMpointSingle(\'' + row.id + '\')" ><input class="form-control" type="text" value="'+row.mPoint2.parmname+'" readonly></div>';
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 100, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
return '<div class="btn-group">'+
|
||||
'<button class="btn btn-default btn-sm" onclick="delMpointFun(\'' + row.id + '\')"><i class="fa fa-trash-o"></i></button></div>';
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function(){ //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
//当拖拽结束后,整个表格的数据
|
||||
onReorderRow:function(newData){
|
||||
//这里的newData是整个表格数据,数组形式
|
||||
// console.log("data",newData);
|
||||
for(var i in newData){//mPointHistoryList
|
||||
newData[i].mPoint2 = '1';
|
||||
delete newData[i].mPoint;
|
||||
}
|
||||
// console.log("data",newData);
|
||||
$.post(ext.contextPath+'/report/rptDayValSet/dosort.do',{jsondata:JSON.stringify(newData)},//将整张表数据 不能分页
|
||||
function(data){
|
||||
if(data==1){
|
||||
//$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','数据错误','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
})
|
||||
$("#table").tableDnD();
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">详情</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
<a onclick="dodel()" class="btn btn-box-tool" data-toggle="tooltip" title="删除"><i class="glyphicon glyphicon-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<div id="user4SelectDiv"></div>
|
||||
<div id="job4SelectDiv"></div>
|
||||
<div id="subDivMpointList"></div>
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${rptDeptSet.id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${rptDeptSet.unitId}"/>
|
||||
<input id="type" name="type" type="hidden" value="${rptDeptSet.type}"/>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv1"></div>
|
||||
<div id="menu4SelectDiv"></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="name" name ="name" placeholder="名称" value="${rptDeptSet.name}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">上级菜单</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="pname" name="pname" placeholder="点击选择"
|
||||
onclick="showTree4SelectFun()" value="${pname}" readonly>
|
||||
<input id="pid" name="pid" type="hidden" value="${rptDeptSet.pid}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">填报类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2 " id="dateType" name ="dateType" style="width: 160px;"></select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" class="form-control" id="morder" name="morder" placeholder="顺序"
|
||||
value="${rptDeptSet.morder}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${rptDeptSet.dateType=='D'||rptDeptSet.dateType=='H'}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">定时提醒</label>
|
||||
<div class="col-sm-4" id="remindTimes">
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">消息类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2 " id="messageType" name ="messageType" style="width: 160px;"></select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">填报权限</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2 " id="roleType" name ="roleType" style="width: 160px;" onchange="changeRoleType()"></select><i class="fa fa-question-circle" aria-hidden="true" title="不选择填报权限则所有人都可填报"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="inputuserDiv">
|
||||
<label class="col-sm-2 control-label">填报人员</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="auditMan" name ="auditMan" placeholder="点击选择" onclick="showUser4SelectsFun();" value="${auditMan}">
|
||||
<input id="inputuser" name="inputuser" type="hidden" value="${rptDeptSet.inputuser}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="inputjobDiv">
|
||||
<label class="col-sm-2 control-label">填报岗位</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="auditJob" name ="auditJob" placeholder="点击选择" onclick="showJob4SelectsFun();" value="${auditJob}">
|
||||
<input id="inputjob" name="inputjob" type="hidden" value="${rptDeptSet.inputjob}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">是否审核</label>
|
||||
<div class="col-sm-4">
|
||||
<select id= "checkst" name="checkst" class="form-control select2" style="width: 160px;" onchange="changeCheckst()">
|
||||
<option value="是" selected>是</option>
|
||||
<option value="否">否</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="checkstDiv">
|
||||
<label class="col-sm-2 control-label">审核人员</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="auditMan1" name ="auditMan1" placeholder="点击选择" onclick="showUser4SelectsFun1();" value="${auditMan1}">
|
||||
<input id="checkuser" name="checkuser" type="hidden" value="${rptDeptSet.checkuser}" />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">测量点配置</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body ">
|
||||
<div >
|
||||
<div id="alertDiv_power"></div>
|
||||
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
|
||||
<button type="button" class="btn btn-default" onclick="doImportMp();"><i class="fa fa-plus"></i>选择测量点</button>
|
||||
<button type="button" class="btn btn-default" onclick="deletesFun();"><i class="fa fa-trash-o"></i> 删除</button>
|
||||
</div>
|
||||
<div id="powerDiv"></div>
|
||||
<div id="menu4SelectDiv_func"></div>
|
||||
<table id="table" data-use-row-attr-func="true" data-reorderable-rows="true"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
150
WebRoot/jsp/report/rptDeptSetEdit4Catalogue.jsp
Normal file
150
WebRoot/jsp/report/rptDeptSetEdit4Catalogue.jsp
Normal file
@ -0,0 +1,150 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/css/bootstrap3/bootstrap-switch.min.css" />
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/bootstrap-switch/dist/js/bootstrap-switch.min.js" charset="utf-8"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptDeptSet/doupdate.do", $("#subForm").serialize(), function(result) {
|
||||
var data= $.parseJSON(result);
|
||||
if (data.code == 1) {
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d',data.result);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
//弹出目录
|
||||
var showTree4SelectFun = function () {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/showTree4Select.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "pid",
|
||||
textId: "pname",
|
||||
type: "${TYPE_CATALOGUE}"
|
||||
}, function (data) {
|
||||
$("#menu4SelectDiv").html(data);
|
||||
openModal("menu4SelectModal")
|
||||
});
|
||||
};
|
||||
var showUser4SelectsFun = function() {
|
||||
var userIds= $("#inputuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {formId:"subForm",hiddenId:"inputuser",textId:"auditMan",userIds:userIds} , function(data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
dateType: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '填报类型不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function dodel() {
|
||||
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 + '/report/rptDeptSet/dodelete.do', $("#subForm").serialize(), function(result) {
|
||||
// var data= $.parseJSON(result);
|
||||
if(result.code==1){
|
||||
initTreeView();
|
||||
}else{
|
||||
showAlert('d',result.msg);
|
||||
}
|
||||
},'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
$(function() {
|
||||
$("#unitId").val(unitId);
|
||||
});
|
||||
</script>
|
||||
<div class="box box-primary" style="margin-bottom:0px;">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">编辑目录</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
<a onclick="dodel()" class="btn btn-box-tool" data-toggle="tooltip" title="删除"><i class="glyphicon glyphicon-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${rptDeptSet.id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${rptDeptSet.unitId}"/>
|
||||
<input id="type" name="type" type="hidden" value="${rptDeptSet.type}"/>
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv1"></div>
|
||||
<div id="menu4SelectDiv"></div>
|
||||
<div id="user4SelectDiv"></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="name" name ="name" placeholder="名称" value="${rptDeptSet.name}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">上级菜单</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="pname" name="pname" placeholder="点击选择"
|
||||
onclick="showTree4SelectFun()" value="${pname}" readonly>
|
||||
<input id="pid" name="pid" type="hidden" value="${rptDeptSet.pid}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" class="form-control" id="morder" name="morder" placeholder="顺序"
|
||||
value="${rptDeptSet.morder }" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
118
WebRoot/jsp/report/rptDeptSetTree.jsp
Normal file
118
WebRoot/jsp/report/rptDeptSetTree.jsp
Normal file
@ -0,0 +1,118 @@
|
||||
<%@ 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.report.RptInfoSet" %>
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<!DOCTYPE html>
|
||||
<!-- <html lang="zh-CN"> -->
|
||||
<!-- BEGIN HEAD -->
|
||||
<head>
|
||||
<title><%= ServerObject.atttable.get("TOPTITLE")%></title>
|
||||
<!-- 引用页头及CSS页-->
|
||||
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
||||
<script type="text/javascript">
|
||||
var rptTypeStatic="";
|
||||
var treeSize=0;
|
||||
var addFun = function(type) {
|
||||
var pid="-1";
|
||||
if(treeSize>0){
|
||||
var node=$('#tree').treeview('getSelected');
|
||||
if(node!=null && node.length>0){
|
||||
pid=node[0].id;
|
||||
if(node[0].type!='${TYPE_CATALOGUE}'){
|
||||
pid=node[0].pid;
|
||||
}
|
||||
}else{
|
||||
if(type=='${TYPE_SETTING}'){
|
||||
showAlert('d',"请先选择或添加目录。","mainAlertdiv");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/showRptDeptSetAdd.do', {unitId: unitId, pid:pid,type:type} , function(data) {
|
||||
//console.log(data);
|
||||
$("#rptDeptSetEdit").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var editFun = function(id,type) {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/doedit.do', {id: id,type:type} , function(data) {
|
||||
$("#rptDeptSetEdit").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var initTreeView = function() {
|
||||
$.post(ext.contextPath + '/report/rptDeptSet/getTree.do', {unitId:unitId} , function(data) {
|
||||
var treeData = data.result;
|
||||
treeSize = treeData.length;
|
||||
$('#tree').treeview({data: treeData});
|
||||
$('#tree').on('nodeSelected', function(event, treeData) {
|
||||
editFun(treeData.id,treeData.type);
|
||||
});
|
||||
},'json');
|
||||
$("#rptDeptSetEdit").html("");
|
||||
};
|
||||
$(function() {
|
||||
initTreeView();
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"> </h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<!-- <div id="equipmentClassSubDiv"></div> -->
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">填报类型</h3>
|
||||
<div class="box-tools" id="addDiv">
|
||||
<button type="buttonB" class="btn btn-box-tool" onclick="addFun('${TYPE_CATALOGUE}');">
|
||||
<i class="fa fa-plus"></i> 目录
|
||||
</button>
|
||||
|
||||
<button type="buttonB" class="btn btn-box-tool" onclick="addFun('${TYPE_SETTING}');">
|
||||
<i class="fa fa-plus"></i> 填报
|
||||
</button>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:700px;overflow:auto; "></div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-10" id="rptDeptSetEdit" ></div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
35
WebRoot/jsp/report/rptInfoSet4Select.jsp
Normal file
35
WebRoot/jsp/report/rptInfoSet4Select.jsp
Normal file
@ -0,0 +1,35 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<script type="text/javascript">
|
||||
$(function() {
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/getTree.do', {unitId:unitId} , function(data) {
|
||||
if(data.length>0){
|
||||
$('#menu_select_tree').treeview({
|
||||
data: data,
|
||||
});
|
||||
$('#menu_select_tree').on('nodeSelected', function(event, data) {
|
||||
$('#${param.formId} #${param.hiddenId}' ).val(data.id);
|
||||
$('#${param.formId} #${param.textId}').val(data.text);
|
||||
closeModal("menu4SelectModal")
|
||||
});
|
||||
}
|
||||
},'json');
|
||||
});
|
||||
</script>
|
||||
<div class="modal fade" id="menu4SelectModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title">选择菜单</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div id="menu_select_tree" style="height:430px;overflow:auto;width:100%"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
386
WebRoot/jsp/report/rptInfoSetAdd.jsp
Normal file
386
WebRoot/jsp/report/rptInfoSetAdd.jsp
Normal file
@ -0,0 +1,386 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<% request.setAttribute("RptType_Day", RptInfoSet.RptType_Day); %>
|
||||
<% request.setAttribute("RptType_Week", RptInfoSet.RptType_Week); %>
|
||||
<% request.setAttribute("RptType_Tenday", RptInfoSet.RptType_Tenday); %>
|
||||
<% request.setAttribute("RptType_Month", RptInfoSet.RptType_Month); %>
|
||||
<% request.setAttribute("RptType_Quarterly", RptInfoSet.RptType_Quarterly); %>
|
||||
<% request.setAttribute("RptType_HalfYear", RptInfoSet.RptType_HalfYear); %>
|
||||
<% request.setAttribute("RptType_Year", RptInfoSet.RptType_Year); %>
|
||||
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var masterId_process = '${id}';//业务Id
|
||||
var tbName_process = 'TB_Report_RptInfoSetFile'; //数据表
|
||||
var nameSpace_process = 'Report';//保存文件夹
|
||||
var status = 'delete';//有删除权限
|
||||
|
||||
//弹出目录
|
||||
var showTree4SelectFun = function () {
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/showTree4Select.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "pid",
|
||||
textId: "pname"
|
||||
}, function (data) {
|
||||
$("#menu4SelectDiv").html(data);
|
||||
openModal("menu4SelectModal")
|
||||
});
|
||||
};
|
||||
|
||||
var showUser4SelectsFun1 = function () {
|
||||
var userIds = $("#checkuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "checkuser",
|
||||
textId: "auditMan1",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
//选择可生成报表用户
|
||||
var showUser4SelectsFun2 = function () {
|
||||
var userIds = $("#createusers").val();
|
||||
$.post(ext.contextPath + '/user/userForSelectByCompany.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "createusers",
|
||||
textId: "auditMan2",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
//选择可浏览报表用户
|
||||
var showUser4SelectsFun3 = function () {
|
||||
var userIds = $("#browseusers").val();
|
||||
$.post(ext.contextPath + '/user/userForSelectByCompany.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "browseusers",
|
||||
textId: "auditMan3",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
function dosave() {
|
||||
$('#subForm').data('bootstrapValidator').updateStatus('pname', 'NOT_VALIDATED', null).validateField('pname');
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
var value = $("#generateJurisdiction").val();
|
||||
userOrJob(value, 'createusers', 'generatePosition');
|
||||
value = $("#browseJurisdiction").val();
|
||||
userOrJob(value, 'browseusers', 'browsePosition');
|
||||
$.post(ext.contextPath + "/report/rptInfoSet/dosave.do", $("#subForm").serialize(), function (result) {
|
||||
if (result.code == 1) {
|
||||
initTreeView();
|
||||
//showAlert('s','保存成功');
|
||||
} else {
|
||||
showAlert('d', '保存失败');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
pname: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '上级菜单不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
morder: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '顺序不能为空'
|
||||
},
|
||||
regexp: {
|
||||
regexp: /^[0-9]*$/,
|
||||
message: '顺序必须为数字'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
var userOrJob = function (value, id1, id2) {
|
||||
if (value == 0) {
|
||||
$("#" + id2).val('');
|
||||
} else if (value == 1) {
|
||||
$("#" + id1).val('');
|
||||
} else {
|
||||
$("#" + id1).val('');
|
||||
$("#" + id2).val('');
|
||||
}
|
||||
}
|
||||
|
||||
var selectChange = function (value, id1, id2) {
|
||||
if (value == 0) {
|
||||
$("#" + id1).show();
|
||||
$("#" + id2).hide();
|
||||
} else if (value == 1) {
|
||||
$("#" + id1).hide();
|
||||
$("#" + id2).show();
|
||||
} else {
|
||||
$("#" + id1).hide();
|
||||
$("#" + id2).hide();
|
||||
}
|
||||
}
|
||||
|
||||
var showJob4SelectsFun = function (hiddenId, textId) {
|
||||
var jobIds = $("#" + hiddenId).val();
|
||||
$.post(ext.contextPath + '/user/jobForSelectByStructure.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: hiddenId,
|
||||
textId: textId,
|
||||
jobIds: jobIds,
|
||||
companyId: unitId
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("job4SelectModal");
|
||||
});
|
||||
};
|
||||
$(function () {
|
||||
//初始化文件显示
|
||||
getFileList_process();
|
||||
|
||||
//默认不审核
|
||||
$('#checkDivId').hide();
|
||||
selectChange('0', 'generate', 'generate_position');
|
||||
selectChange('0', 'browse', 'browse_position');
|
||||
$.post(ext.contextPath + "/report/rptInfoSet/getRoleType4Select.do", {}, function (data) {
|
||||
var select = $("#generateJurisdiction").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'})
|
||||
select.val('0').trigger("change");
|
||||
select.on("change", function (e) {
|
||||
selectChange($("#generateJurisdiction").val(), 'generate', 'generate_position');
|
||||
});
|
||||
|
||||
var select_browse = $("#browseJurisdiction").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据大于10个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
$(".select2-selection--single").css({'height': '30px', 'paddingTop': '4px'})
|
||||
select_browse.val('0').trigger("change");
|
||||
select_browse.on("change", function (e) {
|
||||
selectChange($("#browseJurisdiction").val(), 'browse', 'browse_position');
|
||||
});
|
||||
}, 'json');
|
||||
});
|
||||
|
||||
//是否审核 不审核则不显示 “可审核报表用户” 框
|
||||
$('#checkst').on('change', function () {
|
||||
var val = $(this).val();
|
||||
if (val == '是') {
|
||||
$('#checkDivId').show();
|
||||
}
|
||||
if (val == '否') {
|
||||
$('#checkDivId').hide();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">新增</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i
|
||||
class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${param.unitId}"/>
|
||||
<input type="hidden" id="type" name="type" value="${TYPE_SETTING}">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<div id="menu4SelectDiv"></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="name" name="name" placeholder="报表名称"
|
||||
value="${rptInfoSet.name }">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">上级菜单</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="pname" name="pname" placeholder="上级菜单"
|
||||
onclick="showTree4SelectFun()" value="${pname}">
|
||||
<input id="pid" name="pid" type="hidden" value="${param.pid}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">类别</label>
|
||||
<div class="col-sm-4">
|
||||
<select id="rpttype" name="rpttype" class="form-control select2">
|
||||
<option value="${RptType_Day}" selected>日报</option>
|
||||
<%-- <option value="${RptType_Week}">周报</option>--%>
|
||||
<%-- <option value="${RptType_Tenday}">旬报</option>--%>
|
||||
<option value="${RptType_Month}">月报</option>
|
||||
<option value="${RptType_Quarterly}">季报</option>
|
||||
<option value="${RptType_HalfYear}">半年报</option>
|
||||
<option value="${RptType_Year}">年报</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="morder" name="morder" placeholder="顺序"
|
||||
value="${rptInfoSet.morder}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">审核</label>
|
||||
<div class="col-sm-4">
|
||||
<select id="checkst" name="checkst" class="form-control select2">
|
||||
<option value="是">是</option>
|
||||
<option value="否" selected>否</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">自动生成</label>
|
||||
<div class="col-sm-4">
|
||||
<select id="createauto" name="createauto" class="form-control select2">
|
||||
<option value="是" selected>是</option>
|
||||
<option value="否">否</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="checkDivId">
|
||||
<label class="col-sm-2 control-label">可审核报表用户</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id="auditMan1" name="auditMan1" placeholder="点击选择" readonly
|
||||
onclick="showUser4SelectsFun1();" value="${examPlan.memo}"></textarea>
|
||||
<input id="checkuser" name="checkuser" type="hidden"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">生成权限</label>
|
||||
<div class="col-sm-4">
|
||||
<select id="generateJurisdiction" name="generateJurisdiction" class="form-control select2"></select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">浏览权限</label>
|
||||
<div class="col-sm-4">
|
||||
<select id="browseJurisdiction" name="browseJurisdiction" class="form-control select2"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="generate">
|
||||
<label class="col-sm-2 control-label">可生成报表用户</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id="auditMan2" name="auditMan2" placeholder="点击选择" readonly
|
||||
onclick="showUser4SelectsFun2();">${rptInfoSet.createuserName}</textarea>
|
||||
<input id="createusers" name="createusers" type="hidden" value="${rptInfoSet.createusers}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="generate_position">
|
||||
<label class="col-sm-2 control-label">可生成报表岗位</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id="generatePositionName" name="generatePositionName"
|
||||
placeholder="点击选择" readonly
|
||||
onclick="showJob4SelectsFun('generatePosition','generatePositionName');">${rptInfoSet.generatePositionName}</textarea>
|
||||
<input id="generatePosition" name="generatePosition" type="hidden"
|
||||
value="${rptInfoSet.generatePosition}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="browse">
|
||||
<label class="col-sm-2 control-label">可浏览报表用户</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id="auditMan3" name="auditMan3" placeholder="点击选择" readonly
|
||||
onclick="showUser4SelectsFun3();">${rptInfoSet.browseuserName}</textarea>
|
||||
<input id="browseusers" name="browseusers" type="hidden" value="${rptInfoSet.browseusers}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" id="browse_position">
|
||||
<label class="col-sm-2 control-label">可浏览报表岗位</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id="browsePositionName" name="browsePositionName" placeholder="点击选择"
|
||||
readonly
|
||||
onclick="showJob4SelectsFun('browsePosition','browsePositionName');">${rptInfoSet.browsePositionName}</textarea>
|
||||
<input id="browsePosition" name="browsePosition" type="hidden"
|
||||
value="${rptInfoSet.browsePosition}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">备注</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="3" id="memo" name="memo"
|
||||
placeholder="请输入">${rptInfoSet.memo}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 文件上传,显示 -->
|
||||
<%--<div class="form-group" style="margin:8px">
|
||||
<label class="col-sm-2 control-label"></label>
|
||||
<button type="button" class="btn btn-default btn-file" onclick="fileinput_process()" id="btn_save"><i
|
||||
class="fa fa-paperclip"></i>上传文件
|
||||
</button>
|
||||
</div>
|
||||
<div id="fileArea">
|
||||
|
||||
</div>--%>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
171
WebRoot/jsp/report/rptInfoSetAddSimple.jsp
Normal file
171
WebRoot/jsp/report/rptInfoSetAddSimple.jsp
Normal file
@ -0,0 +1,171 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<% request.setAttribute("RptType_Day", RptInfoSet.RptType_Day); %>
|
||||
<% request.setAttribute("RptType_Week", RptInfoSet.RptType_Week); %>
|
||||
<% request.setAttribute("RptType_Tenday", RptInfoSet.RptType_Tenday); %>
|
||||
<% request.setAttribute("RptType_Month", RptInfoSet.RptType_Month); %>
|
||||
<% request.setAttribute("RptType_Quarterly", RptInfoSet.RptType_Quarterly); %>
|
||||
<% request.setAttribute("RptType_Year", RptInfoSet.RptType_Year); %>
|
||||
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
var masterId_process = '${id}';//业务Id
|
||||
var tbName_process = 'TB_Report_RptInfoSetFile'; //数据表
|
||||
var nameSpace_process = 'Report';//保存文件夹
|
||||
var status = 'delete';//有删除权限
|
||||
|
||||
var showUser4SelectsFun1 = function () {
|
||||
var userIds = $("#checkuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "checkuser",
|
||||
textId: "auditMan1",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
var showUser4SelectsFun2 = function () {
|
||||
var userIds = $("#createusers").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "createusers",
|
||||
textId: "auditMan2",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
var showUser4SelectsFun3 = function () {
|
||||
var userIds = $("#browseusers").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "browseusers",
|
||||
textId: "auditMan3",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptInfoSet/dosave.do", $("#subForm").serialize(), function (result) {
|
||||
if (result.code == 1) {
|
||||
initTreeView();
|
||||
//showAlert('s','保存成功');
|
||||
} else {
|
||||
showAlert('d', '保存失败');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
morder: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '顺序不能为空'
|
||||
},
|
||||
regexp: {
|
||||
regexp: /^[0-9]*$/,
|
||||
message: '顺序必须为数字'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(function () {
|
||||
//初始化文件显示
|
||||
getFileList_process();
|
||||
|
||||
//默认不审核
|
||||
$('#checkDivId').hide();
|
||||
});
|
||||
|
||||
//是否审核 不审核则不显示 “可审核报表用户” 框
|
||||
$('#checkst').on('change', function () {
|
||||
var val = $(this).val();
|
||||
if (val == '是') {
|
||||
$('#checkDivId').show();
|
||||
}
|
||||
if (val == '否') {
|
||||
$('#checkDivId').hide();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">新增</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i
|
||||
class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${param.unitId}"/>
|
||||
<input type="hidden" id="type" name="type" value="${TYPE_CATALOGUE}">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<div id="menu4SelectDiv"></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="name" name="name" placeholder="报表名称"
|
||||
value="${rptInfoSet.name }" autocomplete="off">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">上级菜单</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="pname" name="pname" placeholder="上级菜单"
|
||||
onclick="showMenu4SelectFun()" value="${pname}">
|
||||
<input id="pid" name="pid" type="hidden" value="${pid}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" class="form-control" id="morder" name="morder" placeholder="顺序"
|
||||
value="${rptInfoSet.morder }" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input id="checkuser" name="checkuser" type="hidden"/>
|
||||
<input id="createusers" name="createusers" type="hidden"/>
|
||||
<input id="browseusers" name="browseusers" type="hidden"/>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
1308
WebRoot/jsp/report/rptInfoSetEdit.jsp
Normal file
1308
WebRoot/jsp/report/rptInfoSetEdit.jsp
Normal file
File diff suppressed because it is too large
Load Diff
505
WebRoot/jsp/report/rptInfoSetEditSimple.jsp
Normal file
505
WebRoot/jsp/report/rptInfoSetEditSimple.jsp
Normal file
@ -0,0 +1,505 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<% request.setAttribute("RptType_Day", RptInfoSet.RptType_Day); %>
|
||||
<% request.setAttribute("RptType_Week", RptInfoSet.RptType_Week); %>
|
||||
<% request.setAttribute("RptType_Tenday", RptInfoSet.RptType_Tenday); %>
|
||||
<% request.setAttribute("RptType_Month", RptInfoSet.RptType_Month); %>
|
||||
<% request.setAttribute("RptType_Quarterly", RptInfoSet.RptType_Quarterly); %>
|
||||
<% request.setAttribute("RptType_Year", RptInfoSet.RptType_Year); %>
|
||||
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
// var masterId = '${id}';
|
||||
// var tbName = 'TB_Report_RptInfoSetFile'; //数据表
|
||||
// var nameSpace = 'Report';//保存文件夹
|
||||
// var previews = new Array();
|
||||
// var previewConfigs = new Array();
|
||||
|
||||
var masterId_process = '${rptInfoSet.id}';//业务Id
|
||||
var tbName_process = 'TB_Report_RptInfoSetFile'; //数据表
|
||||
var nameSpace_process = 'Report';//保存文件夹
|
||||
var status = 'delete';//有删除权限
|
||||
|
||||
function showFileInput(ctrlName) {
|
||||
var control = $('#' + ctrlName);
|
||||
|
||||
control.fileinput('destroy');
|
||||
control.fileinput({
|
||||
language: 'zh', //设置语言
|
||||
showUpload: false, //是否显示上传按钮
|
||||
showRemove: false,
|
||||
showCaption: false,//是否显示标题
|
||||
showBrowse: false,//选择按钮
|
||||
showClose: false,//右上角关闭按钮
|
||||
dropZoneEnabled: false,//是否显示拖拽区域
|
||||
fileActionSettings: {
|
||||
showDrag: false
|
||||
},
|
||||
browseClass: "btn btn-primary", //按钮样式
|
||||
maxFileCount: 10, //表示允许同时上传的最大文件个数
|
||||
enctype: 'multipart/form-data',
|
||||
validateInitialCount: true,
|
||||
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
|
||||
initialPreviewAsData: true,
|
||||
initialPreview: previews,
|
||||
initialPreviewConfig: previewConfigs,
|
||||
layoutTemplates: {
|
||||
actionUpload: ''
|
||||
},
|
||||
deleteUrl: ext.contextPath + "/base/deleteInputFile.do",
|
||||
deleteExtraData: function () { //传参
|
||||
var data = {
|
||||
"tbName": tbName
|
||||
};
|
||||
return data;
|
||||
}
|
||||
});
|
||||
$('#kvFileinputModal').on("hidden.bs.modal", function () {
|
||||
$(this).removeData("bs.modal");
|
||||
//modal重复打开会导致前面的滚动条失去作用
|
||||
$('.modal').css("overflow", "auto");
|
||||
});
|
||||
}
|
||||
|
||||
function dodel() {
|
||||
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 + '/report/rptInfoSet/dodelete.do', $("#subForm").serialize(), function (result) {
|
||||
// var data= $.parseJSON(result);
|
||||
if (result.code == 1) {
|
||||
initTreeView();
|
||||
} else {
|
||||
showAlert('d', result.msg);
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//名称定义不可修改
|
||||
var getFileList = function () {
|
||||
$.post(ext.contextPath + '/base/getInputFileList.do', {masterId: masterId, tbName: tbName}, function (data) {
|
||||
//console.info(data)
|
||||
if (data.length > 0) {
|
||||
previews = new Array();
|
||||
// $('#maintenancefile').show();
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var previewConfig = new Object();
|
||||
var path = data[i].abspath;
|
||||
path = path.substring(path.indexOf('webapps') + 7, path.length);
|
||||
path = ext.basePath.replace(ext.contextPath, '') + path.replace(/\\/g, "\/");
|
||||
;
|
||||
previews.push(path);
|
||||
previewConfig['width'] = '50px';
|
||||
previewConfig['caption'] = data[i].filename;
|
||||
previewConfig['key'] = data[i].id;
|
||||
previewConfigs.push(previewConfig);
|
||||
}
|
||||
showFileInput("rptInfoSetFile");
|
||||
} else {
|
||||
$('#rptInfoSetFile').hide();
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
};
|
||||
|
||||
var fileinput = function () {
|
||||
$.post(ext.contextPath + '/base/fileinput.do', {
|
||||
masterId: masterId,
|
||||
tbName: tbName,
|
||||
nameSpace: nameSpace
|
||||
}, function (data) {
|
||||
$("#fileInputDiv").html(data);
|
||||
openModal('fileInputModal');
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
var showUser4SelectsFun1 = function () {
|
||||
var userIds = $("#checkuser").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "checkuser",
|
||||
textId: "auditMan1",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
var showUser4SelectsFun2 = function () {
|
||||
var userIds = $("#createusers").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "createusers",
|
||||
textId: "auditMan2",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
var showUser4SelectsFun3 = function () {
|
||||
var userIds = $("#browseusers").val();
|
||||
$.post(ext.contextPath + '/user/userForSelect.do', {
|
||||
formId: "subForm",
|
||||
hiddenId: "browseusers",
|
||||
textId: "auditMan3",
|
||||
userIds: userIds
|
||||
}, function (data) {
|
||||
$("#user4SelectDiv").html(data);
|
||||
openModal("user4SelectModal");
|
||||
});
|
||||
};
|
||||
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptInfoSet/doupdate.do", $("#subForm").serialize(), function (result) {
|
||||
if (result.code == 1) {
|
||||
initTreeView();
|
||||
showAlert('s', '保存成功');
|
||||
} else {
|
||||
showAlert('d', '保存失败');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
morder: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '顺序不能为空'
|
||||
},
|
||||
regexp: {
|
||||
regexp: /^[0-9]*$/,
|
||||
message: '顺序必须为数字'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(function () {
|
||||
|
||||
|
||||
$("#tableSp").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptSpSet/getList.do?id=${rptInfoSet.id}', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
|
||||
pageSize: 50, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order // 排序规则
|
||||
}
|
||||
},
|
||||
sortName: 'id', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},
|
||||
{
|
||||
field: '', // 返回json数据中的name
|
||||
title: 'sp名称', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.spname;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: 'sheet名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.sheet;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '单元格X值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.posx;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '单元格Y值', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.posy;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '插入方式', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.writermode;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '开始日期', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '8%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.rptsdt;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '结束日期', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '8%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.rptedt;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '时间间隔', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '8%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.intv;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '开始时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '8%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.starthour;
|
||||
}
|
||||
}, {
|
||||
field: '', // 返回json数据中的name
|
||||
title: '结束时间', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '8%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.endhour;
|
||||
}
|
||||
}, {
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '10%',
|
||||
formatter: function (value, row, index) {
|
||||
return '<div class="btn-group">' +
|
||||
'<button class="btn btn-default btn-sm" onclick="doSpEdit(\'' + row.id + '\')"><i class="fa fa-edit"></i></button>' +
|
||||
// '<button class="btn btn-default btn-sm" onclick="doSpDelete(\'' + row.id + '\')"><i class="fa fa-trash-o"></i></button>' +
|
||||
'<button class="btn btn-default btn-sm" onclick="doMpList(\'' + row.id + '\')"><i class="fa fa-list"></i></button>' +
|
||||
'</div>';
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
$(".bs-checkbox").css({'text-align': 'center', 'vertical-align': 'middle'})
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
})
|
||||
|
||||
$('#rpttype').select2({minimumResultsForSearch: 10}).val('${rptInfoSet.rpttype}').trigger('change');
|
||||
$('#checkst').select2({minimumResultsForSearch: 10}).val('${rptInfoSet.checkst}').trigger('change');
|
||||
$('#createauto').select2({minimumResultsForSearch: 10}).val('${rptInfoSet.createauto}').trigger('change');
|
||||
//初始化文件显示
|
||||
getFileList_process();
|
||||
|
||||
//不审核则不显示 “可审核报表用户” 框
|
||||
var checkst = $('#checkst').val();
|
||||
if (checkst == '是') {
|
||||
$('#checkDivId').show();
|
||||
}
|
||||
if (checkst == '否') {
|
||||
$('#checkDivId').hide();
|
||||
}
|
||||
});
|
||||
|
||||
//是否审核 不审核则不显示 “可审核报表用户” 框
|
||||
$('#checkst').on('change', function () {
|
||||
var val = $(this).val();
|
||||
if (val == '是') {
|
||||
$('#checkDivId').show();
|
||||
}
|
||||
if (val == '否') {
|
||||
$('#checkDivId').hide();
|
||||
}
|
||||
});
|
||||
|
||||
//新增sp
|
||||
var doSpAdd = function (pid) {
|
||||
$.post(ext.contextPath + '/report/rptSpSet/doadd.do', {pid: pid}, function (data) {
|
||||
$("#subDivSp").html(data);
|
||||
openModal('subModalSp');
|
||||
});
|
||||
}
|
||||
|
||||
//修改sp
|
||||
var doSpEdit = function (id) {
|
||||
$.post(ext.contextPath + '/report/rptSpSet/doedit.do', {id: id}, function (data) {
|
||||
$("#subDivSp").html(data);
|
||||
openModal('subModalSp');
|
||||
});
|
||||
}
|
||||
|
||||
//配置测量点列表
|
||||
var doMpList = function (id) {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/showList.do', {spId: id}, function (data) {
|
||||
$("#subDivMpList").html(data);
|
||||
openModal('subModalMpList');
|
||||
});
|
||||
}
|
||||
|
||||
//删除sp--多删
|
||||
var doSpDeletes = function () {
|
||||
var checkedItems = $("#tableSp").bootstrapTable('getSelections');
|
||||
var datas = "";
|
||||
$.each(checkedItems, function (index, item) {
|
||||
datas += item.id + ",";
|
||||
});
|
||||
if (datas == "") {
|
||||
showAlert('d', '请先选择记录', 'mainAlertdiv2');
|
||||
} 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 + '/report/rptSpSet/dodeletes.do', {ids: datas}, function (data) {
|
||||
var datastr = eval('(' + data + ')');
|
||||
if (datastr.code == 1) {
|
||||
$("#tableSp").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv2');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">修改</h3>
|
||||
|
||||
<div class="box-tools pull-right">
|
||||
<a onclick="dosave()" class="btn btn-box-tool" data-toggle="tooltip" title="保存"><i
|
||||
class="glyphicon glyphicon-floppy-disk"></i></a>
|
||||
<a onclick="dodel()" class="btn btn-box-tool" data-toggle="tooltip" title="删除"><i
|
||||
class="glyphicon glyphicon-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-header -->
|
||||
<div class="box-body ">
|
||||
<form class="form-horizontal " id="subForm">
|
||||
<input id="id" name="id" type="hidden" value="${rptInfoSet.id}"/>
|
||||
<input id="unitId" name="unitId" type="hidden" value="${rptInfoSet.unitId}"/>
|
||||
<input type="hidden" id="type" name="type" value="${TYPE_CATALOGUE}">
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<div id="menu4SelectDiv"></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="name" name="name" placeholder="报表名称"
|
||||
value="${rptInfoSet.name }" autocomplete="off">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">上级菜单</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="pname" name="pname" placeholder="上级菜单"
|
||||
onclick="showMenu4SelectFun()" value="${pname}" readonly>
|
||||
<input id="pid" name="pid" type="hidden" value="${rptInfoSet.pid}"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="number" class="form-control" id="morder" name="morder" placeholder="顺序"
|
||||
value="${rptInfoSet.morder }" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
316
WebRoot/jsp/report/rptInfoSetSheetList.jsp
Normal file
316
WebRoot/jsp/report/rptInfoSetSheetList.jsp
Normal file
@ -0,0 +1,316 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
|
||||
<!-- 拖拽排序-->
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/jquery.tablednd.js"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript"
|
||||
src="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js"
|
||||
charset="utf-8"></script>
|
||||
<link rel="stylesheet"
|
||||
href="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css"/>
|
||||
|
||||
<%@page import="com.sipai.entity.scada.MPoint" %>
|
||||
<% request.setAttribute("Flag_Type_KPI", MPoint.Flag_Type_KPI);%>
|
||||
<% request.setAttribute("Flag_Type_Hand", MPoint.Flag_Type_Hand);%>
|
||||
<% request.setAttribute("Flag_Type_Data", MPoint.Flag_Type_Data);%>
|
||||
|
||||
<%@ page import="com.sipai.entity.report.RptMpSet" %>
|
||||
<% request.setAttribute("RptMpSetRog", RptMpSet.rog);%>
|
||||
<% request.setAttribute("RptMpSetDt", RptMpSet.dt);%>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.div-row {
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.div-border {
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.right-border {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.top-right-border {
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.top-border {
|
||||
border-top: none;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var initFun = function () {
|
||||
$('#table22').bootstrapTable('destroy');
|
||||
$("#table22").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptInfoSet/getSheetAll.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
// paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
id: '${param.id}'
|
||||
}
|
||||
},
|
||||
sortName: 'morder', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
width: '40px'
|
||||
},
|
||||
{
|
||||
field: '1', // 返回json数据中的name
|
||||
title: 'sheet名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '100%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.sheetName;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("table22");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
//当拖拽结束后,整个表格的数据
|
||||
onReorderRow: function (newData) {
|
||||
//这里的newData是整个表格数据,数组形式
|
||||
var array = [];
|
||||
for (let i = 0; i < newData.length; i++) {
|
||||
let data = {id: newData[i].id, morder: newData[i].morder};
|
||||
array.push(data)
|
||||
}
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosort.do', {jsondata: JSON.stringify(array)},
|
||||
/*function (data) {
|
||||
if (data == 1) {
|
||||
//$("#table").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '数据错误', 'mainAlertdiv');
|
||||
}
|
||||
}*/
|
||||
);
|
||||
}
|
||||
});
|
||||
$("#table22").tableDnD();
|
||||
}
|
||||
|
||||
//新增合并点
|
||||
function doAddMp() {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/doadd.do', {spId: '${param.spId}'}, function (data) {
|
||||
$("#subDivMpoint").html(data);
|
||||
openModal('subModalMp');
|
||||
});
|
||||
}
|
||||
|
||||
//编辑合并点
|
||||
function editFunMp(id, unitId) {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/doedit.do', {id: id}, function (data) {
|
||||
$("#subDivMpoint").html(data);
|
||||
openModal('subModalMp');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//弹出选择测量点页面--SIPAIIS_WMSD通用选择测量点方法
|
||||
function doImportMp() {
|
||||
var checkedItems = $("#table22").bootstrapTable('getSelections');
|
||||
var datas = "";
|
||||
$.each(checkedItems, function (index, item) {
|
||||
datas += item.sheetName + ",";
|
||||
});
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/dosave4Sheet.do', {
|
||||
names: datas,
|
||||
rptInfoSetId: '${param.id}'
|
||||
}, function (data) {
|
||||
closeModal('subModalSheet')
|
||||
$("#sheetTable").bootstrapTable('refresh');
|
||||
});
|
||||
}
|
||||
|
||||
//选择点位
|
||||
function choiceMeasurePointsMpList(datas) {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosaveMp.do', {ids: datas, id: '${param.spId}'}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table22").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '导入失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
//插入横杠
|
||||
function doRodMp() {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosaveRod.do', {id: '${param.spId}'}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table22").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '新增成功', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
//插入日期
|
||||
function doDtMp() {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosaveDt.do', {id: '${param.spId}'}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table22").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '新增成功', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
//删除
|
||||
function doDeletesMp() {
|
||||
var checkedItems = $("#table22").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 + '/report/rptMpSet/dodeletes.do', {
|
||||
ids: datas,
|
||||
rptMpSetId: '${param.spId}'
|
||||
}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#table22").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var doDeleteMp = 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 + '/report/rptMpSet/dodelete.do', {
|
||||
id: id,
|
||||
rptMpSetId: '${param.spId}'
|
||||
}, function (data) {
|
||||
if (data.code == 1) {
|
||||
$("#table22").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var doPrompt = function () {
|
||||
//alert('可拖拽排序');
|
||||
layer.msg("可拖拽排序!");
|
||||
}
|
||||
|
||||
$(function () {
|
||||
initFun();
|
||||
})
|
||||
</script>
|
||||
<div class="modal fade" id="subModalSheet">
|
||||
<div class="modal-dialog" style="width:1000px">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h3 class="box-title">关联测量点列表</h3>
|
||||
</div>
|
||||
<div class="btn-group" style="width: 500px;padding-top:10px;">
|
||||
<button type="button" class="btn btn-default" onclick="doImportMp();"><i class="fa fa-plus"></i>
|
||||
保存
|
||||
</button>
|
||||
</div>
|
||||
<div class="box-body ">
|
||||
<table id="table22" style="table-layout:fixed;" data-use-row-attr-func="true"
|
||||
data-reorderable-rows="true">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
241
WebRoot/jsp/report/rptInfoSetTree.jsp
Normal file
241
WebRoot/jsp/report/rptInfoSetTree.jsp
Normal file
@ -0,0 +1,241 @@
|
||||
<%@ 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.report.RptInfoSet" %>
|
||||
<%request.setAttribute("TYPE_CATALOGUE", RptInfoSet.TYPE_CATALOGUE);%>
|
||||
<%request.setAttribute("TYPE_SETTING", RptInfoSet.TYPE_SETTING);%>
|
||||
<% request.setAttribute("RptType_Day", RptInfoSet.RptType_Day); %>
|
||||
<% request.setAttribute("RptType_Week", RptInfoSet.RptType_Week); %>
|
||||
<% request.setAttribute("RptType_Tenday", RptInfoSet.RptType_Tenday); %>
|
||||
<% request.setAttribute("RptType_Month", RptInfoSet.RptType_Month); %>
|
||||
<% request.setAttribute("RptType_Quarterly", RptInfoSet.RptType_Quarterly); %>
|
||||
<% request.setAttribute("RptType_Year", RptInfoSet.RptType_Year); %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<!-- <html lang="zh-CN"> -->
|
||||
<!-- BEGIN HEAD -->
|
||||
|
||||
<head>
|
||||
<title><%= ServerObject.atttable.get("TOPTITLE")%>
|
||||
</title>
|
||||
<!-- 引用页头及CSS页-->
|
||||
<jsp:include page="/jsp/inc.jsp"></jsp:include>
|
||||
|
||||
<!-- Ionicons -->
|
||||
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/ionicons/css/ionicons.min.css"/>
|
||||
<!-- 文件上传-->
|
||||
<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>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
var addFun = function () {
|
||||
var node = $('#tree').treeview('getSelected');
|
||||
var pid = "";
|
||||
if (node != null && node.length > 0) {
|
||||
pid = node[0].id;
|
||||
} else {
|
||||
pid = "-1";
|
||||
}
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/doadd.do', {unitId: unitId, pid: pid}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
var addFunSimple = function () {
|
||||
var node = $('#tree').treeview('getSelected');
|
||||
var pid = "";
|
||||
if (node != null && node.length > 0) {
|
||||
pid = node[0].id;
|
||||
} else {
|
||||
pid = "-1";
|
||||
}
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/doaddSimple.do', {unitId: unitId, pid: pid}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var editFun = function (id) {
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/doedit.do', {id: id}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
};
|
||||
|
||||
var deleteFun = function (id) {
|
||||
swal({
|
||||
text: "您确定要删除此记录?",
|
||||
dangerMode: true,
|
||||
buttons: {
|
||||
cancel: {
|
||||
text: "取消",
|
||||
value: null,
|
||||
visible: true,
|
||||
className: "btn btn-default btn-sm",
|
||||
closeModal: true,
|
||||
},
|
||||
confirm: {
|
||||
text: "确定",
|
||||
value: true,
|
||||
visible: true,
|
||||
className: "btn btn-danger btn-sm",
|
||||
closeModal: true
|
||||
}
|
||||
}
|
||||
})
|
||||
.then(function (willDelete) {
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/work/group/delete.do', {id: id}, function (data) {
|
||||
if (data == 1) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} 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 + '/work/group/deletes.do', {ids: datas}, function (data) {
|
||||
if (data > 0) {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var initTreeView = function () {
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/getTree.do', {unitId: unitId}, function (data) {
|
||||
$('#tree').treeview({data: data});
|
||||
$('#tree').on('nodeSelected', function (event, data) {
|
||||
nodeid = data.id;
|
||||
if (data.type != 'unitId') {
|
||||
if (data.type == '${TYPE_CATALOGUE}') {
|
||||
//目录
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/doeditSimple.do', {id: nodeid}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
} else {
|
||||
//报表
|
||||
$.post(ext.contextPath + '/report/rptInfoSet/doedit.do', {id: nodeid}, function (data) {
|
||||
$("#menuBox").html(data);
|
||||
});
|
||||
}
|
||||
}else{
|
||||
$("#menuBox").html("");
|
||||
}
|
||||
});
|
||||
}, 'json');
|
||||
$("#menuBox").html("");
|
||||
};
|
||||
|
||||
$(function () {
|
||||
initTreeView();
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<div class="content-wrapper">
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div id="subDivSp"></div>
|
||||
<div id="subDivSheet"></div>
|
||||
<div id="subDivMpList"></div>
|
||||
<div id="subDivMp"></div>
|
||||
<div id="subDivMpoint"></div>
|
||||
<div id="subDivMpointList"></div>
|
||||
<div id="subDivMpointListIds"></div>
|
||||
<div id="fileInputDiv"></div>
|
||||
<div id="user4SelectDiv"></div>
|
||||
|
||||
<%--用于排序预览--%>
|
||||
<%--<div id="subDivMpListMorder"></div>--%>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="box box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">报表设置</h3>
|
||||
|
||||
<div class="box-tools">
|
||||
|
||||
<button type="buttonB" class="btn btn-box-tool" onclick="addFunSimple();">
|
||||
<i class="fa fa-plus"></i> 目录
|
||||
</button>
|
||||
|
||||
<button type="buttonB" class="btn btn-box-tool" onclick="addFun();">
|
||||
<i class="fa fa-plus"></i> 报表
|
||||
</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body no-padding">
|
||||
<div id="tree" style="height:700px;overflow:auto;"></div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-9" id="menuBox">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
154
WebRoot/jsp/report/rptMpSetAdd.jsp
Normal file
154
WebRoot/jsp/report/rptMpSetAdd.jsp
Normal file
@ -0,0 +1,154 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<% request.setAttribute("Horizontal", RptSpSet.RptSpSet_Writermode_Horizontal); %>
|
||||
<% request.setAttribute("Vertical", RptSpSet.RptSpSet_Writermode_Vertical); %>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosaveSp() {
|
||||
$("#subFormMp").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subFormMp").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptMpSet/dosave.do", $("#subFormMp").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalMp')
|
||||
$("#tableMp").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
//弹出选择测量点页面
|
||||
function doImportMp_2() {
|
||||
var mpid = '';
|
||||
$.post(ext.contextPath + '/work/mpoint/mpointList4Layer.do', {
|
||||
mpids: mpid,
|
||||
fucname: 'choiceMeasurePointsMpAdd'
|
||||
}, function (data) {
|
||||
$("#subDivMpointListIds").html(data);
|
||||
openModal('subModalMpoint');
|
||||
});
|
||||
}
|
||||
|
||||
//选择点位
|
||||
function choiceMeasurePointsMpAdd(datas) {
|
||||
// datas = datas.substr(0, datas.length - 1);
|
||||
$('#mpid').val(datas);
|
||||
}
|
||||
|
||||
$("#subFormMp").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
mpointcode: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择测量点'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#dataType').select2({minimumResultsForSearch: 10}).val('日数据').trigger('change');
|
||||
$('#collectMode').select2({minimumResultsForSearch: 10}).val('first').trigger('change');
|
||||
|
||||
$.post(ext.contextPath + "/report/rptCollectMode/getRptCollectMode4Select.do", {unitId: unitId}, function (data) {
|
||||
$("#collectMode").empty();
|
||||
var selelct_ = $("#collectMode").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过10个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
//selelct_.val('${rptMpSet.collectMode}').trigger("change");
|
||||
selelct_.on('change', function () {
|
||||
//选择事件
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalMp">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">新增组合点</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subFormMp -->
|
||||
<form class="form-horizontal" id="subFormMp" autocomplete="off">
|
||||
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" class="form-control" name="id" value="${uuId3}">
|
||||
<input type="hidden" class="form-control" name="pid" value="${param.spId}">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*测量点</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" class="form-control" id="mpid" name="mpid" placeholder="测量点"
|
||||
value="${rptSpSet.mpid}"
|
||||
onclick="doImportMp_2();">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*数据类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="dataType" name="dataType" style="width: 170px;">
|
||||
<%--<option value="">请选择</option>--%>
|
||||
<option value="日数据" selected="selected">日数据</option>
|
||||
<option value="月数据">月数据</option>
|
||||
<option value="年数据">年数据</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*采集方式</label>
|
||||
<div class="col-sm-4">
|
||||
<%--<select class="form-control select2" id="collectMode" name="collectMode"
|
||||
style="width: 170px;">
|
||||
<option value="first" selected="selected">first</option>
|
||||
<option value="avg">avg</option>
|
||||
<option value="sum">sum</option>
|
||||
<option value="max">max</option>
|
||||
<option value="diff">diff</option>
|
||||
<option value="runreourdhour">runreourdhour</option>
|
||||
<option value="firstpre30minute">firstpre30minute</option>
|
||||
</select>--%>
|
||||
<select class="form-control select2" id="collectMode" name="collectMode"
|
||||
style="width: 170px;" value="">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</form>
|
||||
</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="dosaveSp()">保存</button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
208
WebRoot/jsp/report/rptMpSetEdit.jsp
Normal file
208
WebRoot/jsp/report/rptMpSetEdit.jsp
Normal file
@ -0,0 +1,208 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosaveMp() {
|
||||
$("#subFormMp").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subFormMp").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptMpSet/doupdate.do", $("#subFormMp").serialize(), function (data) {
|
||||
console.log(data);
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalMp')
|
||||
$("#tableMp").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subFormMp").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
dataType: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择数据类型'
|
||||
}
|
||||
}
|
||||
},
|
||||
collectMode: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择采集方式'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#dataType').select2({minimumResultsForSearch: 10}).val('${rptMpSet.dataType}').trigger('change');
|
||||
//$('#collectMode').select2({minimumResultsForSearch: 10}).val('${rptMpSet.collectMode}').trigger('change');
|
||||
|
||||
//异步去查找上下行
|
||||
$(document).on('input', '#morder', function () {
|
||||
var morder = $("#morder").val();
|
||||
$.post(ext.contextPath + "/report/rptMpSet/selectMorder.do",
|
||||
{
|
||||
id: '${rptMpSet.id}',
|
||||
pid: '${rptMpSet.pid}',
|
||||
unitId: '${rptMpSet.unitId}',
|
||||
morder: morder
|
||||
},
|
||||
function (data) {
|
||||
$('#previous').html(data.previous);
|
||||
$('#next').html(data.next);
|
||||
}, 'json');
|
||||
})
|
||||
|
||||
//排序预览
|
||||
/* function aaa(){
|
||||
$.post(ext.contextPath + '/report/rptMpSet/doMorderView.do', {id: id}, function (data) {
|
||||
$("#subDivMpoint").html(data);
|
||||
openModal('subModalMp');
|
||||
});
|
||||
}*/
|
||||
|
||||
$.post(ext.contextPath + "/report/rptCollectMode/getRptCollectMode4Select.do", {unitId: unitId}, function (data) {
|
||||
$("#collectMode").empty();
|
||||
var selelct_ = $("#collectMode").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 10,//数据超过10个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptMpSet.collectMode}').trigger("change");
|
||||
selelct_.on('change', function () {
|
||||
//选择事件
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalMp">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">修改</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subFormMp -->
|
||||
<form class="form-horizontal" id="subFormMp" autocomplete="off">
|
||||
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" class="form-control" name="id" value="${rptMpSet.id}">
|
||||
<input type="hidden" class="form-control" name="pid" value="${rptMpSet.pid}">
|
||||
<%--<input type="hidden" class="form-control" name="morder" value="${rptMpSet.morder}">--%>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">变量名</label>
|
||||
<div class="col-sm-10">
|
||||
<c:if test="${rptMpSet.mPoint!=null && rptMpSet.mPoint!=''}">
|
||||
<p class="form-control-static">${rptMpSet.mPoint.mpointcode}</p>
|
||||
</c:if>
|
||||
<c:if test="${rptMpSet.mPoint==null || rptMpSet.mPoint==''}">
|
||||
<p class="form-control-static">${rptMpSet.mpid}</p>
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">变量描述</label>
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">${rptMpSet.mPoint.parmname}</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">${rptMpSet.mPoint.unit}</p>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">数据来源</label>
|
||||
<div class="col-sm-4">
|
||||
<p class="form-control-static">${rptMpSet.mPoint.sourceType}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*数据类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="dataType" name="dataType" style="width: 170px;">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="日数据">日数据</option>
|
||||
<option value="月数据">月数据</option>
|
||||
<option value="年数据">年数据</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*采集方式</label>
|
||||
<div class="col-sm-4">
|
||||
<%--<select class="form-control select2" id="collectMode" name="collectMode"
|
||||
style="width: 170px;">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="first">first</option>
|
||||
<option value="avg">avg</option>
|
||||
<option value="sum">sum</option>
|
||||
<option value="max">max</option>
|
||||
<option value="diff">diff</option>
|
||||
<option value="runreourdhour">runreourdhour</option>
|
||||
<option value="firstpre30minute">firstpre30minute</option>
|
||||
</select>--%>
|
||||
|
||||
<select class="form-control select2" id="collectMode" name="collectMode"
|
||||
style="width: 170px;" value="">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">顺序</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="number" class="form-control" style="width: 170px;" id="morder" name="morder"
|
||||
value="${rptMpSet.morder}">
|
||||
</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="previous"></p>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">后一行</label>
|
||||
<div class="col-sm-4">
|
||||
<p class="form-control-static" id="next"></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</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="dosaveMp()">保存</button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
454
WebRoot/jsp/report/rptMpSetList.jsp
Normal file
454
WebRoot/jsp/report/rptMpSetList.jsp
Normal file
@ -0,0 +1,454 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
|
||||
<!-- 拖拽排序-->
|
||||
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-table/jquery.tablednd.js"
|
||||
charset="utf-8"></script>
|
||||
<script type="text/javascript"
|
||||
src="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.js"
|
||||
charset="utf-8"></script>
|
||||
<link rel="stylesheet"
|
||||
href="<%=request.getContextPath()%>/plugins/bootstrap-table/extensions/reorder-rows/bootstrap-table-reorder-rows.css"/>
|
||||
|
||||
<%@page import="com.sipai.entity.scada.MPoint" %>
|
||||
<% request.setAttribute("Flag_Type_KPI", MPoint.Flag_Type_KPI);%>
|
||||
<% request.setAttribute("Flag_Type_Hand", MPoint.Flag_Type_Hand);%>
|
||||
<% request.setAttribute("Flag_Type_Data", MPoint.Flag_Type_Data);%>
|
||||
|
||||
<%@ page import="com.sipai.entity.report.RptMpSet" %>
|
||||
<% request.setAttribute("RptMpSetRog", RptMpSet.rog);%>
|
||||
<% request.setAttribute("RptMpSetDt", RptMpSet.dt);%>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single {
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
|
||||
.select2-selection__arrow {
|
||||
margin-top: 3px;
|
||||
}
|
||||
|
||||
.div-row {
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
.div-border {
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.right-border {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.top-right-border {
|
||||
border-top: none;
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.top-border {
|
||||
border-top: none;
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var initFun = function () {
|
||||
$('#tableMp').bootstrapTable('destroy');
|
||||
$("#tableMp").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/rptMpSet/getList.do', // 获取表格数据的url
|
||||
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
|
||||
striped: true, //表格显示条纹,默认为false
|
||||
pagination: true, // 在表格底部显示分页组件,默认false
|
||||
pageList: [10], // 设置页面可以显示的数据条数
|
||||
pageSize: 10, // 页面数据条数
|
||||
pageNumber: 1, // 首页页码
|
||||
// paginationDetailHAlign: ' hidden',//去除分页的显示
|
||||
sidePagination: 'server', // 设置为服务器端分页
|
||||
queryParams: function (params) { // 请求服务器数据时发送的参数,可以在这里添加额外的查询参数,返回false则终止请求
|
||||
return {
|
||||
rows: params.limit, // 每页要显示的数据条数
|
||||
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
|
||||
sort: params.sort, // 要排序的字段
|
||||
order: params.order,
|
||||
id: '${param.spId}',
|
||||
unitId: unitId
|
||||
}
|
||||
},
|
||||
sortName: 'morder', // 要排序的字段
|
||||
sortOrder: 'asc', // 排序规则
|
||||
|
||||
columns: [
|
||||
{
|
||||
field: '1',
|
||||
title: '拖动', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle',
|
||||
width: '50px',
|
||||
formatter: function (value, row, index) {
|
||||
//pointer-events:none; 为标签失去鼠标事件
|
||||
return '<i class="fa fa-bars" style="color:#C0C0C0;pointer-events:none;" ></i>';
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
width: '40px'
|
||||
},
|
||||
{
|
||||
field: '2', // 返回json数据中的name
|
||||
title: '变量名', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '24%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.mPoint != null && row.mPoint != '') {
|
||||
return "<span style='display: block;user-select: none;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;pointer-events:none;' title='" + row.mPoint.mpointcode + "'>" + row.mPoint.mpointcode + "</span>";
|
||||
} else {
|
||||
if (row.mpid == '${RptMpSetRog}') {
|
||||
return "<hr style='height:1px;width:30px;border:none;border-top:3px solid #555555;pointer-events:none;margin-top:0px;margin-bottom:0px;' />";
|
||||
} else if (row.mpid == '${RptMpSetDt}') {
|
||||
return "日期";
|
||||
} else {
|
||||
return "<span style='display: block;user-select: none;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;pointer-events:none;' >" + row.mpid + "</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: '3', // 返回json数据中的name
|
||||
title: '变量描述', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '25%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.mPoint != null && row.mPoint != '') {
|
||||
return "<span style='display: block;user-select: none;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;pointer-events:none;' title='" + row.mPoint.parmname + "'>" + row.mPoint.parmname + "</span>";
|
||||
} else {
|
||||
if (row.mpid == '${RptMpSetRog}') {
|
||||
return "<hr style='height:1px;width:30px;border:none;border-top:3px solid #555555;pointer-events:none;margin-top:0px;margin-bottom:0px;' />";
|
||||
} else if (row.mpid == '${RptMpSetDt}') {
|
||||
return "date";
|
||||
} else {
|
||||
return "<span style='display: block;user-select: none;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;pointer-events:none;' >" + "组合点" + "</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: '4', // 返回json数据中的name
|
||||
title: '单位', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '6%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.mPoint != null && row.mPoint != '') {
|
||||
return row.mPoint.unit;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: '5', // 返回json数据中的name
|
||||
title: '数据来源', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '9%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.mPoint != null && row.mPoint != '') {
|
||||
if (row.mPoint.type == '${Flag_Type_KPI}') {
|
||||
return '计算点';
|
||||
}
|
||||
if (row.mPoint.type == '${Flag_Type_Hand}') {
|
||||
return '手工点';
|
||||
}
|
||||
if (row.mPoint.type == '${Flag_Type_Data}') {
|
||||
return '采集点';
|
||||
}
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: '6', // 返回json数据中的name
|
||||
title: '数据类型', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '9%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.dataType;
|
||||
}
|
||||
}, {
|
||||
field: '7', // 返回json数据中的name
|
||||
title: '采集方式', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '9%',
|
||||
formatter: function (value, row, index) {
|
||||
if (row.rptCollectMode != null && row.rptCollectMode != '') {
|
||||
return row.rptCollectMode.content;
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: '8', // 返回json数据中的name
|
||||
title: '顺序', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle', // 上下居中
|
||||
width: '6%',
|
||||
formatter: function (value, row, index) {
|
||||
return row.morder;
|
||||
}
|
||||
},
|
||||
{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: '12%',
|
||||
formatter: function (value, row, index) {
|
||||
var buts = '';
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="editFunMp(\'' + row.id + '\',\'' + row.unitId + '\')" data-toggle="tooltip" title="编辑"><i class="fa fa-edit "></i><span class="hidden-md hidden-lg"> 编辑</span></button>';
|
||||
buts += '<button class="btn btn-default btn-sm" onclick="doDeleteMp(\'' + row.id + '\')" data-toggle="tooltip" title="删除"><i class="fa fa-trash-o "></i><span class="hidden-md hidden-lg"> 删除</span></button>';
|
||||
buts = '<div class = "btn-group">' + buts + '</div>';
|
||||
return buts;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function () { //加载成功时执行
|
||||
adjustBootstrapTableView("tableMp");
|
||||
},
|
||||
onLoadError: function () { //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
},
|
||||
//当拖拽结束后,整个表格的数据
|
||||
onReorderRow: function (newData) {
|
||||
//这里的newData是整个表格数据,数组形式
|
||||
var array = [];
|
||||
for (let i = 0; i < newData.length; i++) {
|
||||
let data = {id: newData[i].id, morder: newData[i].morder};
|
||||
array.push(data)
|
||||
}
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosort.do', {jsondata: JSON.stringify(array)},
|
||||
/*function (data) {
|
||||
if (data == 1) {
|
||||
//$("#table").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '数据错误', 'mainAlertdiv');
|
||||
}
|
||||
}*/
|
||||
);
|
||||
}
|
||||
});
|
||||
$("#tableMp").tableDnD();
|
||||
}
|
||||
|
||||
//新增合并点
|
||||
function doAddMp() {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/doadd.do', {spId: '${param.spId}'}, function (data) {
|
||||
$("#subDivMpoint").html(data);
|
||||
openModal('subModalMp');
|
||||
});
|
||||
}
|
||||
|
||||
//编辑合并点
|
||||
function editFunMp(id, unitId) {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/doedit.do', {id: id}, function (data) {
|
||||
$("#subDivMpoint").html(data);
|
||||
openModal('subModalMp');
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//弹出选择测量点页面--SIPAIIS_WMSD通用选择测量点方法
|
||||
function doImportMp() {
|
||||
var allTableData = $("#tableMp").bootstrapTable('getData');
|
||||
var mpids = "";
|
||||
$.each(allTableData, function (index, item) {
|
||||
if (mpids != "") {
|
||||
mpids += ",";
|
||||
}
|
||||
mpids += item.mpid;
|
||||
})
|
||||
$.post(ext.contextPath + '/work/mpoint/mpointList4Layer.do', {
|
||||
// mpids: mpids,
|
||||
mpids: '',
|
||||
fucname: 'choiceMeasurePointsMpList'
|
||||
}, function (data) {
|
||||
$("#subDivMpointList").html(data);
|
||||
openModal('subModalMpoint');
|
||||
});
|
||||
}
|
||||
|
||||
//选择点位
|
||||
function choiceMeasurePointsMpList(datas) {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosaveMp.do', {ids: datas, id: '${param.spId}'}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#tableMp").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '导入失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
//插入横杠
|
||||
function doRodMp() {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosaveRod.do', {id: '${param.spId}'}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#tableMp").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '新增成功', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
//插入日期
|
||||
function doDtMp() {
|
||||
$.post(ext.contextPath + '/report/rptMpSet/dosaveDt.do', {id: '${param.spId}'}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#tableMp").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '新增成功', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
//删除
|
||||
function doDeletesMp() {
|
||||
var checkedItems = $("#tableMp").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 + '/report/rptMpSet/dodeletes.do', {
|
||||
ids: datas,
|
||||
rptMpSetId: '${param.spId}'
|
||||
}, function (data) {
|
||||
if (data.code > 0) {
|
||||
$("#tableMp").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var doDeleteMp = 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 + '/report/rptMpSet/dodelete.do', {
|
||||
id: id,
|
||||
rptMpSetId: '${param.spId}'
|
||||
}, function (data) {
|
||||
if (data.code == 1) {
|
||||
$("#tableMp").bootstrapTable('refresh');
|
||||
} else {
|
||||
showAlert('d', '删除失败', 'mainAlertdiv');
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var doPrompt = function () {
|
||||
//alert('可拖拽排序');
|
||||
layer.msg("可拖拽排序!");
|
||||
}
|
||||
|
||||
$(function () {
|
||||
initFun();
|
||||
})
|
||||
</script>
|
||||
<div class="modal fade" id="subModalMpList">
|
||||
<div class="modal-dialog" style="width:1000px">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h3 class="box-title">关联测量点列表</h3>
|
||||
</div>
|
||||
<div class="btn-group" style="width: 500px;padding-top:10px;">
|
||||
<button type="button" class="btn btn-default" onclick="doImportMp();"><i class="fa fa-plus"></i>
|
||||
导入
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" onclick="doRodMp();"><i
|
||||
class="fa fa-long-arrow-right"></i>
|
||||
插入横杠
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" onclick="doDtMp();"><i
|
||||
class="fa fa-plus"></i>
|
||||
插入日期
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" onclick="doAddMp();"><i class="fa fa-plus"></i>
|
||||
组合点
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" onclick="doDeletesMp();"><i
|
||||
class="fa fa-trash-o"></i>
|
||||
删除
|
||||
</button>
|
||||
<%--<button type="button" class="btn btn-default" data-toggle="modal" data-target="#myModal"
|
||||
onclick="doPrompt();"><i class="fa fa-question-circle"></i>
|
||||
</button>--%>
|
||||
</div>
|
||||
<div class="box-body ">
|
||||
<table id="tableMp" style="table-layout:fixed;" data-use-row-attr-func="true"
|
||||
data-reorderable-rows="true">
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
1
WebRoot/jsp/report/rptOnlineExcel.jsp
Normal file
1
WebRoot/jsp/report/rptOnlineExcel.jsp
Normal file
@ -0,0 +1 @@
|
||||
<iframe src="ext.contextPath + '/report/rptCreate/onlineExcel.do&id=f6c5ee4d373c42ec8254551273d353cb&sheetName:泵房运行操作记录(3系统)表零" width="200" height="200"></iframe>
|
||||
256
WebRoot/jsp/report/rptSpSetAdd.jsp
Normal file
256
WebRoot/jsp/report/rptSpSetAdd.jsp
Normal file
@ -0,0 +1,256 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<% request.setAttribute("Horizontal", RptSpSet.RptSpSet_Writermode_Horizontal); %>
|
||||
<% request.setAttribute("Vertical", RptSpSet.RptSpSet_Writermode_Vertical); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Cal", RptSpSet.RptSpSet_Type_Cal); %>
|
||||
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<% request.setAttribute("RptType_Day", RptInfoSet.RptType_Day); %>
|
||||
<% request.setAttribute("RptType_Week", RptInfoSet.RptType_Week); %>
|
||||
<% request.setAttribute("RptType_Tenday", RptInfoSet.RptType_Tenday); %>
|
||||
<% request.setAttribute("RptType_Month", RptInfoSet.RptType_Month); %>
|
||||
<% request.setAttribute("RptType_Quarterly", RptInfoSet.RptType_Quarterly); %>
|
||||
<% request.setAttribute("RptType_HalfYear", RptInfoSet.RptType_HalfYear); %>
|
||||
<% request.setAttribute("RptType_Year", RptInfoSet.RptType_Year); %>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosaveSp() {
|
||||
//提交前移除只读属性,否则无法传值
|
||||
$("#spname").removeAttr("disabled");
|
||||
$("#subFormSp").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subFormSp").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptSpSet/dosave.do", $("#subFormSp").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalSp')
|
||||
$("#tableSp").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subFormSp").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
spname: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择报表类型'
|
||||
}
|
||||
}
|
||||
},
|
||||
sheetName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择sheet'
|
||||
}
|
||||
}
|
||||
},
|
||||
posx: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格X不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
posy: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格y不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
writermode: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择插入方式'
|
||||
}
|
||||
}
|
||||
},
|
||||
intv: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '时间间隔不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
//posx
|
||||
}
|
||||
});
|
||||
|
||||
//插入方式
|
||||
$("#writermode").select2({minimumResultsForSearch: 10});
|
||||
//spname
|
||||
//$("#spname").select2({minimumResultsForSearch: 10});
|
||||
$('#spname').select2({minimumResultsForSearch: 10}).val('${param.rpttype}').trigger('change');
|
||||
|
||||
//项目类型下拉数据
|
||||
var pid = '${param.pid}';
|
||||
var selectType = $("#sheetName").select2({minimumResultsForSearch: 10});
|
||||
$.post(ext.contextPath + "/report/rptSpSet/getSheet.do", {id: pid}, function (data) {
|
||||
$("#sheetName").empty();
|
||||
var selelct_ = $("#sheetName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#sheet').val(e.target.value);
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalSp">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">新增</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subFormSp -->
|
||||
<form class="form-horizontal" id="subFormSp" autocomplete="off">
|
||||
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" class="form-control" name="id" value="${uuId2}">
|
||||
<input type="hidden" class="form-control" name="pid" value="${param.pid}">
|
||||
<input type="hidden" class="form-control" name="unitId" value="${param.unitId}">
|
||||
<%--报表类型--%>
|
||||
<input type="hidden" class="form-control" name="type" value="${RptSpSet_Type_Cal}">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*报表类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="spname" name="spname" style="width: 170px;"
|
||||
disabled="disabled">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="${RptType_Day}" selected>日报</option>
|
||||
<option value="${RptType_Week}">周报</option>
|
||||
<option value="${RptType_Tenday}">旬报</option>
|
||||
<option value="${RptType_Month}">月报</option>
|
||||
<option value="${RptType_Quarterly}">季报</option>
|
||||
<option value="${RptType_HalfYear}">半年报</option>
|
||||
<option value="${RptType_Year}">年报</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*Sheet名</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="sheetName" name="sheetName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="sheet" name="sheet" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*起始格X</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posx" name="posx" placeholder="格式为ABC等"
|
||||
value="${rptSpSet.posx}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*起始格Y</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posy" name="posy" placeholder="格式为123等"
|
||||
value="${rptSpSet.posy}">
|
||||
</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="rownum" name="rownum" placeholder="行数"
|
||||
value="0">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">列数</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="colnum" name="colnum" placeholder="列数"
|
||||
value="0">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*插入方式</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="writermode" name="writermode"
|
||||
style="width: 170px;">
|
||||
<option value="${Horizontal}" selected="selected">横向</option>
|
||||
<option value="${Vertical}">纵向</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*时间间隔(小时)</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="intv" name="intv" placeholder="时间间隔" value="1">
|
||||
</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="starthour" name="starthour" placeholder="日开始时间"
|
||||
value="0">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*结束时间</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="endhour" name="endhour" 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="rptsdt" name="rptsdt" placeholder="开始日期"
|
||||
value="1">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*结束日期</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="rptedt" name="rptedt" placeholder="结束日期"
|
||||
value="-">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*是否启用</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="active" name="active"
|
||||
style="width: 170px; border-radius: 4px; border-color: #B5B5B5;">
|
||||
<option value="启用" selected="selected">启用</option>
|
||||
<option value="禁用">禁用</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</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="dosaveSp()">保存</button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
279
WebRoot/jsp/report/rptSpSetAddOther.jsp
Normal file
279
WebRoot/jsp/report/rptSpSetAddOther.jsp
Normal file
@ -0,0 +1,279 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<% request.setAttribute("Horizontal", RptSpSet.RptSpSet_Writermode_Horizontal); %>
|
||||
<% request.setAttribute("Vertical", RptSpSet.RptSpSet_Writermode_Vertical); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Insuser", RptSpSet.RptSpSet_Type_Insuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Confirm", RptSpSet.RptSpSet_Type_Confirm); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Checkuser", RptSpSet.RptSpSet_Type_Checkuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Rptdt", RptSpSet.RptSpSet_Type_Rptdt); %>
|
||||
<% request.setAttribute("RptSpSet_Type_BanZhang", RptSpSet.RptSpSet_Type_BanZhang); %>
|
||||
<% request.setAttribute("RptSpSet_Type_ZuYuan", RptSpSet.RptSpSet_Type_ZuYuan); %>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosaveSp() {
|
||||
$('#type').val($('#spname').val());
|
||||
$("#subFormSp").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subFormSp").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptSpSet/dosave.do", $("#subFormSp").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalSp')
|
||||
$("#tableSp").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subFormSp").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
spname: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择单元格内容'
|
||||
}
|
||||
}
|
||||
},
|
||||
sheetName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择sheet'
|
||||
}
|
||||
}
|
||||
},
|
||||
posx: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格X不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
posy: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格y不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
/*,
|
||||
grouptypeId: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择插入方式'
|
||||
}
|
||||
}
|
||||
},
|
||||
intv: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '时间间隔不能为空'
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
});
|
||||
|
||||
//sheet名下拉数据
|
||||
var pid = '${param.pid}';
|
||||
var selectType = $("#sheetName").select2({minimumResultsForSearch: 10});
|
||||
$.post(ext.contextPath + "/report/rptSpSet/getSheet.do", {id: pid}, function (data) {
|
||||
$("#sheetName").empty();
|
||||
var selelct_ = $("#sheetName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptSpSet.sheet}').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#sheet').val(e.target.value);
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
//班组下拉
|
||||
$.post(ext.contextPath + "/work/groupType/getGroupTypeTree.do", {}, function (data) {
|
||||
$("#grouptypeName").empty();
|
||||
var selelct_ = $("#grouptypeName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptSpSet.grouptypeId}').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#grouptypeId').val(e.target.value);
|
||||
|
||||
//将班组置空
|
||||
$('#grouptimeName').html('');
|
||||
$('#grouptimeId').val('');
|
||||
bz();
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
function bz() {
|
||||
//班组下拉
|
||||
$.post(ext.contextPath + "/work/groupTime/getlistForSelect2.do", {
|
||||
unitId: unitId,
|
||||
grouptype: $("#grouptypeId").val()
|
||||
}, function (data) {
|
||||
$("#grouptimeName").empty();
|
||||
var selelct_ = $("#grouptimeName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptSpSet.grouptimeId}').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#grouptimeId').val(e.target.value);
|
||||
})
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
bz();
|
||||
|
||||
$('#spname').select2({minimumResultsForSearch: 10}).val('${rptSpSet.spname}').trigger('change');
|
||||
$('#intv').select2({minimumResultsForSearch: 10}).val('${rptSpSet.intv}').trigger('change');
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalSp">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">新增</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subFormSp -->
|
||||
<form class="form-horizontal" id="subFormSp" autocomplete="off">
|
||||
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" class="form-control" name="id" value="${uuId2}">
|
||||
<input type="hidden" class="form-control" name="pid" value="${param.pid}">
|
||||
<input type="hidden" class="form-control" name="unitId" value="${param.unitId}">
|
||||
<%--报表类型--%>
|
||||
<input type="hidden" class="form-control" name="type" id="type" value="">
|
||||
|
||||
<input type="hidden" class="form-control" name="rownum" id="rownum" value="0">
|
||||
<input type="hidden" class="form-control" name="colnum" id="colnum" value="0">
|
||||
<input type="hidden" class="form-control" name="starthour" id="starthour" value="0">
|
||||
<input type="hidden" class="form-control" name="endhour" id="endhour" value="0">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*单元格内容</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="spname" name="spname" style="width: 170px;">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="${RptSpSet_Type_Rptdt}">日期</option>
|
||||
<option value="${RptSpSet_Type_Confirm}">接班人</option>
|
||||
<option value="${RptSpSet_Type_BanZhang}">值班班长</option>
|
||||
<option value="${RptSpSet_Type_ZuYuan}">值班组员</option>
|
||||
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*Sheet名</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="sheetName" name="sheetName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="sheet" name="sheet"
|
||||
value="${rptSpSet.sheet}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*起始格X</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posx" name="posx" placeholder="单元格X值"
|
||||
value="${rptSpSet.posx}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*起始格Y</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posy" name="posy" placeholder="单元格Y值"
|
||||
value="${rptSpSet.posy}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">班组类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="grouptypeName" name="grouptypeName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="grouptypeId" name="grouptypeId"
|
||||
value="${rptSpSet.grouptypeId}"/>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">班次类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="grouptimeName" name="grouptimeName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="grouptimeId" name="grouptimeId"
|
||||
value="${rptSpSet.grouptimeId}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">是否跨天</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="intv" name="intv" style="width: 170px;">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="-1">前一天</option>
|
||||
<option value="0">当天</option>
|
||||
<option value="1">后一天</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</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="dosaveSp()">保存</button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
266
WebRoot/jsp/report/rptSpSetEdit.jsp
Normal file
266
WebRoot/jsp/report/rptSpSetEdit.jsp
Normal file
@ -0,0 +1,266 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<% request.setAttribute("Horizontal", RptSpSet.RptSpSet_Writermode_Horizontal); %>
|
||||
<% request.setAttribute("Vertical", RptSpSet.RptSpSet_Writermode_Vertical); %>
|
||||
|
||||
<%@page import="com.sipai.entity.report.RptInfoSet" %>
|
||||
<% request.setAttribute("RptType_Day", RptInfoSet.RptType_Day); %>
|
||||
<% request.setAttribute("RptType_Week", RptInfoSet.RptType_Week); %>
|
||||
<% request.setAttribute("RptType_Tenday", RptInfoSet.RptType_Tenday); %>
|
||||
<% request.setAttribute("RptType_Month", RptInfoSet.RptType_Month); %>
|
||||
<% request.setAttribute("RptType_Quarterly", RptInfoSet.RptType_Quarterly); %>
|
||||
<% request.setAttribute("RptType_HalfYear", RptInfoSet.RptType_HalfYear); %>
|
||||
<% request.setAttribute("RptType_Year", RptInfoSet.RptType_Year); %>
|
||||
|
||||
<% request.setAttribute("RptSpSet_IntvType_Hour", RptSpSet.RptSpSet_IntvType_Hour); %>
|
||||
<% request.setAttribute("RptSpSet_IntvType_Day", RptSpSet.RptSpSet_IntvType_Day); %>
|
||||
<% request.setAttribute("RptSpSet_IntvType_Month", RptSpSet.RptSpSet_IntvType_Month); %>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosaveSp() {
|
||||
$("#subFormSp").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subFormSp").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptSpSet/doupdate.do", $("#subFormSp").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalSp')
|
||||
$("#tableSp").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subFormSp").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
// spname: {
|
||||
// validators: {
|
||||
// notEmpty: {
|
||||
// message: '请选择报表类型'
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
sheetName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择sheet'
|
||||
}
|
||||
}
|
||||
},
|
||||
posx: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格X不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
posy: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格y不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
writermode: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择插入方式'
|
||||
}
|
||||
}
|
||||
},
|
||||
intv: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '时间间隔不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
//posx
|
||||
}
|
||||
});
|
||||
|
||||
//项目类型下拉数据
|
||||
var pid = '${rptSpSet.pid}';
|
||||
$("#active").select2({minimumResultsForSearch: 10});
|
||||
var selectType = $("#sheetName").select2({minimumResultsForSearch: 10});
|
||||
$.post(ext.contextPath + "/report/rptSpSet/getSheet.do", {id: pid}, function (data) {
|
||||
$("#sheetName").empty();
|
||||
var selelct_ = $("#sheetName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptSpSet.sheet}').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#sheet').val(e.target.value);
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
$('#intvType').select2({minimumResultsForSearch: 10}).val('${rptSpSet.intvType}').trigger('change');
|
||||
$('#writermode').select2({minimumResultsForSearch: 10}).val('${rptSpSet.writermode}').trigger('change');
|
||||
$('#spname').select2({minimumResultsForSearch: 10}).val('${rptSpSet.spname}').trigger('change');
|
||||
$('#active').select2({minimumResultsForSearch: 10}).val('${rptSpSet.active}').trigger('change');
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalSp">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">修改</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subFormSp -->
|
||||
<form class="form-horizontal" id="subFormSp" autocomplete="off">
|
||||
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" class="form-control" name="id" value="${rptSpSet.id}">
|
||||
<input type="hidden" class="form-control" name="pid" value="${rptSpSet.pid}">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">报表类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="spname" name="spname" style="width: 170px;"
|
||||
disabled="disabled">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="${RptType_Day}" selected>日报</option>
|
||||
<option value="${RptType_Week}">周报</option>
|
||||
<option value="${RptType_Tenday}">旬报</option>
|
||||
<option value="${RptType_Month}">月报</option>
|
||||
<option value="${RptType_Quarterly}">季报</option>
|
||||
<option value="${RptType_HalfYear}">半年报</option>
|
||||
<option value="${RptType_Year}">年报</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*Sheet名</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="sheetName" name="sheetName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="sheet" name="sheet"
|
||||
value="${rptSpSet.sheet}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*起始格X</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posx" name="posx" placeholder="单元格X值"
|
||||
value="${rptSpSet.posx}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*起始格Y</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posy" name="posy" placeholder="单元格Y值"
|
||||
value="${rptSpSet.posy}">
|
||||
</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="rownum" name="rownum" placeholder="行数"
|
||||
value="${rptSpSet.rownum}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*列数</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="colnum" name="colnum" placeholder="列数"
|
||||
value="${rptSpSet.colnum}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*间隔类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="intvType" name="intvType"
|
||||
style="width: 170px;">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="${RptSpSet_IntvType_Hour}" selected="selected">小时</option>
|
||||
<option value="${RptSpSet_IntvType_Day}">天</option>
|
||||
<option value="${RptSpSet_IntvType_Month}">月</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*时间间隔</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="intv" name="intv" placeholder="时间间隔"
|
||||
value="${rptSpSet.intv}">
|
||||
</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="starthour" name="starthour" placeholder="日开始时间"
|
||||
value="${rptSpSet.starthour}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*结束时间</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="endhour" name="endhour" placeholder="日结束时间"
|
||||
value="${rptSpSet.endhour}">
|
||||
</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="rptsdt" name="rptsdt" placeholder="开始日期"
|
||||
value="${rptSpSet.rptsdt}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*结束日期</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="rptedt" name="rptedt" placeholder="结束日期"
|
||||
value="${rptSpSet.rptedt}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*插入方式</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="writermode" name="writermode"
|
||||
style="width: 170px;">
|
||||
<%--<option value="" selected="selected">请选择</option>--%>
|
||||
<option value="${Horizontal}" selected="selected">横向</option>
|
||||
<option value="${Vertical}">纵向</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*是否启用</label>
|
||||
<div class="col-sm-4">
|
||||
<select id="active" name="active" class="form-control select2" style="width: 170px;">
|
||||
<option value="启用">启用</option>
|
||||
<option value="禁用">禁用</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</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="dosaveSp()">保存</button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
276
WebRoot/jsp/report/rptSpSetEditOther.jsp
Normal file
276
WebRoot/jsp/report/rptSpSetEditOther.jsp
Normal file
@ -0,0 +1,276 @@
|
||||
<%@ page language="java" pageEncoding="UTF-8" %>
|
||||
<%@page import="com.sipai.entity.report.RptSpSet" %>
|
||||
<% request.setAttribute("Horizontal", RptSpSet.RptSpSet_Writermode_Horizontal); %>
|
||||
<% request.setAttribute("Vertical", RptSpSet.RptSpSet_Writermode_Vertical); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Insuser", RptSpSet.RptSpSet_Type_Insuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Confirm", RptSpSet.RptSpSet_Type_Confirm); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Checkuser", RptSpSet.RptSpSet_Type_Checkuser); %>
|
||||
<% request.setAttribute("RptSpSet_Type_Rptdt", RptSpSet.RptSpSet_Type_Rptdt); %>
|
||||
<% request.setAttribute("RptSpSet_Type_BanZhang", RptSpSet.RptSpSet_Type_BanZhang); %>
|
||||
<% request.setAttribute("RptSpSet_Type_ZuYuan", RptSpSet.RptSpSet_Type_ZuYuan); %>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
|
||||
function dosaveSp() {
|
||||
$('#type').val($('#spname').val());
|
||||
$("#subFormSp").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subFormSp").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/rptSpSet/doupdate.do", $("#subFormSp").serialize(), function (data) {
|
||||
if (data.res == 1) {
|
||||
closeModal('subModalSp')
|
||||
$("#tableSp").bootstrapTable('refresh');
|
||||
} else if (data.res == 0) {
|
||||
showAlert('d', '保存失败');
|
||||
} else {
|
||||
showAlert('d', data.res);
|
||||
}
|
||||
}, 'json');
|
||||
}
|
||||
}
|
||||
|
||||
$("#subFormSp").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
spname: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择单元格内容'
|
||||
}
|
||||
}
|
||||
},
|
||||
sheetName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择sheet'
|
||||
}
|
||||
}
|
||||
},
|
||||
posx: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格X不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
posy: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '起始格y不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
grouptypeId: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '请选择插入方式'
|
||||
}
|
||||
}
|
||||
},
|
||||
intv: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '时间间隔不能为空'
|
||||
}
|
||||
}
|
||||
}
|
||||
//posx
|
||||
}
|
||||
});
|
||||
|
||||
//sheet名下拉数据
|
||||
var pid = '${rptSpSet.pid}';
|
||||
var selectType = $("#sheetName").select2({minimumResultsForSearch: 10});
|
||||
$.post(ext.contextPath + "/report/rptSpSet/getSheet.do", {id: pid}, function (data) {
|
||||
$("#sheetName").empty();
|
||||
var selelct_ = $("#sheetName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptSpSet.sheet}').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#sheet').val(e.target.value);
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
//班组下拉
|
||||
$.post(ext.contextPath + "/work/groupType/getGroupTypeTree.do", {}, function (data) {
|
||||
$("#grouptypeName").empty();
|
||||
var selelct_ = $("#grouptypeName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptSpSet.grouptypeId}').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#grouptypeId').val(e.target.value);
|
||||
|
||||
//将班组置空
|
||||
$('#grouptimeName').html('');
|
||||
$('#grouptimeId').val('');
|
||||
bz();
|
||||
})
|
||||
}, 'json');
|
||||
|
||||
function bz() {
|
||||
//班组下拉
|
||||
$.post(ext.contextPath + "/work/groupTime/getlistForSelect2.do", {
|
||||
unitId: unitId,
|
||||
grouptype: $("#grouptypeId").val()
|
||||
}, function (data) {
|
||||
$("#grouptimeName").empty();
|
||||
var selelct_ = $("#grouptimeName").select2({
|
||||
data: data,
|
||||
placeholder: '请选择',//默认文字提示
|
||||
allowClear: false,//允许清空
|
||||
escapeMarkup: function (markup) {
|
||||
return markup;
|
||||
}, // 自定义格式化防止xss注入
|
||||
language: "zh-CN",
|
||||
minimumInputLength: 0,
|
||||
minimumResultsForSearch: 5,//数据超过5个启用搜索框
|
||||
formatResult: function formatRepo(repo) {
|
||||
return repo.text;
|
||||
}, // 函数用来渲染结果
|
||||
formatSelection: function formatRepoSelection(repo) {
|
||||
return repo.text;
|
||||
} // 函数用于呈现当前的选择
|
||||
});
|
||||
selelct_.val('${rptSpSet.grouptimeId}').trigger("change");
|
||||
selelct_.on('change', function (e) {
|
||||
$('#grouptimeId').val(e.target.value);
|
||||
})
|
||||
}, 'json');
|
||||
}
|
||||
|
||||
bz();
|
||||
|
||||
$('#spname').select2({minimumResultsForSearch: 10}).val('${rptSpSet.spname}').trigger('change');
|
||||
$('#intv').select2({minimumResultsForSearch: 10}).val('${rptSpSet.intv}').trigger('change');
|
||||
|
||||
</script>
|
||||
<div class="modal fade" id="subModalSp">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span></button>
|
||||
<h4 class="modal-title">修改</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<!-- 新增界面formid强制为subFormSp -->
|
||||
<form class="form-horizontal" id="subFormSp" autocomplete="off">
|
||||
|
||||
<!-- 界面提醒div强制id为alertDiv -->
|
||||
<div id="alertDiv"></div>
|
||||
<input type="hidden" class="form-control" name="id" value="${rptSpSet.id}">
|
||||
<input type="hidden" class="form-control" name="pid" value="${rptSpSet.pid}">
|
||||
<input type="hidden" class="form-control" name="type" id="type" value="${rptSpSet.type}">
|
||||
|
||||
<input type="hidden" class="form-control" name="rownum" id="rownum" value="0">
|
||||
<input type="hidden" class="form-control" name="colnum" id="colnum" value="0">
|
||||
<input type="hidden" class="form-control" name="starthour" id="starthour" value="0">
|
||||
<input type="hidden" class="form-control" name="endhour" id="endhour" value="0">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*单元格内容</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="spname" name="spname" style="width: 170px;">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="${RptSpSet_Type_Confirm}">接班人员</option>
|
||||
<option value="${RptSpSet_Type_BanZhang}">值班班长</option>
|
||||
<option value="${RptSpSet_Type_ZuYuan}">值班组员</option>
|
||||
<option value="${RptSpSet_Type_Rptdt}">日期</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*Sheet名</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="sheetName" name="sheetName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="sheet" name="sheet"
|
||||
value="${rptSpSet.sheet}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*起始格X</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posx" name="posx" placeholder="单元格X值"
|
||||
value="${rptSpSet.posx}">
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">*起始格Y</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" id="posy" name="posy" placeholder="单元格Y值"
|
||||
value="${rptSpSet.posy}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">班组类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="grouptypeName" name="grouptypeName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="grouptypeId" name="grouptypeId"
|
||||
value="${rptSpSet.grouptypeId}"/>
|
||||
</div>
|
||||
<label class="col-sm-2 control-label">班次类型</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="grouptimeName" name="grouptimeName"
|
||||
style="width: 170px;"></select>
|
||||
<input type="hidden" class="form-control" id="grouptimeId" name="grouptimeId"
|
||||
value="${rptSpSet.grouptimeId}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">是否跨天</label>
|
||||
<div class="col-sm-4">
|
||||
<select class="form-control select2" id="intv" name="intv" style="width: 170px;">
|
||||
<option value="" selected="selected">请选择</option>
|
||||
<option value="-1">前一天</option>
|
||||
<option value="0">当天</option>
|
||||
<option value="1">后一天</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</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="dosaveSp()">保存</button>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.modal-content -->
|
||||
</div>
|
||||
<!-- /.modal-dialog -->
|
||||
</div>
|
||||
109
WebRoot/jsp/report/templateTypeAdd.jsp
Normal file
109
WebRoot/jsp/report/templateTypeAdd.jsp
Normal file
@ -0,0 +1,109 @@
|
||||
<%@page import="com.sipai.entity.report.TemplateType"%>
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%request.setAttribute("day",TemplateType.REPORT_DAY); %>
|
||||
<%request.setAttribute("month",TemplateType.REPORT_MONTH); %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/templateType/save.do", $("#subForm").serialize(), function(data) {
|
||||
if (data.res == 1){
|
||||
closeModal('subModal');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else if(data.res == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.res);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
$("#type").select2({minimumResultsForSearch: 10}).val('${day}').trigger("change");
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '模板类型名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
serviceName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Service名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
type: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '报表类别不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
</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">×</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-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" autocomplete="off" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*Service名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="serviceName" name ="serviceName" placeholder="service名称,首字母小写" autocomplete="off" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*报表类别</label>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control select2" id="type" name ="type" style="width:270px">
|
||||
<option value="${day}">日报</option>
|
||||
<option value="${month}">月报</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">说明</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id ="remark" name ="remark" placeholder="说明..."></textarea>
|
||||
</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>
|
||||
110
WebRoot/jsp/report/templateTypeEdit.jsp
Normal file
110
WebRoot/jsp/report/templateTypeEdit.jsp
Normal file
@ -0,0 +1,110 @@
|
||||
<%@page import="com.sipai.entity.report.TemplateType"%>
|
||||
<%@ page language="java" pageEncoding="UTF-8"%>
|
||||
<%request.setAttribute("day",TemplateType.REPORT_DAY); %>
|
||||
<%request.setAttribute("month",TemplateType.REPORT_MONTH); %>
|
||||
<style type="text/css">
|
||||
.select2-container .select2-selection--single{
|
||||
height:34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.select2-selection__arrow{
|
||||
margin-top:3px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function dosave() {
|
||||
$("#subForm").bootstrapValidator('validate');//提交验证
|
||||
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
|
||||
$.post(ext.contextPath + "/report/templateType/update.do", $("#subForm").serialize(), function(data) {
|
||||
if (data.res == 1){
|
||||
closeModal('subModal');
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else if(data.res == 0){
|
||||
showAlert('d','保存失败');
|
||||
}else{
|
||||
showAlert('d',data.res);
|
||||
}
|
||||
},'json');
|
||||
}
|
||||
}
|
||||
$("#type").select2({minimumResultsForSearch: 10}).val('${templateType.type}').trigger("change");
|
||||
//输入框验证
|
||||
$("#subForm").bootstrapValidator({
|
||||
live: 'disabled',//验证时机,enabled是内容有变化就验证(默认),disabled和submitted是提交再验证
|
||||
fields: {
|
||||
name: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '模板类型名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
serviceName: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: 'Service名称不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
type: {
|
||||
validators: {
|
||||
notEmpty: {
|
||||
message: '报表类别不能为空'
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
});
|
||||
</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">×</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 type="hidden" id="id" name ="id" value ="${templateType.id}">
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*类型名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="name" name ="name" placeholder="名称" value ="${templateType.name}" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*Service名称</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="serviceName" name ="serviceName" placeholder="service名称" value ="${templateType.serviceName}" autocomplete="off" >
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">*报表类别</label>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-control select2" id="type" name ="type" style="width:270px">
|
||||
<option value="${day}">日报</option>
|
||||
<option value="${month}">月报</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-sm-2 control-label">说明</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" rows="2" id ="remark" name ="remark" placeholder="说明...">${templateType.remark}</textarea>
|
||||
</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>
|
||||
233
WebRoot/jsp/report/templateTypeList.jsp
Normal file
233
WebRoot/jsp/report/templateTypeList.jsp
Normal file
@ -0,0 +1,233 @@
|
||||
<%@ 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>
|
||||
<script type="text/javascript">
|
||||
|
||||
var addFun = function() {
|
||||
$.post(ext.contextPath + '/report/templateType/add.do', {} , function(data) {
|
||||
$("#subDiv").html(data);
|
||||
openModal('subModal');
|
||||
});
|
||||
};
|
||||
|
||||
var editFun = function(id) {
|
||||
stopBubbleDefaultEvent();
|
||||
$.post(ext.contextPath + '/report/templateType/edit.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(willDelete =>{
|
||||
if (willDelete) {
|
||||
$.post(ext.contextPath + '/report/templateType/delete.do', {id : id}, function(data) {
|
||||
if(data==1){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}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 + '/report/templateType/deletes.do', {ids:datas} , function(data) {
|
||||
if(data>0){
|
||||
$("#table").bootstrapTable('refresh');
|
||||
}else{
|
||||
showAlert('d','删除失败','mainAlertdiv');
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var dosearch = function() {
|
||||
$("#table").bootstrapTable('refresh');
|
||||
};
|
||||
|
||||
$(function() {
|
||||
$("#table").bootstrapTable({ // 对应table标签的id
|
||||
url: ext.contextPath + '/report/templateType/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(),
|
||||
}
|
||||
},
|
||||
sortName: 'id', // 要排序的字段
|
||||
sortOrder: 'desc', // 排序规则
|
||||
/* onClickRow: function (row) {//单击行事件,执行查看功能
|
||||
viewFun(row.id);
|
||||
}, */
|
||||
columns: [
|
||||
{
|
||||
checkbox: true, // 显示一个勾选框
|
||||
},{
|
||||
field: 'name', // 返回json数据中的name
|
||||
title: '模板类型', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
field: 'remark', // 返回json数据中的name
|
||||
title: '说明', // 表格表头显示文字
|
||||
align: 'center', // 左右居中
|
||||
valign: 'middle' // 上下居中
|
||||
},{
|
||||
title: "操作",
|
||||
align: 'center',
|
||||
valign: 'middle',
|
||||
width: 120, // 定义列的宽度,单位为像素px
|
||||
formatter: function (value, row, index) {
|
||||
var buts= '';
|
||||
buts+= '<security:authorize buttonUrl="report/templateType/edit.do">';
|
||||
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+= '</security:authorize>';
|
||||
|
||||
buts+= '<security:authorize buttonUrl="report/templateType/delete.do">';
|
||||
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+= '</security:authorize>';
|
||||
|
||||
buts='<div class="btn-group" >'+buts+'</div>';
|
||||
return buts;
|
||||
}
|
||||
}
|
||||
],
|
||||
onLoadSuccess: function(){ //加载成功时执行
|
||||
adjustBootstrapTableView("table");
|
||||
},
|
||||
onLoadError: function(){ //加载失败时执行
|
||||
console.info("加载数据失败");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<!-- 引用top -->
|
||||
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
|
||||
<!-- 菜单栏 -->
|
||||
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
|
||||
<div class="content-wrapper">
|
||||
<!-- Content Header (Page header) -->
|
||||
<section class="content-header">
|
||||
<h1 id ="head_title"></h1>
|
||||
<ol class="breadcrumb">
|
||||
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
|
||||
<!-- <li class="active">Here</li> -->
|
||||
</ol>
|
||||
</section>
|
||||
<!-- Main content -->
|
||||
<section class="content container-fluid">
|
||||
<div id="mainAlertdiv"></div>
|
||||
<div id="subDiv"></div>
|
||||
<div >
|
||||
<div class="form-group" style="padding:0;">
|
||||
<div class="btn-group" style="width: 220px;padding-bottom:10px;">
|
||||
<security:authorize buttonUrl="report/templateType/add.do">
|
||||
<button type="button" class="btn btn-default btn-sm" onclick="addFun();"><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>
|
||||
</security:authorize>
|
||||
</div>
|
||||
<div class="form-group pull-right form-inline" >
|
||||
<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>
|
||||
<table id="table"></table>
|
||||
</div>
|
||||
</section>
|
||||
<!-- /.content -->
|
||||
</div>
|
||||
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
|
||||
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
76
WebRoot/jsp/report/测试table中td坐标.html
Normal file
76
WebRoot/jsp/report/测试table中td坐标.html
Normal file
@ -0,0 +1,76 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>测试table中td坐标.html</title>
|
||||
|
||||
<meta name="keywords" content="keyword1,keyword2,keyword3">
|
||||
<meta name="description" content="this is my page">
|
||||
<meta name="content-type" content="text/html; charset=UTF-8">
|
||||
|
||||
<script type="text/javascript">
|
||||
function getElements()
|
||||
{
|
||||
var tb = document.getElementById("div").getElementsByTagName("table")[0];//table
|
||||
var rows = tb.rows; // 获取表格所有行
|
||||
var str = "";
|
||||
var rowspans=[];
|
||||
var rowspan = {
|
||||
"x":0,
|
||||
"y":0,
|
||||
"rowspan":0
|
||||
}
|
||||
for(var i = 0; i<rows.length; i++ ){
|
||||
var colspan=0;
|
||||
for(var j = 0; j<rows[i].cells.length; j++ ){ // 遍历该行的 td
|
||||
var y=colspan;
|
||||
var x=i;
|
||||
if(rowspan[x] && rowspan.y==y &&rowspan.rowspan>0){
|
||||
y += 1;
|
||||
rowspan.x = rowspan.x+1;
|
||||
rowspan.rowspan = rowspan.rowspan-1;
|
||||
}
|
||||
rows[i].cells[j].innerHTML= "("+x+","+y+")";
|
||||
colspan += rows[i].cells[j].colSpan;
|
||||
if((rows[i].cells[j].rowSpan-1)>0){
|
||||
rowspan[x+1] = {
|
||||
"y":y,
|
||||
"rowspan":rows[i].cells[j].rowSpan-1,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="div">
|
||||
<table border="1">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan=2></td>
|
||||
<td rowspan=3></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=2></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan=2></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<input type="button" onclick="getElements()" value="How many input elements?" />
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user