Index: ssts-web/src/main/webapp/disinfectsystem/schedule/tools.js =================================================================== diff -u -r24034 -r24043 --- ssts-web/src/main/webapp/disinfectsystem/schedule/tools.js (.../tools.js) (revision 24034) +++ ssts-web/src/main/webapp/disinfectsystem/schedule/tools.js (.../tools.js) (revision 24043) @@ -39,7 +39,7 @@ } /** - *比较两个时间字符串大小 + *比较两个日期字符串大小 * compareDateString大于dateString,返回1; * 等于返回0; * compareDateString小于dateString,返回-1 @@ -63,7 +63,34 @@ return -1; } }; + /** + * 比较时间字符串大小 + * timeEnd大于timeStart,返回1; + * 等于返回0; + * timeEnd小于timeStart,返回-1 + */ +function timeCompare(timeStart,timeEnd){ + + var startArray=timeStart.split(':'); + var endArray=timeEnd.split(':'); + if(startArray[0]>endArray[0]){ + return -1; + }else if(startArray[0]==endArray[0]){ + if(startArray[1]>endArray[1]){ + return -1; + }else if(startArray[1]==endArray[1]){ + return 0; + }else { + return 1; + } + }else{ + return 1; + } +} + + +/** * 两个日期段之间的天数差 */ function timeDifferenceNums(startData, endData){ @@ -94,7 +121,7 @@ */ function isDatesBetween(dateObejct,dateArray){ for(var i=0;i -Insert title here +班次定义修改历史 Index: ssts-web/src/main/webapp/disinfectsystem/schedule/scheduleInformation.js =================================================================== diff -u -r24040 -r24043 --- ssts-web/src/main/webapp/disinfectsystem/schedule/scheduleInformation.js (.../scheduleInformation.js) (revision 24040) +++ ssts-web/src/main/webapp/disinfectsystem/schedule/scheduleInformation.js (.../scheduleInformation.js) (revision 24043) @@ -1,180 +1,41 @@ $(function(){ -// $.ajaxSetup ({ -// cache: false //close AJAX cache -// }); - - //加载列表信息 - var scheduleInformations=getAllScheduleInformations(); - //加载班次定义信息 - - //添加表单--获取“选择人员”下拉框内容 - var users=getUsers(); - //添加内容到下拉框 - var users_select=""; - for(var i=0;i"+users[i].userFullName+""; - } - $("#name").append(users_select); - $("#select_people").append(users_select); - - //添加“选择班次”下拉框内容-begin + var lastSearchParams; +/*“添加排班”表单添加“排班日期次数”;*/ + var num=0; + + //隐藏 +// $("#loadingModal").modal('hide'); +/*【表单--“选择班次”下拉框】*/ var allScheduleDefinition=getAllScheduleDefinition(); - //页面编辑下拉框内容 var scheduleDefinitionArray=[]; - //“添加排班”表单“选择班次”下拉框内容 var context=""; for(var i=0;i"+sheduleName+""; + context=context+""; var json={}; json.value=id; json.text=sheduleName; scheduleDefinitionArray.push(json); } - var voList=jsonRevert(scheduleInformations.data); - var times=scheduleInformations.conditionTimes; - - var columns=[]; - var c1=[ - { - checkbox:true, - align:'center', - valign:"middle", - width : '10', - rowspan:3 - }, - { - title:'姓名', - field:"userName", - classes:"userName", - align:"center", - valign:"middle", - width : '70', - clickToSelect:true, - rowspan:3 - }, - { - title:'时间', - align:"center", - valign:"middle", - width : '200', - colspan:times.length - }, - { - title:'剩余假期', - field:"holiDay", - align:"center", - valign:"middle", - width : '30', - rowspan:3, - editable: { - type: 'text', - title: '编辑剩余假期', - validate: function (v) { - if (!v) return '用户名不能为空'; - } - } - } - ]; +/*【table--加载】*/ + loadTable({isAll :'false'},scheduleDefinitionArray); - - var data=[]; - var weeks=[]; - - - //遍历 - for(var i=0;i"+value+""+name+""; + } + $("#name").append(users_select); + $("#select_people").append(users_select); - /*“添加排班信息”*/ +/*【搜索栏--添加排班】*/ $("#add_scheduleInformation").click(function(){ - //点击添加按钮之后,1.清空原表单数据,2.判断num数量,清空num=0对应的元素,移除num>0的元素 var userIds=$("#select_people").val(""); var scheduleDefinitionId=$("#select_schedule").val(""); @@ -197,11 +58,9 @@ $('#myModal').modal('show'); }); - - //表单下拉框 - $("#select_department").selectpicker({ +/*【渲染--人员下拉框】*/ + $("#name,#select_people").selectpicker({ actionsBox:true, - // title:"请选择科目", width : 200, 'noneSelectedText': '请选择', 'deselectAllText': '全不选', @@ -210,12 +69,9 @@ dropupAuto:true, liveSearch:true, liveSearchNormalize:true - // liveSearchPlaceholder:"搜索内容",//不起作用 }); - - - //点击增加时间选择组--begin +/*【表单--增加时间选择组】--begin*/ $("#add_workTimeGroup").click(function(){ num++; var content="
" @@ -244,39 +100,27 @@ +"
"; $("#workTime_group").after(content); - initSchedulingDate('start' + num); - initSchedulingDate('end' + num); + initSchedulingDate('start' + num,new Date()); + initSchedulingDate('end' + num,new Date()); }); - - - initSchedulingDate("end0"); - initSchedulingDate("start0"); +/*【渲染--初始化时间组件】*/ + initSchedulingDate("end0",new Date()); + initSchedulingDate("start0",new Date()); initSchedulingDate("dateFrom_input"); initSchedulingDate("dateTo_input"); + - function initSchedulingDate(idStr){ - $('#' + idStr).datetimepicker({ - format: 'yyyy-mm-dd', - language:'zh_CN' - }) - } - - //点击增加时间选择组--end - - - //表单“取消按钮” +/*【表单--取消】*/ $("#cancel").click(function(){ $('#myModal').modal('hide'); }); - - var timeFrames=[]; -/**表单“确认按钮”*/ +/*【表单--确认】 */ $("#confirm").click(function(){ + var timeFrames=[]; //提交 var canCommmit=true; - var userIds=$("#select_people").val(); var scheduleDefinitionId=$("#select_schedule").val(); @@ -288,6 +132,8 @@ alert("请添加班次!"); }else{ //校验时间选择是否正确 + //时间组不为空数量 + var notEmptyNum=0; for(var v=0;v<=num;v++){ var start=$("#start"+v).val(); var end=$("#end"+v).val(); @@ -304,65 +150,69 @@ if(isUndefinedOrNullOrEmpty(start)||isUndefinedOrNullOrEmpty(end)){ if(isUndefinedOrNullOrEmpty(start)&&isUndefinedOrNullOrEmpty(end)){ isOk=0; - if(num==0){ - canCommmit=false; - isOk=-1; - alert("请至少选择一组时间!"); - } }else{ canCommmit=false; isOk=-1; alert("日期不能为空!"); } - }else if(dateCompare(start, end)!=1){ - alert("截止日期必须大于开始日期!"); + }else if(dateCompare(start, end)==-1){ + alert("截止日期必须大于或等于开始日期!"); canCommmit=false; isOk=-1; }else if(timeFrames.length>1&&isDatesBetween(dateObejct,timeFrames)){ alert("存在交叉时间段,请重新设置!"); canCommmit=false; isOk=-1; + }else{ + notEmptyNum++; } - if(isOk==1){ var date={}; date.timeMin=start; date.timeMax=end; timeFrames.push(date); } } + + if(notEmptyNum==0){ + isOk=-1; + canCommmit=false; + alert("请至少选择一组时间!"); + } } if(canCommmit){ //将数据提交到后台并隐藏弹框 - function scheduleInformation(userIds,scheduleDefinitionId,timeFrames){ - this.userIds=userIds; - this.scheduleDefinitionId=scheduleDefinitionId; - this.timeFrames=timeFrames; - } - - var scheduleInformation1=new scheduleInformation(userIds,scheduleDefinitionId,timeFrames); + var isSuccess=true; $.ajax({ url:WWWROOT + '/disinfectSystem/scheduleInformation/addScheduleInformation.mhtml', contentType:"application/json;charset=utf-8", type:'POST', - data:JSON.stringify(scheduleInformation1), + data:JSON.stringify(new scheduleInformation(userIds,scheduleDefinitionId,timeFrames)), dataType:'json', async:false, success:function(msg){ - scheduleDefinitions=msg.data.data; + if(msg.code==200){ + isSuccess=true; + }else if(msg.code==500){ + isSuccess=false; + alert(msg.msg+"请重新设置!"); + }else{ + isSuccess=false; + } + },error:function(){ alert("error"); } }); - location.reload(); - //如果返回结果没有异常,隐藏弹框 - $('#myModal').modal('hide'); + if(isSuccess){ + loadTable(lastSearchParams,scheduleDefinitionArray); + //如果返回结果没有异常,隐藏弹框 + $('#myModal').modal('hide'); + } } }); - -/**搜索框各监听事件--begin*/ - //删除某条数据--begin +/*【搜索栏--删除】--begin*/ $("#search_delete").click(function(){ var selected=$('#table').bootstrapTable('getSelections'); if(selected.length==0){ @@ -376,239 +226,35 @@ $.ajax({ url:WWWROOT + '/disinfectSystem/scheduleInformation/deleteFutureScheduleInformation.mhtml?time='+new Date(), data:{'userIds':ids.join(';')}, - //contentType:"application/json;charset=utf-8", type:'GET', async:false, traditional: true,//这里设置为true dataType:'json', success:function(msg){ -// if(msg.result=='success'){ - console.log(msg); -// alert("已成功删除"+msg.count+"条数据!"); - location.reload(); -// } + console.log(msg); + loadTable(lastSearchParams,scheduleDefinitionArray); } }); - } + }); -//“查询"按钮事件---bugin +/*【搜索栏--查询】---bugin*/ $("#search_submit").click(function(){ - var startDate=$("#dateFrom_input").val(); - var endDate=$("#dateTo_input").val(); - var userId=$("#name").val(); - //同时都有值 - var isSearch=true; - - if(isUndefinedOrNullOrEmpty(startDate) ^ isUndefinedOrNullOrEmpty(endDate)){ - alert("请同时选择开始及截至时间,请重新选择!"); - isSearch=false; - }else if(!isUndefinedOrNullOrEmpty(startDate)&&!isUndefinedOrNullOrEmpty(endDate)){ - if(dateCompare(endDate,startDate)==1){ - alert("截至时间不能小于开始查询时间!"); - isSearch=false; - }else{ - var days=timeDifferenceNums(startDate, endDate); - if(days>31){ - alert("查询天数最多为一个月!"); - isSearch=false; - } - } - - } - - if(isUndefinedOrNullOrEmpty(startDate)&&isUndefinedOrNullOrEmpty(endDate)&&isUndefinedOrNullOrEmpty(userId)){ - alert("请至少选择一个查询条件!"); - isSearch=false; - } - - if(isSearch){ - - //重现获取一遍 - //先摧毁 - $("#table").bootstrapTable('destroy'); - /*之后要优化*/ - scheduleInformations=[]; - var query={ - startTime:startDate, - endTime:endDate, - userIds: userId - }; - - $.ajax({ - url:WWWROOT + '/disinfectSystem/scheduleInformation/findUserScheduleInformations.mhtml?time='+new Date(), - type:'POST', - data:query, - cache:false, - dataType:'json', - async:false, - success:function(msg){ - scheduleInformations=msg.data; - },error:function(){ - alert("error"); - } - }); - if(!isUndefinedOrNullOrEmpty(scheduleInformations)){ - voList=jsonRevert(scheduleInformations.data); - times=scheduleInformations.conditionTimes; - - columns=[]; - - c1=[ - { - checkbox:true, - align:'center', - valign:"middle", - width : '10', - rowspan:3 - }, - { - title:'姓名', - field:"userName", - classes:"userName", - align:"center", - valign:"middle", - width : '70', - clickToSelect:true, - rowspan:3 - }, - { - title:'时间', - align:"center", - valign:"middle", - width : '200', - colspan:times.length - }, - { - title:'剩余假期', - field:"holiDay", - align:"center", - valign:"middle", - width : '30', - rowspan:3, - editable: { - type: 'text', - title: '编辑剩余假期', - validate: function (v) { - if (!v) return '用户名不能为空'; - } - } - } - ]; - - data=[]; - weeks=[]; - - - //遍历 - for(var i=0;i"+value+"31){ + alert("查询天数最多为一个月!"); + isSearch=false; + } + } + } + if(isUndefinedOrNullOrEmpty(startDate)&&isUndefinedOrNullOrEmpty(endDate)&&isUndefinedOrNullOrEmpty(userId)){ + alert("请至少选择一个查询条件!"); + isSearch=false; + } + + if(isSearch){ + var userIds=null; + if(!isUndefinedOrNullOrEmpty(userId)){ + userIds=userId.join(','); + } + var queryParams={ + startTime:startDate, + endTime:endDate, + userIds:userIds + }; + loadTable(queryParams,scheduleDefinitionArray); + return queryParams; + } } + +function scheduleInformation(userIds,scheduleDefinitionId,timeFrames){ + this.userIds=userIds; + this.scheduleDefinitionId=scheduleDefinitionId; + this.timeFrames=timeFrames; +} + +//加载列表 +function loadTable(queryParams,scheduleDefinitionArray){ + $("#table").bootstrapTable('destroy'); + //加载列表信息 + var scheduleInformations=getAllScheduleInformations(queryParams); + var voList=jsonRevert(scheduleInformations.data); + var times=scheduleInformations.conditionTimes; + var data=[]; + var weeks=[]; + var columns=[]; + var c1=[ + { + checkbox:true, + align:'center', + valign:"middle", + width : '10', + rowspan:3 + }, + { + title:'姓名', + field:"userName", + classes:"userName", + align:"center", + valign:"middle", + width : '70', + clickToSelect:true, + rowspan:3 + }, + { + title:'时间', + align:"center", + valign:"middle", + width : '200', + colspan:times.length + }, + { + title:'剩余假期', + field:"holiDay", + align:"center", + valign:"middle", + width : '30', + rowspan:3, + editable: { + type: 'text', + title: '编辑剩余假期', + validate: function (v) { + if (!v) return '用户名不能为空'; + } + } + } + ]; + + //遍历 + for(var i=0;i"+value+" -Insert title here +排班信息 @@ -14,8 +14,8 @@ <%-- 时间控件 --%> - - +<%-- + --%> - +
- -
-
+
-
@@ -69,18 +60,31 @@
-
+
+ + +
+ + + + + -
+
+ + +
+ +
@@ -120,14 +124,14 @@ - + <%-- 时间控件 --%> - - <%-- 时间控件 --%> - - +<%-- + --%> <%-- 时间控件 --%> + + <%-- --%>