You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

attendance.js 31 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934
  1. (function () {
  2. //全局的年月日,适用于任何时候获取今天的年月日。(很重要)
  3. var sev_m, sev_y, sev_d, active = 3;
  4. var yl = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  5. // var flagClass=true;
  6. //获取班级
  7. var e = 1;
  8. //有课时间
  9. var dataK = [{
  10. y: 2019,
  11. m: 3,
  12. d: 5,
  13. state: 1
  14. },
  15. {
  16. y: 2019,
  17. m: 3,
  18. d: 15,
  19. state: 2
  20. },
  21. {
  22. y: 2019,
  23. m: 3,
  24. d: 25,
  25. state: 1
  26. },
  27. {
  28. y: 2019,
  29. m: 3,
  30. d: 30,
  31. state: 3
  32. },
  33. {
  34. y: 2019,
  35. m: 4,
  36. d: 6,
  37. state: 3
  38. },
  39. {
  40. y: 2019,
  41. m: 4,
  42. d: 8,
  43. state: 2
  44. },
  45. {
  46. y: 2019,
  47. m: 4,
  48. d: 24,
  49. state: 1
  50. },
  51. {
  52. y: 2019,
  53. m: 4,
  54. d: 26,
  55. state: 2
  56. },
  57. {
  58. y: 2019,
  59. m: 4,
  60. d: 30,
  61. state: 2
  62. },
  63. {
  64. y: 2019,
  65. m: 5,
  66. d: 6,
  67. state: 3
  68. },
  69. {
  70. y: 2019,
  71. m: 5,
  72. d: 4,
  73. state: 3
  74. },
  75. {
  76. y: 2019,
  77. m: 5,
  78. d: 21,
  79. state: 1
  80. },
  81. {
  82. y: 2019,
  83. m: 5,
  84. d: 24,
  85. state: 3
  86. },
  87. {
  88. y: 2019,
  89. m: 5,
  90. d: 25,
  91. state: 2
  92. },
  93. {
  94. y: 2019,
  95. m: 5,
  96. d: 30,
  97. state: 1
  98. },
  99. ]
  100. // 考勤 1 正常 2早退
  101. var attendData = {
  102. day: '2019年3月11日 星期三',
  103. list: [
  104. { time: '08:57', location: '山西省太原市杏花岭区七府园路11号山西冶金技师学院', status: 1 },
  105. { time: '08:57', location: '山西省太原市杏花岭区七府园路11号山西冶金技师学院', status: 2 }
  106. ]
  107. }
  108. //判断农历
  109. var LunarDate = {
  110. madd: new Array(0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334),
  111. HsString: '甲乙丙丁戊己庚辛壬癸',
  112. EbString: '子丑寅卯辰巳午未申酉戌亥',
  113. NumString: "一二三四五六七八九十",
  114. MonString: "正二三四五六七八九十冬腊",
  115. CalendarData: new Array(0xA4B, 0x5164B, 0x6A5, 0x6D4, 0x415B5, 0x2B6, 0x957, 0x2092F, 0x497, 0x60C96, 0xD4A, 0xEA5, 0x50DA9, 0x5AD, 0x2B6, 0x3126E, 0x92E, 0x7192D, 0xC95, 0xD4A, 0x61B4A, 0xB55, 0x56A, 0x4155B, 0x25D, 0x92D, 0x2192B, 0xA95, 0x71695, 0x6CA, 0xB55, 0x50AB5, 0x4DA, 0xA5B, 0x30A57, 0x52B, 0x8152A, 0xE95, 0x6AA, 0x615AA, 0xAB5, 0x4B6, 0x414AE, 0xA57, 0x526, 0x31D26, 0xD95, 0x70B55, 0x56A, 0x96D, 0x5095D, 0x4AD, 0xA4D, 0x41A4D, 0xD25, 0x81AA5, 0xB54, 0xB6A, 0x612DA, 0x95B, 0x49B, 0x41497, 0xA4B, 0xA164B, 0x6A5, 0x6D4, 0x615B4, 0xAB6, 0x957, 0x5092F, 0x497, 0x64B, 0x30D4A, 0xEA5, 0x80D65, 0x5AC, 0xAB6, 0x5126D, 0x92E, 0xC96, 0x41A95, 0xD4A, 0xDA5, 0x20B55, 0x56A, 0x7155B, 0x25D, 0x92D, 0x5192B, 0xA95, 0xB4A, 0x416AA, 0xAD5, 0x90AB5, 0x4BA, 0xA5B, 0x60A57, 0x52B, 0xA93, 0x40E95),
  116. Year: null,
  117. Month: null,
  118. Day: null,
  119. TheDate: null,
  120. GetBit: function (m, n) {
  121. return (m >> n) & 1;
  122. },
  123. e2c: function () {
  124. this.TheDate = (arguments.length != 3) ? new Date() : new Date(arguments[0], arguments[1], arguments[2]);
  125. var total, m, n, k;
  126. var isEnd = false;
  127. var tmp = this.TheDate.getFullYear();
  128. total = (tmp - 1921) * 365 + Math.floor((tmp - 1921) / 4) + this.madd[this.TheDate.getMonth()] + this.TheDate.getDate() - 38;
  129. if (this.TheDate.getYear() % 4 == 0 && this.TheDate.getMonth() > 1) {
  130. total++;
  131. }
  132. for (m = 0; ; m++) {
  133. k = (this.CalendarData[m] < 0xfff) ? 11 : 12;
  134. for (n = k; n >= 0; n--) {
  135. if (total <= 29 + this.GetBit(this.CalendarData[m], n)) {
  136. isEnd = true;
  137. break;
  138. }
  139. total = total - 29 - this.GetBit(this.CalendarData[m], n);
  140. }
  141. if (isEnd)
  142. break;
  143. }
  144. this.Year = 1921 + m;
  145. this.Month = k - n + 1;
  146. this.Day = total;
  147. if (k == 12) {
  148. if (this.Month == Math.floor(this.CalendarData[m] / 0x10000) + 1) {
  149. this.Month = 1 - this.Month;
  150. }
  151. if (this.Month > Math.floor(this.CalendarData[m] / 0x10000) + 1) {
  152. this.Month--;
  153. }
  154. }
  155. },
  156. GetcDateString: function (tip) {
  157. if (tip == 1) {
  158. var ts = (this.Day < 11) ? "初" : ((this.Day < 20) ? "十" : ((this.Day < 30) ? "廿" : "三十"));
  159. if (this.Day % 10 != 0 || this.Day == 10) {
  160. ts += this.NumString.charAt((this.Day - 1) % 10);
  161. }
  162. return ts;
  163. }
  164. var tmp = "";
  165. if (this.Month < 1) {
  166. tmp += this.MonString.charAt(-this.Month - 1);
  167. } else {
  168. tmp += this.MonString.charAt(this.Month - 1);
  169. }
  170. tmp += "月";
  171. tmp += (this.Day < 11) ? "初" : ((this.Day < 20) ? "十" : ((this.Day < 30) ? "廿" : "三十"));
  172. if (this.Day % 10 != 0 || this.Day == 10) {
  173. tmp += this.NumString.charAt((this.Day - 1) % 10);
  174. }
  175. return tmp;
  176. },
  177. GetLunarDay: function (solarYear, solarMonth, solarDay) {
  178. if (solarYear < 1921 || solarYear > 2020) {
  179. return "";
  180. } else {
  181. solarMonth = (parseInt(solarMonth) > 0) ? (solarMonth - 1) : 11;
  182. this.e2c(solarYear, solarMonth, solarDay);
  183. return this.GetcDateString(0);
  184. }
  185. },
  186. GetLunarDayDetail: function (solarYear, solarMonth, solarDay) {
  187. if (solarYear < 1921 || solarYear > 2020) {
  188. return "";
  189. } else {
  190. solarMonth = (parseInt(solarMonth) > 0) ? (solarMonth - 1) : 11;
  191. this.e2c(solarYear, solarMonth, solarDay);
  192. return this.GetcDateString(1);
  193. }
  194. }
  195. };
  196. var page = {
  197. isScroll: false,
  198. init: function ($page) {
  199. loadings(LunarDate);
  200. $page.on('tap', '.js_jin', function () {
  201. //alert(1)
  202. })
  203. $page.on('tap', '.js_jin', function () {
  204. active = 3;
  205. var globledate = new Date();
  206. var y = globledate.getFullYear();
  207. var m = globledate.getMonth() + 1;
  208. var d = globledate.getDate();
  209. sev_m = m;
  210. sev_y = y;
  211. sev_d = d;
  212. var nowweak = new Date(y, m - 1, 1).getDay();
  213. if (nowweak == 7) nowweak = 0;
  214. get_first(nowweak, y, m, d, "d3", LunarDate);
  215. set_top(0);
  216. m = m + 1;
  217. if (m > 12) {
  218. m = 1;
  219. y += 1;
  220. }
  221. nowweak = new Date(y, m - 1, 1).getDay();
  222. get_first(nowweak, y, m, 0, "d4", LunarDate);
  223. m = sev_m - 1;
  224. if (m < 1) {
  225. m = 12;
  226. y = sev_y - 1;
  227. }
  228. nowweak = new Date(y, m - 1, 1).getDay();
  229. get_first(nowweak, y, m, 0, "d2", LunarDate);
  230. $("#ymym").html(sev_y + "年" + sev_m + "月");
  231. mySwiper.slideTo(2, 500, false);
  232. })
  233. $page.on('tap', '.prorup', function () {
  234. $(".prorup").hide();
  235. $(".jie").hide();
  236. $(".layer").hide();
  237. })
  238. $page.on('tap', '.jqclass', function () {
  239. var riziss = $(this).attr('data');
  240. var srt = riziss.split("-");
  241. $(".prorup").hide();
  242. $(".layer").hide();
  243. jump(srt[0], srt[1], srt[2]);
  244. $(".jie").hide();
  245. })
  246. $('.date').on('tap', function () {
  247. $('.tc').show();
  248. $('.tc-innner').show();
  249. tc();
  250. });
  251. $('.tc-bot-left').on('tap', function () {
  252. e = 0;
  253. tc();
  254. });
  255. $('.tc-bot-right').on('tap', function () {
  256. $('.tc').hide();
  257. $('.tc-innner').hide();
  258. var yyyy = parseInt($('.year').children('.swiper-slide-active').html());
  259. var mm = parseInt($('.month').children('.swiper-slide-active').html());
  260. var dd = parseInt($('.date').children('.swiper-slide-active').html());
  261. if (mm != sev_m || yyyy != sev_y || dd != sev_d) {
  262. jump(yyyy, mm, dd);
  263. };
  264. });
  265. $(".tc").on("tap", function () {
  266. $(".tc-innner").hide();
  267. $(this).hide();
  268. });
  269. }
  270. };
  271. function getjqs(yyyy, mm, dd) {
  272. var solarTerms = "";
  273. $.each(dataK, function (i, n) {
  274. if (yyyy == n.y && mm == n.m && dd == n.d) {
  275. solarTerms = n;
  276. }
  277. })
  278. return solarTerms;
  279. }
  280. function tc() {
  281. var b, c, d;
  282. var myDate = new Date();
  283. if (e == 0) {
  284. b = myDate.getFullYear() - 2000;
  285. c = myDate.getMonth();
  286. d = myDate.getDate() - 1;
  287. } else {
  288. b = sev_y - 2000;
  289. c = sev_m - 1;
  290. d = sev_d - 1;
  291. }
  292. e = 1;
  293. var mySwiper = new Swiper('.swiper-container2', {
  294. direction: 'vertical',
  295. initialSlide: b,
  296. slidesPerView: 'auto',
  297. roundLengths: true,
  298. centeredSlides: true,
  299. watchSlidesProgress: true,
  300. watchSlidesVisibility: true,
  301. freeMode: true,
  302. freeModeMomentumRatio: 1,
  303. freeModeSticky: true,
  304. onTouchMove: function (swiper) {
  305. var b1 = $('.year').children('.swiper-slide-active').html();
  306. $('.i-year').html(b1);
  307. },
  308. onSlideChangeEnd: function (swiper) {
  309. var b1 = $('.year').children('.swiper-slide-active').html();
  310. $('.i-year').html(b1);
  311. },
  312. });
  313. var mySwiper = new Swiper('.swiper-container3', {
  314. direction: 'vertical',
  315. initialSlide: c,
  316. slidesPerView: 'auto',
  317. roundLengths: true,
  318. centeredSlides: true,
  319. watchSlidesProgress: true,
  320. watchSlidesVisibility: true,
  321. freeMode: true,
  322. freeModeMomentumRatio: 1,
  323. freeModeSticky: true,
  324. onTouchMove: function (swiper) {
  325. var b1 = $('.month').children('.swiper-slide-active').html();
  326. $('.i-month').html(b1);
  327. },
  328. onSlideChangeEnd: function (swiper) {
  329. var b1 = $('.month').children('.swiper-slide-active').html();
  330. $('.i-month').html(b1);
  331. },
  332. });
  333. var mySwiper = new Swiper('.swiper-container4', {
  334. direction: 'vertical',
  335. initialSlide: d,
  336. slidesPerView: 'auto',
  337. roundLengths: true,
  338. centeredSlides: true,
  339. watchSlidesProgress: true,
  340. watchSlidesVisibility: true,
  341. freeMode: true,
  342. freeModeMomentumRatio: 1,
  343. freeModeSticky: true,
  344. onTouchMove: function (swiper) {
  345. var b1 = $('.date').children('.swiper-slide-active').html();
  346. $('.i-date').html(b1);
  347. },
  348. onSlideChangeEnd: function (swiper) {
  349. var b1 = $('.date').children('.swiper-slide-active').html();
  350. $('.i-date').html(b1);
  351. },
  352. });
  353. };
  354. function jump(yyyy, mm, dd) {
  355. sev_y = parseInt(yyyy);
  356. sev_m = parseInt(mm);
  357. sev_d = parseInt(dd);
  358. active = 3;
  359. var globledate = new Date(yyyy, parseInt(mm) - 1, parseInt(dd));
  360. //var nowweak = globledate.getDay();
  361. var y = globledate.getFullYear();
  362. var m = globledate.getMonth() + 1;
  363. var d = globledate.getDate();
  364. //console.log("globledate:",y,m,d);
  365. var sev_m_tmp = m;
  366. var sev_y_tmp = y;
  367. var sev_d_tmp = d;
  368. var nowweak = new Date(y, m - 1, 1).getDay();
  369. if (nowweak == 7) nowweak = 0;
  370. get_first(nowweak, y, m, d, "d3", LunarDate);
  371. m = m + 1;
  372. if (m > 12) {
  373. m = 1;
  374. y += 1;
  375. }
  376. nowweak = new Date(y, m - 1, 1).getDay();
  377. get_first(nowweak, y, m, 0, "d4", LunarDate);
  378. m = sev_m - 1;
  379. if (m < 1) {
  380. m = 12;
  381. y = sev_y - 1;
  382. }
  383. nowweak = new Date(y, m - 1, 1).getDay();
  384. get_first(nowweak, y, m, 0, "d2", LunarDate);
  385. $("#ymym").html(sev_y + "年" + sev_m + "月");
  386. $(".covers").hide();
  387. mySwiper.slideTo(2, 500, false);
  388. click_sev();
  389. }
  390. function click_sev() {
  391. $("#d3").find("td").each(function () {
  392. if ($(this).attr("data_y") == sev_y && $(this).attr("data_m") == sev_m && $(this).attr("data_d") == sev_d) {
  393. $(this).click();
  394. }
  395. });
  396. }
  397. function get_first(a, b, c, d, e, LunarDate) {
  398. console.log(dataK);
  399. var str = '<tr>';
  400. if ((c - 2) < 0) {
  401. var ldays = 31;
  402. var lm = 12;
  403. var lb = b - 1;
  404. } else {
  405. var ldays = yl[c - 2];
  406. var lm = c - 1;
  407. var lb = b;
  408. }
  409. if (c == 12) {
  410. var xdays = 31;
  411. var xm = 1;
  412. var xb = b + 1;
  413. } else {
  414. var xdays = yl[c];
  415. var xm = c + 1;
  416. var xb = b;
  417. }
  418. if (ldays == 28) {
  419. if ((lb % 4 == 0 && lb % 100 != 0) || (lb % 100 == 0 && lb % 400 == 0)) {
  420. ldays = 29;
  421. }
  422. }
  423. if (xdays == 28) {
  424. if ((xb % 4 == 0 && xb % 100 != 0) || (xb % 100 == 0 && xb % 400 == 0)) {
  425. xdays = 29;
  426. }
  427. }
  428. var dd;
  429. if (yl[c - 1] == 28) {
  430. if ((b % 4 == 0 && b % 100 != 0) || (b % 100 == 0 && b % 400 == 0)) {
  431. dd = 29;
  432. } else {
  433. dd = 28;
  434. }
  435. } else {
  436. dd = yl[c - 1];
  437. }
  438. var num = 1;
  439. for (var i = a; i > 0; i--) {
  440. var bday = ldays - i + 1;
  441. var ly = LunarDate.GetLunarDayDetail(lb, lm, bday);
  442. //修改
  443. var jqs = getjqs(lb, lm, bday);
  444. // console.log(lb+'-'+lm+'-'+bday)
  445. // console.log(JSON.stringify(jqs))
  446. var ss = '';
  447. var ids = '';
  448. if (jqs) {
  449. //ly加状态
  450. if (jqs.state == 1) {
  451. ss = 'active yellow';
  452. } else if (jqs.state == 2) {
  453. ss = 'active green';
  454. } else if (jqs.state == 3) {
  455. ss = 'active blue';
  456. }
  457. ss = 'active yellow';
  458. ids = jqs.CLId;
  459. numI = '<font color="#fff">' + numI;
  460. }
  461. var jd = "";
  462. var hb = lb + "-" + lm + "-" + bday;
  463. str += ' <td data_y="' + lb + '" data_m="' + lm + '" data_d="' + bday + '" id="' + ids + '" class="list not_this js_up ' + ss + '"><i>' + bday + '</i>' + jd + '</td>';
  464. if (num % 7 == 0) {
  465. str += '</tr><tr>';
  466. }
  467. num++;
  468. }
  469. // console.log(str)
  470. // 动态写入日期
  471. for (var i = 1; i <= dd; i++) {
  472. var bday = ldays - i + 1;
  473. var ly = LunarDate.GetLunarDayDetail(b, c, i);
  474. var numI = i
  475. var jqs = getjqs(b, c, i);
  476. //console.log(jqs)
  477. //修改
  478. var ss = '';
  479. var ids = '';
  480. if (jqs) {
  481. //ly加状态
  482. if (jqs.state == 1) {
  483. ss = 'active yellow';
  484. } else if (jqs.state == 2) {
  485. ss = 'active green';
  486. } else if (jqs.state == 3) {
  487. ss = 'active blue';
  488. }
  489. ss = 'active yellow';
  490. ids = jqs.CLId;
  491. numI = '<font color="#fff">' + numI;
  492. }
  493. var jd = "";
  494. var hb = b + "-" + c + "-" + i;
  495. if (new Date().getDate() == i && b == new Date().getFullYear() && c == (new Date().getMonth() + 1)) {
  496. str += ' <td data_y="' + b + '" data_m="' + c + '" data_d="' + i + '" id="' + ids + '" class="list today ' + ss + '"><i>' + numI + '</i>' + jd + '</td>';
  497. var y = b;
  498. var m = parseInt(c) - 1;
  499. if (m < 0) m = 11;
  500. var d = parseInt(i);
  501. var jqs = getjqs(y, m + 1, d);
  502. if (jqs) {
  503. ajaxData(jqs)
  504. }
  505. } else {
  506. str += ' <td data_y="' + b + '" data_m="' + c + '" data_d="' + i + '" id="' + ids + '" class="list ' + ss + '"><i>' + numI + '</i>' + jd + '</td>';
  507. //console.log(jd)
  508. }
  509. if (num % 7 == 0) {
  510. str += '</tr><tr>';
  511. }
  512. num++;
  513. }
  514. //插入季节
  515. var last = 42 - a - dd;
  516. if (last <= 6) {
  517. for (var i = 1; i <= last; i++) {
  518. var ly = LunarDate.GetLunarDayDetail(xb, xm, i);
  519. var jd = "";
  520. var hb = xb + "-" + xm + "-" + i;
  521. str += ' <td data_y="' + xb + '" data_m="' + xm + '" data_d="' + i + '" class="list not_this js_down"><i>' + i + '</i>' + jd + '</td>';
  522. if (num % 7 == 0) {
  523. str += '</tr><tr>';
  524. }
  525. num++;
  526. }
  527. }
  528. if (str.substring(str.length - 4, str.length) == "<tr>") {
  529. str = str.substring(0, str.length - 4);
  530. }
  531. // console.log(document.getElementById(e))
  532. document.getElementById(e).innerHTML = str;
  533. bind_click(e);
  534. }
  535. function bind_click(a) {
  536. $("#" + a).find("td").unbind("tap");
  537. $("#" + a).find("td").each(function () {
  538. if ($(this).hasClass('not_this')) {
  539. $(this).on('tap', function () {
  540. jump($(this).attr('data_y'), $(this).attr('data_m'), $(this).attr('data_d'));
  541. });
  542. } else {
  543. $(this).on('tap', function () {
  544. set_top($(this));
  545. });
  546. }
  547. });
  548. }
  549. function set_top(a) {
  550. if (!a) {
  551. var weeks = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'];
  552. var data = new Date();
  553. var weekk = weeks[data.getDay() - 1];
  554. var yue = LunarDate.GetLunarDay(data.getFullYear(), data.getMonth() + 1, data.getDate());
  555. var shu = data.getDate();
  556. document.getElementById("top_shu").innerHTML = shu;
  557. sev_d = parseInt(shu);
  558. document.getElementById("top_week").innerHTML = weekk;
  559. document.getElementById("top_yue").innerHTML = yue;
  560. } else {
  561. var weeks = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
  562. var y = a.attr("data_y");
  563. var m = parseInt(a.attr("data_m")) - 1;
  564. if (m < 0) m = 11;
  565. var d = parseInt(a.attr("data_d"));
  566. var weekk = weeks[new Date(y, m, d).getDay()];
  567. var ms = parseInt(a.attr("data_m"));
  568. var yue = LunarDate.GetLunarDay(y, ms, d);
  569. document.getElementById("top_shu").innerHTML = d;
  570. sev_d = parseInt(d);
  571. document.getElementById("top_week").innerHTML = weekk;
  572. document.getElementById("top_yue").innerHTML = yue;
  573. $(".xuanzhong").removeClass('xuanzhong');
  574. a.addClass("xuanzhong");
  575. //修改
  576. var jqs = getjqs(y, m + 1, d);
  577. // console.log(JSON.stringify(jqs))
  578. var htmls = "";
  579. if (jqs) {
  580. //调用函数 获取数据
  581. ajaxData(jqs)
  582. } else {
  583. $('.attendBox').css('display', 'none').children().remove();
  584. }
  585. }
  586. }
  587. function ajaxData(jqs) {
  588. var html = '<div class="attendBoxT">'+ jqs.day +'</div><div class="attendBoxTime">';
  589. $.each(jqs.list, function (i, n) {
  590. var times = '', timeTxt = '', attendConStatus = '';
  591. if (i == 0) {
  592. timeTxt = '上班时间' + n.time;
  593. times = '上';
  594. } else {
  595. timeTxt = '下班时间' + n.time;
  596. times = '下';
  597. }
  598. if (n.status == 1) {
  599. attendConStatus = '正常'
  600. } else if (n.status == 2) {
  601. attendConStatus = '早退'
  602. }
  603. html += '<div class="attendCon">' +
  604. '<div class="attendConT">' + n.time + '<span>(' + timeTxt + ')</span></div>' +
  605. //'<div class="attendConTxt"><img src="images/location2.png" alt="" />' + n.location + '</div>' +
  606. '<div class="attendConStatus attendConStatus' + n.status + '">' + attendConStatus + '</div>' +
  607. '<div class="attendCircular">' + times + '</div>' +
  608. '</div>';
  609. })
  610. html += '</div>';
  611. $('.attendBox').html(html).css('display', 'block');
  612. }
  613. function loadings(LunarDate) {
  614. learun.httpgetnosy(config.webapi + "teachattendance/major", {}, (data) => {
  615. console.log(data);
  616. dataK = data;
  617. }
  618. );
  619. mySwiper = new Swiper('.swiper-container', {
  620. initialSlide: 1,
  621. loop: true,
  622. speed: 400,
  623. followFinger: false,
  624. prevButton: '.js_prev',
  625. nextButton: '.js_next',
  626. onSlideChangeStart: function (swiper) {
  627. //swiper.params.allowSwipeToPrev = false;
  628. swiper.lockSwipes();
  629. },
  630. onSlideChangeEnd: function (swiper) {
  631. var nows = $(".swiper-slide-active").find("table").attr("id");
  632. // console.log(nows);
  633. // console.log(active);
  634. if (nows == 'now2')
  635. return;
  636. nows = parseInt(nows.substr(1, 1));
  637. if (nows == active)
  638. return;
  639. if (active == 4 && nows == 5) {
  640. var fors = 1;
  641. sev_m++;
  642. if (sev_m > 12) {
  643. sev_m = 1;
  644. sev_y++;
  645. }
  646. var nowweak = new Date(sev_y, sev_m - 1, 1).getDay();
  647. get_first(nowweak, sev_y, sev_m, 0, "d2", LunarDate);
  648. var lastm = sev_m - 1;
  649. var lasty = sev_y;
  650. if (lastm < 1) {
  651. lastm = 12;
  652. lasty--;
  653. }
  654. var nm = sev_m + 1;
  655. var ny = sev_y;
  656. if (nm > 12) {
  657. nm = 1;
  658. ny++;
  659. }
  660. var nowweak = new Date(ny, nm - 1, 1).getDay();
  661. var lastweek = new Date(lasty, lastm - 1, 1).getDay();
  662. get_first(lastweek, lasty, lastm, 0, "d" + fors, LunarDate);
  663. get_first(nowweak, ny, nm, 0, "d3", LunarDate);
  664. $("#ymym").html(sev_y + "年" + sev_m + "月");
  665. active = 5;
  666. } else if (active == 2 && nows == 1) {
  667. var fors = 5;
  668. var nextweak = new Date(sev_y, sev_m - 1, 1).getDay();
  669. get_first(nextweak, sev_y, sev_m, 0, "d" + fors, LunarDate);
  670. sev_m--;
  671. if (sev_m < 1) {
  672. sev_m = 12;
  673. sev_y--;
  674. }
  675. var nowweak = new Date(sev_y, sev_m - 1, 1).getDay();
  676. get_first(nowweak, sev_y, sev_m, 0, "d4", LunarDate);
  677. var nm = sev_m - 1;
  678. var ny = sev_y;
  679. if (nm < 1) {
  680. nm = 12;
  681. ny--;
  682. }
  683. var nowweak = new Date(ny, nm - 1, 1).getDay();
  684. //get_first(nowweak, ny, nm, 0, "d4");
  685. get_first(nowweak, ny, nm, 0, "d3", LunarDate);
  686. $("#ymym").html(sev_y + "年" + sev_m + "月");
  687. active = 1;
  688. } else if (active == 5 && nows == 3) {
  689. var fors = 4;
  690. var lastm = sev_m;
  691. var lasty = sev_y;
  692. sev_m++;
  693. if (sev_m > 12) {
  694. sev_m = 1;
  695. sev_y++;
  696. }
  697. var nm = sev_m + 1;
  698. var ny = sev_y;
  699. if (nm > 12) {
  700. nm = 1;
  701. ny++;
  702. }
  703. var nowweak = new Date(ny, nm - 1, 1).getDay();
  704. get_first(nowweak, ny, nm, 0, "d" + fors, LunarDate);
  705. var nowweak = new Date(lasty, lastm - 1, 1).getDay();
  706. get_first(nowweak, lasty, lastm, 0, "d2", LunarDate);
  707. $("#ymym").html(sev_y + "年" + sev_m + "月");
  708. active = 3;
  709. } else if (active == 1 && nows == 3) {
  710. var fors = 2;
  711. var lastm = sev_m;
  712. var lasty = sev_y;
  713. sev_m--;
  714. if (sev_m < 1) {
  715. sev_m = 12;
  716. sev_y--;
  717. }
  718. var nm = sev_m - 1;
  719. var ny = sev_y;
  720. if (nm < 1) {
  721. nm = 12;
  722. ny--;
  723. }
  724. var nowweak = new Date(ny, nm - 1, 1).getDay();
  725. get_first(nowweak, ny, nm, 0, "d" + fors, LunarDate);
  726. var nowweak = new Date(lasty, lastm - 1, 1).getDay();
  727. get_first(nowweak, lasty, lastm, 0, "d4", LunarDate);
  728. $("#ymym").html(sev_y + "年" + sev_m + "月");
  729. active = 3;
  730. } else if (active == 1 && nows == 5) {
  731. var fors = 3;
  732. var lastm = sev_m;
  733. var lasty = sev_y;
  734. sev_m++;
  735. if (sev_m > 12) {
  736. sev_m = 1;
  737. sev_y++;
  738. }
  739. var nm = sev_m + 1;
  740. var ny = sev_y;
  741. if (nm > 12) {
  742. nm = 1;
  743. ny++;
  744. }
  745. var nowweak = new Date(ny, nm - 1, 1).getDay();
  746. get_first(nowweak, ny, nm, 0, "d" + fors, LunarDate);
  747. $("#ymym").html(sev_y + "年" + sev_m + "月");
  748. active = 5;
  749. } else if (active == 5 && nows == 1) {
  750. var fors = 3;
  751. sev_m--;
  752. if (sev_m < 1) {
  753. sev_m = 12;
  754. sev_y--;
  755. }
  756. var lastm = sev_m;
  757. var lasty = sev_y;
  758. var nm = sev_m - 1;
  759. var ny = sev_y;
  760. if (nm < 1) {
  761. nm = 12;
  762. ny--;
  763. }
  764. var nowweak = new Date(ny, nm - 1, 1).getDay();
  765. var lastweak = new Date(lasty, sev_m - 1, 1).getDay();
  766. get_first(nowweak, ny, nm, 0, "d" + fors, LunarDate);
  767. console.log(lasty, lastm)
  768. get_first(lastweak, lasty, sev_m, 0, "d4", LunarDate);
  769. $("#ymym").html(sev_y + "年" + sev_m + "月");
  770. active = 1;
  771. } else if (active > nows) {
  772. var fors = nows - 1;
  773. if (fors < 1)
  774. fors = 5;
  775. sev_m--;
  776. if (sev_m < 1) {
  777. sev_m = 12;
  778. sev_y--;
  779. }
  780. var nm = sev_m - 1;
  781. var ny = sev_y;
  782. if (nm < 1) {
  783. nm = 12;
  784. ny--;
  785. }
  786. var nowweak = new Date(ny, nm - 1, 1).getDay();
  787. get_first(nowweak, ny, nm, 0, "d" + fors, LunarDate);
  788. $("#ymym").html(sev_y + "年" + sev_m + "月");
  789. active = nows;
  790. } else if (active < nows) {
  791. var fors = nows + 1;
  792. if (fors > 5)
  793. fors = 1;
  794. sev_m++;
  795. if (sev_m > 12) {
  796. sev_m = 1;
  797. sev_y++;
  798. }
  799. var nm = sev_m + 1;
  800. var ny = sev_y;
  801. if (nm > 12) {
  802. nm = 1;
  803. ny++;
  804. }
  805. var nowweak = new Date(ny, nm - 1, 1).getDay();
  806. get_first(nowweak, ny, nm, 0, "d" + fors, LunarDate);
  807. $("#ymym").html(sev_y + "年" + sev_m + "月");
  808. active = nows;
  809. }
  810. var trLength = $("#d" + nows).find("tr").length;
  811. if (trLength == 6) {
  812. $(".swiper-container").css("paddingBottom", ".45rem");
  813. } else {
  814. $(".swiper-container").css("paddingBottom", "");
  815. }
  816. swiper.unlockSwipes();
  817. }
  818. })
  819. $("#now3").attr("id", "d1");
  820. $("#now1").attr("id", "d2");
  821. $("#now2").attr("id", "d3");
  822. $("#now3").attr("id", "d4");
  823. $("#now1").attr("id", "d5");
  824. var globledate = new Date();
  825. var y = globledate.getFullYear();
  826. var m = globledate.getMonth() + 1;
  827. var d = globledate.getDate();
  828. sev_m = m;
  829. sev_y = y;
  830. sev_d = d;
  831. var nowweak = new Date(y, m - 1, 1).getDay();
  832. if (nowweak == 7) nowweak = 0;
  833. get_first(nowweak, y, m, d, "d3", LunarDate);
  834. set_top(0);
  835. m = m + 1;
  836. if (m > 12) {
  837. m = 1;
  838. y += 1;
  839. }
  840. nowweak = new Date(y, m - 1, 1).getDay();
  841. get_first(nowweak, y, m, 0, "d4", LunarDate);
  842. m = sev_m - 1;
  843. if (m < 1) {
  844. m = 12;
  845. y = sev_y - 1;
  846. }
  847. nowweak = new Date(y, m - 1, 1).getDay();
  848. get_first(nowweak, y, m, 0, "d2", LunarDate);
  849. $("#ymym").html(sev_y + "年" + sev_m + "月");
  850. mySwiper.unlockSwipes();
  851. }
  852. return page;
  853. })();