From 9260346aaa8d026d3b55c984d4236785c9b4bdca Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 14 Jan 2026 19:28:11 +0800 Subject: [PATCH] =?UTF-8?q?review=EF=BC=9A=E3=80=90bpm=E3=80=91=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E8=AF=A6=E6=83=85=E7=9A=84=E6=93=8D=E4=BD=9C=E4=BB=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bpm/task/index.ts | 2 ++ .../processInstance/detail/add-sign/index.vue | 17 +++++++------- .../processInstance/detail/audit/index.vue | 12 +++++----- .../detail/components/operation-button.vue | 11 ++++++---- .../detail/delete-sign/index.vue | 22 +++++++++---------- .../processInstance/detail/index.vue | 10 ++++----- .../detail/process-cancel/index.vue | 15 ++++++------- .../processInstance/detail/reassign/index.vue | 21 ++++++++---------- .../processInstance/detail/return/index.vue | 18 ++++++++------- src/store/user.ts | 2 +- 10 files changed, 67 insertions(+), 63 deletions(-) diff --git a/src/api/bpm/task/index.ts b/src/api/bpm/task/index.ts index 8ff897a..97b647f 100644 --- a/src/api/bpm/task/index.ts +++ b/src/api/bpm/task/index.ts @@ -11,10 +11,12 @@ export interface TaskUser { deptName?: string } +/** 操作按钮设置 */ export interface OperationButtonSetting { displayName: string // 按钮名称 enable: boolean // 是否启用 } + /** 流程任务 */ export interface Task { id: string diff --git a/src/pages-bpm/processInstance/detail/add-sign/index.vue b/src/pages-bpm/processInstance/detail/add-sign/index.vue index 801108a..ee6cdd0 100644 --- a/src/pages-bpm/processInstance/detail/add-sign/index.vue +++ b/src/pages-bpm/processInstance/detail/add-sign/index.vue @@ -85,13 +85,10 @@ const taskId = computed(() => props.taskId) const processInstanceId = computed(() => props.processInstanceId) const toast = useToast() const submitting = ref(false) -const formRef = ref() - const formData = reactive({ userIds: [] as number[], reason: '', }) - const formRules = { userIds: [ { required: true, message: '加签处理人不能为空', validator: (value: number[]) => value.length > 0 }, @@ -100,12 +97,14 @@ const formRules = { { required: true, message: '审批意见不能为空' }, ], } +const formRef = ref() /** 返回上一页 */ function handleBack() { navigateBackPlus(`/pages-bpm/processInstance/detail/index?id=${processInstanceId.value}&taskId=${taskId.value}`) } +// TODO @jason:最好放在 onMounted 里?或者其他地方,有个入口方法。 /** 初始化校验 */ if (!props.taskId || !props.processInstanceId) { toast.show('参数错误') @@ -113,23 +112,24 @@ if (!props.taskId || !props.processInstanceId) { /** 提交操作 */ async function handleSubmit(type: 'before' | 'after') { - if (submitting.value) + if (submitting.value) { return - - // 使用 wd-form 的校验方法 + } const { valid } = await formRef.value!.validate() if (!valid) { return } + + // TODO @jason:submitting 改成 formLoading 哇?统一代码风格哈; submitting.value = true try { + // TODO @jason:这里是不是不用判断 result 哈? const result = await signCreateTask({ id: taskId.value as string, type, userIds: formData.userIds, reason: formData.reason, }) - if (result) { const actionText = type === 'before' ? '向前加签' : '向后加签' toast.success(`${actionText}成功`) @@ -137,9 +137,10 @@ async function handleSubmit(type: 'before' | 'after') { uni.redirectTo({ url: `/pages-bpm/processInstance/detail/index?id=${processInstanceId.value}&taskId=${taskId.value}`, }) - }, 1500) + }, 500) } } catch (error) { + // TODO @jason:可以不用这里的 catch 哈? const actionText = type === 'before' ? '向前加签' : '向后加签' console.error(`[add-sign] ${actionText}失败:`, error) toast.error(`${actionText}失败`) diff --git a/src/pages-bpm/processInstance/detail/audit/index.vue b/src/pages-bpm/processInstance/detail/audit/index.vue index ebc3e47..b67b53d 100644 --- a/src/pages-bpm/processInstance/detail/audit/index.vue +++ b/src/pages-bpm/processInstance/detail/audit/index.vue @@ -1,6 +1,6 @@