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.
 
 
 
 
 
 

234 lines
10 KiB

  1. /*
  2. * 版 本 Learun-ADMS V7.0.0 数字化智慧校园(http://www.learun.cn)
  3. * Copyright (c) 2013-2017 北京泉江科技有限公司
  4. * 创建人:数字化智慧校园-前端开发组
  5. * 日 期:2018.7.12
  6. * 描 述:数字化智慧校园移动端框架(ADMS) 流程我的任务
  7. */
  8. (function () {
  9. var begin = '';
  10. var end = '';
  11. var $header = null;
  12. var page = {
  13. currentPage: 0,
  14. grid:[],
  15. init: function ($page) {
  16. page.currentPage = 0;
  17. page.grid = [];
  18. // 添加头部按钮列表
  19. var _html = '\
  20. <div class="lr-form-header-btnlist" style="display:block;" >\
  21. <div class="lr-form-header-more" ><i class="iconfont icon-searchlist" ></i></div>\
  22. <div class="lr-form-header-edit" ><i class="iconfont icon-time" ></i></div>\
  23. </div>';
  24. $header = $page.parents('.f-page').find('.f-page-header');
  25. $header.append(_html);
  26. // 设置查询条件
  27. $header.find('.lr-form-header-edit').searchdate({
  28. callback: function (_begin, _end) {
  29. begin = _begin;
  30. end = _end;
  31. page.grid[page.currentPage].reload();
  32. }
  33. });
  34. // 点击搜索按钮
  35. $header.find('.lr-form-header-more').on('tap', function () {
  36. learun.nav.go({ path: 'search', title: '', isBack: true, isHead: true, param: 'workflow/mytask' });// 告诉搜索页本身所在的地址
  37. });
  38. $page.find('#mytask_tab').toptab(['我的', '待办', '已办'], function (_index) {
  39. page.currentPage = parseInt(_index);
  40. begin = "";
  41. end = "";
  42. page.grid[page.currentPage].reload();
  43. }).each(function (index) {
  44. var $this = $(this);
  45. switch (index) {
  46. case 0:
  47. page.grid[index] = $this.lrpagination({
  48. lclass: "lr-list lr-flow-list",
  49. rows: 10, // 每页行数
  50. getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调
  51. param.begin = begin;
  52. param.end = end;
  53. page.loadData(param, callback, $page);
  54. },
  55. renderData: function (_index, _item, _$item) {// 渲染数据模板
  56. return page.rowRender(_index, _item, _$item, $page);
  57. },
  58. click: function (item, $item) {// 列表行点击事件
  59. page.click(item, $item, $page);
  60. }
  61. });
  62. break;
  63. case 1:
  64. page.grid[index] = $this.lrpagination({
  65. lclass: "lr-list lr-flow-list",
  66. rows: 10, // 每页行数
  67. getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调
  68. param.begin = begin;
  69. param.end = end;
  70. page.loadData(param, callback, $page);
  71. },
  72. renderData: function (_index, _item, _$item) {// 渲染数据模板
  73. return page.rowRender(_index, _item, _$item, $page);
  74. },
  75. click: function (item, $item) {// 列表行点击事件
  76. page.click(item, $item, $page);
  77. }
  78. });
  79. break;
  80. case 2:
  81. page.grid[index] = $this.lrpagination({
  82. lclass: "lr-list lr-flow-list",
  83. rows: 10, // 每页行数
  84. getData: function (param, callback) {// 获取数据 param 分页参数,callback 异步回调
  85. param.begin = begin;
  86. param.end = end;
  87. page.loadData(param, callback, $page);
  88. },
  89. renderData: function (_index, _item, _$item) {// 渲染数据模板
  90. return page.rowRender(_index, _item, _$item, $page);
  91. },
  92. click: function (item, $item) {// 列表行点击事件
  93. page.click(item, $item, $page);
  94. }
  95. });
  96. break;
  97. }
  98. $this = null;
  99. });
  100. },
  101. lclass: 'lr-list lr-flow-list',
  102. loadData: function (param, callback, $page) {// 列表加载后台数据
  103. var _postParam = {
  104. pagination: {
  105. rows: param.rows,
  106. page: param.page,
  107. sidx: 'F_CreateDate',
  108. sord: 'DESC'
  109. },
  110. queryJson: '{}'
  111. };
  112. if (param.keyword) {
  113. _postParam.queryJson = JSON.stringify({ keyword: param.keyword });
  114. }
  115. if (param.begin && param.end) {
  116. _postParam.queryJson = JSON.stringify({ StartTime: param.begin, EndTime: param.end });
  117. }
  118. var url = '';
  119. var mypage = learun.nav.getpage('workflow/mytask');
  120. switch (mypage.currentPage) {
  121. case 0:
  122. url = config.webapi + "learun/adms/workflow/mylist";
  123. break;
  124. case 1:
  125. url = config.webapi + "learun/adms/workflow/mytask";
  126. break;
  127. case 2:
  128. url = config.webapi + "learun/adms/workflow/mytaskmaked";
  129. break;
  130. }
  131. learun.httpget(url, _postParam, (data) => {
  132. if (data) {
  133. callback(data.rows, parseInt(data.records));
  134. }
  135. else {
  136. callback([], 0);
  137. }
  138. });
  139. },
  140. rowRender: function (_index, _item, _$item, $page) {// 渲染列表行数据
  141. var levelText = '';
  142. var levelbg = '';
  143. switch (_item.F_ProcessLevel) {
  144. case 0:
  145. levelText = '普通';
  146. levelbg = 'bgcblue1';
  147. break;
  148. case 1:
  149. levelText = '重要';
  150. levelbg = 'bgcyellow';
  151. break;
  152. case 2:
  153. levelText = '紧急';
  154. levelbg = 'bgcpink';
  155. break;
  156. }
  157. statusText = '待审批';
  158. if (_item.F_TaskName) {
  159. statusText = '【' + _item.F_TaskName + '】' + statusText;
  160. }
  161. if (_item.F_IsFinished === 1) {
  162. statusText = '结束';
  163. }
  164. else if (_item.F_EnabledMark !== 1) {
  165. statusText = '暂停';
  166. }
  167. if (_item.F_IsAgain === 1) {
  168. statusText = '<span style="color:red;" >重新发起</span>';
  169. }
  170. var _html = '';
  171. var mypage = learun.nav.getpage('workflow/mytask');
  172. if (mypage.currentPage === 0) {
  173. _html = '<div class="lr-list-item">\
  174. <div class="left" >\
  175. <span class="circle '+ levelbg + '">' + levelText + '</span>\
  176. </div >\
  177. <div class="middle">\
  178. <div class="title">'+ _item.F_ProcessName + '</div>\
  179. <div class="text">'+ _item.F_SchemeName + '</div>\
  180. <div class="status">'+ statusText + '</div>\
  181. </div>\
  182. <div class="right">'+ learun.date.format(_item.F_CreateDate, 'yyyy-MM-dd') + '</div>\
  183. </div>';
  184. }
  185. else {
  186. _html = '<div class="lr-list-item">\
  187. <div class="left" >\
  188. <span class="circle '+ levelbg + '">' + levelText + '</span>\
  189. </div >\
  190. <div class="middle">\
  191. <div class="title">'+ _item.F_ProcessName + '</div>\
  192. <div class="text">'+ _item.F_CreateUserName + '/' + _item.F_SchemeName + '</div>\
  193. <div class="status">'+ statusText + '</div>\
  194. </div>\
  195. <div class="right">'+ learun.date.format(_item.F_CreateDate, 'yyyy-MM-dd') + '</div>\
  196. </div>';
  197. }
  198. return _html;
  199. },
  200. click: function (item, $item, $page) {// 列表行点击触发方法
  201. if (item.F_IsAgain === 1) {// 重新发起流程
  202. learun.nav.go({ path: 'workflow/againbootstraper', title: item.F_ProcessName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  203. return false;
  204. }
  205. var mypage = learun.nav.getpage('workflow/mytask');
  206. switch (mypage.currentPage) {
  207. case 0:
  208. learun.nav.go({ path: 'workflow/processInfo', title: item.F_ProcessName, type: 'right', param: { processId: item.F_Id } });
  209. break;
  210. case 1:
  211. learun.nav.go({ path: 'workflow/audit', title: item.F_ProcessName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  212. break;
  213. case 2:
  214. learun.nav.go({ path: 'workflow/processInfo', title: item.F_ProcessName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  215. break;
  216. }
  217. return false;
  218. },
  219. destroy: function (pageinfo) {
  220. page.currentPage = 0;
  221. page.grid = [];
  222. }
  223. };
  224. return page;
  225. })();