schedulingplan.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  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.saveweek = function(selected) {
  52. var numget = ['2', '2', '2', '2', '2', '2', '2'];
  53. var longtime = '';
  54. var j = ''
  55. var w = ''
  56. var timeget = ''
  57. for (var i = 0; i < selected.length; i++) {
  58. if (selected[i]) {
  59. j = selected[i].substr(selected[i].length - 1, 1);
  60. if (j == 7) {
  61. j = 0;
  62. }
  63. j = Number(j);
  64. numget[j] = '1';
  65. } else {}
  66. }
  67. angular.forEach(numget, function(item) {
  68. w += item
  69. })
  70. timeget = workdays.year + '-' + w
  71. var weekdata = {
  72. "workDayconfigure": {
  73. "rule": timeget
  74. }
  75. }
  76. // delete weekdata[0];
  77. api_bpm_data.addData('workDayconfigure', weekdata).then(function(response) {
  78. if (response.status == 200) {
  79. SweetAlert.swal({
  80. title: "修改成功!",
  81. text: "修改排班成功!",
  82. type: "success"
  83. }, function() {
  84. $scope.refreshData(workdays);
  85. });
  86. } else {
  87. SweetAlert.swal({
  88. title: "修改失败!",
  89. text: "修改排班失败!",
  90. type: "error"
  91. });
  92. }
  93. })
  94. }
  95. $scope.selectedDate = [];
  96. $scope.weekStartsOn = 0;
  97. $scope.dayFormat = "d";
  98. $scope.tooltips = true;
  99. $scope.disableFutureDates = true;
  100. $scope.refreshData = function(workdays) {
  101. var monedata = {
  102. "idx": 0,
  103. "sum": 31,
  104. "workday": {
  105. "year": workdays.year,
  106. "month": workdays.month
  107. }
  108. }
  109. api_bpm_data.fetchDataList('workday', monedata).then(function(response) {
  110. var myData = response.list;
  111. $scope.selectedDate = [];
  112. angular.forEach(myData, function(item) {
  113. if (item.isWork == true) {
  114. $scope.selectedDate.push(moment(item.date).toDate());
  115. }
  116. })
  117. })
  118. }
  119. $scope.refreshData(workdays);
  120. $scope.setDirection = function(direction) {
  121. $scope.direction = direction;
  122. $scope.dayFormat = direction === "vertical" ? "EEEE, MMMM d" : "d";
  123. };
  124. var ischeck = '';
  125. $scope.dayClick = function(date) {
  126. if($scope.bianji){
  127. if ($scope.selectedDate.length == 0) {
  128. SweetAlert.swal({
  129. title: "修改失败!",
  130. text: "请先进行周工作日!",
  131. type: "error"
  132. });
  133. }
  134. for (var i = 0; i < $scope.selectedDate.length; i++) {
  135. if (angular.equals(date, $scope.selectedDate[i]) == true) {
  136. ischeck = false
  137. break
  138. } else { ischeck = true }
  139. }
  140. console.log(date);
  141. // var ymd = [date.getFullYear(), date.getMonth() + 1, date.getDate()].join("-");
  142. var ymd = moment(date.getTime() + 86399999).format('YYYY-MM-DD HH:mm:ss');
  143. var monedata = {
  144. "workdayexception": {
  145. "date": ymd,
  146. "isWork": ischeck
  147. }
  148. }
  149. api_bpm_data.addData('workdayexception', monedata).then(function(response) {
  150. if (response.status == 200) {
  151. SweetAlert.swal({
  152. title: "修改成功!",
  153. text: "修改排班成功!",
  154. type: "success"
  155. }, function() {
  156. $scope.refreshData(workdays);
  157. });
  158. } else {
  159. SweetAlert.swal({
  160. title: "修改失败!",
  161. text: "修改排班失败!",
  162. type: "error"
  163. });
  164. }
  165. })
  166. }else{
  167. SweetAlert.swal({
  168. title: "修改失败",
  169. text: "对不起,您没有权限修改!",
  170. type: "error",
  171. confirmButtonColor: "#DD6B55"
  172. });
  173. }
  174. };
  175. $scope.prevMonth = function(data) {
  176. $scope.refreshData(data);
  177. };
  178. $scope.nextMonth = function(data) {
  179. $scope.refreshData(data);
  180. };
  181. $scope.setContentViaService = function() {
  182. var today = new Date();
  183. MaterialCalendarData.setDayContent(today, '<span> :oD </span>')
  184. }
  185. // 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"}]};
  186. // You would inject any HTML you wanted for
  187. // that particular date here.
  188. var numFmt = function(num) {
  189. num = num.toString();
  190. if (num.length < 2) {
  191. num = "0" + num;
  192. }
  193. return num;
  194. };
  195. var loadContentAsync = true;
  196. $log.info("setDayContent.async", loadContentAsync);
  197. $scope.setDayContent = function(date) {
  198. var key = [date.getFullYear(), numFmt(date.getMonth() + 1), numFmt(date.getDate())].join("-");
  199. // var data = (holidays[key]||[{ name: ""}])[0].name;
  200. if (loadContentAsync) {
  201. var deferred = $q.defer();
  202. $timeout(function() {
  203. deferred.resolve(data);
  204. });
  205. return deferred.promise;
  206. }
  207. return data;
  208. };
  209. });