148 lines
6.2 KiB
Plaintext
148 lines
6.2 KiB
Plaintext
<%@page import="com.sipai.entity.timeefficiency.PatrolRecord"%>
|
||
<%@ 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"%>
|
||
<% request.setAttribute("Status_Issue", PatrolRecord.Status_Issue); %>
|
||
<% request.setAttribute("Status_Start", PatrolRecord.Status_Start); %>
|
||
<% request.setAttribute("Status_Finish", PatrolRecord.Status_Finish) ;%>
|
||
<% request.setAttribute("PatrolModel_TempTask", com.sipai.entity.timeefficiency.TimeEfficiencyCommStr.PatrolModel_TempTask); %>
|
||
<!DOCTYPE html>
|
||
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/fullcalendar/dist/fullcalendar.min.css" />
|
||
<link rel="stylesheet" href="<%=request.getContextPath()%>/node_modules/fullcalendar/dist/fullcalendar.print.min.css"
|
||
media='print' />
|
||
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/moment/min/moment.min.js"
|
||
charset="utf-8"></script>
|
||
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/fullcalendar/dist/fullcalendar.min.js"
|
||
charset="utf-8"></script>
|
||
<script type="text/javascript" src="<%=request.getContextPath()%>/node_modules/fullcalendar/dist/locale/zh-cn.js"
|
||
charset="utf-8"></script>
|
||
<script type="text/javascript">
|
||
// var unitId="";
|
||
var getRecordStatus = function (status) {
|
||
switch (status) {
|
||
case '${Status_Issue}':
|
||
return "已下发";
|
||
break;
|
||
case '${Status_Start}':
|
||
return "进行中";
|
||
break;
|
||
case '${Status_Finish}':
|
||
return "已完成";
|
||
break;
|
||
default:
|
||
return "";
|
||
|
||
}
|
||
}
|
||
var viewRecordFun = function (id) {
|
||
$.post(ext.contextPath + '/timeEfficiency/patrolRecord/view.do', { id: id }, function (data) {
|
||
$("#subDiv").html(data);
|
||
openModal('subModal');
|
||
});
|
||
};
|
||
var dosearch = function () {
|
||
$('#calendar').fullCalendar('refetchEvents');
|
||
};
|
||
$(function () {
|
||
// unitId=unitId;
|
||
$.post(ext.contextPath + "/user/getSearchBizsByUserId4Select.do", {}, function (data) {
|
||
var selelct = $("#search_code").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(companyId).trigger("change");
|
||
$("#search_code").next().css("display", "none");
|
||
$("#companyName").text($("#search_code").find("option:selected").text());
|
||
fixSelect2ToTool('search_code');
|
||
}, 'json');
|
||
|
||
$('#calendar').fullCalendar({
|
||
header: {
|
||
left: 'prev,next today',
|
||
center: 'title',
|
||
right: 'month,agendaWeek,agendaDay'
|
||
},
|
||
// defaultDate: '2018-03-12',
|
||
timeFormat: 'HH:mm', //定义表格中显示的时间格式如:22:30,默认格式为HH(:mm)效果是整点的时候自动隐藏分钟,例如23:00会显示成23
|
||
displayEventEnd: true, //显示事件的结束时间,默认是false
|
||
//aspectRatio: 1, //设置日历单元格显示的宽高比,数值越小越窄高
|
||
navLinks: true, // can click day/week names to navigate views
|
||
eventLimit: true, // allow "more" link when too many events
|
||
editable: false, //允许编辑
|
||
eventStartEditable: false, //允许直接在界面中编辑事件的开始时间
|
||
|
||
eventDurationEditable: false, //允许编辑事件的时长
|
||
events: function (start, end, timezone, callback) { //单击日历中事件时触发的函数,实现效果是获取当前点击事件的标题,开始时间,结束时间传给DOM控件
|
||
var events = [];
|
||
/* var starttime = moment(calEvent.start).format('YYYY-MM-DD HH:mm:ss'); //使用moment.js对时间进行格式化
|
||
var endtime = moment(calEvent.end).format('YYYY-MM-DD HH:mm:ss'); */
|
||
$.post(ext.contextPath + '/timeEfficiency/patrolRecord/getAllList.do', { sdt: start.format(), edt: end.format(), unitId:companyId, type: 'P' }, function (data) {
|
||
var changeNum = -1;
|
||
var lastPatrolPlanId = "";
|
||
for (var i = 0; i < data.length; i++) {
|
||
/* if(lastPatrolPlanId!=data[i].patrolPlanId){
|
||
lastPatrolPlanId=data[i].patrolPlanId;
|
||
changeNum++;
|
||
} */
|
||
var obj = new Object();
|
||
obj.id = data[i].id;
|
||
obj.title = data[i].name + '(' + getRecordStatus(data[i].status) + ')';
|
||
/* if(changeNum>=0 && changeNum<myColors.length){
|
||
obj.color = myColors[changeNum];
|
||
} */
|
||
if (data[i].color != "") {
|
||
obj.color = data[i].color;
|
||
}
|
||
obj.description = data[i].patrolModelId;
|
||
obj.start = data[i].startTime;
|
||
obj.end = data[i].endTime;
|
||
events.push(obj);
|
||
}
|
||
callback(events);
|
||
}, 'json'); //把从后台取出的数据进行封装以后在页面上以fullCalendar的方式进行显示
|
||
|
||
},
|
||
eventClick: function (event, jsEvent, view) {
|
||
viewRecordFun(event.id);
|
||
},
|
||
dayClick: function (date, jsEvent, view) {
|
||
//点击空白日期调用
|
||
},
|
||
eventRender: function (event, element) {//title以HTML显示(换行)
|
||
if(event.description != '${PatrolModel_TempTask}'){
|
||
element.html(moment(event.start).format('HH:mm') + '-' + moment(event.end).format('HH:mm') + ' ' + event.title);
|
||
}
|
||
}
|
||
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<section class="content container-fluid">
|
||
<div id="mainAlertdiv"></div>
|
||
<div id="subDiv"></div>
|
||
<div id="subDiv_recordDetail"></div>
|
||
<div id="subDiv_contents"></div>
|
||
<div class="form-group " style="margin-bottom:10px;">
|
||
<label class="form-label">公司:</label>
|
||
<select class="form-control select2 " id="search_code" name="search_code" style="width: 220px;"></select>
|
||
<span id="companyName" style="width:220px;border: none;background: transparent;"></span>
|
||
</div>
|
||
<div class="box box-primary">
|
||
<div class="box-body no-padding">
|
||
<!-- THE CALENDAR -->
|
||
<div id="calendar"></div>
|
||
</div>
|
||
<!-- /.box-body -->
|
||
</div>
|
||
</section> |