From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目

---
 src/api/bpm/processInstance/index.ts |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 115 insertions(+), 0 deletions(-)

diff --git a/src/api/bpm/processInstance/index.ts b/src/api/bpm/processInstance/index.ts
new file mode 100644
index 0000000..1e8f04d
--- /dev/null
+++ b/src/api/bpm/processInstance/index.ts
@@ -0,0 +1,115 @@
+import request from '@/config/axios'
+import { ProcessDefinitionVO } from '@/api/bpm/model'
+import { NodeType, CandidateStrategy } from '@/components/SimpleProcessDesignerV2/src/consts'
+export type Task = {
+  id: string
+  name: string
+}
+
+export type ProcessInstanceVO = {
+  id: number
+  name: string
+  processDefinitionId: string
+  category: string
+  result: number
+  tasks: Task[]
+  fields: string[]
+  status: number
+  remark: string
+  businessKey: string
+  createTime: string
+  endTime: string
+  processDefinition?: ProcessDefinitionVO
+}
+
+// 鐢ㄦ埛淇℃伅
+export type User = {
+  id: number
+  nickname: string
+  avatar: string
+}
+
+// 瀹℃壒浠诲姟淇℃伅
+export type ApprovalTaskInfo = {
+  id: number
+  ownerUser: User
+  assigneeUser: User
+  status: number
+  reason: string
+  signPicUrl: string
+}
+
+// 瀹℃壒鑺傜偣淇℃伅
+export type ApprovalNodeInfo = {
+  id: number
+  name: string
+  nodeType: NodeType
+  candidateStrategy?: CandidateStrategy
+  status: number
+  startTime?: Date
+  endTime?: Date
+  processInstanceId?: string
+  candidateUsers?: User[]
+  tasks: ApprovalTaskInfo[]
+}
+
+export const getProcessInstanceMyPage = async (params: any) => {
+  return await request.get({ url: '/bpm/process-instance/my-page', params })
+}
+
+export const getProcessInstanceManagerPage = async (params: any) => {
+  return await request.get({ url: '/bpm/process-instance/manager-page', params })
+}
+
+export const createProcessInstance = async (data) => {
+  return await request.post({ url: '/bpm/process-instance/create', data: data })
+}
+
+export const cancelProcessInstanceByStartUser = async (id: number, reason: string) => {
+  const data = {
+    id: id,
+    reason: reason
+  }
+  return await request.delete({ url: '/bpm/process-instance/cancel-by-start-user', data: data })
+}
+
+export const cancelProcessInstanceByAdmin = async (id: number, reason: string) => {
+  const data = {
+    id: id,
+    reason: reason
+  }
+  return await request.delete({ url: '/bpm/process-instance/cancel-by-admin', data: data })
+}
+
+export const getProcessInstance = async (id: string) => {
+  return await request.get({ url: '/bpm/process-instance/get?id=' + id })
+}
+
+export const getProcessInstanceCopyPage = async (params: any) => {
+  return await request.get({ url: '/bpm/process-instance/copy/page', params })
+}
+
+// 鑾峰彇瀹℃壒璇︽儏
+export const getApprovalDetail = async (params: any) => {
+  return await request.get({ url: '/bpm/process-instance/get-approval-detail', params })
+}
+
+// 鑾峰彇涓嬩竴涓墽琛岀殑娴佺▼鑺傜偣
+export const getNextApprovalNodes = async (params: any) => {
+  return await request.get({ url: '/bpm/process-instance/get-next-approval-nodes', params })
+}
+
+// 鑾峰彇琛ㄥ崟瀛楁鏉冮檺
+export const getFormFieldsPermission = async (params: any) => {
+  return await request.get({ url: '/bpm/process-instance/get-form-fields-permission', params })
+}
+
+// 鑾峰彇娴佺▼瀹炰緥鐨� BPMN 妯″瀷瑙嗗浘
+export const getProcessInstanceBpmnModelView = async (id: string) => {
+  return await request.get({ url: '/bpm/process-instance/get-bpmn-model-view?id=' + id })
+}
+
+// 鑾峰彇娴佺▼瀹炰緥鎵撳嵃鏁版嵁
+export const getProcessInstancePrintData = async (id: string) => {
+  return await request.get({ url: '/bpm/process-instance/get-print-data?processInstanceId=' + id })
+}

--
Gitblit v1.8.0