charge_team_schedule.js 8.2 KB

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