flow.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { defineStore } from 'pinia'
  2. interface BasicInfoIndex {
  3. [key: string]: any
  4. }
  5. const basicInfo: BasicInfoIndex = {
  6. processKey: '', // 唯一标识
  7. processName: '', // 流程定义名称
  8. processIcon: 'approval', // 流程图标
  9. categoryId: '', // 流程组分类ID
  10. remark: '', // 备注说明
  11. useScope: 0, // 使用范围 0,全员 1,指定人员(业务关联) 2,均不可提交
  12. processActorList: [
  13. {
  14. actorId: 0, // 参与者ID
  15. actorName: '', // 参与者
  16. actorType: 0 // 参与者类型 0,用户 1,部门 2,用户组
  17. }
  18. ], // 流程参与者,当使用范围为指定人员时候设置
  19. processPermissionList: [
  20. {
  21. userId: 0, // 用户ID
  22. userName: '', // 用户名
  23. operateApproval: 0, // 允许编辑/停用/删除审批 0,否 1,
  24. operateOwner: 0, // 允许添加/移除审批负责人 0,否 1,是
  25. operateData: 0 // 允许审批数据查询与操作 0,否 1,是
  26. }
  27. ] // 流程定义权限
  28. }
  29. // 审核条目
  30. export const useFlowStore = defineStore({
  31. id: 'flow',
  32. state: () => {
  33. return {
  34. storeInfoName: '',
  35. flowProcessId: '',
  36. flowName: '', //头部展示的流程名称
  37. basicInfo,
  38. cacheSwitch: false, // 缓存开关
  39. modelContent: '', // 流程模型定义JSON内容
  40. processForm: '', // 流程定义表单
  41. processSetting: {
  42. allowRevocation: true, // 允许撤销审批中的申请
  43. allowRevocationDay: true, // 允许撤销指定天内通过的审批
  44. allowUpdateDay: true, // 允许修改指定天内通过的审批
  45. allowDelegate: true, // 允许代他人提交
  46. allowBatchOperate: true, // 允许审批人批量处理
  47. secondOperatePrompt: true, // 开启秒批提示
  48. repeatOperateSkip: true // 重复审批跳过
  49. } //流程定义配置
  50. }
  51. },
  52. getters: {},
  53. actions: {
  54. initState(title: string) {
  55. console.log('init materialInfoStore')
  56. this.storeInfoName = title || '流程审核'
  57. },
  58. // 基本信息
  59. setKeysBasicInfo(key: string, value: any) {
  60. if (key === null) {
  61. this.basicInfo = value
  62. return
  63. }
  64. this.basicInfo[key] = value
  65. },
  66. // 表单信息
  67. setProcessForm(value: any) {
  68. this.processForm = value
  69. },
  70. // 流程设计
  71. setModelContent(value: any) {
  72. this.modelContent = value
  73. }
  74. },
  75. persist: true
  76. })
  77. export default useFlowStore