317 lines
13 KiB
Plaintext
317 lines
13 KiB
Plaintext
|
|
<%@ page language="java" pageEncoding="UTF-8"%>
|
|||
|
|
<%@page import="com.sipai.entity.maintenance.Maintenance"%>
|
|||
|
|
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
|
|||
|
|
<%request.setAttribute("Status_Launch",Maintenance.Status_Launch);%>
|
|||
|
|
<%request.setAttribute("Status_Edit",Maintenance.Status_Edit);%>
|
|||
|
|
<style type="text/css">
|
|||
|
|
</style>
|
|||
|
|
<script type="text/javascript">
|
|||
|
|
var beginTimeStore1 = '';
|
|||
|
|
var endTimeStore1 = '';
|
|||
|
|
function initDate1() {
|
|||
|
|
//定义locale汉化插件
|
|||
|
|
beginTimeStore1 = moment().subtract(6, 'days').format('YYYY-MM-DD');;
|
|||
|
|
endTimeStore1 = moment().subtract(-1, 'days').format('YYYY-MM-DD');
|
|||
|
|
if(${param.sdt!=''}){
|
|||
|
|
beginTimeStore1='${param.sdt}';
|
|||
|
|
}
|
|||
|
|
if(${param.edt!=''}){
|
|||
|
|
endTimeStore1='${param.edt}';
|
|||
|
|
}
|
|||
|
|
var locale = {
|
|||
|
|
"format": 'YYYY-MM-DD',
|
|||
|
|
"separator": " ~ ",
|
|||
|
|
"applyLabel": "确定",
|
|||
|
|
"cancelLabel": "取消",
|
|||
|
|
"fromLabel": "起始时间",
|
|||
|
|
"toLabel": "结束时间'",
|
|||
|
|
"customRangeLabel": "自定义",
|
|||
|
|
"weekLabel": "W",
|
|||
|
|
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
|||
|
|
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
|||
|
|
"firstDay": 1
|
|||
|
|
};
|
|||
|
|
$('#reservationtime1').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: 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));
|
|||
|
|
}
|
|||
|
|
dosearch1();
|
|||
|
|
});
|
|||
|
|
$('#reservationtime1').val(beginTimeStore1 + locale.separator + endTimeStore1);
|
|||
|
|
};
|
|||
|
|
function dosearch1(){
|
|||
|
|
$.post(ext.contextPath +"/maintenance/getStaffMaintenanceResultView.do",{userId:"${user.id}",sdt:beginTimeStore1,edt:endTimeStore1},function(data){
|
|||
|
|
var legendData = [];
|
|||
|
|
var jsons = [];
|
|||
|
|
var label ={};
|
|||
|
|
var normal={};
|
|||
|
|
normal.show=true;
|
|||
|
|
normal.position= 'inside';
|
|||
|
|
label.normal=normal;
|
|||
|
|
var item_maintenanceNum =new Object();
|
|||
|
|
item_maintenanceNum.name="客户发单";
|
|||
|
|
item_maintenanceNum.type="bar";
|
|||
|
|
item_maintenanceNum.barWidth=50,
|
|||
|
|
item_maintenanceNum.stack="总量";
|
|||
|
|
item_maintenanceNum.label=label;
|
|||
|
|
var dataItem_maintenanceNum=[];
|
|||
|
|
|
|||
|
|
var item_taskNum =new Object();
|
|||
|
|
item_taskNum.name="负责人下单";
|
|||
|
|
item_taskNum.type="bar";
|
|||
|
|
item_taskNum.barWidth=50,
|
|||
|
|
item_taskNum.stack="总量";
|
|||
|
|
item_taskNum.label=label;
|
|||
|
|
var dataItem_taskNum=[];
|
|||
|
|
|
|||
|
|
var item_maintainNum =new Object();
|
|||
|
|
item_maintainNum.name="保养";
|
|||
|
|
item_maintainNum.type="bar";
|
|||
|
|
item_maintainNum.barWidth=50,
|
|||
|
|
item_maintainNum.stack="总量";
|
|||
|
|
item_maintainNum.label=label;
|
|||
|
|
var dataItem_maintainNum=[];
|
|||
|
|
|
|||
|
|
var item_suppleNum =new Object();
|
|||
|
|
item_suppleNum.name="补录";
|
|||
|
|
item_suppleNum.type="bar";
|
|||
|
|
item_suppleNum.barWidth=50,
|
|||
|
|
item_suppleNum.stack="总量";
|
|||
|
|
item_suppleNum.label=label;
|
|||
|
|
var dataItem_suppleNum=[];
|
|||
|
|
|
|||
|
|
$.each(data,function(item,value){
|
|||
|
|
legendData.push(value.company.name)
|
|||
|
|
|
|||
|
|
|
|||
|
|
//dataItem.push(value.totalNum);
|
|||
|
|
dataItem_maintenanceNum.push(value.maintenanceNum);
|
|||
|
|
dataItem_taskNum.push(value.taskNum);
|
|||
|
|
dataItem_maintainNum.push(value.maintainNum);
|
|||
|
|
dataItem_suppleNum.push(value.supplementNum);
|
|||
|
|
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
item_taskNum.data=dataItem_taskNum;
|
|||
|
|
item_maintenanceNum.data=dataItem_maintenanceNum;
|
|||
|
|
item_maintainNum.data=dataItem_maintainNum;
|
|||
|
|
item_suppleNum.data=dataItem_suppleNum;
|
|||
|
|
jsons.push(item_maintenanceNum)
|
|||
|
|
jsons.push(item_taskNum)
|
|||
|
|
jsons.push(item_maintainNum)
|
|||
|
|
jsons.push(item_suppleNum)
|
|||
|
|
console.info(jsons)
|
|||
|
|
var date = new Date();
|
|||
|
|
var option = {
|
|||
|
|
tooltip : {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer : { // 坐标轴指示器,坐标轴触发有效
|
|||
|
|
type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
legend: {
|
|||
|
|
data: ['客户发单', '负责人下单','保养','补录']
|
|||
|
|
},
|
|||
|
|
grid: {
|
|||
|
|
left: '3%',
|
|||
|
|
right: '5%',
|
|||
|
|
bottom: '3%',
|
|||
|
|
containLabel: true
|
|||
|
|
},
|
|||
|
|
xAxis: {
|
|||
|
|
type: 'value',
|
|||
|
|
},
|
|||
|
|
yAxis: {
|
|||
|
|
|
|||
|
|
type: 'category',
|
|||
|
|
data: legendData,
|
|||
|
|
axisLabel:{
|
|||
|
|
interval: 0 ,
|
|||
|
|
rotate:90
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
},
|
|||
|
|
series: jsons
|
|||
|
|
};
|
|||
|
|
if(myChart!=null){
|
|||
|
|
myChart.clear();
|
|||
|
|
myChart.dispose();
|
|||
|
|
}
|
|||
|
|
var boxHeight=legendData.length*200;
|
|||
|
|
$("#box").height(boxHeight);
|
|||
|
|
setTimeout(function(){
|
|||
|
|
myChart = echarts.init(document.getElementById("box"));
|
|||
|
|
//自适用大小
|
|||
|
|
//用于使chart自适应高度和宽度
|
|||
|
|
//window.onresize=myChart.resize;
|
|||
|
|
myChart.setOption(option);
|
|||
|
|
},200);
|
|||
|
|
|
|||
|
|
},'json');
|
|||
|
|
}
|
|||
|
|
var viewDetailFun = function(id) {
|
|||
|
|
$.post(ext.contextPath + '/maintenance/showHandleDetailViewById.do', {id:id} , function(data) {
|
|||
|
|
$("#handleDetailDiv").html(data);
|
|||
|
|
openModal('handleDetailModal');
|
|||
|
|
});
|
|||
|
|
};
|
|||
|
|
var myChart;
|
|||
|
|
|
|||
|
|
$(function() {
|
|||
|
|
initDate1();
|
|||
|
|
dosearch1();
|
|||
|
|
$("#table_detail").bootstrapTable({ // 对应table标签的id
|
|||
|
|
url: ext.contextPath + '/maintenance/getHandleDetailList4User.do', // 获取表格数据的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,
|
|||
|
|
sdt:beginTimeStore1,
|
|||
|
|
edt:endTimeStore1,
|
|||
|
|
userId:"${user.id}"
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
sortName: 'id', // 要排序的字段
|
|||
|
|
sortOrder: 'desc', // 排序规则
|
|||
|
|
columns: [
|
|||
|
|
{
|
|||
|
|
field: 'companyName', // 返回json数据中的name
|
|||
|
|
title: '厂区', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' ,
|
|||
|
|
formatter:function(value,row,index){
|
|||
|
|
if(row.maintenanceDetail!="" && row.maintenanceDetail!=null && row.maintenanceDetail.company!=""){
|
|||
|
|
return row.maintenanceDetail.company.name;
|
|||
|
|
}else{
|
|||
|
|
return "--";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
field: 'problem', // 返回json数据中的name
|
|||
|
|
title: '问题描述', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle' // 上下居中
|
|||
|
|
}, {
|
|||
|
|
field: 'handledt', // 返回json数据中的name
|
|||
|
|
title: '完成日期', // 表格表头显示文字
|
|||
|
|
align: 'center', // 左右居中
|
|||
|
|
valign: 'middle',
|
|||
|
|
formatter:function(value,row,index){
|
|||
|
|
return value.substring(0,10);
|
|||
|
|
}
|
|||
|
|
},{
|
|||
|
|
title: "操作",
|
|||
|
|
align: 'center',
|
|||
|
|
valign: 'middle',
|
|||
|
|
width: 60, // 定义列的宽度,单位为像素px
|
|||
|
|
formatter: function (value, row, index) {
|
|||
|
|
var str="";
|
|||
|
|
str+='<button class="btn btn-default btn-sm" onclick="viewDetailFun(\'' + row.id + '\')" data-toggle="tooltip" title="编辑"><i class="fa fa-eye "></i><span class="hidden-md hidden-lg"> 查看详情</span></button>'
|
|||
|
|
str='<div class="btn-group" >'+str+'</div>';
|
|||
|
|
return str;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
onLoadSuccess: function(){ //加载成功时执行
|
|||
|
|
adjustBootstrapTableView("table_detail");
|
|||
|
|
},
|
|||
|
|
onLoadError: function(){ //加载失败时执行
|
|||
|
|
console.info("加载数据失败");
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
})
|
|||
|
|
})
|
|||
|
|
</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">维护统计-${user.caption}</h4>
|
|||
|
|
</div>
|
|||
|
|
<div class="modal-body" id="modal-body">
|
|||
|
|
<div class="form-group " style="text-align:center" >
|
|||
|
|
<c:choose>
|
|||
|
|
<c:when test="${empty user.userDetail.icon or user.userDetail.icon=='null'}">
|
|||
|
|
<c:choose>
|
|||
|
|
<c:when test="${user.sex=='0'}">
|
|||
|
|
<img src="<%=request.getContextPath()%>/plugins/AdminLTE/img/avatar2.png" class="img-circle" style="width: 100px; height:100px" alt="User Image">
|
|||
|
|
</c:when>
|
|||
|
|
<c:otherwise>
|
|||
|
|
<img src="<%=request.getContextPath()%>/plugins/AdminLTE/img/avatar5.png" class="img-circle" style="width: 100px; height:100px" alt="User Image">
|
|||
|
|
</c:otherwise>
|
|||
|
|
</c:choose>
|
|||
|
|
</c:when>
|
|||
|
|
<c:otherwise >
|
|||
|
|
<img src="${user.userDetail.icon}" class="img-circle" style="width: 100px; height:100px" alt="User Image">
|
|||
|
|
</c:otherwise>
|
|||
|
|
</c:choose>
|
|||
|
|
</div>
|
|||
|
|
<div class="form-group form-inline pull-left" >
|
|||
|
|
<label class="input-label" >起止日期:</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="reservationtime1" style="width:175px">
|
|||
|
|
<!-- <div class="input-group-btn ">
|
|||
|
|
<button type="button" class="btn btn-default" onclick="dosearch1();" ><i class="fa fa-search"></i> 查询</button>
|
|||
|
|
</div> -->
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<div id="box" style="height:350px;padding-bottom:70px"></div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
<div class="form-group" >
|
|||
|
|
<label class="input-label" >处理记录(含处理中任务)</label>
|
|||
|
|
<table id="table_detail"></table>
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
|
|||
|
|
</div>
|
|||
|
|
<div class="modal-footer" style="margin-top:50px;">
|
|||
|
|
<button type="button" class="btn btn-default " data-dismiss="modal">关闭</button>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<!-- /.modal-content -->
|
|||
|
|
</div>
|
|||
|
|
<!-- /.modal-dialog -->
|
|||
|
|
</div>
|
|||
|
|
|