rise.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*** mjs 之 瑞思 ***/
  2. import { KEY_NO_LOADING, KEY_SHOW_MESSAGE } from "../service/request";
  3. export default {
  4. // 公共配置
  5. init (compId = "employeeField_lu7qx4i4", button = "button_m1aajll9") {
  6. mjs.conf.api = "https://mc.cloudpure.cn/proxy/ruisi";
  7. // 页面环境:0提交(其它),1查看,2编辑(审批)
  8. if (mjs.env) {
  9. let user = mjs.$this.$(compId).getValue();
  10. // 兼容单选情况下,pc端移动端返回值格式不同
  11. if (!user.length) {
  12. user = user.value
  13. } else {
  14. user = user[0].value;
  15. }
  16. // 控制流程申请人\且是查看页面时, 添加咨询功能
  17. if (loginUser.userId == user) {
  18. mjs.$this.$(button).set("behavior", "NORMAL")
  19. }
  20. }
  21. return this; // this 指向当前项目本身
  22. },
  23. // 获取审批节点
  24. approvalRecord (compId) {
  25. const procInsId = mjs.$this.utils.router.getQuery("procInsId") || mjs.$this.utils.router.getQuery("formInstId");
  26. // 兼容矩阵更新延迟情况
  27. if (procInsId && mjs.$this.$(compId).getValue().length < 3) {
  28. setTimeout(async () => {
  29. const rsp = await mjs.request.xhr.doPost(`${mjs.conf.api}/approval/record`, { processInstanceId: procInsId }, {
  30. isUpdate: false,
  31. compId
  32. }, { [KEY_NO_LOADING]: true })
  33. mjs.$this.$(compId).setValue(rsp.data.users); // 传递人员组件, 多选
  34. }, 2000);
  35. }
  36. },
  37. // 流程分享权限
  38. async shareRecord (userIds = [], compId, isNotice, atUserId, content, isTodo) {
  39. userIds = userIds.map(item => item.value);
  40. atUserId = atUserId.map(item => item.value).join(",")
  41. const procInsId = mjs.$this.utils.router.getQuery("procInsId") || mjs.$this.utils.router.getQuery("formInstId");
  42. await mjs.request.xhr.doPost(`${mjs.conf.api}/share/record`, { processInstanceId: procInsId }, {
  43. userIds, compId, isNotice, atUserId, content, userId: loginUser.userId, isTodo
  44. }, { [KEY_SHOW_MESSAGE]: true })
  45. if (isNotice) {
  46. setTimeout(() => location.reload(), 750);
  47. }
  48. }
  49. };