schedule.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>日程</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9. <link rel="stylesheet" type="text/css" href="../../../css/common/mui.min.css" />
  10. <link rel="stylesheet" href="../../../css/common/common.css">
  11. <link rel="stylesheet" type="text/css" href="../../../css/index/index-schdule/schedule.css" />
  12. <style type="text/css">
  13. .day {
  14. position: absolute;
  15. z-index: 0;
  16. }
  17. .list {
  18. position: relative;
  19. z-index: 2;
  20. top: 32px;
  21. background: rgb(248, 248, 248);
  22. padding-top: 1px;
  23. }
  24. .list-box {
  25. animation: listMove 0.15s linear both;
  26. }
  27. @-webkit-keyframes listMove {
  28. from {
  29. top: 32px;
  30. }
  31. to {
  32. top: 170px;
  33. }
  34. }
  35. .list-boxs {
  36. animation: listMove1 0.15s linear both;
  37. }
  38. @-webkit-keyframes listMove1 {
  39. from {
  40. top: 170px;
  41. }
  42. to {
  43. top: 32px;
  44. }
  45. }
  46. .icon,
  47. .icons {
  48. display: inline-block;
  49. width: 22px;
  50. height: 22px;
  51. position: relative;
  52. top: 5px;
  53. margin-right: 5px;
  54. background: url('../../../img/admin/executive_unoperation@2x.png') no-repeat;
  55. background-size: 100%;
  56. }
  57. .icons {
  58. background: url('../../../img/admin/executive_operation@2x.png') no-repeat;
  59. background-size: 100%;
  60. }
  61. .old-icon {
  62. display: inline-block;
  63. width: 18px;
  64. height: 18px;
  65. position: relative;
  66. top: 4px;
  67. border-radius: 50%;
  68. background: rgb(153, 153, 153) no-repeat;
  69. margin-right: 7px;
  70. margin-left: 2px;
  71. }
  72. .go-icon,
  73. .go-icons {
  74. display: inline-block;
  75. width: 18px;
  76. height: 18px;
  77. position: relative;
  78. top: 4px;
  79. border-radius: 50%;
  80. background: rgb(255, 144, 144) no-repeat;
  81. margin-right: 7px;
  82. margin-left: 3px;
  83. }
  84. .go-icons {
  85. background: rgb(148, 155, 255);
  86. }
  87. .mui-pull-right {
  88. line-height: 0.9;
  89. }
  90. </style>
  91. </head>
  92. <body>
  93. <header id="header" class="mui-bar mui-bar-nav">
  94. <a class="mui-action-back mui-icon mui-icon-arrowleft">
  95. <span class="back">返回</span>
  96. </a>
  97. <h1 class="mui-title">日程</h1>
  98. </header>
  99. <div class="mui-content">
  100. <div class="rili">
  101. <div id="sc-time" class="nc-box sc-time">
  102. <span class="sm-mo-word time">&nbsp;</span>
  103. <span id="sc" class="mui-pull-right mui-icon mui-icon-arrowdown"></span>
  104. </div>
  105. <div class="day-title">
  106. <div>一</div>
  107. <div>二</div>
  108. <div>三</div>
  109. <div>四</div>
  110. <div>五</div>
  111. <div>六</div>
  112. <div>七</div>
  113. </div>
  114. <div class="day">
  115. </div>
  116. </div>
  117. <div id="list" class="list">
  118. <!--任务列表-->
  119. <div class="sch">
  120. <div class="nc-box">
  121. <span class="sm-mo-word">任务列表</span>
  122. <span class="sm-mo-word" id="../home-index-schedule/week-list.html" onclick="hrefTo(this.id)">查看周报</span>
  123. </div>
  124. <div class="schedule">
  125. <div class="sch-content sch-task">
  126. </div>
  127. </div>
  128. </div>
  129. <!--重要日程-->
  130. <div class="sch">
  131. <div class="nc-box">
  132. <span class="sm-mo-word">重要日程</span>
  133. <span></span>
  134. </div>
  135. <div class="schedule">
  136. <div class="sch-content sc-box important-sch">
  137. </div>
  138. </div>
  139. </div>
  140. <!--今日日程-->
  141. <div class="sch">
  142. <div class="nc-box">
  143. <span class="sm-mo-word">一般日程</span>
  144. <span></span>
  145. </div>
  146. <div class="schedule">
  147. <div class="sch-content sc-box today-sch">
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. </div>
  153. <!--固定的菜单选项-->
  154. <div class="fixed-box">
  155. <div>
  156. <a id="../home-index-schedule/task.html" onclick="hrefTo(this.id)">发布任务</a>
  157. </div>
  158. <div>
  159. <a id="../home-index-schedule/add-schedule.html" onclick="hrefTo(this.id)">添加日程</a>
  160. </div>
  161. <div class="mo-word xx">
  162. <img src="../../../img/home-index/add.png"/>
  163. </div>
  164. </div>
  165. <script src="../../../libs/mui.min.js"></script>
  166. <script src="../../../libs/href.js" type="text/javascript" charset="utf-8"></script>
  167. <script type="text/javascript">
  168. var _taskdata;
  169. var _importantdata;
  170. var _commondata;
  171. mui.plusReady(function() {
  172. var str = plus.storage.getItem('user');
  173. var user = JSON.parse(str);
  174. var token = user.Data.Token;
  175. //var exist;
  176. //当前月份日历
  177. nowMonth();
  178. //渲染当前日
  179. var d = new Date();
  180. var nowDay = mui('.days');
  181. for(var i = 0; i < nowDay.length; i++) {
  182. if(mui('.days')[i].innerHTML == d.getDate()) {
  183. mui('.days')[i].classList.add('now-day')
  184. }
  185. };;
  186. //点击日期
  187. mui(document.body).on('tap', '.days', function() {
  188. for(var i = 0; i < nowDay.length; i++) {
  189. nowDay[i].classList.remove('active-day')
  190. }
  191. mui(this)[0].classList.add('active-day');
  192. TaskList(token);
  193. });
  194. //查询任务
  195. TaskList(token);
  196. //日程查询
  197. ScheduleList(token);
  198. //下划、上划移动
  199. var Object = document.getElementById("list");
  200. //监听点击事件
  201. var tap_count = 0;
  202. mui(document.body).on("tap", "#sc-time", function() {
  203. if(tap_count % 2 == 0) {
  204. Object.classList.add('list-box');
  205. Object.classList.remove('list-boxs');
  206. document.getElementById("sc").className = 'mui-pull-right mui-icon mui-icon-arrowup';
  207. } else {
  208. Object.classList.add('list-boxs');
  209. Object.classList.remove('list-box');
  210. document.getElementById("sc").className = 'mui-pull-right mui-icon mui-icon-arrowdown';
  211. }
  212. tap_count++;
  213. });
  214. //如果有任务会议
  215. //for(var i = 0; i < exist.length; i++) {
  216. // for(var j = 0; j < (nowDay.length - 1); j++) {
  217. // if(mui('.days')[j].innerHTML == exist[i]) {
  218. // mui('.days')[j].parentNode.childNodes[1].classList.add('exist-day')
  219. // }
  220. // }
  221. //};
  222. })
  223. //当前月份的日历
  224. function nowMonth() {
  225. var nowdays = new Date();
  226. var year = nowdays.getFullYear();
  227. var month = nowdays.getMonth();
  228. mui('.time')[0].innerHTML = year + "年" + (month + 1) + "月";
  229. var day31 = ['1', '3', '5', '7', '8', '10', '12'];
  230. var isMouth = false;
  231. var html = '';
  232. for(var i = 0; i < day31.length; i++) {
  233. if(day31[i] == (month + 1)) {
  234. isMouth = true;
  235. }
  236. }
  237. //前面空
  238. //判断前一个月的
  239. var oldmouth;
  240. var oldyear;
  241. if(month == 0) {
  242. oldmouth = 12;
  243. oldyear = year - 1;
  244. }
  245. if(month < 10) {
  246. oldmouth = "0" + month;
  247. oldyear = year
  248. }
  249. var myDate = new Date(oldyear, oldmouth, 0);
  250. for(var i = 0; i < myDate.getDay(); i++) {
  251. html += '<div class="kong">空</div>'
  252. }
  253. //31天
  254. if(isMouth) {
  255. for(var j = 1; j < 32; j++) {
  256. html += '<div><span class="days">' + j + '</span><span></span></div>'
  257. }
  258. }
  259. //30天
  260. if(!isMouth && (month + 1) != 2) {
  261. for(var j = 1; j < 31; j++) {
  262. html += '<div><span class="days">' + j + '</span><span></span></div>'
  263. }
  264. }
  265. //特殊二月
  266. if((month + 1) == 2) {
  267. if(year % 4 == 0) {
  268. for(var j = 1; j < 30; j++) {
  269. html += '<div><span class="days">' + j + '</span><span></span></div>'
  270. }
  271. } else {
  272. for(var j = 1; j < 29; j++) {
  273. html += '<div><span class="days">' + j + '</span><span></span></div>'
  274. }
  275. }
  276. }
  277. mui('.day')[0].innerHTML = html
  278. }
  279. //查询任务
  280. function TaskList(token) {
  281. var day;
  282. /*if(mui('.active-day')[0] == undefined) {
  283. day = mui('.now-day')[0].innerHTML
  284. } else {
  285. day = mui('.active-day')[0].innerHTML
  286. }*/
  287. var postdata = {
  288. "TaskStatus": 0 //0.未完成 1.已完成
  289. }
  290. mui.ajax("http://www.bosshand.cn/api/Customer/GetUserScheduleList", {
  291. headers: {
  292. authorization: token,
  293. ContentType: 'application/x-www-form-urlencoded',
  294. },
  295. type: "post",
  296. data: postdata,
  297. dataType: 'json',
  298. success: function(data) {
  299. var data = data.Data.list;
  300. var html = '';
  301. _taskdata = data;
  302. for(var i = 0; i < data.length; i++) {
  303. if(!data[i].IsCreate) {
  304. //if(getLocalDay(data[i].ScheduleTime) == day) {
  305. alert(0)
  306. html += '<div onclick="openDetails(' + i + ')">'
  307. html += '<span>' + getLocalDate(data[i].ScheduleTime) + '</span>'
  308. html += '<span class="sm-word">' + data[i].ScheduleTitle + '</span>'
  309. html += '<span class="mui-icon mui-icon mui-icon-arrowright right"></span>'
  310. html += '</div>'
  311. //}
  312. exist = getLocalDay(data[i].ScheduleTime)
  313. }
  314. }
  315. if(html == '') {
  316. html += '<div>'
  317. html += '<span style="display:none"></span>'
  318. html += '<span class="sm-word">暂无信息</span>'
  319. html += '</div>'
  320. }
  321. mui('.sch-task')[0].innerHTML = html
  322. }
  323. });
  324. }
  325. //日程查询
  326. function ScheduleList(token) {
  327. mui.ajax("http://www.bosshand.cn/api/Customer/GetScheduleList", {
  328. headers: {
  329. authorization: token,
  330. },
  331. type: "post",
  332. data: {},
  333. dataType: 'json',
  334. success: function(data) {
  335. var data = data.Data.list;
  336. var html = '';
  337. _importantdata = data[0].list_Schedule;
  338. var nowdays = new Date();
  339. //重要日程old-icon icon go-icon
  340. if(data[0].list_Schedule[0] != undefined) {
  341. for(var i = 0; i < data[0].list_Schedule.length; i++) {
  342. html += '<div onclick="openDetail(' + i + ')">'
  343. html += '<span>' + getLocalDate(data[0].list_Schedule[i].ScheduleTime) + '</span>'
  344. if(getLocalDate(data[0].list_Schedule[i].ScheduleTime) < (nowdays.getHours() + ':' + nowdays.getMinutes())) {
  345. html += '<span class="old-icon"></span>'
  346. } else if(getLocalDate(data[0].list_Schedule[i].ScheduleTime) == (nowdays.getHours() + ':' + nowdays.getMinutes())) {
  347. html += '<span class="icon"></span>'
  348. } else {
  349. html += '<span class="go-icons"></span>'
  350. }
  351. html += '<span>' + data[0].list_Schedule[i].ScheduleTitle + '</span>'
  352. html += '</div>'
  353. }
  354. } else {
  355. html += '<div>';
  356. html += '<span style="display:none"></span>';
  357. html += '<span></span>';
  358. html += '<span>暂无信息</span>';
  359. html += '</div>';
  360. }
  361. mui('.important-sch')[0].innerHTML = html;
  362. //今日日程日程old-icon icons go-icons
  363. var htmls = '';
  364. _commondata = data[1].list_Schedule
  365. if(data[1].list_Schedule[0] != undefined) {
  366. for(var i = 0; i < data[1].list_Schedule.length; i++) {
  367. htmls += '<div onclick="openD(' + i + ')">'
  368. htmls += '<span>' + getLocalDate(data[1].list_Schedule[i].ScheduleTime) + '</span>'
  369. if(getLocalDate(data[1].list_Schedule[i].ScheduleTime) < (nowdays.getHours() + ':' + nowdays.getMinutes())) {
  370. htmls += '<span class="old-icon"></span>'
  371. } else if(getLocalDate(data[1].list_Schedule[i].ScheduleTime) == (nowdays.getHours() + ':' + nowdays.getMinutes())) {
  372. htmls += '<span class="icons"></span>'
  373. } else {
  374. htmls += '<span class="go-icons"></span>'
  375. }
  376. htmls += '<span>' + data[1].list_Schedule[i].ScheduleTitle + '</span>'
  377. htmls += '</div>'
  378. }
  379. } else {
  380. htmls += '<div>'
  381. htmls += '<span style="display:none"></span>'
  382. htmls += '<span></span>'
  383. htmls += '<span>暂无信息</span>'
  384. htmls += '</div>'
  385. }
  386. mui('.today-sch')[0].innerHTML = htmls;
  387. }
  388. });
  389. }
  390. //固定菜单
  391. var count = 0;
  392. mui(document.body).on('tap', '.xx', function() {
  393. if(count % 2 == 0) {
  394. //mui('.fixed-box')[0].childNodes[1].className = 'move3';
  395. mui('.fixed-box')[0].childNodes[1].className = 'move2';
  396. mui('.fixed-box')[0].childNodes[3].className = 'move1';
  397. mui('.fixed-box')[0].childNodes[5].className = 'mo-word xx move7';
  398. } else {
  399. //mui('.fixed-box')[0].childNodes[1].className = 'move6';
  400. mui('.fixed-box')[0].childNodes[1].className = 'move5';
  401. mui('.fixed-box')[0].childNodes[3].className = 'move4';
  402. mui('.fixed-box')[0].childNodes[5].className = 'mo-word xx move8';
  403. }
  404. count++
  405. });
  406. //时间
  407. function getLocalDate(now) {
  408. var date = now.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '');
  409. var arr = date.split(' ');
  410. //日期
  411. var arrDate = arr[0].split('-');
  412. //时间
  413. var arrTime = arr[1].split(':');
  414. return arrTime[0] + ':' + arrTime[1];
  415. }
  416. //日
  417. function getLocalDay(now) {
  418. var date = now.replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '');
  419. var arr = date.split(' ');
  420. //日期
  421. var arrDate = arr[0].split('-');
  422. return arrDate[2]
  423. }
  424. //跳转
  425. function openDetails(i) {
  426. var data = _taskdata[i]
  427. mui.openWindow({
  428. url: '../home-index-schedule/task-details.html',
  429. extras: {
  430. data: data
  431. },
  432. createNew: true, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示
  433. show: {
  434. autoShow: true, //页面loaded事件发生后自动显示,默认为true
  435. },
  436. waiting: {
  437. autoShow: false, //自动显示等待框,默认为true
  438. }
  439. })
  440. }
  441. function openDetail(i) {
  442. var data = _importantdata[i]
  443. mui.openWindow({
  444. url: '../home-index-schedule/important-details.html',
  445. extras: {
  446. data: data
  447. },
  448. createNew: true, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示
  449. show: {
  450. autoShow: true, //页面loaded事件发生后自动显示,默认为true
  451. },
  452. waiting: {
  453. autoShow: false, //自动显示等待框,默认为true
  454. }
  455. })
  456. }
  457. function openD(i) {
  458. var data = _commondata[i]
  459. mui.openWindow({
  460. url: '../home-index-schedule/common-details.html',
  461. extras: {
  462. data: data
  463. },
  464. createNew: true, //是否重复创建同样id的webview,默认为false:不重复创建,直接显示
  465. show: {
  466. autoShow: true, //页面loaded事件发生后自动显示,默认为true
  467. },
  468. waiting: {
  469. autoShow: false, //自动显示等待框,默认为true
  470. }
  471. })
  472. }
  473. </script>
  474. </body>
  475. </html>