Add tenant-scoped teams and projects, order attribution across four businesses, conversion inheritance, scoped statistics and audited reassignment. Reuse existing Web and mobile UI patterns; team regions and hospitals remain informational. Include incremental SQL and isolated regression coverage. Actual MySQL and browser/WebView integration validation remains pending; relates to issue #13.
132 lines
3.1 KiB
TypeScript
132 lines
3.1 KiB
TypeScript
import request from '@/utils/http'
|
|
|
|
type PageList<T> = {
|
|
list: T[]
|
|
total: number
|
|
page: number
|
|
pageSize: number
|
|
}
|
|
|
|
export function fetchPresignOrderList(params?: {
|
|
page?: number
|
|
pageSize?: number
|
|
projectId?: string
|
|
teamId?: string
|
|
keyword?: string
|
|
orderStatus?: string
|
|
}) {
|
|
return request.get<PageList<Record<string, unknown>>>({
|
|
url: '/web/admin/presign-orders',
|
|
params
|
|
})
|
|
}
|
|
|
|
export function fetchPresignOrderDetail(id: string) {
|
|
return request.get<Record<string, unknown>>({
|
|
url: `/web/admin/presign-orders/${id}`
|
|
})
|
|
}
|
|
|
|
export function fetchCreatePresignOrder(data: Record<string, unknown>) {
|
|
return request.post({
|
|
url: '/web/admin/presign-orders',
|
|
data,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
export function fetchUpdatePresignOrder(id: string, data: Record<string, unknown>) {
|
|
return request.put({
|
|
url: `/web/admin/presign-orders/${id}`,
|
|
data,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
export function fetchDeletePresignOrder(id: string) {
|
|
return request.del({
|
|
url: `/web/admin/presign-orders/${id}`,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
export function fetchConvertPresignOrder(id: string) {
|
|
return request.post({
|
|
url: `/web/admin/presign-orders/${id}/convert`,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
export function fetchCreatePresignTransfer(orderId: string, data: Record<string, unknown>) {
|
|
return request.post({
|
|
url: `/web/admin/presign-orders/${orderId}/transfers`,
|
|
data,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
export function fetchUpdatePresignTransfer(transferId: string, data: Record<string, unknown>) {
|
|
return request.put({
|
|
url: `/web/admin/presign-transfers/${transferId}`,
|
|
data,
|
|
showSuccessMessage: false
|
|
})
|
|
}
|
|
|
|
export function fetchSubmitPresignTransferFinance(
|
|
transferId: string,
|
|
options?: { showSuccessMessage?: boolean }
|
|
) {
|
|
return request.post({
|
|
url: `/web/admin/presign-transfers/${transferId}/submit-receipt-finance`,
|
|
showSuccessMessage: options?.showSuccessMessage !== false
|
|
})
|
|
}
|
|
|
|
export function fetchWithdrawPresignTransfer(transferId: string) {
|
|
return request.post({
|
|
url: `/web/admin/presign-transfers/${transferId}/withdraw`,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
export function fetchPresignTransferReceiptConfirmList(params?: {
|
|
page?: number
|
|
pageSize?: number
|
|
keyword?: string
|
|
}) {
|
|
return request.get<PageList<Record<string, unknown>>>({
|
|
url: '/web/admin/presign-transfers/receipt-confirm',
|
|
params
|
|
})
|
|
}
|
|
|
|
export function fetchPresignTransferReceiptConfirmedList(params?: {
|
|
page?: number
|
|
pageSize?: number
|
|
keyword?: string
|
|
}) {
|
|
return request.get<PageList<Record<string, unknown>>>({
|
|
url: '/web/admin/presign-transfers/receipt-confirmed',
|
|
params
|
|
})
|
|
}
|
|
|
|
export function fetchConfirmPresignTransfer(
|
|
transferId: string,
|
|
data?: { financeConfirmAttachments?: string; financeRemark?: string }
|
|
) {
|
|
return request.post({
|
|
url: `/web/admin/presign-transfers/${transferId}/receipt-confirm`,
|
|
data: data || {},
|
|
showSuccessMessage: true
|
|
})
|
|
}
|
|
|
|
export function fetchRejectPresignTransfer(transferId: string) {
|
|
return request.post({
|
|
url: `/web/admin/presign-transfers/${transferId}/receipt-reject`,
|
|
showSuccessMessage: true
|
|
})
|
|
}
|