schedulingplan.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. 'use strict';
  2. app.config(['calendarConfigProvider', function(calendarConfigProvider) {
  3. calendarConfigProvider.setDateFormatter('moment'); // use moment to format dates
  4. calendarConfigProvider.setTitleFormats({
  5. day: 'dddd MMMM DD, YYYY',
  6. week: '{year}年{week}周',
  7. month: 'MMMM YYYY',
  8. year: 'YYYY'
  9. //day: 'ddd D MMM' //this will configure the day view title to be shorter
  10. });
  11. calendarConfigProvider.setI18nStrings({
  12. eventsLabel: '描述', //This will set the events label on the day view
  13. timeLabel: '时间', //This will set the time label on the time view
  14. weekNumber: '{week}周'
  15. });
  16. }]);
  17. app.controller("calendarCtrl", function($scope,$rootScope, $filter, $q, $timeout, $log, MaterialCalendarData, SweetAlert, api_bpm_data) {
  18. var loginUser = $rootScope.user;
  19. $scope.bianji=false;
  20. for(var i=0;i<loginUser.menu.length;i++){
  21. if(loginUser.menu[i].link=="gongzuorishezhi_bianji"){
  22. $scope.bianji=true
  23. }
  24. }
  25. $scope.calendarView = "month";
  26. $scope.msg = {}
  27. $scope.msg['year'] = new Date().getFullYear();
  28. $scope.msg['month'] = new Date().getMonth() + 1;
  29. var workdays = $scope.msg
  30. $scope.selected = []
  31. var weekdate = { "workDayconfigure": { "year": workdays.year, "state": 1 }, "idx": 0, "sum": 1000 }
  32. api_bpm_data.fetchDataList('workDayconfigure', weekdate).then(function(response) {
  33. var myData = response.list[0];
  34. myData.monday == 1 ? $scope.options.selected[0] = workdays.year + '-1' : $scope.options.selected[0] = '';
  35. myData.tuesday == 1 ? $scope.options.selected[1] = workdays.year + '-2' : $scope.options.selected[1] = '';
  36. myData.wednesday == 1 ? $scope.options.selected[2] = workdays.year + '-3' : $scope.options.selected[2] = '';
  37. myData.thursday == 1 ? $scope.options.selected[3] = workdays.year + '-4' : $scope.options.selected[3] = '';
  38. myData.friday == 1 ? $scope.options.selected[4] = workdays.year + '-5' : $scope.options.selected[4] = '';
  39. myData.saturday == 1 ? $scope.options.selected[5] = workdays.year + '-6' : $scope.options.selected[5] = '';
  40. myData.sunday == 1 ? $scope.options.selected[6] = workdays.year + '-7' : $scope.options.selected[6] = '';
  41. console.log($scope.options.selected)
  42. })
  43. $scope.options = {
  44. reset: true,
  45. onChange: function(selected) {
  46. // console.log(selected)
  47. $scope.options.selected = selected;
  48. },
  49. selected: []
  50. };
  51. $scope.saveMonth = function(){
  52. $rootScope.isMask = true;
  53. api_bpm_data.addData('workdayexception', {workdayexception: {list: $scope.arrList}}).then(function(response) {
  54. $rootScope.isMask = false;
  55. if (response.status == 200) {
  56. SweetAlert.swal({
  57. title: "修改成功!",
  58. text: "修改排班成功!",
  59. type: "success"
  60. }, function() {
  61. $scope.refreshData(workdays);
  62. });
  63. } else {
  64. SweetAlert.swal({
  65. title: "修改失败!",
  66. text: "修改排班失败!",
  67. type: "error"
  68. });
  69. }
  70. })
  71. }
  72. $scope.saveweek = function(selected) {
  73. var numget = ['2', '2', '2', '2', '2', '2', '2'];
  74. var longtime = '';
  75. var j = ''
  76. var w = ''
  77. var timeget = ''
  78. for (var i = 0; i < selected.length; i++) {
  79. if (selected[i]) {
  80. j = selected[i].substr(selected[i].length - 1, 1);
  81. if (j == 7) {
  82. j = 0;
  83. }
  84. j = Number(j);
  85. numget[j] = '1';
  86. } else {}
  87. }
  88. angular.forEach(numget, function(item) {
  89. w += item
  90. })
  91. timeget = workdays.year + '-' + w
  92. var weekdata = {
  93. "workDayconfigure": {
  94. "rule": timeget
  95. }
  96. }
  97. // delete weekdata[0];
  98. $rootScope.isMask = true;
  99. api_bpm_data.addData('workDayconfigure', weekdata).then(function(response) {
  100. $rootScope.isMask = false;
  101. if (response.status == 200) {
  102. SweetAlert.swal({
  103. title: "修改成功!",
  104. text: "修改排班成功!",
  105. type: "success"
  106. }, function() {
  107. $scope.refreshData(workdays);
  108. });
  109. } else {
  110. SweetAlert.swal({
  111. title: "修改失败!",
  112. text: "修改排班失败!",
  113. type: "error"
  114. });
  115. }
  116. })
  117. }
  118. $scope.selectedDate = [];
  119. $scope.weekStartsOn = 0;
  120. $scope.dayFormat = "d";
  121. $scope.tooltips = true;
  122. $scope.disableFutureDates = true;
  123. $scope.refreshData = function(workdays) {
  124. var monedata = {
  125. "idx": 0,
  126. "sum": 31,
  127. "workday": {
  128. "year": workdays.year,
  129. "month": workdays.month
  130. }
  131. }
  132. api_bpm_data.fetchDataList('workday', monedata).then(function(response) {
  133. $scope.arrList = [];
  134. var myData = response.list;
  135. $scope.selectedDate = [];
  136. angular.forEach(myData, function(item) {
  137. if (item.isWork == true) {
  138. $scope.selectedDate.push(moment(item.date).toDate());
  139. }
  140. })
  141. })
  142. }
  143. $scope.refreshData(workdays);
  144. $scope.setDirection = function(direction) {
  145. $scope.direction = direction;
  146. $scope.dayFormat = direction === "vertical" ? "EEEE, MMMM d" : "d";
  147. };
  148. var ischeck = '';
  149. $scope.arrList = [];
  150. $scope.dayClick = function(date) {
  151. if($scope.bianji){
  152. if ($scope.selectedDate.length == 0) {
  153. SweetAlert.swal({
  154. title: "修改失败!",
  155. text: "请先进行周工作日!",
  156. type: "error"
  157. });
  158. }
  159. for (var i = 0; i < $scope.selectedDate.length; i++) {
  160. console.log(moment(date).format('YYYY-MM-DD HH:mm:ss'), moment($scope.selectedDate[i]).format('YYYY-MM-DD HH:mm:ss'));
  161. if (angular.equals(date, $scope.selectedDate[i]) == true) {
  162. ischeck = true
  163. break
  164. } else { ischeck = false }
  165. }
  166. console.log(date);
  167. // var ymd = [date.getFullYear(), date.getMonth() + 1, date.getDate()].join("-");
  168. var ymd = moment(date.getTime() + 86399999).format('YYYY-MM-DD HH:mm:ss');
  169. var flagIndex = $scope.arrList.findIndex(v => angular.equals(ymd, v.date));
  170. if(flagIndex > -1){
  171. $scope.arrList[flagIndex].isWork = !$scope.arrList[flagIndex].isWork;
  172. }else{
  173. $scope.arrList.push({
  174. "date": ymd,
  175. "isWork": ischeck
  176. });
  177. }
  178. console.log($scope.arrList)
  179. // var monedata = {
  180. // "workdayexception": {
  181. // "date": ymd,
  182. // "isWork": ischeck
  183. // }
  184. // }
  185. // api_bpm_data.addData('workdayexception', monedata).then(function(response) {
  186. // if (response.status == 200) {
  187. // SweetAlert.swal({
  188. // title: "修改成功!",
  189. // text: "修改排班成功!",
  190. // type: "success"
  191. // }, function() {
  192. // $scope.refreshData(workdays);
  193. // });
  194. // } else {
  195. // SweetAlert.swal({
  196. // title: "修改失败!",
  197. // text: "修改排班失败!",
  198. // type: "error"
  199. // });
  200. // }
  201. // })
  202. }else{
  203. SweetAlert.swal({
  204. title: "修改失败",
  205. text: "对不起,您没有权限修改!",
  206. type: "error",
  207. confirmButtonColor: "#DD6B55"
  208. });
  209. }
  210. };
  211. $scope.prevMonth = function(data) {
  212. workdays = data;
  213. $scope.refreshData(data);
  214. };
  215. $scope.nextMonth = function(data) {
  216. workdays = data;
  217. $scope.refreshData(data);
  218. };
  219. $scope.setContentViaService = function() {
  220. var today = new Date();
  221. MaterialCalendarData.setDayContent(today, '<span> :oD </span>')
  222. }
  223. // var holidays = {"2015-01-01":[{"name":"Last Day of Kwanzaa","country":"US","date":"2015-01-01"},{"name":"New Year's Day","country":"US","date":"2015-01-01"}],"2015-01-06":[{"name":"Epiphany","country":"US","date":"2015-01-06"}],"2015-01-07":[{"name":"Orthodox Christmas","country":"US","date":"2015-01-07"}],"2015-01-19":[{"name":"Martin Luther King, Jr. Day","country":"US","date":"2015-01-19"}],"2015-02-02":[{"name":"Groundhog Day","country":"US","date":"2015-02-02"}],"2015-02-14":[{"name":"Valentine's Day","country":"US","date":"2015-02-14"}],"2015-02-16":[{"name":"Washington's Birthday","country":"US","date":"2015-02-16"}],"2015-02-18":[{"name":"Ash Wednesday","country":"US","date":"2015-02-18"}],"2015-03-08":[{"name":"International Women's Day","country":"US","date":"2015-03-08"}],"2015-03-17":[{"name":"Saint Patrick's Day","country":"US","date":"2015-03-17"}],"2015-03-29":[{"name":"Palm Sunday","country":"US","date":"2015-03-29"}],"2015-04-01":[{"name":"April Fools' Day","country":"US","date":"2015-04-01"}],"2015-04-03":[{"name":"Good Friday","country":"US","date":"2015-04-03"}],"2015-04-05":[{"name":"Easter","country":"US","date":"2015-04-05"}],"2015-04-22":[{"name":"Earth Day","country":"US","date":"2015-04-22"}],"2015-04-24":[{"name":"Arbor Day","country":"US","date":"2015-04-24"}],"2015-05-01":[{"name":"May Day","country":"US","date":"2015-05-01"}],"2015-05-04":[{"name":"Star Wars Day","country":"US","date":"2015-05-04"}],"2015-05-05":[{"name":"Cinco de Mayo","country":"US","date":"2015-05-05"}],"2015-05-10":[{"name":"Mother's Day","country":"US","date":"2015-05-10"}],"2015-05-25":[{"name":"Memorial Day","country":"US","date":"2015-05-25"}],"2015-06-14":[{"name":"Flag Day","country":"US","date":"2015-06-14"}],"2015-06-21":[{"name":"Father's Day","country":"US","date":"2015-06-21"}],"2015-06-27":[{"name":"Helen Keller Day","country":"US","date":"2015-06-27"}],"2015-07-04":[{"name":"Independence Day","country":"US","date":"2015-07-04"}],"2015-08-26":[{"name":"Women's Equality Day","country":"US","date":"2015-08-26"}],"2015-09-07":[{"name":"Labor Day","country":"US","date":"2015-09-07"}],"2015-09-11":[{"name":"Patriot Day","country":"US","date":"2015-09-11"}],"2015-09-13":[{"name":"Grandparent's Day","country":"US","date":"2015-09-13"}],"2015-09-17":[{"name":"Constitution Day","country":"US","date":"2015-09-17"}],"2015-10-06":[{"name":"German-American Day","country":"US","date":"2015-10-06"}],"2015-10-09":[{"name":"Leif Erkson Day","country":"US","date":"2015-10-09"}],"2015-10-12":[{"name":"Columbus Day","country":"US","date":"2015-10-12"}],"2015-10-31":[{"name":"Halloween","country":"US","date":"2015-10-31"}],"2015-11-03":[{"name":"Election Day","country":"US","date":"2015-11-03"}],"2015-11-11":[{"name":"Veterans Day","country":"US","date":"2015-11-11"}],"2015-11-26":[{"name":"Thanksgiving Day","country":"US","date":"2015-11-26"}],"2015-11-27":[{"name":"Black Friday","country":"US","date":"2015-11-27"}],"2015-12-07":[{"name":"Pearl Harbor Remembrance Day","country":"US","date":"2015-12-07"}],"2015-12-08":[{"name":"Immaculate Conception of the Virgin Mary","country":"US","date":"2015-12-08"}],"2015-12-24":[{"name":"Christmas Eve","country":"US","date":"2015-12-24"}],"2015-12-25":[{"name":"Christmas","country":"US","date":"2015-12-25"}],"2015-12-26":[{"name":"First Day of Kwanzaa","country":"US","date":"2015-12-26"}],"2015-12-27":[{"name":"Second Day of Kwanzaa","country":"US","date":"2015-12-27"}],"2015-12-28":[{"name":"Third Day of Kwanzaa","country":"US","date":"2015-12-28"}],"2015-12-29":[{"name":"Fourth Day of Kwanzaa","country":"US","date":"2015-12-29"}],"2015-12-30":[{"name":"Fifth Day of Kwanzaa","country":"US","date":"2015-12-30"}],"2015-12-31":[{"name":"New Year's Eve","country":"US","date":"2015-12-31"},{"name":"Sixth Day of Kwanzaa","country":"US","date":"2015-12-31"}],"2016-01-01":[{"name":"Last Day of Kwanzaa","country":"US","date":"2016-01-01"},{"name":"New Year's Day","country":"US","date":"2016-01-01"}],"2016-01-06":[{"name":"Epiphany","country":"US","date":"2016-01-06"}],"2016-01-07":[{"name":"Orthodox Christmas","country":"US","date":"2016-01-07"}],"2016-01-18":[{"name":"Martin Luther King, Jr. Day","country":"US","date":"2016-01-18"}],"2016-02-02":[{"name":"Groundhog Day","country":"US","date":"2016-02-02"}],"2016-02-10":[{"name":"Ash Wednesday","country":"US","date":"2016-02-10"}],"2016-02-14":[{"name":"Valentine's Day","country":"US","date":"2016-02-14"}],"2016-02-15":[{"name":"Washington's Birthday","country":"US","date":"2016-02-15"}],"2016-03-08":[{"name":"International Women's Day","country":"US","date":"2016-03-08"}],"2016-03-17":[{"name":"Saint Patrick's Day","country":"US","date":"2016-03-17"}],"2016-03-20":[{"name":"Palm Sunday","country":"US","date":"2016-03-20"}],"2016-03-25":[{"name":"Good Friday","country":"US","date":"2016-03-25"}],"2016-03-27":[{"name":"Easter","country":"US","date":"2016-03-27"}],"2016-04-01":[{"name":"April Fools' Day","country":"US","date":"2016-04-01"}],"2016-04-22":[{"name":"Earth Day","country":"US","date":"2016-04-22"}],"2016-04-29":[{"name":"Arbor Day","country":"US","date":"2016-04-29"}],"2016-05-01":[{"name":"May Day","country":"US","date":"2016-05-01"}],"2016-05-04":[{"name":"Star Wars Day","country":"US","date":"2016-05-04"}],"2016-05-05":[{"name":"Cinco de Mayo","country":"US","date":"2016-05-05"}],"2016-05-08":[{"name":"Mother's Day","country":"US","date":"2016-05-08"}],"2016-05-30":[{"name":"Memorial Day","country":"US","date":"2016-05-30"}],"2016-06-14":[{"name":"Flag Day","country":"US","date":"2016-06-14"}],"2016-06-19":[{"name":"Father's Day","country":"US","date":"2016-06-19"}],"2016-06-27":[{"name":"Helen Keller Day","country":"US","date":"2016-06-27"}],"2016-07-04":[{"name":"Independence Day","country":"US","date":"2016-07-04"}],"2016-08-26":[{"name":"Women's Equality Day","country":"US","date":"2016-08-26"}],"2016-09-05":[{"name":"Labor Day","country":"US","date":"2016-09-05"}],"2016-09-11":[{"name":"Grandparent's Day","country":"US","date":"2016-09-11"},{"name":"Patriot Day","country":"US","date":"2016-09-11"}],"2016-09-17":[{"name":"Constitution Day","country":"US","date":"2016-09-17"}],"2016-10-06":[{"name":"German-American Day","country":"US","date":"2016-10-06"}],"2016-10-09":[{"name":"Leif Erkson Day","country":"US","date":"2016-10-09"}],"2016-10-10":[{"name":"Columbus Day","country":"US","date":"2016-10-10"}],"2016-10-31":[{"name":"Halloween","country":"US","date":"2016-10-31"}],"2016-11-08":[{"name":"Election Day","country":"US","date":"2016-11-08"},{"name":"Super Tuesday","country":"US","date":"2016-11-08"}],"2016-11-11":[{"name":"Veterans Day","country":"US","date":"2016-11-11"}],"2016-11-24":[{"name":"Thanksgiving Day","country":"US","date":"2016-11-24"}],"2016-11-25":[{"name":"Black Friday","country":"US","date":"2016-11-25"}],"2016-12-07":[{"name":"Pearl Harbor Remembrance Day","country":"US","date":"2016-12-07"}],"2016-12-08":[{"name":"Immaculate Conception of the Virgin Mary","country":"US","date":"2016-12-08"}],"2016-12-24":[{"name":"Christmas Eve","country":"US","date":"2016-12-24"}],"2016-12-25":[{"name":"Christmas","country":"US","date":"2016-12-25"}],"2016-12-26":[{"name":"First Day of Kwanzaa","country":"US","date":"2016-12-26"}],"2016-12-27":[{"name":"Second Day of Kwanzaa","country":"US","date":"2016-12-27"}],"2016-12-28":[{"name":"Third Day of Kwanzaa","country":"US","date":"2016-12-28"}],"2016-12-29":[{"name":"Fourth Day of Kwanzaa","country":"US","date":"2016-12-29"}],"2016-12-30":[{"name":"Fifth Day of Kwanzaa","country":"US","date":"2016-12-30"}],"2016-12-31":[{"name":"New Year's Eve","country":"US","date":"2016-12-31"},{"name":"Sixth Day of Kwanzaa","country":"US","date":"2016-12-31"}]};
  224. // You would inject any HTML you wanted for
  225. // that particular date here.
  226. var numFmt = function(num) {
  227. num = num.toString();
  228. if (num.length < 2) {
  229. num = "0" + num;
  230. }
  231. return num;
  232. };
  233. var loadContentAsync = true;
  234. $log.info("setDayContent.async", loadContentAsync);
  235. $scope.setDayContent = function(date) {
  236. var key = [date.getFullYear(), numFmt(date.getMonth() + 1), numFmt(date.getDate())].join("-");
  237. // var data = (holidays[key]||[{ name: ""}])[0].name;
  238. if (loadContentAsync) {
  239. var deferred = $q.defer();
  240. $timeout(function() {
  241. deferred.resolve(data);
  242. });
  243. return deferred.promise;
  244. }
  245. return data;
  246. };
  247. });