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.

преди 4 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. (function () {
  2. var processId = '';
  3. var schemeCode = '';
  4. var fieldMap = {};
  5. var formDataes;
  6. var formAllData;
  7. var formreq;
  8. var $header = null;
  9. var headText = '';
  10. var page = {
  11. isScroll: false,
  12. init: function ($page, param) {
  13. schemeCode = param.schemeCode;
  14. var _html = '<div class="lr-form-header-submit" style="display:block;" >提交</div>';
  15. $header = $page.parents('.f-page').find('.f-page-header');
  16. $header.append(_html);
  17. headText = $header.find('.f-page-title').text();
  18. processId = learun.guid('-');;
  19. bootstraper($page);
  20. // 发起流程
  21. $header.find('.lr-form-header-submit').on('tap', function () {
  22. formDataes = $page.find('#flowBootstraper').custmerformGet();
  23. if (formDataes === null) {
  24. return false;
  25. }
  26. formAllData = {};
  27. formreq = [];
  28. var flag = true;
  29. $.each(formDataes, function (id, formData) {
  30. if (!fieldMap[id]) {
  31. learun.layer.warning('未设置流程表单关联字段,请在流程设计中配置!', function () { }, '提示', '关闭');
  32. flag = false;
  33. return false;
  34. }
  35. $.extend(formAllData, formData);
  36. formData[fieldMap[id]] = processId;
  37. var point = {
  38. schemeInfoId: id,
  39. processIdName: fieldMap[id],
  40. keyValue: '',
  41. formData: JSON.stringify(formData)
  42. }
  43. formreq.push(point);
  44. });
  45. if (flag) {
  46. learun.nav.go({
  47. path: 'workflow/bootstraper/form', title: headText, type: 'right', param: {
  48. formData: JSON.stringify(formAllData),
  49. schemeCode: schemeCode
  50. }
  51. });
  52. }
  53. });
  54. },
  55. create: function (info, auditers) {// 提交创建流程
  56. var flowreq = {
  57. isNew: true,
  58. processId: processId,
  59. schemeCode: schemeCode,
  60. processName: info.processName,
  61. processLevel: info.processLevel,
  62. description: info.description,
  63. formData: JSON.stringify(formAllData),
  64. auditers: JSON.stringify(auditers),
  65. formreq: JSON.stringify(formreq)
  66. };
  67. learun.layer.loading(true, "创建流程,请等待!");
  68. learun.httppost(config.webapi + "learun/adms/workflow/create", flowreq, (data) => {
  69. learun.layer.loading(false);
  70. learun.nav.closeCurrent();
  71. });
  72. }
  73. };
  74. // 流程发起初始化
  75. function bootstraper($page) {
  76. var req = {
  77. isNew: true,
  78. schemeCode: schemeCode
  79. };
  80. learun.layer.loading(true, "获取流程模板信息");
  81. learun.httpget(config.webapi + "learun/adms/workflow/bootstraper", req, (flowdata) => {
  82. learun.layer.loading(false);
  83. if (flowdata) {
  84. if (flowdata.status === 1) {// 流程数据加载成功
  85. var wfForms = flowdata.data.currentNode.wfForms;// 表单数据
  86. var schemeIds = [];
  87. // 获取下关联字段
  88. $.each(wfForms, function (_index, _item) {
  89. if (_item.formId) {
  90. fieldMap[_item.formId] = _item.field;
  91. schemeIds.push(_item.formId);
  92. }
  93. });
  94. learun.custmerform.loadScheme(schemeIds, function (scheme) {
  95. $page.find('#flowBootstraper').custmerform(scheme);
  96. // 设置表单的可查看权限
  97. $.each(flowdata.data.currentNode.authorizeFields || [], function (_index, _item) {
  98. if (_item.isLook === 0) {
  99. $('#auditcontainer').find('#' + _item.fieldId).parents('.lr-form-row').remove();
  100. }
  101. else if (_item.isEdit === 0) {
  102. $('#auditcontainer').find('#' + _item.fieldId).parents('.lr-form-row').attr('readonly', 'readonly');
  103. }
  104. });
  105. });
  106. }
  107. }
  108. });
  109. }
  110. return page;
  111. })();