迁移 108-111:快照业务时间与预估转实际、销售事实表、系统成本项、公司人工支出登记。接单平台按工单实际 reward 入账;人工支出支持登记/审批/驳回/报销并写 actual 快照。新增销售毛利页、人工支出页与订单入口。
71 lines
2.0 KiB
TypeScript
71 lines
2.0 KiB
TypeScript
import { apiGet, apiPost } from '@/lib/http'
|
|
import type {
|
|
AdminManualExpense,
|
|
AdminManualExpenseListResult,
|
|
AdminManualExpenseOverview,
|
|
} from '@/types/admin/manual-expense'
|
|
|
|
export type AdminManualExpenseParams = {
|
|
dateFrom?: string
|
|
dateTo?: string
|
|
status?: string
|
|
keyword?: string
|
|
costItemId?: number
|
|
paidByAdminUserId?: number
|
|
orderId?: number
|
|
page?: number
|
|
pageSize?: number
|
|
}
|
|
|
|
export function fetchAdminManualExpenses(params: AdminManualExpenseParams = {}) {
|
|
return apiGet<AdminManualExpenseListResult>('/api/v1/admin/finance/manual-expenses', params)
|
|
}
|
|
|
|
export function fetchAdminManualExpenseOverview(params: AdminManualExpenseParams = {}) {
|
|
return apiGet<AdminManualExpenseOverview>(
|
|
'/api/v1/admin/finance/manual-expenses/overview',
|
|
params,
|
|
)
|
|
}
|
|
|
|
export function fetchAdminManualExpenseCostItems() {
|
|
return apiGet<{
|
|
items: Array<{
|
|
id: number
|
|
code: string
|
|
name: string
|
|
costType: string
|
|
carrierType: string
|
|
pricingMode: string
|
|
}>
|
|
}>('/api/v1/admin/finance/manual-expenses/cost-items')
|
|
}
|
|
|
|
export function fetchAdminManualExpense(expenseId: number) {
|
|
return apiGet<AdminManualExpense>(`/api/v1/admin/finance/manual-expenses/${expenseId}`)
|
|
}
|
|
|
|
export function createAdminManualExpense(payload: Record<string, unknown>) {
|
|
return apiPost<AdminManualExpense>('/api/v1/admin/finance/manual-expenses', payload)
|
|
}
|
|
|
|
export function approveAdminManualExpense(
|
|
expenseId: number,
|
|
payload: Record<string, unknown> = {},
|
|
) {
|
|
return apiPost<AdminManualExpense>(
|
|
`/api/v1/admin/finance/manual-expenses/${expenseId}/approve`,
|
|
payload,
|
|
)
|
|
}
|
|
|
|
export function rejectAdminManualExpense(expenseId: number, rejectReason: string) {
|
|
return apiPost<AdminManualExpense>(`/api/v1/admin/finance/manual-expenses/${expenseId}/reject`, {
|
|
rejectReason,
|
|
})
|
|
}
|
|
|
|
export function reimburseAdminManualExpense(expenseId: number) {
|
|
return apiPost<AdminManualExpense>(`/api/v1/admin/finance/manual-expenses/${expenseId}/reimburse`)
|
|
}
|