check_team_schedule.js 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. $(document).ready(function() {
  2. // 用户的dept_id
  3. var user_dept_id = 1 ;
  4. // 稽查小组type
  5. var team_type = 2 ;
  6. // 日期游标
  7. var date_cursor = 0 ;
  8. // var user = $.zui.store.get("user") ; // 缓存用户信息,取出dept_id
  9. // console.log(user );
  10. $('#calendar').calendar();
  11. var calendar = $('#calendar').data('zui.calendar');
  12. calendarInit();
  13. // 请求稽查人员排班数据
  14. function calendarInit(data_param){
  15. var data = {
  16. "dept_id": user_dept_id ,
  17. "start_time":getCurrentMonthFirst(),
  18. "end_time":getCurrentMonthLast()
  19. }
  20. if(data_param != undefined){
  21. data = data_param ;
  22. }
  23. getTeamClass(data,function(data){
  24. var newEvents = [];
  25. console.log(data);
  26. for(var i=0;i<data.length;i++){
  27. var obj = {id:data[i].id ,desc:data[i].team_name ,title: data[i].team_name+"-"+getTeamName(data[i].class_type), start: data[i].start_time, end: data[i].end_time};
  28. newEvents.push(obj);
  29. }
  30. console.log(newEvents)
  31. calendar.addEvents(newEvents);
  32. })
  33. }
  34. // 获取排班信息
  35. function getTeamClass(data,_function){
  36. post_common_service( "teamClass/getClassList",data,function(data){
  37. _function(data);
  38. },function(error){
  39. return "" ;
  40. })
  41. }
  42. // 更新日历数据
  43. function updateCalendar(data){
  44. calendar.events = [];
  45. calendar.display();
  46. calendarInit(data);
  47. }
  48. // 当月第一天
  49. function getCurrentMonthFirst(){
  50. var date=new Date();
  51. date.setDate(1);
  52. return date.toLocaleDateString()+" 00:00:00";
  53. }
  54. // 当月最后一天
  55. function getCurrentMonthLast(){
  56. var date=new Date();
  57. var currentMonth=date.getMonth();
  58. var nextMonth=++currentMonth;
  59. var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
  60. var oneDay=1000*60*60*24;
  61. return new Date(nextMonthFirstDay-oneDay).toLocaleDateString()+" 00:00:00";
  62. }
  63. // 上一个月或者下个月的第一天或者最后一天
  64. function getMonthByCondition(pre_or_after,first_or_last){
  65. if(first_or_last == 'first'){
  66. var date=new Date();
  67. date.setDate(1);
  68. date.setMonth(date.getMonth()+pre_or_after);
  69. return date;
  70. }else if(first_or_last == 'last'){
  71. var date = new Date();
  72. var currentMonth=date.getMonth();
  73. var nextMonth=++currentMonth;
  74. var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
  75. var oneDay=1000*60*60*24;
  76. date = new Date(nextMonthFirstDay-oneDay);
  77. date.setMonth(date.getMonth()+pre_or_after);
  78. return date ;
  79. }
  80. }
  81. $('#calendar').calendar().on("clickEvent.zui.calendar", function(event) {
  82. // console.log(event);
  83. click_function(event.event.start);
  84. });
  85. /**
  86. * 点击日历触发函数
  87. */
  88. function click_function(date){
  89. setAddTermTitle(date.format("yyyy-MM-dd"));
  90. // 保存当前日期
  91. $("#save_term_class").data("date",date.format("yyyy-MM-dd"));
  92. var data = {
  93. "dept_id": user_dept_id ,
  94. "start_time":date.format("yyyy-MM-dd 00:00:00"),
  95. "end_time": date.format("yyyy-MM-dd 00:00:00")
  96. }
  97. getTeamClass(data,function(data){
  98. for(var i=0;i<$("select[id*='_term']").length;i++){
  99. $("select[id*='_term']").eq(i).val("");
  100. }
  101. if(data.length > 0){
  102. $("#save_term_class").data("modify_flag",1);
  103. for(var i=0;i<data.length;i++){
  104. $(".class_team_"+data[i].class_type).val(data[i].team_id);
  105. }
  106. }else{
  107. $("#save_term_class").data("modify_flag",0);
  108. }
  109. $('#myModal').modal();
  110. })
  111. }
  112. $('#calendar').calendar().on("clickCell.zui.calendar", function(event) {
  113. // console.log(event);
  114. click_function(event.date);
  115. });
  116. // 下一个日期
  117. $('#calendar').calendar().on("clickNextBtn.zui.calendar", function(event) {
  118. // console.log(event);
  119. date_cursor++ ;
  120. var data = {
  121. "dept_id": user_dept_id ,
  122. "start_time":getMonthByCondition(date_cursor,'first').format("yyyy-MM-dd 00:00:00"),
  123. "end_time": getMonthByCondition(date_cursor,'last').format("yyyy-MM-dd 00:00:00")
  124. }
  125. updateCalendar(data);
  126. });
  127. // 上一个日期
  128. $('#calendar').calendar().on("clickPrevBtn.zui.calendar", function(event) {
  129. date_cursor-- ;
  130. var data = {
  131. "dept_id": user_dept_id ,
  132. "start_time":getMonthByCondition(date_cursor,'first').format("yyyy-MM-dd 00:00:00"),
  133. "end_time": getMonthByCondition(date_cursor,'last').format("yyyy-MM-dd 00:00:00")
  134. }
  135. updateCalendar(data);
  136. });
  137. // 今天
  138. $('#calendar').calendar().on("clickTodayBtn.zui.calendar", function(event) {
  139. // console.log(event);
  140. date_cursor = 0 ;
  141. calendarInit();
  142. });
  143. $("#save_term_class").click(function(){
  144. var data = [];
  145. for(var i=0;i<$("select[id*='_term']").length;i++){
  146. if($("select[id*='_term']").eq(i).val()!=""){
  147. var obj = {
  148. "class_type":i+1,
  149. "team_id":$("select[id*='_term']").eq(i).val(),
  150. "work_date": $("#save_term_class").data("date")+" 00:00:00",
  151. "start_time": $("#save_term_class").data("date")+" 00:00:00",
  152. "end_time": $("#save_term_class").data("date")+" 00:00:00",
  153. "dept_id":user_dept_id
  154. };
  155. data.push(obj);
  156. }
  157. }
  158. if(data.length == 0 ){
  159. tip("请增加排班!");
  160. return ;
  161. }
  162. if( $("#save_term_class").data("modify_flag") != 1){
  163. post_common_service("teamClass/add/list",data,function(data){
  164. updateCalendar();
  165. $('#myModal').modal('hide');
  166. },function(error){
  167. $('#myModal').modal('hide');
  168. })
  169. }else{
  170. post_common_service("teamClass/update/list",data,function(data){
  171. updateCalendar();
  172. $('#myModal').modal('hide');
  173. },function(error){
  174. $('#myModal').modal('hide');
  175. })
  176. }
  177. })
  178. $("#close_btn").click(function(){
  179. $('#myModal').modal('hide');
  180. })
  181. // 获取部门为1的班组信息
  182. getTermClass(user_dept_id);
  183. // 获取班组信息
  184. function getTermClass(dept_id){
  185. var data = {
  186. 'dept_id':dept_id ,
  187. 'type':team_type
  188. }
  189. post_common_service( "team/getTeamByDeptId/1/50",data,function(data){
  190. for(var i=0;i<data.list.length;i++){
  191. $("#mooring_term,#middle_term,#night_term,#all_term").append("<option value='"+data.list[i].id+"'>"+data.list[i].name +"</option>")
  192. }
  193. },function(error){})
  194. }
  195. })
  196. // 根据class_type 获取班次名称
  197. function getTeamName(class_type){
  198. if(class_type == 1){
  199. return "早班";
  200. }else if(class_type == 2){
  201. return "中班";
  202. }else if(class_type == 3){
  203. return "晚班";
  204. }else if(class_type == 4){
  205. return "全班";
  206. }
  207. }
  208. function setAddTermTitle(title){
  209. $(".modal-title").html("添加班组-"+title);
  210. }