Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/maintenance/staffMaintenanceResultView.jsp

317 lines
13 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<%@ 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">&times;</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>