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.
 
 
 
 
 
 

307 lines
14 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: 'nworkflow/myflow' });// 告诉搜索页本身所在的地址
  37. });
  38. $page.find('#myflow_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('nworkflow/myflow');
  120. switch (mypage.currentPage) {
  121. case 0:
  122. url = config.webapi + "learun/adms/newwf/mylist";
  123. break;
  124. case 1:
  125. url = config.webapi + "learun/adms/newwf/mytask";
  126. break;
  127. case 2:
  128. url = config.webapi + "learun/adms/newwf/mytaskmaked";
  129. break;
  130. }
  131. learun.httpget(url, _postParam, function (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 mypage = learun.nav.getpage('nworkflow/myflow');
  142. var levelText = '';
  143. var levelbg = '';
  144. switch (_item.F_Level) {
  145. case 0:
  146. levelText = '普通';
  147. levelbg = 'bgcblue1';
  148. break;
  149. case 1:
  150. levelText = '重要';
  151. levelbg = 'bgcyellow';
  152. break;
  153. case 2:
  154. levelText = '紧急';
  155. levelbg = 'bgcpink';
  156. break;
  157. default:
  158. levelText = '普通';
  159. levelbg = 'bgcblue1';
  160. break;
  161. }
  162. var statusText = '';
  163. if (mypage.currentPage != 2) {
  164. statusText = '待审批';
  165. }
  166. if (_item.F_TaskName) {
  167. statusText = '【' + _item.F_TaskName + '】' + statusText;
  168. }
  169. if (_item.F_IsFinished === 1) {
  170. statusText = '结束';
  171. }
  172. else if (_item.F_EnabledMark === 3) {
  173. statusText = '<span style="color:red;" >作废</span>';
  174. }
  175. else if (_item.F_EnabledMark === 2) {
  176. statusText = '草稿';
  177. _item.F_Title = '草稿需要编辑!';
  178. }
  179. if (_item.F_IsAgain === 1 && mypage.currentPage !== 2) {
  180. statusText = '<span style="color:red;" >重新发起</span>';
  181. }
  182. if (_item.F_TaskType == 3 && mypage.currentPage === 1) {
  183. statusText = '【加签】' + statusText;
  184. }
  185. if (_item.F_IsUrge == "1" && mypage.currentPage === 1) {
  186. statusText = '<span style="color:red;" >【催办加急】</span>' + statusText;
  187. }
  188. var _html = '';
  189. if (mypage.currentPage === 0) {
  190. _html = '<div class="lr-list-item">\
  191. <div class="left" >\
  192. <span class="circle '+ levelbg + '">' + levelText + '</span>\
  193. </div >\
  194. <div class="middle">\
  195. <div class="title">' + _item.F_Title + '</div>\
  196. <div class="text">'+ _item.F_SchemeName + '</div>\
  197. <div class="status">'+ statusText + '</div>\
  198. </div>\
  199. <div class="right">'+ learun.date.format(_item.F_CreateDate, 'yyyy-MM-dd') + '</div>\
  200. </div>';
  201. }
  202. else {
  203. _html = '<div class="lr-list-item">\
  204. <div class="left" >\
  205. <span class="circle '+ levelbg + '">' + levelText + '</span>\
  206. </div >\
  207. <div class="middle">\
  208. <div class="title">' + _item.F_Title + '</div>\
  209. <div class="text">'+ _item.F_CreateUserName + '/' + _item.F_SchemeName + '</div>\
  210. <div class="status">'+ statusText + '</div>\
  211. </div>\
  212. <div class="right">'+ learun.date.format(_item.F_CreateDate, 'yyyy-MM-dd') + '</div>\
  213. </div>';
  214. }
  215. return _html;
  216. },
  217. click: function (item, $item, $page) {// 列表行点击触发方法
  218. var mypage = learun.nav.getpage('nworkflow/myflow');
  219. if (item.F_IsAgain === 1 && mypage.currentPage !== 2) {// 重新发起流程
  220. learun.nav.go({ path: 'nworkflow/againcreateflow', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id } });
  221. return false;
  222. }
  223. switch (mypage.currentPage) {
  224. case 0:
  225. if (item.F_EnabledMark === 2) {// 草稿
  226. learun.actionsheet({
  227. id: 'myflow0',
  228. data: [
  229. {
  230. text: '编辑草稿',
  231. group: '1',
  232. event: function () {
  233. learun.nav.go({ path: 'nworkflow/draft', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id } });
  234. }
  235. },
  236. {
  237. text: '删除草稿',
  238. mark: true,
  239. group: '2',
  240. event: function () {
  241. learun.layer.confirm('确定要删除流程草稿?', function (_index) {
  242. if (_index === '1') {
  243. learun.layer.loading(true, "正在删除该流程草稿");
  244. learun.httppost(config.webapi + "learun/adms/newwf/deldraft", item.F_Id, function (data) {
  245. learun.layer.loading(false);
  246. if (data) {// 删除数据成功
  247. page.grid[0].reload();
  248. }
  249. });
  250. }
  251. }, '数字化智慧校园', ['取消', '确定']);
  252. }
  253. }
  254. ],
  255. cancel: function () { }
  256. });
  257. return false;
  258. }
  259. learun.nav.go({ path: 'nworkflow/myprocessInfo', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id, isStart: item.F_IsStart } });
  260. break;
  261. case 1:
  262. if (item.F_TaskType == 3) {// 加签
  263. learun.nav.go({ path: 'nworkflow/signAudit', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  264. return false;
  265. }
  266. else if (item.F_TaskType == 4 || item.F_TaskType == 6) {// 子流程发起
  267. learun.nav.go({ path: 'nworkflow/chlidaudit', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  268. return false;
  269. }
  270. else if (item.F_TaskType == 2) {// 查阅
  271. learun.nav.go({ path: 'nworkflow/refer', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  272. return false;
  273. }
  274. learun.nav.go({ path: 'nworkflow/audit', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  275. break;
  276. case 2:
  277. if (item.F_TaskType == 4 || item.F_TaskType == 6) {// 子流程发起
  278. learun.nav.go({ path: 'nworkflow/chlidlook', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  279. return false;
  280. }
  281. learun.nav.go({ path: 'nworkflow/processInfo', title: item.F_SchemeName, type: 'right', param: { processId: item.F_Id, taskId: item.F_TaskId } });
  282. break;
  283. }
  284. return false;
  285. },
  286. destroy: function (pageinfo) {
  287. page.currentPage = 0;
  288. page.grid = [];
  289. }
  290. };
  291. return page;
  292. })();