Index: ssts-web/src/main/webapp/disinfectsystem/schedule/scheduleDefinition.js =================================================================== diff -u -r24040 -r24043 --- ssts-web/src/main/webapp/disinfectsystem/schedule/scheduleDefinition.js (.../scheduleDefinition.js) (revision 24040) +++ ssts-web/src/main/webapp/disinfectsystem/schedule/scheduleDefinition.js (.../scheduleDefinition.js) (revision 24043) @@ -1,213 +1,129 @@ $(function() { - //首先加载页面数据 - var data=getAllScheduleDefinition(); - - //主体列表 - var t = $("#handoverTable") - .bootstrapTable( - { -// url : encodeURI(WWWROOT + '/disinfectSystem/baseData/handoverAction!getAllHandover.do?time='+new Date()), - data:data, - method : 'get', - dataType : "json", - showRefresh : "true",// 刷新按钮 - dataField : "data",// 这是返回的json数组的key.默认好像是"rows".这里只有前后端约定好就行 - striped : true,// 设置为 true 会有隔行变色效果 - undefinedText : "",// 当数据为 undefined 时显示的字符 - pagination : true, // 分页 - showColumns : "true",// 是否显示 内容列下拉框 - pageNumber : 1,// 如果设置了分页,首页页码 - showPaginationSwitch:true,//是否显示 数据条数选择框 - search : true, // 显示搜索框 - toolbar:"#toolbar", - data_local : "zh-US",// 表格汉化 - responseHandler : "", - //分页栏 - pageSize : 15,// 如果设置了分页,页面数据条数 - pageList : [ 10, 15, 20 ], // 如果设置了分页,设置可供选择的页面数据条数。设置为All则显示所有记录。 - paginationPreText: "上一页", - paginationNextText: "下一页", - paginationFirstText: "首页", - paginationLastText: "尾页", - queryParams : function(params) {// 自定义参数 - return {// 这里的params是table提供的 - start : params.offset, // 从数据库第几条记录开始 - limit : params.limit, // 找多少条 - keyword : params.search - }; - }, - onDblClickRow: function (row) { - openEditModel(row.id,row.handoverDate,row.handoverNote); - }, - idField : "id",// 指定主键列 - columns : [ - { -// title : 'id',// 表的列名 - field : 'id',// json数据中rows数组中的属性名 - align : 'center',// 水平居中 - visible:false //不显示ID - }, - { -// title : 'id',// 表的列名 - field : 'orgUnitCode',// json数据中rows数组中的属性名 - align : 'center',// 水平居中 - visible:false //不显示ID - }, - { -// title : 'id',// 表的列名 - field : 'serialNumber',// json数据中rows数组中的属性名 - align : 'center',// 水平居中 - visible:false //不显示ID - },{ - checkbox : true - }, - { - title : '科室', - field : 'orgUnitName', - align : 'center' - }, - { - title : '班次名称', - field : 'sheduleName', - align : 'center' - }, - { - title : '上班时间', - field : 'startWorkingTime', - align : 'center' - }, - { - title : '下班时间', - field : 'endWorkingTime', - align : 'center' - }, - { - title : '备注', - field : 'remark', - align : 'center' - } - ] - }); - - //添加表单--获取“选择科室”下拉框内容,当前获取所有供应室,之后需求会有变动应该 - var handlerDepartmentStore=getHandlerDepartStore(); - //添加内容到下拉框 - var handlerDepartment_select=""; - //目前只选当前科室,之后需求需要变动为多科室,这里先注释 -// for(var i=0;i"+handlerDepartmentStore.orgUnitName+""; -// } - $("#select_department").append(handlerDepartment_select); + + var handlerDepartmentStore; + var handlerDepartment_select; + var scheduleDefinitions; - //添加表单--点击按钮跳出时间选择框 - $("#startWorkTime,#offWorkTime").click(function(){ - var t=$(this).attr("id")+"_input"; - WdatePicker({el:t,dateFmt:'HH:mm'}); - }); +//【列表--加载内容】 +loadTable(); + +//【弹窗--时间选择框】 +initSchedulingDate('startWorkTime_input'); +initSchedulingDate('offWorkTime_input'); -// initSchedulingDate("startWorkTime_input"); -// initSchedulingDate("offWorkTime_input"); -// function initSchedulingDate(idStr){ -// $('#' + idStr).datetimepicker({ -// format: 'HH:mm', -// language:'zh_CN' -// }) -// } - var scheduleDefinitions=getAllScheduleDefinition(); - - //"班次名称"输入框输入完成后校验是否已存在相同的名称的班次定义 - $("#name").change(function(){ - var sheduleName=$("#name").val(); - if(isExistSameSheduleName(sheduleName,scheduleDefinitions)==true){ - alert("已存在相同班次名称,请重新输入!"); - } - }); - - //提交表单--begin - $("#confirm").click(function(){ - var verification=true; - var id=$("#id").val(); - var sheduleName=$("#name").val(); - var endWorkingTime=$("#offWorkTime_input").val(); - var startWorkingTime=$("#startWorkTime_input").val(); - var orgUnitCode=$("#select_department").val(); - var remark=$("#remarks").val(); - - if(isUndefinedOrNullOrEmpty(sheduleName)){ - alert("请输入班次名称!"); - verification=false; - }else if(isExistSameSheduleName(sheduleName,scheduleDefinitions)==true){//判断是否已存在相同名称的班次定义 - alert("已存在相同班次名称,请重新输入!"); - verification=false; - }else if(isUndefinedOrNullOrEmpty(startWorkingTime)){ - alert("请选择上班时间!"); - verification=false; - }else if(isUndefinedOrNullOrEmpty(endWorkingTime)){ - alert("请选择下班时间!"); - verification=false; - }else if(dateCompare(startWorkingTime, endWorkingTime)!=1){ - alert("下班时间必须大于上班时间!"); - verification=false; - } - - if(verification){ - var f=$("#scheduleDefinition_form"); -// $("#scheduleDefinition_form")[0].submit(); - - function scheduleDefinition(id,sheduleName,endWorkingTime,startWorkingTime,orgUnitCode,remark){ - this.id=id; - this.sheduleName=sheduleName; - this.endWorkingTime=endWorkingTime; - this.startWorkingTime=startWorkingTime; - this.orgUnitCode=orgUnitCode; - this.remark=remark; - } - - var scheduleDefinition1=new scheduleDefinition(id,sheduleName,endWorkingTime,startWorkingTime,orgUnitCode,remark); - - $.ajax({ - url:WWWROOT + '/disinfectSystem/scheduleDefinition/saveOrUpdateScheduleDefinition.mhtml?time='+new Date(), - contentType:"application/json;charset=utf-8", - data:JSON.stringify(scheduleDefinition1), - type:'post', - async:false, - traditional: true,//这里设置为true - dataType:'json', - success:function(msg){ - console.log(msg); - - } - }); - - $('#myModal').modal('hide'); - //清空表单数据 - $('#select_department').val(""); - $('#startWorkTime_input').val(""); - $('#offWorkTime_input').val(""); - $('#remarks').val(""); - $('#name').val(""); - //重新加载页面 - location.reload(); - } - }); - //提交表单--end +//【弹窗--校验班次名称是否存在】 + $("#name").change(function(){ + var sheduleName=$("#name").val(); + scheduleDefinitions=getAllScheduleDefinition(); + if(isExistSameSheduleName(sheduleName,scheduleDefinitions)==true){ + alert("已存在相同班次名称,请重新输入!"); + } + }); + +//【弹窗--提交表单】--begin + $("#confirm").click(function(){ + var verification=true; + var id=$("#id").val(); + var sheduleName=$("#name").val(); + var endWorkingTime=$("#offWorkTime_input").val(); + var startWorkingTime=$("#startWorkTime_input").val(); + var orgUnitCode=$("#select_department").val(); + var remark=$("#remarks").val(); + + if(isUndefinedOrNullOrEmpty(sheduleName)){ + alert("请输入班次名称!"); + verification=false; + }else if(isExistSameSheduleName(sheduleName,scheduleDefinitions)==true&&isUndefinedOrNullOrEmpty(id)){//判断是否已存在相同名称的班次定义 + alert("已存在相同班次名称,请重新输入!"); + verification=false; + }else if(isUndefinedOrNullOrEmpty(startWorkingTime)){ + alert("请选择上班时间!"); + verification=false; + }else if(isUndefinedOrNullOrEmpty(endWorkingTime)){ + alert("请选择下班时间!"); + verification=false; + }else if(timeCompare(startWorkingTime, endWorkingTime)!=1){ + alert("下班时间必须大于上班时间!"); + verification=false; + } + + if(verification){ + $.ajax({ + url:WWWROOT + '/disinfectSystem/scheduleDefinition/saveOrUpdateScheduleDefinition.mhtml?time='+new Date(), + contentType:"application/json;charset=utf-8", + data:JSON.stringify(new scheduleDefinition(id,sheduleName,endWorkingTime,startWorkingTime,orgUnitCode,remark)), + type:'post', + async:false, + traditional: true,//这里设置为true + dataType:'json', + success:function(msg){ + console.log(msg); + } + }); + + $('#myModal').modal('hide'); + //清空表单数据 + $('#select_department').val(""); + $('#startWorkTime_input').val(""); + $('#offWorkTime_input').val(""); + $('#remarks').val(""); + $('#name').val(""); + //重新加载页面, + loadTable(); + } + }); +//【弹窗--提交表单】--end + + + - //表单取消--begin - $("#cancel").click(function(){ - $('#myModal').modal('hide'); - //清空表单数据 - $('#select_department').val(""); - $('#startWorkTime_input').val(""); - $('#offWorkTime_input').val(""); - $('#remarks').val(""); - $('#name').val(""); - }); - //表单取消--end +//【新增】--begin + $("#btn_add").click(function(){ + loadAndApendHandlerDepart(handlerDepartmentStore,handlerDepartment_select); + $('#myModal').modal('show'); + }); +//【新增】--begin--end + +//【编辑】--begin + $("#btn_edit").click(function(){ + loadAndApendHandlerDepart(handlerDepartmentStore,handlerDepartment_select); + var selected=$('#handoverTable').bootstrapTable('getSelections'); + if(selected.length==0){ + alert("请选择要编辑的内容!"); + }else if(selected.length>1){ + alert("最多只能编辑一条数据!"); + }else{ + //弹框并赋值 + $('#id').val(selected[0].id); + $('#select_department').val(selected[0].depart); + $('#select_department').val(selected[0].orgUnitName); + $('#startWorkTime_input').val(selected[0].startWorkingTime); + $('#offWorkTime_input').val(selected[0].endWorkingTime); + $('#remarks').val(selected[0].remark); + $('#name').val(selected[0].sheduleName); + $('#myModal').modal('show'); + } + + }); +//【编辑】--end + +//表单取消--begin +$("#cancel").click(function(){ + $('#myModal').modal('hide'); + //清空表单数据 + $('#select_department').val(""); + $('#startWorkTime_input').val(""); + $('#offWorkTime_input').val(""); + $('#remarks').val(""); + $('#name').val(""); +}); +//表单取消--end - //删除某条数据--begin - $("#btn_delete").click(function(){ + +//【删除】--begin + $("#btn_delete").click(function(){ var selected=$('#handoverTable').bootstrapTable('getSelections'); if(selected.length==0){ alert("请选择要删除的内容!"); @@ -222,73 +138,49 @@ data:{'ids':ids.join(';')}, type:'POST', async:false, - traditional: true,//这里设置为true + traditional: true, dataType:'json', success:function(msg){ -// if(msg.result=='success'){ - console.log(msg); -// alert("已成功删除"+msg.count+"条数据!"); - location.reload(); -// } + console.log(msg); } }); - + loadTable(); } }); - //删除某条数据--end +//【删除】--end - //编辑某条数据--begin - $("#btn_edit").click(function(){ - var selected=$('#handoverTable').bootstrapTable('getSelections'); - if(selected.length==0){ - alert("请选择要编辑的内容!"); - }else if(selected.length>1){ - alert("最多只能编辑一条数据!"); - }else{ - //弹框并赋值 - $('#id').val(selected[0].id); - $('#select_department').val(selected[0].depart); - $('#select_department').val(selected[0].orgUnitName); - $('#startWorkTime_input').val(selected[0].startWorkingTime); - $('#offWorkTime_input').val(selected[0].endWorkingTime); - $('#remarks').val(selected[0].remark); - $('#name').val(selected[0].sheduleName); - $('#myModal').modal('show'); - } - - }); - //编辑某条数据--end + - });//$(function(){})结束 +//初始化时间框 +function initSchedulingDate(idStr){ + $('#' + idStr).datetimepicker({ + autoclose: true, + startView: 'day', + minView: 'hour', + minuteStep:1, + format: 'hh:ii',// 年月日时分秒 + clearBtn:false, + todayBtn:true, + }) + } +function scheduleDefinition(id,sheduleName,endWorkingTime,startWorkingTime,orgUnitCode,remark){ + this.id=id; + this.sheduleName=sheduleName; + this.endWorkingTime=endWorkingTime; + this.startWorkingTime=startWorkingTime; + this.orgUnitCode=orgUnitCode; + this.remark=remark; +} -//加载主体列表内容 -function getAllScheduleDefinition(){ - var scheduleDefinitions=[]; - $.ajax({ - url:WWWROOT + '/disinfectSystem/scheduleDefinition/findScheduleDefinitions.mhtml', - contentType:"application/json;charset=utf-8", - type:'POST', - data:JSON.stringify({isAll :'false'}), - dataType:'json', - async:false, - success:function(msg){ - scheduleDefinitions=msg.data.data; - },error:function(){ - alert("error"); - } - }); - return scheduleDefinitions; -} - //加载可设置的科室数据 function getHandlerDepartStore(){ var handlerDpertmentStore=[]; @@ -330,7 +222,19 @@ return false; } +//加载添加表单"选择科室"下拉内容 +function loadAndApendHandlerDepart(handlerDepartmentStore,handlerDepartment_select){ + if(isUndefinedOrNullOrEmpty(handlerDepartmentStore)){ + handlerDepartmentStore=getHandlerDepartStore(); + //for(var i=0;i"+handlerDepartmentStore.orgUnitName+""; + //} + $("#select_department").append(handlerDepartment_select); + $("#select_department").selectpicker('refresh'); + } +} + //加载班次定义信息 function getAllScheduleDefinition(){ var scheduleDefinitions=[]; @@ -349,3 +253,108 @@ }); return scheduleDefinitions; } + +/* + *加载表单 + */ +function loadTable(){ + +var data=getAllScheduleDefinition(); +$("#handoverTable").bootstrapTable('destroy'); +//主体列表 +var t = $("#handoverTable").bootstrapTable( + { + data:data, + method : 'get', + dataType : "json", + showRefresh : "true",// 刷新按钮 + dataField : "data",// 这是返回的json数组的key.默认好像是"rows".这里只有前后端约定好就行 + striped : true,// 设置为 true 会有隔行变色效果 + undefinedText : " ",// 当数据为 undefined 时显示的字符 + pagination : true, // 分页 + showColumns : "true",// 是否显示 内容列下拉框 + pageNumber : 1,// 如果设置了分页,首页页码 + showPaginationSwitch:true,//是否显示 数据条数选择框 + search : true, // 显示搜索框 + toolbar:"#toolbar", + data_local : "zh-US",// 表格汉化 + responseHandler : "", + //分页栏 + pageSize : 15,// 如果设置了分页,页面数据条数 + pageList : [ 10, 15, 20 ], // 如果设置了分页,设置可供选择的页面数据条数。设置为All则显示所有记录。 + paginationPreText: "上一页", + paginationNextText: "下一页", + paginationFirstText: "首页", + paginationLastText: "尾页", + queryParams : function(params) { + return { + start : params.offset, + limit : params.limit, + keyword : params.search + }; + }, + onDblClickRow: function (row) { + openEditModel(row.id,row.handoverDate,row.handoverNote); + }, + idField : "id", + columns : [ + { + field : 'id', + align : 'center', + visible:false + }, + { + field : 'orgUnitCode', + align : 'center', + visible:false + }, + { + field : 'serialNumber', + align : 'center', + visible:false + },{ + checkbox : true + }, + { + title : '科室', + field : 'orgUnitName', + align : 'center' + }, + { + title : '班次名称', + field : 'sheduleName', + align : 'center' + }, + { + title : '上班时间', + field : 'startWorkingTime', + align : 'center' + }, + { + title : '下班时间', + field : 'endWorkingTime', + align : 'center' + }, + { + title : '备注', + field : 'remark', + align : 'center' + } + ] + }); + +} + +/*保留代码 + * + + +// initSchedulingDate("startWorkTime_input"); +// initSchedulingDate("offWorkTime_input"); +// function initSchedulingDate(idStr){ +// $('#' + idStr).datetimepicker({ +// format: 'HH:mm', +// language:'zh_CN' +// }) +// } + */ \ No newline at end of file