feat: 细胞存储缴费催缴、统一样本信息与协议支付能力增强
汇总近期业务改动:催缴菜单与后端、样本信息快捷登记与进度、运费关联、客户档案扩展、协议优惠/期次与押金划转,并同步 SQL 迁移与管理端页面收敛。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
2d3472f5c4
commit
db31990ebe
235 files changed
+14898
-10196
No files matched your search
@@ -1049,6 +1049,11 @@ export function fetchRegionStaffList(
|
||||
params
|
||||
})
|
||||
}
|
||||
export function fetchRegionsByStaffUser(userId: string) {
|
||||
return request.get<{ list: { id: string; regionName: string }[] }>({
|
||||
url: `/web/admin/collection-regions/by-staff-user/${userId}`
|
||||
})
|
||||
}
|
||||
export function fetchCreateRegionStaff(
|
||||
regionId: string,
|
||||
data: { userId: string; isLeader?: boolean; orderNum?: number; remark?: string }
|
||||
|
||||
@@ -13,8 +13,13 @@ export function fetchProtocolSampleCollectionList(params?: {
|
||||
page?: number
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
/** uncollected | ycj | jcz | yrk | yzf | all */
|
||||
sampleStatus?: string
|
||||
collectionFlag?: string
|
||||
receptionFlag?: string
|
||||
qcFlag?: string
|
||||
storageFlag?: string
|
||||
storageCertHandled?: string
|
||||
insuranceHandled?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/protocol-sample-collections/list',
|
||||
|
||||
@@ -46,6 +46,8 @@ export type QcProtocolPaymentSummary = {
|
||||
overallPayStatusTagType?: string
|
||||
installmentCount?: number | null
|
||||
paymentDetails?: QcProtocolPaymentDetailSummary[]
|
||||
/** 第 1 期多笔转账中最后一笔的转账时间(协议列表「首期缴费时间」优先用) */
|
||||
firstPayTransferTime?: string
|
||||
}
|
||||
|
||||
export type QcBasicExperimentFeeSummary = {
|
||||
|
||||
@@ -13,8 +13,11 @@ export function fetchResearchDonationSampleCollectionList(params?: {
|
||||
page?: number
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
/** uncollected | ycj | jcz | yrk | yzf | all */
|
||||
sampleStatus?: string
|
||||
collectionFlag?: string
|
||||
receptionFlag?: string
|
||||
qcFlag?: string
|
||||
storageFlag?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/research-donation-sample-collections/list',
|
||||
|
||||
@@ -7,15 +7,21 @@ export type SampleFreightItem = {
|
||||
sampleCode?: string
|
||||
protocolNo?: string
|
||||
sampleTypeName?: string
|
||||
motherName?: string
|
||||
newbornName?: string
|
||||
freightId?: string
|
||||
}
|
||||
|
||||
export type SampleFreight = {
|
||||
id: string
|
||||
/** 运费批次号,格式 YF+YYYYMMDD+001~999 */
|
||||
freightNo?: string
|
||||
transportMode: string
|
||||
transportModeLabel?: string
|
||||
freightAmount: number
|
||||
linkedSampleCount?: number
|
||||
createBy?: string
|
||||
createByName?: string
|
||||
createTime?: string
|
||||
items?: SampleFreightItem[]
|
||||
deleted?: boolean
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
import request from '@/utils/http'
|
||||
|
||||
export function fetchUpdateStorageCertHandle(
|
||||
protocolId: string,
|
||||
data: {
|
||||
handleTime?: string | null
|
||||
handlerUserId?: string | null
|
||||
certImageUrls?: string
|
||||
remark?: string
|
||||
}
|
||||
) {
|
||||
return request.put({ url: `/web/admin/storage-certs/${protocolId}`, data })
|
||||
}
|
||||
|
||||
export function fetchSampleInfoQuickRegister(data: {
|
||||
kind: 'storage' | 'storage_cert' | 'insurance'
|
||||
receptionSource: 'cell_storage' | 'research_donation'
|
||||
items: Array<{ sampleCode: string; protocolId: string }>
|
||||
handleTime: string
|
||||
handlerUserId: string
|
||||
attachments?: string
|
||||
remark?: string
|
||||
}) {
|
||||
return request.post({ url: '/web/admin/sample-info/quick-register', data })
|
||||
}
|
||||
|
||||
export function fetchUpdateFullmoonHandle(
|
||||
protocolId: string,
|
||||
data: {
|
||||
handleTime?: string | null
|
||||
handlerUserId?: string | null
|
||||
insuranceAttachments?: string
|
||||
handleRemark?: string
|
||||
}
|
||||
) {
|
||||
return request.put({ url: `/web/admin/fullmoon-todos/${protocolId}/handle`, data })
|
||||
}
|
||||
Reference in new issue
Block a user