sch_list.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. mui.init();
  2. var uRLs = API.API_URL();
  3. var pageNo = 1;
  4. var pageNo2 = 1;
  5. var pageNo3 = 1;
  6. var pageNo4 = 1;
  7. var self1;
  8. var self2;
  9. var self3;
  10. var self4;
  11. (function($) {
  12. //初始化单页的区域滚动
  13. mui('.mui-scroll-wrapper').scroll();
  14. //阻尼系数
  15. var deceleration = mui.os.ios ? 0.003 : 0.0009;
  16. $('.mui-scroll-wrapper').scroll({
  17. bounce: false,
  18. indicators: true, //是否显示滚动条
  19. deceleration: deceleration
  20. });
  21. mui('.mui-slider').slider().stopped = true;
  22. mui.plusReady(function() {
  23. var self = plus.webview.currentWebview();
  24. id = self.universalid;
  25. $.each(document.querySelectorAll('.mui-slider-group .mui-scroll'), function(index, pullRefreshEl) {
  26. $(pullRefreshEl).pullToRefresh({
  27. //container: '.list_item',
  28. down: {
  29. callback: function() {
  30. var self = this;
  31. setTimeout(function() {
  32. var ul = self.element.querySelector('.mui-table-view');
  33. reloadNews(ul, self);
  34. self.endPullDownToRefresh();
  35. }, 1000); //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
  36. }
  37. },
  38. up: {
  39. height: 50, //可选.默认50.触发上拉加载拖动距离
  40. auto: true, //可选,默认false.自动上拉加载一次
  41. contentrefresh: "正在加载...", //可选,正在加载状态时,上拉加载控件上显示的标题内容
  42. contentnomore: '没有更多数据了', //可选,请求完毕若没有更多数据时显示的提醒内容;
  43. callback: function() {
  44. var self = this;
  45. setTimeout(function() {
  46. var ul = self.element.querySelector('.mui-table-view');
  47. console.log(pullRefreshEl.id);
  48. pullupRefresh(ul, self);
  49. self.endPullUpToRefresh();
  50. }, 1000);
  51. }
  52. }
  53. });
  54. });
  55. });
  56. })(mui);
  57. var vmA = new Vue({
  58. el: '#pullrefresh',
  59. data: {
  60. item1: [] //列表信息流数据
  61. }
  62. });
  63. var vmB = new Vue({
  64. el: '#items2',
  65. data: {
  66. item2: [] //列表信息流数据
  67. }
  68. });
  69. var vmC = new Vue({
  70. el: '#items3',
  71. data: {
  72. item3: [] //列表信息流数据
  73. }
  74. });
  75. var vmD = new Vue({
  76. el: '#items4',
  77. data: {
  78. item4: [] //列表信息流数据
  79. }
  80. });
  81. /**
  82. * 下拉刷新具体业务实现
  83. */
  84. function reloadNews(ul, self) {
  85. /*vmA.item1 = [];
  86. addData();*/
  87. var dataType = self.element.id;
  88. if("pullrefresh" == dataType) {
  89. pageNo = 1;
  90. vmA.item1 = [];
  91. addData(ul, self);
  92. } else if("pullrefresh2" == dataType) {
  93. pageNo2= 1;
  94. vmB.item2 = [];
  95. addData2(ul, self);
  96. } else if("pullrefresh3" == dataType) {
  97. pageNo3 = 1;
  98. vmC.item3 = [];
  99. addData3(ul, self);
  100. } else if("pullrefresh4" == dataType) {
  101. pageNo4 = 1;
  102. vmD.item4 = [];
  103. addData4(ul, self);
  104. }
  105. }
  106. /**
  107. * 上拉加载具体业务实现
  108. */
  109. function pullupRefresh(ul, self) {
  110. var dataType = self.element.id;
  111. if("pullrefresh" == dataType) {
  112. self1=self;
  113. addData(ul, self);
  114. } else if("pullrefresh2" == dataType) {
  115. self2=self;
  116. addData2(ul, self);
  117. } else if("pullrefresh3" == dataType) {
  118. self3=self;
  119. addData3(ul, self);
  120. } else if("pullrefresh4" == dataType) {
  121. self4=self;
  122. addData4(ul, self);
  123. }
  124. }
  125. function addData(ul, self) {
  126. var url = API.API_URL();
  127. var serviceId = "oa_2018V06ScheduleListByCompleteAction";
  128. var state = app.getState(); //获取登陆信息
  129. var userId = state.user.useId;
  130. var theNum = "1"; //日程完成状态类型
  131. var obj = {
  132. userId: userId,
  133. pSize: APP.PageSize,
  134. p: pageNo,
  135. theNum: theNum
  136. };
  137. app.ajax(serviceId, obj, function(data) {
  138. //服务器返回响应
  139. console.log(JSON.stringify(data));
  140. var totalRow = data.total;
  141. var totalPage = Math.ceil(totalRow / APP.PageSize);
  142. var list = data.list;
  143. console.log(list.length);
  144. if(list.length > 0) {
  145. vmA.item1 = vmA.item1.concat(convert(list, self));
  146. }
  147. self.endPullUpToRefresh(totalPage <= pageNo); //参数为true代表没有更多数据了。
  148. if(pageNo == 1 && totalPage > 1)
  149. self.refresh(true); //调用.refresh(true)方法,可重置上拉加载控件,注意:refresh()中需传入true
  150. pageNo = pageNo + 1;
  151. });
  152. }
  153. function addData2(ul, self) {
  154. var url = API.API_URL();
  155. var serviceId = "oa_2018V06ScheduleListByCompleteAction";
  156. var state = app.getState(); //获取登陆信息
  157. var userId = state.user.useId;
  158. var theNum = "2"; //日程完成状态类型
  159. var obj = {
  160. userId: userId,
  161. pSize: APP.PageSize,
  162. p: pageNo2,
  163. theNum: theNum
  164. };
  165. app.ajax(serviceId, obj, function(data) {
  166. //服务器返回响应
  167. console.log(JSON.stringify(data))
  168. var totalRow = data.total;
  169. var totalPage = Math.ceil(totalRow / APP.PageSize);
  170. var list = data.list;
  171. console.log(list.length);
  172. if(list.length > 0) {
  173. vmB.item2 = vmB.item2.concat(convert(list, self));
  174. }
  175. self.endPullUpToRefresh(totalPage <= pageNo2); //参数为true代表没有更多数据了。//参数为true代表没有更多数据了。
  176. if(pageNo2 == 1 && totalPage > 1)
  177. self.refresh(true); //调用.refresh(true)方法,可重置上拉加载控件,注意:refresh()中需传入true
  178. pageNo2 = pageNo2 + 1;
  179. });
  180. }
  181. function addData3(ul, self) {
  182. var url = API.API_URL();
  183. var serviceId = "oa_2018V06ScheduleListByCompleteAction";
  184. var state = app.getState(); //获取登陆信息
  185. var userId = state.user.useId;
  186. var theNum = "3"; //日程完成状态类型
  187. var obj = {
  188. userId: userId,
  189. pSize: APP.PageSize,
  190. p: pageNo3,
  191. theNum: theNum
  192. };
  193. app.ajax(serviceId, obj, function(data) {
  194. //服务器返回响应
  195. console.log(JSON.stringify(data))
  196. var totalRow = data.total;
  197. var totalPage = Math.ceil(totalRow / APP.PageSize);
  198. var list = data.list;
  199. console.log(list.length);
  200. if(list.length > 0) {
  201. vmC.item3 = vmC.item3.concat(convert(list, self));
  202. }
  203. self.endPullUpToRefresh(totalPage <= pageNo3); //参数为true代表没有更多数据了。
  204. if(pageNo3 == 1 && totalPage > 1)
  205. self.refresh(true); //调用.refresh(true)方法,可重置上拉加载控件,注意:refresh()中需传入true
  206. pageNo3 = pageNo3 + 1;
  207. });
  208. }
  209. function addData4(ul, self) {
  210. var url = API.API_URL();
  211. var serviceId = "oa_2018V06ScheduleListByCompleteAction";
  212. var state = app.getState(); //获取登陆信息
  213. var userId = state.user.useId;
  214. var theNum = "4"; //日程完成状态类型
  215. var obj = {
  216. userId: userId,
  217. pSize: APP.PageSize,
  218. p: pageNo4,
  219. theNum: theNum
  220. };
  221. app.ajax(serviceId, obj, function(data) {
  222. //服务器返回响应
  223. console.log(JSON.stringify(data))
  224. var totalRow = data.total;
  225. var totalPage = Math.ceil(totalRow / APP.PageSize);
  226. var list = data.list;
  227. console.log(list.length);
  228. if(list.length > 0) {
  229. vmD.item4 = vmD.item4.concat(convert(list, self));
  230. }
  231. self.endPullUpToRefresh(totalPage <= pageNo4); //参数为true代表没有更多数据了。
  232. if(pageNo4 == 1 && totalPage > 1)
  233. self.refresh(true); //调用.refresh(true)方法,可重置上拉加载控件,注意:refresh()中需传入true
  234. pageNo4 = pageNo4 + 1;
  235. });
  236. }
  237. /**
  238. * 1、将服务端返回数据,转换成前端需要的格式
  239. * 2、若服务端返回格式和前端所需格式相同,则不需要改功能
  240. *
  241. * @param {Array} item1
  242. */
  243. function convert(items, self) {
  244. var newItems = [];
  245. items.forEach(function(item) {
  246. var _startD=item.schedule_start_date.split(" ");
  247. var _endD=item.schedule_end_date.split(" ");
  248. var schedule_typeN;
  249. var schedule_levelN;
  250. if(item.schedule_type==1){
  251. schedule_typeN="工作事务";
  252. }else if(item.schedule_type==2){
  253. schedule_typeN="个人事务";
  254. }
  255. if(item.schedule_level==0){
  256. schedule_levelN="未指定";
  257. }else if(item.schedule_level==1){
  258. schedule_levelN="重要/紧急";
  259. }else if(item.schedule_level==2){
  260. schedule_levelN="重要/不紧急";
  261. }else if(item.schedule_level==3){
  262. schedule_levelN="不重要/紧急";
  263. }else if(item.schedule_level==4){
  264. schedule_levelN="不重要/不紧急";
  265. }
  266. newItems.push({
  267. universalid: item.universalid,
  268. schedule_title: item.schedule_title,
  269. schedule_detail: item.schedule_detail,
  270. schedule_level: item.schedule_level,
  271. alarm_time: item.alarm_time,
  272. schedule_start_date: item.schedule_start_date,
  273. schedule_end_date: item.schedule_end_date,
  274. schedule_type: item.schedule_type,
  275. alarm_type1: item.alarm_type1,
  276. alarm_type2: item.alarm_type2,
  277. startD:_startD[0],
  278. endD:_endD[0],
  279. startH:_startD[1],
  280. endH:_endD[1],
  281. allDay: item.allday,
  282. typeNs:schedule_typeN,
  283. levelNs:schedule_levelN,
  284. self: self,
  285. complete: item.complete
  286. });
  287. });
  288. return newItems;
  289. }
  290. /**
  291. * 打开我的日程详情
  292. *
  293. * @param {Object} item 当前点击的督办对象
  294. */
  295. function open_detail(item) {
  296. var uRl="";
  297. var id="";
  298. if(item.complete==0){
  299. uRl= "../../page/schedule/scheduleInfo.html";
  300. id= "scheduleInfo.html";
  301. }else{
  302. uRl= "../../page/schedule/scheduleEdit.html";
  303. id= "scheduleEdit.html";
  304. }
  305. mui.openWindow({
  306. url:uRl,
  307. id: id,
  308. extras: {
  309. universalid: item.universalid,
  310. schedule_title: item.schedule_title,
  311. schedule_detail: item.schedule_detail,
  312. schedule_level: item.schedule_level,
  313. alarm_time: item.alarm_time,
  314. schedule_start_date: item.schedule_start_date,
  315. schedule_end_date: item.schedule_end_date,
  316. schedule_type: item.schedule_type,
  317. alarm_type1: item.alarm_type1,
  318. alarm_type2: item.alarm_type2,
  319. allDay: item.allDay,
  320. complete: item.complete
  321. }
  322. })
  323. }
  324. //修改日程完成情况
  325. function editSchedul(item) {
  326. var uRL = API.API_URL();
  327. var isNum = item.theNum;
  328. var btnArray = ['取消', '确认'];
  329. mui.confirm('确定完成?', '警告', btnArray, function(e) {
  330. if(e.index == 1) {
  331. var url = API.API_URL();
  332. var serviceId = "oa_2017V01ScheduleEdit";
  333. var state = app.getState(); //获取登陆信息
  334. var start_date = item.schedule_start_date + ":00";
  335. var end_date = item.schedule_end_date + ":00";
  336. var alarm_time = item.alarm_time + ":00";
  337. var allDay=item.allDay+"";
  338. var obj = {
  339. universalid: item.universalid,
  340. schedule_title: item.schedule_title,
  341. schedule_detail: item.schedule_detail,
  342. schedule_level: item.schedule_level,
  343. alarm_time: item.alarm_time,
  344. schedule_start_date: item.schedule_start_date,
  345. schedule_end_date: item.schedule_end_date,
  346. schedule_type: item.schedule_type,
  347. alarm_type1: item.alarm_type1,
  348. alarm_type2: item.alarm_type2,
  349. allDay: allDay,
  350. complete: 0
  351. };
  352. app.ajax(serviceId, obj, function(data) {
  353. //服务器返回响应
  354. reloadNews(uRL, self1);
  355. reloadNews(uRL, self2);
  356. reloadNews(uRL, self3);
  357. reloadNews(uRL, self4);
  358. });
  359. } else {
  360. }
  361. })
  362. }
  363. //删除我的日程
  364. function delSchedul(item) {
  365. var uRL = API.API_URL();
  366. var isNum = item.theNum;
  367. var btnArray = ['取消', '确认'];
  368. mui.confirm('确定要删除吗', '警告', btnArray, function(e) {
  369. if(e.index == 1) {
  370. var url = API.API_URL();
  371. var serviceId = "oa_2017V01ScheduleDelete";
  372. var state = app.getState(); //获取登陆信息
  373. var obj = {
  374. id: item.universalid,
  375. };
  376. app.ajax(serviceId, obj, function(data) {
  377. //服务器返回响应
  378. reloadNews(uRL, item.self);
  379. mui.toast('删除成功');
  380. });
  381. } else {
  382. }
  383. })
  384. }
  385. window.addEventListener('refreshE', function(e) {
  386. //在父页面中添加监听事件,刷新页面
  387. reloadNews(uRLs, self1);
  388. reloadNews(uRLs, self2);
  389. reloadNews(uRLs, self3);
  390. reloadNews(uRLs, self4);
  391. });