feat(oa): add permission-controlled shared finance remarks to done center

Share one finance remark per approval instance across Web and mobile. Require the explicit permission and the current tenant user's own done task for every read and write; keep general instance responses free of financial remarks.

Add idempotent MySQL migration without automatic role grants, cross-end editors, isolated backend and frontend tests, and rollout requirements. Refs #7; platform validation and target database migration remain pending.
This commit is contained in:
zlwu committed 2026-10-30 20:42:05 +08:00
1 parent 86df360f35
commit 0e64b413ce
15 files changed
+1188 -78

No files matched your search

+16 -1
View File
@@ -408,7 +408,7 @@ export function fetchOaTasks(
const applyTimeFrom = (params?.applyTimeFrom || '').trim()
const applyTimeTo = (params?.applyTimeTo || '').trim()
const instanceStatus = (params?.instanceStatus || '').trim()
return request.get<{ list: any[]; total: number }>({
return request.get<{ list: any[]; total: number; canManageFinanceRemark?: boolean }>({
url: `${BASE}/tasks/${kind}`,
params: {
page: params?.page ?? 1,
@@ -664,3 +664,18 @@ export function fetchReplaceOaBankReceipts(
data: { items }
})
}
export type OaFinanceRemark = { instanceId: string; financeRemark: string }
export function fetchOaFinanceRemark(instanceId: string) {
return request.get<OaFinanceRemark>({
url: `${BASE}/instances/${encodeURIComponent(instanceId)}/finance-remark`
})
}
export function fetchUpdateOaFinanceRemark(instanceId: string, financeRemark: string) {
return request.put<OaFinanceRemark>({
url: `${BASE}/instances/${encodeURIComponent(instanceId)}/finance-remark`,
data: { financeRemark }
})
}