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.
 
 
 
 
 
 

157 lines
6.3 KiB

  1. (function () {
  2. var processId = '';
  3. var taskId = '';
  4. var $header = null;
  5. var headText = '';
  6. var nodeMap = {};
  7. var page = {
  8. init: function ($page, param) {
  9. var _html = '<div class="lr-form-header-submit" style="display:block;" >已阅</div>';
  10. $header = $page.parents('.f-page').find('.f-page-header');
  11. $header.append(_html);
  12. headText = $header.find('.f-page-title').text();
  13. $page.find('.lr-refer-page').toptab(['表单信息', '流程信息']).each(function (index) {
  14. var $this = $(this);
  15. switch (index) {
  16. case 0:
  17. $this.html('<div class="container" id="refercontainer"></div>');
  18. break;
  19. case 1:
  20. $this.html('<div class="container" id="refercontainer2"></div>');
  21. break;
  22. }
  23. $this = null;
  24. });
  25. processId = param.processId;
  26. taskId = param.taskId;
  27. processinfo(param);
  28. // 已阅
  29. $header.find('.lr-form-header-submit').on('tap', function () {
  30. learun.layer.confirm('是否确认查阅?', function (_index) {
  31. if (_index === '1') {
  32. learun.layer.loading(true, "确认查阅中");
  33. learun.httppost(config.webapi + "learun/adms/newwf/refer", { processId: processId, taskId: taskId }, function (data) {
  34. learun.layer.loading(false);
  35. var prepage = learun.nav.getpage('nworkflow/myflow');
  36. prepage.grid[1].reload();
  37. learun.nav.closeCurrent();
  38. });
  39. }
  40. }, '数字化智慧校园', ['取消', '确定']);
  41. });
  42. },
  43. destroy: function (pageinfo) {
  44. $header = null;
  45. }
  46. };
  47. function processinfo(_param) {
  48. var req = {
  49. processId: _param.processId,
  50. taskId: _param.taskId
  51. };
  52. learun.layer.loading(true, "获取流程信息");
  53. learun.httpget(config.webapi + "learun/adms/newwf/processinfo", req, function (data) {
  54. if (data) {
  55. var info = data.info;
  56. var schemeObj = JSON.parse(info.Scheme);
  57. var currentNode;
  58. var formreq = [];
  59. var schemeIds = [];
  60. var authorizeFields = [];
  61. // 获取当前节点
  62. $.each(schemeObj.nodes, function (_index, _item) {
  63. if (_item.id == info.CurrentNodeId) {
  64. currentNode = _item;
  65. }
  66. nodeMap[_item.id] = _item;
  67. });
  68. $.each(currentNode.wfForms, function (_index, _item) {
  69. if (_item.formId) {
  70. schemeIds.push(_item.formId);
  71. var point = {
  72. schemeInfoId: _item.formId,
  73. processIdName: _item.field,
  74. keyValue: _param.processId,
  75. }
  76. formreq.push(point);
  77. $.each(_item.authorize, function (_jindex, _jitem) {
  78. _jitem.fieldId = _jindex;
  79. authorizeFields.push(_jitem);
  80. });
  81. }
  82. });
  83. learun.custmerform.loadScheme(schemeIds, function (scheme) {
  84. $('#refercontainer').custmerform(scheme);
  85. // 设置表单的可查看权限
  86. $.each(authorizeFields, function (_index, _item) {
  87. if (_item.isLook === 0) {
  88. $('#refercontainer').find('#' + _item.fieldId).parents('.lr-form-row').remove();
  89. }
  90. });
  91. $('#refercontainer').setFormRead();
  92. });
  93. // 获取下自定义表单数据
  94. learun.httpget(config.webapi + "learun/adms/form/data", formreq, function (data) {
  95. if (data) {
  96. // 设置自定义表单数据
  97. $('#refercontainer').custmerformSet(data);
  98. }
  99. });
  100. // 加载流程信息
  101. initTimeLine(info.TaskLogList);
  102. }
  103. learun.layer.loading(false);
  104. });
  105. }
  106. function initTimeLine(flowHistory) {
  107. var nodelist = [];
  108. learun.clientdata.getAll('department', {
  109. callback: function (departmentMap) {
  110. learun.clientdata.getAll('user', {
  111. callback: function (userMap) {
  112. for (var i = 0, l = flowHistory.length; i < l; i++) {
  113. var item = flowHistory[i];
  114. var name = (item.F_CreateUserName || '系统处理') + ':';
  115. if (item.F_CreateUserId && userMap[item.F_CreateUserId]) {
  116. var _department = departmentMap[userMap[item.F_CreateUserId].departmentId];
  117. if (_department) {
  118. name = '【' + _department.name + '】' + name;
  119. }
  120. }
  121. var content = item.F_OperationName;
  122. if (item.F_Des) {
  123. content += '【审批意见】' + item.F_Des;
  124. }
  125. var nodeName = '';
  126. if (item.F_NodeId && nodeMap[item.F_NodeId]) {
  127. nodeName = nodeMap[item.F_NodeId].name;
  128. }
  129. var point = {
  130. title: item.F_NodeName || nodeName,
  131. people: name,
  132. content: content,
  133. time: item.F_CreateDate
  134. };
  135. nodelist.push(point);
  136. }
  137. $('#refercontainer2').ftimeline(nodelist);
  138. }
  139. });
  140. }
  141. });
  142. }
  143. return page;
  144. })();