feat(exc): 专长交易 read-only monitoring pages

New nav group with four pages against the Exc admin API:
- /exc/demands — status/mode filters, detail sheet with related
  services, quotes and dispatch rounds
- /exc/dispatches — status/round filters
- /exc/orders — status/payment filters, detail sheet with items and
  状态流转 audit trail
- /exc/providers — status/verified filters, detail sheet with dispatch
  settings and status logs

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
2026-07-11 14:54:58 +08:00
co-authored by Claude Fable 5
parent f5a7249969
commit ddf07bbf58
10 changed files with 2211 additions and 2 deletions
+40
View File
@@ -0,0 +1,40 @@
import { api } from '@/api/client'
import type {
ApiResponse,
ExcDemand,
ExcDispatch,
ExcOrder,
ExcProvider,
ListParams,
PaginatedResponse,
} from '@/api/types'
const BASE = '/api/admin/v1/exc'
export function fetchExcDemands(params: ListParams) {
return api.get<PaginatedResponse<ExcDemand>>(`${BASE}/demands`, params)
}
export function fetchExcDemand(id: number) {
return api.get<ApiResponse<ExcDemand>>(`${BASE}/demands/${id}`)
}
export function fetchExcDispatches(params: ListParams) {
return api.get<PaginatedResponse<ExcDispatch>>(`${BASE}/dispatches`, params)
}
export function fetchExcOrders(params: ListParams) {
return api.get<PaginatedResponse<ExcOrder>>(`${BASE}/orders`, params)
}
export function fetchExcOrder(id: number) {
return api.get<ApiResponse<ExcOrder>>(`${BASE}/orders/${id}`)
}
export function fetchExcProviders(params: ListParams) {
return api.get<PaginatedResponse<ExcProvider>>(`${BASE}/providers`, params)
}
export function fetchExcProvider(uid: string) {
return api.get<ApiResponse<ExcProvider>>(`${BASE}/providers/${uid}`)
}