| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440 |
- import request from '@/utils/http'
- import type { AppRouteRecord } from '@/types/router'
- import { MAX_ADMIN_LIST_PAGE_SIZE } from '@/utils/fetch-paged-list'
- // ---------------------------------------------------------------------------
- // 后端菜单 / 角色(与 router 后端模式、用户弹窗对齐)
- // ---------------------------------------------------------------------------
- /** 后端菜单模式:拉取动态路由 */
- export async function fetchGetMenuList() {
- const res = await request.get<AppRouteRecord[] | { menuList?: AppRouteRecord[] }>({
- url: '/web/menu/list'
- })
- if (Array.isArray(res)) return res
- return res?.menuList || []
- }
- /** 用户表单等:角色下拉 */
- export function fetchGetRoleList() {
- return request.get<Array<{ label: string; value: string }>>({
- url: '/web/admin/roles'
- })
- }
- /** 流程设计器:用户下拉选项(label=昵称,value=用户ID) */
- export function fetchUserOptions(params?: { roleName?: string }) {
- return request.get<Array<{ label: string; value: string }>>({
- url: '/web/admin/users/options',
- params
- })
- }
- /** 流程设计器:角色下拉选项(label=角色名,value=角色ID UUID) */
- export function fetchRoleOptions() {
- return request.get<Array<{ label: string; value: string }>>({
- url: '/web/admin/roles/options'
- })
- }
- // ---------------------------------------------------------------------------
- // 租户(系统管理)
- // ---------------------------------------------------------------------------
- export function fetchTenantList(params?: { page?: number; pageSize?: number; keyword?: string }) {
- return request.get<{
- list: Api.Tenant.TenantItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/tenants',
- params
- })
- }
- export function fetchCreateTenant(data: {
- tenantNo: string
- tenantName: string
- contactName?: string
- contactPhone?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post<Api.Tenant.TenantItem>({
- url: '/web/admin/tenants',
- data,
- showSuccessMessage: true
- })
- }
- export function fetchUpdateTenant(
- id: string,
- data: Partial<{
- tenantNo: string
- tenantName: string
- contactName: string
- contactPhone: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put<Api.Tenant.TenantItem>({
- url: `/web/admin/tenants/${id}`,
- data,
- showSuccessMessage: true
- })
- }
- export function fetchDeleteTenant(id: string) {
- return request.del({
- url: `/web/admin/tenants/${id}`,
- showSuccessMessage: true
- })
- }
- // ---------------------------------------------------------------------------
- // 用户管理
- // ---------------------------------------------------------------------------
- export function fetchUserList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- deptId?: string
- status?: string
- roleName?: string
- }) {
- return request.get<{
- list: Api.User.UserItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/users',
- params
- })
- }
- export function fetchUserDetail(id: string) {
- return request.get<Api.User.UserItem>({
- url: `/web/admin/users/${id}`
- })
- }
- export function fetchCreateUser(data: {
- userNo: string
- nickName: string
- password: string
- deptId?: string
- supervisorUserId?: string
- email?: string
- phoneNo?: string
- hireDate?: string
- probationMonths?: number | null
- lastWorkDay?: string
- sex?: string
- avatar?: string
- status?: string
- orderNum?: number
- remark?: string
- roleIds?: string[]
- postIds?: string[]
- }) {
- return request.post({
- url: '/web/admin/users',
- data,
- showSuccessMessage: true
- })
- }
- export function fetchUpdateUser(
- id: string,
- data: Partial<{
- nickName: string
- deptId: string
- supervisorUserId: string
- email: string
- phoneNo: string
- hireDate: string | null
- probationMonths: number | null
- lastWorkDay: string | null
- sex: string
- avatar: string
- status: string
- orderNum: number
- remark: string
- roleIds: string[]
- postIds: string[]
- }>
- ) {
- return request.put({
- url: `/web/admin/users/${id}`,
- data,
- showSuccessMessage: true
- })
- }
- export function fetchDeleteUser(id: string) {
- return request.del({
- url: `/web/admin/users/${id}`,
- showSuccessMessage: true
- })
- }
- export function fetchResetPassword(id: string) {
- return request.post<{ tempPassword: string }>({
- url: `/web/admin/users/${id}/reset-password`,
- showSuccessMessage: false
- })
- }
- /** 上传用户头像,返回存储后的 URL,供写入 avatarUrl */
- export function fetchUploadUserAvatar(data: FormData) {
- return request.post<{ url: string }>({
- url: '/web/admin/users/upload-avatar',
- data
- })
- }
- // ---------------------------------------------------------------------------
- // 区域(仅列表分页供 fetchNotDeletedRegions 使用 + 启用列表)
- // ---------------------------------------------------------------------------
- function fetchRegionList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- isActive?: boolean
- }) {
- return request.get<{
- list: Api.Region.RegionItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/regions',
- params
- })
- }
- export function fetchActiveRegions() {
- const now = Date.now()
- const anyFn = fetchActiveRegions as any
- const cache = anyFn.__cache as undefined | { ts: number; data: Api.Region.RegionItem[] }
- if (cache && now - cache.ts < 5 * 60 * 1000) return Promise.resolve(cache.data)
- return request
- .get<Api.Region.RegionItem[]>({
- url: '/web/admin/regions/active'
- })
- .then((data) => {
- anyFn.__cache = { ts: now, data: data || [] }
- return data
- })
- }
- /** 未删除的全量区域(含禁用),供各页区域 Tab */
- export async function fetchNotDeletedRegions() {
- const now = Date.now()
- const anyFn = fetchNotDeletedRegions as any
- const cache = anyFn.__cache as undefined | { ts: number; data: Api.Region.RegionItem[] }
- if (cache && now - cache.ts < 5 * 60 * 1000) return cache.data
- const pageSize = MAX_ADMIN_LIST_PAGE_SIZE
- const all: Api.Region.RegionItem[] = []
- let page = 1
- while (true) {
- const res: any = await fetchRegionList({ page, pageSize })
- const list: Api.Region.RegionItem[] = Array.isArray(res?.list) ? res.list : []
- all.push(...list)
- const total = Number(res?.total ?? 0)
- if (!total || all.length >= total || list.length < pageSize) break
- page++
- }
- anyFn.__cache = { ts: now, data: all }
- return all
- }
- // ---------------------------------------------------------------------------
- // 商品分类
- // ---------------------------------------------------------------------------
- export function fetchCategoryList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- isActive?: boolean
- }) {
- return request.get<{
- list: Api.Category.CategoryItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/categories',
- params
- })
- }
- export function fetchCreateCategory(data: {
- name: string
- parentId?: string
- sortOrder?: number
- imageUrl?: string
- priceCoefficient?: number
- }) {
- return request.post({
- url: '/web/admin/categories',
- params: data
- })
- }
- export function fetchUpdateCategory(
- id: string,
- data: Partial<{
- name: string
- parentId?: string
- sortOrder?: number
- isActive?: boolean
- imageUrl?: string
- priceCoefficient?: number
- }>
- ) {
- return request.put({
- url: `/web/admin/categories/${id}`,
- params: data
- })
- }
- export function fetchDeleteCategory(id: string) {
- return request.del({
- url: `/web/admin/categories/${id}`
- })
- }
- export function fetchUploadCategoryImage(data: FormData) {
- return request.post({
- url: '/web/admin/categories/upload-image',
- data
- })
- }
- // ---------------------------------------------------------------------------
- // 商品单位
- // ---------------------------------------------------------------------------
- export function fetchUnitList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- isActive?: boolean
- }) {
- return request.get<{
- list: Api.Unit.UnitItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/units',
- params
- })
- }
- export function fetchCreateUnit(data: { name: string; code: string }) {
- return request.post({
- url: '/web/admin/units',
- params: data
- })
- }
- export function fetchUpdateUnit(
- id: string,
- data: Partial<{
- name: string
- code: string
- isActive?: boolean
- }>
- ) {
- return request.put({
- url: `/web/admin/units/${id}`,
- params: data
- })
- }
- export function fetchDeleteUnit(id: string) {
- return request.del({
- url: `/web/admin/units/${id}`
- })
- }
- // ---------------------------------------------------------------------------
- // 商品
- // ---------------------------------------------------------------------------
- export function fetchProductList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- categoryId?: string
- isActive?: boolean
- }) {
- return request.get<{
- list: Api.Product.ProductItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/products',
- params
- })
- }
- export function fetchProductDetail(id: string) {
- return request.get<Api.Product.ProductDetail>({
- url: `/web/admin/products/${id}`
- })
- }
- export function fetchProductRegionPrices(productId: string) {
- return request.get<{
- list: Array<{
- regionId: string
- regionName: string
- price: number | null
- unitId?: string | null
- unitName?: string | null
- }>
- }>({
- url: `/web/admin/products/${productId}/region-prices`
- })
- }
- export function fetchCreateProduct(data: {
- name: string
- skuCode?: string
- categoryId?: string
- unitId?: string
- measureValue?: number | null
- description?: string
- imageUrl?: string
- priceCoefficient?: number
- isActive?: boolean
- detailContent?: string
- }) {
- return request.post({
- url: '/web/admin/products',
- params: data
- })
- }
- export function fetchUpdateProduct(
- id: string,
- data: Partial<{
- name: string
- skuCode?: string
- categoryId?: string
- unitId?: string
- measureValue?: number | null
- description?: string
- imageUrl?: string
- priceCoefficient?: number
- isActive?: boolean
- detailContent?: string
- }>
- ) {
- return request.put({
- url: `/web/admin/products/${id}`,
- params: data
- })
- }
- export function fetchDeleteProduct(id: string) {
- return request.del({
- url: `/web/admin/products/${id}`
- })
- }
- // --- 轮播图 ---
- export function fetchProductBannerList(productId: string) {
- return request.get<{
- list: Api.Product.ProductBanner[]
- total: number
- }>({
- url: `/web/admin/product-banners/product/${productId}`
- })
- }
- export function fetchCreateProductBanners(
- productId: string,
- items: Api.Product.ProductBannerCreate[]
- ) {
- return request.post({
- url: `/web/admin/product-banners/product/${productId}`,
- params: items
- })
- }
- export function fetchUpdateProductBannerSort(
- productId: string,
- items: { id: string; sortOrder: number }[]
- ) {
- return request.put({
- url: `/web/admin/product-banners/product/${productId}/sort`,
- params: { items }
- })
- }
- export function fetchDeleteProductBanner(id: string) {
- return request.del({
- url: `/web/admin/product-banners/${id}`
- })
- }
- // --- 详情媒体 ---
- export function fetchProductDetailMediaList(productId: string) {
- return request.get<{
- list: Api.Product.ProductDetailMedia[]
- total: number
- }>({
- url: `/web/admin/product-detail-media/product/${productId}`
- })
- }
- export function fetchCreateProductDetailMedia(
- productId: string,
- items: Api.Product.ProductDetailMediaCreate[]
- ) {
- return request.post({
- url: `/web/admin/product-detail-media/product/${productId}`,
- params: items
- })
- }
- export function fetchUpdateProductDetailMediaSort(
- productId: string,
- items: { id: string; sortOrder: number }[]
- ) {
- return request.put({
- url: `/web/admin/product-detail-media/product/${productId}/sort`,
- params: { items }
- })
- }
- export function fetchDeleteProductDetailMedia(id: string) {
- return request.del({
- url: `/web/admin/product-detail-media/${id}`
- })
- }
- // --- 参数模板(简洁列表供分类/商品选择) ---
- export function fetchProductParameterSimple() {
- return request.get<{
- list: Api.Product.ProductParameterSimple[]
- total: number
- }>({
- url: '/web/admin/product-parameters/simple'
- })
- }
- // --- 分类关联参数 ---
- export function fetchCategoryParameters(categoryId: string) {
- return request.get<{
- list: Api.Product.CategoryParameter[]
- total: number
- }>({
- url: `/web/admin/categories/${categoryId}/parameters`
- })
- }
- export function fetchUpdateCategoryParameters(
- categoryId: string,
- items: Api.Product.CategoryParameterCreate[]
- ) {
- return request.put({
- url: `/web/admin/categories/${categoryId}/parameters`,
- params: { items }
- })
- }
- // --- 商品参数值 ---
- export function fetchProductParameterValues(productId: string) {
- return request.get<{
- list: Api.Product.ProductParameterValue[]
- total: number
- }>({
- url: `/web/admin/product-parameter-values/product/${productId}`
- })
- }
- export function fetchSaveProductParameterValues(
- productId: string,
- values: Api.Product.ProductParameterValueCreate[]
- ) {
- return request.post({
- url: `/web/admin/product-parameter-values/product/${productId}`,
- params: { productId, values }
- })
- }
- // ---------------------------------------------------------------------------
- // 字典类型
- // ---------------------------------------------------------------------------
- export function fetchDictTypeList(params?: { page?: number; pageSize?: number; keyword?: string }) {
- return request.get<{
- list: Api.Dict.DictTypeItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/dict-types',
- params
- })
- }
- export function fetchCreateDictType(data: {
- dictName: string
- dictType: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/dict-types', params: data })
- }
- export function fetchUpdateDictType(
- id: string,
- data: Partial<{
- dictName: string
- dictType: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/dict-types/${id}`, params: data })
- }
- export function fetchDeleteDictType(id: string) {
- return request.del({ url: `/web/admin/dict-types/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 字典数据
- // ---------------------------------------------------------------------------
- export function fetchDictDataList(params?: {
- page?: number
- pageSize?: number
- dictType?: string
- keyword?: string
- }) {
- return request.get<{
- list: Api.Dict.DictDataItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/dict-data',
- params
- })
- }
- export function fetchCreateDictData(data: {
- dictLabel: string
- dictValue: string
- dictType: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/dict-data', params: data })
- }
- export function fetchUpdateDictData(
- id: string,
- data: Partial<{
- dictLabel: string
- dictValue: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/dict-data/${id}`, params: data })
- }
- export function fetchDeleteDictData(id: string) {
- return request.del({ url: `/web/admin/dict-data/${id}` })
- }
- export function fetchDictDataOptions(dictType: string) {
- return request.get<Api.Dict.DictDataOption[]>({
- url: '/web/admin/dict-data/options',
- params: { dictType }
- })
- }
- // ---------------------------------------------------------------------------
- // 组织管理
- // ---------------------------------------------------------------------------
- export function fetchDeptTree(params?: { keyword?: string }) {
- return request.get<Api.Dept.DeptItem[]>({
- url: '/web/admin/depts',
- params
- })
- }
- export function fetchCreateDept(data: {
- parentId?: string
- deptName: string
- deptCategoryCode?: string
- status?: string
- leader?: string
- leaderPhone?: string
- leaderUserId?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/depts', params: data })
- }
- export function fetchUpdateDept(
- id: string,
- data: Partial<{
- deptName: string
- deptCategoryCode: string
- status: string
- leader: string
- leaderPhone: string
- leaderUserId: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/depts/${id}`, params: data })
- }
- export function fetchDeleteDept(id: string) {
- return request.del({ url: `/web/admin/depts/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 站点管理
- // ---------------------------------------------------------------------------
- export function fetchSiteList(params?: { page?: number; pageSize?: number; keyword?: string }) {
- return request.get<{
- list: Api.Site.SiteItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({ url: '/web/admin/sites', params })
- }
- export function fetchCreateSite(data: {
- siteName: string
- siteCode: string
- siteType?: string
- status?: string
- address?: string
- contactName?: string
- contactPhone?: string
- businessScope?: string
- siteImage?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/sites', params: data })
- }
- export function fetchUpdateSite(
- id: string,
- data: Partial<{
- siteName: string
- siteCode: string
- siteType: string
- status: string
- address: string
- contactName: string
- contactPhone: string
- businessScope: string
- siteImage: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/sites/${id}`, params: data })
- }
- export function fetchDeleteSite(id: string) {
- return request.del({ url: `/web/admin/sites/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 职位管理
- // ---------------------------------------------------------------------------
- export function fetchPostList(params?: { page?: number; pageSize?: number; keyword?: string }) {
- return request.get<{
- list: Api.Post.PostItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({ url: '/web/admin/posts', params })
- }
- export function fetchCreatePost(data: {
- postName: string
- postCode: string
- status?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/posts', params: data })
- }
- export function fetchUpdatePost(
- id: string,
- data: Partial<{
- postName: string
- postCode: string
- status: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/posts/${id}`, params: data })
- }
- export function fetchDeletePost(id: string) {
- return request.del({ url: `/web/admin/posts/${id}` })
- }
- export function fetchPostBoundUserIds(postId: string) {
- return request.get<{ userIds: string[] }>({ url: `/web/admin/posts/${postId}/users` })
- }
- export function fetchUpdatePostBoundUsers(postId: string, userIds: string[]) {
- return request.put({
- url: `/web/admin/posts/${postId}/users`,
- params: { userIds },
- showSuccessMessage: true
- })
- }
- export function fetchPostBoundRoleIds(postId: string) {
- return request.get<{ roleIds: string[] }>({ url: `/web/admin/posts/${postId}/roles` })
- }
- export function fetchUpdatePostBoundRoles(postId: string, roleIds: string[]) {
- return request.put({
- url: `/web/admin/posts/${postId}/roles`,
- params: { roleIds },
- showSuccessMessage: true
- })
- }
- // ---------------------------------------------------------------------------
- // 物品单位管理
- // ---------------------------------------------------------------------------
- export function fetchItemUnitList(params?: { page?: number; pageSize?: number; keyword?: string }) {
- return request.get<{
- list: Api.ItemUnit.ItemUnitItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({ url: '/web/admin/item-units', params })
- }
- export function fetchCreateItemUnit(data: {
- unitCode: string
- unitName: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/item-units', params: data })
- }
- export function fetchUpdateItemUnit(
- id: string,
- data: Partial<{ unitCode: string; unitName: string; orderNum: number; remark: string }>
- ) {
- return request.put({ url: `/web/admin/item-units/${id}`, params: data })
- }
- export function fetchDeleteItemUnit(id: string) {
- return request.del({ url: `/web/admin/item-units/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 基础信息管理
- // ---------------------------------------------------------------------------
- type PageResult<T> = {
- list: T[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }
- export function fetchCustomerList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- createTimeStart?: string
- createTimeEnd?: string
- }) {
- return request.get<PageResult<Api.BizCustomer.CustomerItem>>({
- url: '/web/admin/customers',
- params
- })
- }
- export function fetchCreateCustomer(data: {
- customerName: string
- sex?: string
- idCardNo?: string
- age?: number | null
- phoneNo?: string
- customerTags?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/customers', params: data })
- }
- export function fetchUpdateCustomer(
- id: string,
- data: Partial<{
- customerName: string
- sex: string
- idCardNo: string
- age: number | null
- phoneNo: string
- customerTags: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/customers/${id}`, params: data })
- }
- export function fetchDeleteCustomer(id: string) {
- return request.del({ url: `/web/admin/customers/${id}` })
- }
- export function fetchCustomerRelations(id: string) {
- return request.get<Api.BizCustomer.CustomerRelations>({
- url: `/web/admin/customers/${id}/relations`
- })
- }
- export function fetchCellSampleTypeList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- }) {
- return request.get<PageResult<Api.BizCellSampleType.CellSampleTypeItem>>({
- url: '/web/admin/cell-sample-types',
- params
- })
- }
- export function fetchCreateCellSampleType(data: {
- typeCode: string
- typeName: string
- typeLogo?: string
- storageYears?: number | null
- storagePrice?: number | null
- sampleCodeFilter?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/cell-sample-types', params: data })
- }
- export function fetchUpdateCellSampleType(
- id: string,
- data: Partial<{
- typeCode: string
- typeName: string
- typeLogo: string
- storageYears: number | null
- storagePrice: number | null
- sampleCodeFilter: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/cell-sample-types/${id}`, params: data })
- }
- export function fetchDeleteCellSampleType(id: string) {
- return request.del({ url: `/web/admin/cell-sample-types/${id}` })
- }
- export function fetchCollectionRegionList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- }) {
- return request.get<PageResult<Api.BizCollectionRegion.RegionItem>>({
- url: '/web/admin/collection-regions',
- params
- })
- }
- export function fetchCreateCollectionRegion(data: {
- regionName: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/collection-regions', params: data })
- }
- export function fetchUpdateCollectionRegion(
- id: string,
- data: Partial<{ regionName: string; orderNum: number; remark: string }>
- ) {
- return request.put({ url: `/web/admin/collection-regions/${id}`, params: data })
- }
- export function fetchDeleteCollectionRegion(id: string) {
- return request.del({ url: `/web/admin/collection-regions/${id}` })
- }
- export function fetchHospitalList(
- regionId: string,
- params?: { page?: number; pageSize?: number; keyword?: string }
- ) {
- return request.get<PageResult<Api.BizCollectionHospital.HospitalItem>>({
- url: `/web/admin/collection-regions/${regionId}/hospitals`,
- params
- })
- }
- export function fetchSearchCollectionHospitals(params: { keyword: string; limit?: number }) {
- return request.get<{ list: Api.BizCollectionHospital.HospitalItem[] }>({
- url: '/web/admin/collection-hospitals/search',
- params
- })
- }
- export function fetchCreateHospital(
- regionId: string,
- data: { hospitalName: string; orderNum?: number; remark?: string }
- ) {
- return request.post({ url: `/web/admin/collection-regions/${regionId}/hospitals`, params: data })
- }
- export function fetchUpdateHospital(
- regionId: string,
- hospitalId: string,
- data: Partial<{ hospitalName: string; orderNum: number; remark: string }>
- ) {
- return request.put({
- url: `/web/admin/collection-regions/${regionId}/hospitals/${hospitalId}`,
- params: data
- })
- }
- export function fetchDeleteHospital(regionId: string, hospitalId: string) {
- return request.del({ url: `/web/admin/collection-regions/${regionId}/hospitals/${hospitalId}` })
- }
- export function fetchRegionStaffList(
- regionId: string,
- params?: { page?: number; pageSize?: number }
- ) {
- return request.get<PageResult<Api.BizCollectionRegionStaff.StaffItem>>({
- url: `/web/admin/collection-regions/${regionId}/staff`,
- params
- })
- }
- export function fetchCreateRegionStaff(
- regionId: string,
- data: { userId: string; isLeader?: boolean; orderNum?: number; remark?: string }
- ) {
- return request.post({ url: `/web/admin/collection-regions/${regionId}/staff`, params: data })
- }
- export function fetchUpdateRegionStaff(
- regionId: string,
- staffId: string,
- data: Partial<{ isLeader: boolean; orderNum: number; remark: string }>
- ) {
- return request.put({
- url: `/web/admin/collection-regions/${regionId}/staff/${staffId}`,
- params: data
- })
- }
- export function fetchDeleteRegionStaff(regionId: string, staffId: string) {
- return request.del({ url: `/web/admin/collection-regions/${regionId}/staff/${staffId}` })
- }
- export function fetchCollectionProtocolNoList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- issuedUserId?: string
- }) {
- return request.get<PageResult<Api.BizCollectionProtocolNo.ProtocolNoItem>>({
- url: '/web/admin/collection-protocol-nos',
- params
- })
- }
- export function fetchCreateCollectionProtocolNo(data: {
- protocolNo: string
- issued?: number
- orderNum?: number
- remark?: string
- issuedUserId?: string | null
- issuedUserName?: string | null
- issuedTime?: string | null
- }) {
- return request.post({ url: '/web/admin/collection-protocol-nos', params: data })
- }
- export function fetchUpdateCollectionProtocolNo(
- id: string,
- data: Partial<{
- protocolNo: string
- issued: number
- orderNum: number
- remark: string
- issuedUserId: string | null
- issuedUserName: string | null
- issuedTime: string | null
- }>
- ) {
- return request.put({ url: `/web/admin/collection-protocol-nos/${id}`, params: data })
- }
- export function fetchDeleteCollectionProtocolNo(id: string) {
- return request.del({ url: `/web/admin/collection-protocol-nos/${id}` })
- }
- export function fetchBatchGenerateProtocolNos(data: {
- prefix: string
- middle: string
- seqStart: number
- seqEnd: number
- digitCount?: number
- }) {
- return request.post({
- url: '/web/admin/collection-protocol-nos/batch-generate',
- params: data,
- showSuccessMessage: true,
- timeout: 120_000
- })
- }
- export function fetchBatchIssueProtocolNos(data: {
- ids: string[]
- issuedUserId: string
- issuedUserName?: string
- }) {
- return request.post({
- url: '/web/admin/collection-protocol-nos/batch-issue',
- params: data,
- showSuccessMessage: true,
- timeout: 120_000
- })
- }
- export function fetchBatchRevokeProtocolNos(ids: string[]) {
- return request.post({
- url: '/web/admin/collection-protocol-nos/batch-revoke',
- params: { ids },
- showSuccessMessage: true,
- timeout: 120_000
- })
- }
- export function fetchSampleCodeList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- sampleCodeType?: string
- codeFilter?: string
- issuedUserId?: string
- }) {
- return request.get<PageResult<Api.BizSampleCode.SampleCodeItem>>({
- url: '/web/admin/sample-codes',
- params
- })
- }
- export function fetchCreateSampleCode(data: {
- sampleCode: string
- sampleCodeType?: string
- issued?: number
- issuedUserId?: string | null
- issuedUserName?: string | null
- issuedTime?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/sample-codes', params: data })
- }
- export function fetchUpdateSampleCode(
- id: string,
- data: Partial<{
- sampleCode: string
- issued: number
- issuedUserId: string | null
- issuedUserName: string | null
- issuedTime: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/sample-codes/${id}`, params: data })
- }
- export function fetchDeleteSampleCode(id: string) {
- return request.del({ url: `/web/admin/sample-codes/${id}` })
- }
- export function fetchBatchGenerateSampleCodes(data: {
- sampleCodeType: string
- middle: string
- seqStart: number
- seqEnd: number
- digitCount?: number
- }) {
- return request.post({
- url: '/web/admin/sample-codes/batch-generate',
- params: data,
- showSuccessMessage: true,
- timeout: 120_000
- })
- }
- export function fetchBatchIssueSampleCodes(data: {
- ids: string[]
- issuedUserId: string
- issuedUserName?: string
- }) {
- return request.post({
- url: '/web/admin/sample-codes/batch-issue',
- params: data,
- showSuccessMessage: true,
- timeout: 120_000
- })
- }
- export function fetchBatchRevokeSampleCodes(ids: string[]) {
- return request.post({
- url: '/web/admin/sample-codes/batch-revoke',
- params: { ids },
- showSuccessMessage: true,
- timeout: 120_000
- })
- }
- // ---------------------------------------------------------------------------
- // 快递公司管理
- // ---------------------------------------------------------------------------
- export function fetchExpressCompanyList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- }) {
- return request.get<{
- list: Api.ExpressCompany.ExpressCompanyItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({ url: '/web/admin/express-companies', params })
- }
- export function fetchCreateExpressCompany(data: {
- expressCode: string
- expressName: string
- expressLogo?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/express-companies', params: data })
- }
- export function fetchUpdateExpressCompany(
- id: string,
- data: Partial<{
- expressCode: string
- expressName: string
- expressLogo: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/express-companies/${id}`, params: data })
- }
- export function fetchDeleteExpressCompany(id: string) {
- return request.del({ url: `/web/admin/express-companies/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 菜单管理
- // ---------------------------------------------------------------------------
- export function fetchMenuTree(params?: { keyword?: string }) {
- return request.get<Api.Menu.MenuItem[]>({
- url: '/web/admin/menus',
- params
- })
- }
- export function fetchCreateMenu(data: {
- menuName: string
- parentId?: string
- menuType?: string
- path?: string
- component?: string
- perms?: string
- isFrame?: number
- visible?: string
- status?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/menus', params: data })
- }
- export function fetchUpdateMenu(
- id: string,
- data: Partial<{
- menuName: string
- parentId: string
- menuType: string
- path: string
- component: string
- perms: string
- isFrame: number
- visible: string
- status: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({ url: `/web/admin/menus/${id}`, params: data })
- }
- export function fetchDeleteMenu(id: string) {
- return request.del({ url: `/web/admin/menus/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 角色管理
- // ---------------------------------------------------------------------------
- export function fetchRoleList(params?: { page?: number; pageSize?: number; keyword?: string }) {
- return request.get<{
- list: Api.Role.RoleItem[]
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({ url: '/web/admin/role-management', params })
- }
- export function fetchCreateRole(data: {
- roleName: string
- dataScope?: string
- status?: string
- orderNum?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/role-management', params: data, showSuccessMessage: true })
- }
- export function fetchUpdateRole(
- id: string,
- data: Partial<{
- roleName: string
- dataScope: string
- status: string
- orderNum: number
- remark: string
- }>
- ) {
- return request.put({
- url: `/web/admin/role-management/${id}`,
- params: data,
- showSuccessMessage: true
- })
- }
- export function fetchDeleteRole(id: string) {
- return request.del({ url: `/web/admin/role-management/${id}`, showSuccessMessage: true })
- }
- export function fetchRoleMenuIds(roleId: string) {
- return request.get<{ menuIds: string[] }>({ url: `/web/admin/role-management/${roleId}/menus` })
- }
- export function fetchUpdateRoleMenus(roleId: string, menuIds: string[]) {
- return request.put({
- url: `/web/admin/role-management/${roleId}/menus`,
- params: { menuIds },
- showSuccessMessage: true
- })
- }
- export function fetchRoleDataScope(roleId: string) {
- return request.get<{
- dataScope: string
- scopeDetails: Array<{ scopeType: string; scopeValue: string }>
- }>({ url: `/web/admin/role-management/${roleId}/data-scope` })
- }
- export function fetchUpdateRoleDataScope(
- roleId: string,
- data: { dataScope: string; scopeDetails?: Array<{ scopeType: string; scopeValue: string }> }
- ) {
- return request.put({
- url: `/web/admin/role-management/${roleId}/data-scope`,
- params: data,
- showSuccessMessage: true
- })
- }
- // ---------------------------------------------------------------------------
- // 洁净室管理
- // ---------------------------------------------------------------------------
- export function fetchCleanRoomList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- }) {
- return request.get({ url: '/web/admin/clean-rooms', params })
- }
- export function fetchCreateCleanRoom(data: Record<string, any>) {
- return request.post({ url: '/web/admin/clean-rooms', params: data })
- }
- export function fetchUpdateCleanRoom(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/clean-rooms/${id}`, params: data })
- }
- export function fetchDeleteCleanRoom(id: string) {
- return request.del({ url: `/web/admin/clean-rooms/${id}` })
- }
- export function fetchAccessLogList(params?: {
- page?: number
- pageSize?: number
- cleanRoomId?: string
- keyword?: string
- }) {
- return request.get({ url: '/web/admin/clean-room-access-logs', params })
- }
- export function fetchCreateAccessLog(data: Record<string, any>) {
- return request.post({ url: '/web/admin/clean-room-access-logs', params: data })
- }
- export function fetchUpdateAccessLog(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/clean-room-access-logs/${id}`, params: data })
- }
- export function fetchDeleteAccessLog(id: string) {
- return request.del({ url: `/web/admin/clean-room-access-logs/${id}` })
- }
- export function fetchUvDisinfectLogList(params?: {
- page?: number
- pageSize?: number
- cleanRoomId?: string
- keyword?: string
- }) {
- return request.get({ url: '/web/admin/clean-room-uv-disinfect-logs', params })
- }
- export function fetchCreateUvDisinfectLog(data: Record<string, any>) {
- return request.post({ url: '/web/admin/clean-room-uv-disinfect-logs', params: data })
- }
- export function fetchUpdateUvDisinfectLog(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/clean-room-uv-disinfect-logs/${id}`, params: data })
- }
- export function fetchDeleteUvDisinfectLog(id: string) {
- return request.del({ url: `/web/admin/clean-room-uv-disinfect-logs/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 库位管理
- // ---------------------------------------------------------------------------
- export function fetchStorageFacilityList(params?: { keyword?: string }) {
- return request.get({ url: '/web/admin/storage-facilities', params })
- }
- export function fetchCreateStorageFacility(data: Record<string, any>) {
- return request.post({ url: '/web/admin/storage-facilities', params: data })
- }
- export function fetchBatchCreateStorageFacilities(data: {
- parentId?: string
- namePrefix?: string
- nameSuffix?: string
- startNum: number
- endNum: number
- padWidth?: number
- codePrefix?: string
- codeSuffix?: string
- nodeType?: string
- isLeaf?: number
- remark?: string
- }) {
- return request.post({ url: '/web/admin/storage-facilities/batch', params: data })
- }
- export function fetchUpdateStorageFacility(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/storage-facilities/${id}`, params: data })
- }
- export function fetchDeleteStorageFacility(id: string) {
- return request.del({ url: `/web/admin/storage-facilities/${id}` })
- }
- export function fetchStorageSlotList(params?: { facilityNodeId?: string; availableOnly?: boolean }) {
- return request.get({ url: '/web/admin/storage-facility-slots', params })
- }
- export function fetchStorageSlotStats() {
- return request.get<
- Array<{ facilityNodeId: string; total: number; occupied: number; empty: number }>
- >({ url: '/web/admin/storage-facility-slots/stats' })
- }
- export function fetchStorageSlotSelectOptions(params?: {
- keyword?: string
- availableOnly?: boolean
- includeSlotIds?: string
- page?: number
- pageSize?: number
- }) {
- return request.get<{
- list: Array<{ id: string; name: string; fullSlotCode?: string; slotCode?: string }>
- total: number
- page: number
- pageSize: number
- totalPages: number
- }>({
- url: '/web/admin/storage-facility-slots/select-options',
- params
- })
- }
- export function fetchCreateStorageSlot(data: Record<string, any>) {
- return request.post({ url: '/web/admin/storage-facility-slots', params: data })
- }
- export function fetchBatchCreateSlots(data: {
- facilityNodeId: string
- rows: number
- cols: number
- codePrefix?: string
- }) {
- return request.post({ url: '/web/admin/storage-facility-slots/batch', params: data })
- }
- export function fetchClearStorageSlots(data: { facilityNodeId: string }) {
- return request.post({ url: '/web/admin/storage-facility-slots/clear', params: data })
- }
- export function fetchInsertStorageSlotRow(data: {
- facilityNodeId: string
- afterRowNum: number
- cols: number
- codePrefix?: string
- }) {
- return request.post({ url: '/web/admin/storage-facility-slots/insert-row', params: data })
- }
- export function fetchUpdateStorageSlot(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/storage-facility-slots/${id}`, params: data })
- }
- export function fetchDeleteStorageSlot(id: string) {
- return request.del({ url: `/web/admin/storage-facility-slots/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 库位占用记录
- // ---------------------------------------------------------------------------
- export function fetchSlotOccupancies(params: {
- slotId: string
- occupancyStatus?: string
- itemType?: string
- page?: number
- pageSize?: number
- }) {
- return request.get({ url: '/web/admin/storage-slot-occupancies', params })
- }
- export function fetchSlotOccupancyHistory(params?: {
- slotId?: string
- facilityNodeId?: string
- itemType?: string
- startDate?: string
- endDate?: string
- page?: number
- pageSize?: number
- }) {
- return request.get({ url: '/web/admin/storage-slot-occupancies/history', params })
- }
- export function fetchCreateOccupancy(data: {
- slotId: string
- itemType?: string
- itemCode: string
- itemName: string
- itemSource?: string
- remark?: string
- }) {
- return request.post({ url: '/web/admin/storage-slot-occupancies', params: data })
- }
- export function fetchRemoveOccupancy(id: string) {
- return request.put({ url: `/web/admin/storage-slot-occupancies/${id}/remove` })
- }
- // ---------------------------------------------------------------------------
- // 展馆预约
- // ---------------------------------------------------------------------------
- export function fetchExhibitionAppointmentList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- visitDateStart?: string
- visitDateEnd?: string
- }) {
- return request.get({ url: '/web/admin/exhibition-appointments', params })
- }
- export function fetchCreateExhibitionAppointment(data: Record<string, any>) {
- return request.post({ url: '/web/admin/exhibition-appointments', params: data })
- }
- export function fetchUpdateExhibitionAppointment(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/exhibition-appointments/${id}`, params: data })
- }
- export function fetchDeleteExhibitionAppointment(id: string) {
- return request.del({ url: `/web/admin/exhibition-appointments/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 细胞产品类型
- // ---------------------------------------------------------------------------
- export function fetchCellProductTypeList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- }) {
- return request.get({
- url: '/web/admin/cell-product-types',
- params
- })
- }
- export function fetchCreateCellProductType(data: Record<string, any>) {
- return request.post({ url: '/web/admin/cell-product-types', params: data })
- }
- export function fetchUpdateCellProductType(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/cell-product-types/${id}`, params: data })
- }
- export function fetchDeleteCellProductType(id: string) {
- return request.del({ url: `/web/admin/cell-product-types/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 细胞产品规格
- // ---------------------------------------------------------------------------
- export function fetchCellProductSpecList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- }) {
- return request.get({
- url: '/web/admin/cell-product-specs',
- params
- })
- }
- export function fetchCreateCellProductSpec(data: Record<string, any>) {
- return request.post({ url: '/web/admin/cell-product-specs', params: data })
- }
- export function fetchUpdateCellProductSpec(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/cell-product-specs/${id}`, params: data })
- }
- export function fetchDeleteCellProductSpec(id: string) {
- return request.del({ url: `/web/admin/cell-product-specs/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 细胞产品价格
- // ---------------------------------------------------------------------------
- export function fetchCellProductPriceList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- cellProductTypeId?: string
- }) {
- return request.get({
- url: '/web/admin/cell-product-prices',
- params
- })
- }
- export function fetchCreateCellProductPrice(data: Record<string, any>) {
- return request.post({ url: '/web/admin/cell-product-prices', params: data })
- }
- export function fetchUpdateCellProductPrice(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/cell-product-prices/${id}`, params: data })
- }
- export function fetchDeleteCellProductPrice(id: string) {
- return request.del({ url: `/web/admin/cell-product-prices/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 项目价格体系(主表)
- // ---------------------------------------------------------------------------
- export function fetchProjectSystemList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- }) {
- return request.get({
- url: '/web/admin/project-price-systems',
- params
- })
- }
- export function fetchCreateProjectSystem(data: Record<string, any>) {
- return request.post({ url: '/web/admin/project-price-systems', params: data })
- }
- export function fetchUpdateProjectSystem(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/project-price-systems/${id}`, params: data })
- }
- export function fetchDeleteProjectSystem(id: string) {
- return request.del({ url: `/web/admin/project-price-systems/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 项目价格体系明细(子表)
- // ---------------------------------------------------------------------------
- export function fetchProjectSystemItems(systemId: string) {
- return request.get({ url: `/web/admin/project-price-systems/${systemId}/items` })
- }
- export function fetchCreateProjectSystemItem(systemId: string, data: Record<string, any>) {
- return request.post({ url: `/web/admin/project-price-systems/${systemId}/items`, params: data })
- }
- export function fetchUpdateProjectSystemItem(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/project-system-items/${id}`, params: data })
- }
- export function fetchDeleteProjectSystemItem(id: string) {
- return request.del({ url: `/web/admin/project-system-items/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 渠道信息(主表)
- // ---------------------------------------------------------------------------
- export function fetchChannelList(params?: { page?: number; pageSize?: number; keyword?: string }) {
- return request.get({
- url: '/web/admin/channels',
- params
- })
- }
- export function fetchCreateChannel(data: Record<string, any>) {
- return request.post({ url: '/web/admin/channels', params: data })
- }
- export function fetchUpdateChannel(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/channels/${id}`, params: data })
- }
- export function fetchDeleteChannel(id: string) {
- return request.del({ url: `/web/admin/channels/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 渠道开票信息(子表)
- // ---------------------------------------------------------------------------
- export function fetchChannelInvoices(channelId: string) {
- return request.get({ url: `/web/admin/channels/${channelId}/invoices` })
- }
- export function fetchCreateChannelInvoice(channelId: string, data: Record<string, any>) {
- return request.post({ url: `/web/admin/channels/${channelId}/invoices`, params: data })
- }
- export function fetchUpdateChannelInvoice(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/channel-invoices/${id}`, params: data })
- }
- export function fetchDeleteChannelInvoice(id: string) {
- return request.del({ url: `/web/admin/channel-invoices/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 渠道邮寄地址(子表)
- // ---------------------------------------------------------------------------
- export function fetchChannelMailAddresses(channelId: string) {
- return request.get({ url: `/web/admin/channels/${channelId}/mail-addresses` })
- }
- export function fetchCreateChannelMailAddress(channelId: string, data: Record<string, any>) {
- return request.post({ url: `/web/admin/channels/${channelId}/mail-addresses`, params: data })
- }
- export function fetchUpdateChannelMailAddress(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/channel-mail-addresses/${id}`, params: data })
- }
- export function fetchDeleteChannelMailAddress(id: string) {
- return request.del({ url: `/web/admin/channel-mail-addresses/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 渠道协议(子表)
- // ---------------------------------------------------------------------------
- export function fetchChannelAgreements(channelId: string) {
- return request.get({ url: `/web/admin/channels/${channelId}/agreements` })
- }
- export function fetchCreateChannelAgreement(channelId: string, data: Record<string, any>) {
- return request.post({ url: `/web/admin/channels/${channelId}/agreements`, params: data })
- }
- export function fetchUpdateChannelAgreement(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/channel-agreements/${id}`, params: data })
- }
- export function fetchDeleteChannelAgreement(id: string) {
- return request.del({ url: `/web/admin/channel-agreements/${id}` })
- }
- export function fetchActivateChannelAgreement(id: string) {
- return request.put({ url: `/web/admin/channel-agreements/${id}/activate` })
- }
- export function fetchVoidChannelAgreement(id: string) {
- return request.put({ url: `/web/admin/channel-agreements/${id}/void` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 渠道协议产品价格(子表)
- // ---------------------------------------------------------------------------
- export function fetchChannelAgreementPrices(agreementId: string) {
- return request.get({ url: `/web/admin/channel-agreements/${agreementId}/product-prices` })
- }
- export function fetchCreateChannelAgreementPrice(agreementId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-agreements/${agreementId}/product-prices`,
- params: data
- })
- }
- export function fetchUpdateChannelAgreementPrice(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/channel-agreement-product-prices/${id}`, params: data })
- }
- export function fetchDeleteChannelAgreementPrice(id: string) {
- return request.del({ url: `/web/admin/channel-agreement-product-prices/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 体检机构(主表)
- // ---------------------------------------------------------------------------
- export function fetchCheckupInstitutionList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- status?: string
- }) {
- return request.get({
- url: '/web/admin/checkup-institutions',
- params
- })
- }
- export function fetchCreateCheckupInstitution(data: Record<string, any>) {
- return request.post({ url: '/web/admin/checkup-institutions', params: data })
- }
- export function fetchUpdateCheckupInstitution(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/checkup-institutions/${id}`, params: data })
- }
- export function fetchDeleteCheckupInstitution(id: string) {
- return request.del({ url: `/web/admin/checkup-institutions/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 体检机构开票信息(子表)
- // ---------------------------------------------------------------------------
- export function fetchCheckupInstitutionInvoices(institutionId: string) {
- return request.get({ url: `/web/admin/checkup-institutions/${institutionId}/invoices` })
- }
- export function fetchCreateCheckupInstitutionInvoice(
- institutionId: string,
- data: Record<string, any>
- ) {
- return request.post({
- url: `/web/admin/checkup-institutions/${institutionId}/invoices`,
- params: data
- })
- }
- export function fetchUpdateCheckupInstitutionInvoice(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/checkup-institution-invoices/${id}`, params: data })
- }
- export function fetchDeleteCheckupInstitutionInvoice(id: string) {
- return request.del({ url: `/web/admin/checkup-institution-invoices/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 体检机构项目及价格(子表)
- // ---------------------------------------------------------------------------
- export function fetchCheckupInstitutionProjects(institutionId: string) {
- return request.get({ url: `/web/admin/checkup-institutions/${institutionId}/projects` })
- }
- export function fetchCreateCheckupInstitutionProject(
- institutionId: string,
- data: Record<string, any>
- ) {
- return request.post({
- url: `/web/admin/checkup-institutions/${institutionId}/projects`,
- params: data
- })
- }
- export function fetchUpdateCheckupInstitutionProject(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/checkup-institution-projects/${id}`, params: data })
- }
- export function fetchDeleteCheckupInstitutionProject(id: string) {
- return request.del({ url: `/web/admin/checkup-institution-projects/${id}` })
- }
- // ---------------------------------------------------------------------------
- // 中试服务管理 — 体检机构项目套餐
- // ---------------------------------------------------------------------------
- export function fetchCheckupInstitutionPackages(institutionId: string) {
- return request.get({ url: `/web/admin/checkup-institutions/${institutionId}/packages` })
- }
- export function fetchCheckupInstitutionPackageDetail(packageId: string) {
- return request.get({ url: `/web/admin/checkup-institution-packages/${packageId}` })
- }
- export function fetchCreateCheckupInstitutionPackage(
- institutionId: string,
- data: Record<string, unknown>
- ) {
- return request.post({
- url: `/web/admin/checkup-institutions/${institutionId}/packages`,
- params: data
- })
- }
- export function fetchUpdateCheckupInstitutionPackage(
- packageId: string,
- data: Record<string, unknown>
- ) {
- return request.put({ url: `/web/admin/checkup-institution-packages/${packageId}`, params: data })
- }
- export function fetchDeleteCheckupInstitutionPackage(packageId: string) {
- return request.del({ url: `/web/admin/checkup-institution-packages/${packageId}` })
- }
- // ============ 保险公司及险种价格管理 ============
- export function fetchInsuranceCompanyList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- status?: string
- }) {
- return request.get({ url: '/web/admin/insurance-companies', params })
- }
- export function fetchCreateInsuranceCompany(data: Record<string, any>) {
- return request.post({ url: '/web/admin/insurance-companies', params: data })
- }
- export function fetchUpdateInsuranceCompany(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/insurance-companies/${id}`, params: data })
- }
- export function fetchDeleteInsuranceCompany(id: string) {
- return request.del({ url: `/web/admin/insurance-companies/${id}` })
- }
- // 保险公司开票信息
- export function fetchInsuranceCompanyInvoices(companyId: string) {
- return request.get({ url: `/web/admin/insurance-companies/${companyId}/invoices` })
- }
- export function fetchCreateInsuranceCompanyInvoice(companyId: string, data: Record<string, any>) {
- return request.post({ url: `/web/admin/insurance-companies/${companyId}/invoices`, params: data })
- }
- export function fetchUpdateInsuranceCompanyInvoice(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/insurance-company-invoices/${id}`, params: data })
- }
- export function fetchDeleteInsuranceCompanyInvoice(id: string) {
- return request.del({ url: `/web/admin/insurance-company-invoices/${id}` })
- }
- // 保险险种价格
- export function fetchInsuranceProjectPrices(companyId: string) {
- return request.get({ url: `/web/admin/insurance-companies/${companyId}/project-prices` })
- }
- export function fetchCreateInsuranceProjectPrice(companyId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/insurance-companies/${companyId}/project-prices`,
- params: data
- })
- }
- export function fetchUpdateInsuranceProjectPrice(id: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/insurance-project-prices/${id}`, params: data })
- }
- export function fetchDeleteInsuranceProjectPrice(id: string) {
- return request.del({ url: `/web/admin/insurance-project-prices/${id}` })
- }
- // ============ 储存证管理 ============
- export function fetchStorageCertList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- makeStatus?: string
- storageInDateStart?: string
- storageInDateEnd?: string
- }) {
- return request.get({ url: '/web/admin/storage-certs', params })
- }
- // ============ 满月待办管理 ============
- export function fetchFullmoonTodoList(params?: {
- page?: number
- pageSize?: number
- keyword?: string
- todoStatus?: string
- fullmoonDateStart?: string
- fullmoonDateEnd?: string
- }) {
- return request.get({ url: '/web/admin/fullmoon-todos', params })
- }
- export function fetchUpdateFullmoonTodoInsurance(protocolId: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/fullmoon-todos/${protocolId}/insurance`, params: data })
- }
- // ---------------------------------------------------------------------------
- // 渠道服务购买订单
- // ---------------------------------------------------------------------------
- /** 渠道服务订单列表 */
- export function fetchChannelServiceOrderList(params?: Record<string, any>) {
- return request.get({ url: '/web/admin/channel-service-orders', params })
- }
- /** 渠道服务订单详情 */
- export function fetchChannelServiceOrderDetail(orderId: string) {
- return request.get({ url: `/web/admin/channel-service-orders/${orderId}` })
- }
- /** 创建渠道服务订单 */
- export function fetchCreateChannelServiceOrder(data: Record<string, any>) {
- return request.post({ url: '/web/admin/channel-service-orders', params: data })
- }
- /** 更新渠道服务订单 */
- export function fetchUpdateChannelServiceOrder(orderId: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/channel-service-orders/${orderId}`, params: data })
- }
- /** 删除渠道服务订单 */
- export function fetchDeleteChannelServiceOrder(orderId: string) {
- return request.del({ url: `/web/admin/channel-service-orders/${orderId}` })
- }
- /** 发起财务确认(市场人员提交备注与凭证) */
- export function fetchSubmitServiceOrderFinanceConfirm(orderId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-orders/${orderId}/submit-finance-confirm`,
- params: data
- })
- }
- /** 财务确认收款 */
- export function fetchConfirmServiceOrderReceipt(orderId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-orders/${orderId}/confirm-receipt`,
- params: data
- })
- }
- /** 提交退款 */
- export function fetchSubmitServiceOrderRefund(orderId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-orders/${orderId}/submit-refund`,
- params: data
- })
- }
- /** 确认退款 */
- export function fetchConfirmServiceOrderRefund(orderId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-orders/${orderId}/confirm-refund`,
- params: data
- })
- }
- /** 作废订单 */
- export function fetchVoidServiceOrder(orderId: string) {
- return request.put({ url: `/web/admin/channel-service-orders/${orderId}/void` })
- }
- /** 渠道账户 */
- export function fetchChannelAccount(channelId: string) {
- return request.get({ url: `/web/admin/channels/${channelId}/account` })
- }
- /** 渠道产品份数 */
- export function fetchChannelProductQuotas(channelId: string) {
- return request.get({ url: `/web/admin/channels/${channelId}/product-quotas` })
- }
- // ========== 渠道服务订单操作流水 ==========
- /** 流水列表 */
- export function fetchServiceOrderTxnList(params?: Record<string, any>) {
- return request.get({ url: '/web/admin/channel-service-order-txns', params })
- }
- /** 流水详情 */
- export function fetchServiceOrderTxnDetail(txnId: string) {
- return request.get({ url: `/web/admin/channel-service-order-txns/${txnId}` })
- }
- /** 发起充值 */
- export function fetchCreateRechargeTxn(orderId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-orders/${orderId}/recharge`,
- params: data
- })
- }
- /** 申请退款 */
- export function fetchCreateRefundTxn(orderId: string, data: Record<string, any>) {
- return request.post({ url: `/web/admin/channel-service-orders/${orderId}/refund`, params: data })
- }
- /** 购买产品 */
- export function fetchCreatePurchaseTxn(orderId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-orders/${orderId}/purchase`,
- params: data
- })
- }
- /** 退订产品 */
- export function fetchCreateUnsubscribeTxn(orderId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-orders/${orderId}/unsubscribe`,
- params: data
- })
- }
- /** 更新待生效流水 */
- export function fetchUpdateServiceOrderTxn(txnId: string, data: Record<string, any>) {
- return request.put({ url: `/web/admin/channel-service-order-txns/${txnId}`, params: data })
- }
- /** 流水发起财务确认 */
- export function fetchSubmitTxnFinance(txnId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-order-txns/${txnId}/submit-finance`,
- params: data
- })
- }
- /** 流水财务确认 */
- export function fetchConfirmTxn(txnId: string, data: Record<string, any>) {
- return request.post({
- url: `/web/admin/channel-service-order-txns/${txnId}/confirm`,
- params: data
- })
- }
- /** 作废流水 */
- export function fetchVoidTxn(txnId: string) {
- return request.put({ url: `/web/admin/channel-service-order-txns/${txnId}/void` })
- }
- // ==================== 中试服务申请单 ====================
- export function fetchPilotApplicationList(params: any) {
- return request.get({ url: '/web/admin/pilot-application/list', params })
- }
- export function fetchPilotApplicationDetail(params: any) {
- return request.get({ url: '/web/admin/pilot-application/detail', params })
- }
- export function createPilotApplication(data: any) {
- return request.post({ url: '/web/admin/pilot-application/create', params: data })
- }
- export function updatePilotApplication(data: any) {
- return request.put({ url: '/web/admin/pilot-application/update', params: data })
- }
- export function deletePilotApplication(data: any) {
- return request.del({ url: '/web/admin/pilot-application/delete', data })
- }
- export function startPilotApplication(data: any) {
- return request.post({ url: '/web/admin/pilot-application/start', params: data })
- }
- export function completePilotApplication(data: any) {
- return request.post({ url: '/web/admin/pilot-application/complete', params: data })
- }
- export function voidPilotApplication(data: any) {
- return request.post({ url: '/web/admin/pilot-application/void', params: data })
- }
- export function savePilotApplication(data: any) {
- return request.post({ url: '/web/admin/pilot-application/save', params: data })
- }
- export function createBasicExperimentSaleSchedules(
- applicationId: string,
- data: { productLines: any[] }
- ) {
- return request.post({
- url: `/web/admin/pilot-application/${applicationId}/sale-schedules`,
- params: data
- })
- }
- // 患者信息
- export function fetchPilotPatient(params: any) {
- return request.get({ url: '/web/admin/pilot-patient/detail', params })
- }
- export function savePilotPatient(data: any) {
- return request.post({ url: '/web/admin/pilot-patient/save', params: data })
- }
- // 输注方案
- export function fetchPilotInfusionPlanList(params: any) {
- return request.get({ url: '/web/admin/pilot-infusion-plan/list', params })
- }
- export function createPilotInfusionPlan(data: any) {
- return request.post({ url: '/web/admin/pilot-infusion-plan/create', params: data })
- }
- export function updatePilotInfusionPlan(data: any) {
- return request.put({ url: '/web/admin/pilot-infusion-plan/update', params: data })
- }
- export function deletePilotInfusionPlan(data: any) {
- return request.del({ url: '/web/admin/pilot-infusion-plan/delete', data })
- }
- // 输注计划
- export function fetchPilotInfusionScheduleList(params: any) {
- return request.get({ url: '/web/admin/pilot-infusion-schedule/list', params })
- }
- export function autoGenerateSchedules(data: any) {
- return request.post({ url: '/web/admin/pilot-infusion-schedule/auto-generate', params: data })
- }
- export function updatePilotInfusionSchedule(data: any) {
- return request.put({ url: '/web/admin/pilot-infusion-schedule/update', params: data })
- }
- export function deletePilotInfusionSchedule(data: any) {
- return request.del({ url: '/web/admin/pilot-infusion-schedule/delete', data })
- }
- export function markScheduleComplete(data: any) {
- return request.post({ url: '/web/admin/pilot-infusion-schedule/mark-complete', params: data })
- }
- // ========== 中试服务 - 体检管理 ==========
- export const fetchPilotCheckupDetail = (params: any) =>
- request.get({ url: '/web/admin/pilot-checkup/detail', params })
- export const savePilotCheckup = (data: any) =>
- request.post({ url: '/web/admin/pilot-checkup/save', params: data })
- export const deletePilotCheckup = (data: any) =>
- request.del({ url: '/web/admin/pilot-checkup/delete', data })
- export const markPilotCheckupChecked = (data: any) =>
- request.post({ url: '/web/admin/pilot-checkup/mark-checked', params: data })
- export const settlePilotCheckupFee = (data: any) =>
- request.post({ url: '/web/admin/pilot-checkup/settle-fee', params: data })
- export const fetchPilotCheckupReserveItems = (params: any) =>
- request.get({ url: '/web/admin/pilot-checkup/reserve-items', params })
- export const savePilotCheckupReserveItems = (data: any) =>
- request.post({ url: '/web/admin/pilot-checkup/reserve-items/save', params: data })
- export const deletePilotCheckupReserveItem = (data: any) =>
- request.del({ url: '/web/admin/pilot-checkup/reserve-item/delete', data })
- export const fetchPilotCheckupActualItems = (params: any) =>
- request.get({ url: '/web/admin/pilot-checkup/actual-items', params })
- export const savePilotCheckupActualItems = (data: any) =>
- request.post({ url: '/web/admin/pilot-checkup/actual-items/save', params: data })
- export const deletePilotCheckupActualItem = (data: any) =>
- request.del({ url: '/web/admin/pilot-checkup/actual-item/delete', data })
- // 体检记录分页列表
- export const fetchPilotCheckupList = (params: any) =>
- request.get({ url: '/web/admin/pilot-checkup/list', params })
- // 待登记体检的患者列表
- export const fetchPilotCheckupPendingPatients = (params: any) =>
- request.get({ url: '/web/admin/pilot-checkup/pending-patients', params })
- // 批量创建体检记录
- export const batchSavePilotCheckup = (data: any) =>
- request.post({ url: '/web/admin/pilot-checkup/batch-save', params: data })
- // ========== 中试服务 - 交付管理 ==========
- export const fetchPilotDeliveryDetail = (params: any) =>
- request.get({ url: '/web/admin/pilot-delivery/detail', params })
- export const fetchPilotDeliveryListByApplication = (params: any) =>
- request.get({ url: '/web/admin/pilot-delivery/list-by-application', params })
- export const createPilotDelivery = (data: any) =>
- request.post({ url: '/web/admin/pilot-delivery/create', params: data })
- export const deletePilotDelivery = (data: any) =>
- request.del({ url: '/web/admin/pilot-delivery/delete', data })
- export const fetchPilotDeliveryMaterials = (params: any) =>
- request.get({ url: '/web/admin/pilot-delivery/materials', params })
- export const savePilotDeliveryMaterials = (data: any) =>
- request.post({ url: '/web/admin/pilot-delivery/materials/save', params: data })
- export const fetchPilotDeliveryMethod = (params: any) =>
- request.get({ url: '/web/admin/pilot-delivery/method', params })
- export const savePilotDeliveryMethod = (data: any) =>
- request.post({ url: '/web/admin/pilot-delivery/method/save', params: data })
- // ========== 中试服务 - 出库联动 ==========
- export const createOutboundProductionWorkOrder = (data: any) =>
- request.post({
- url: '/web/admin/pilot-infusion-schedule/create-production-work-order',
- params: data
- })
- export const createOutboundQcWorkOrder = (data: any) =>
- request.post({
- url: '/web/admin/pilot-infusion-schedule/create-qc-work-order',
- params: data
- })
- // ========== 中试服务 - 应用确认 ==========
- export const createInfusionConfirm = (data: any) =>
- request.post({ url: '/web/admin/pilot-infusion-confirm/create', params: data })
- export const fetchInfusionConfirmList = (params: any) =>
- request.get({ url: '/web/admin/pilot-infusion-confirm/list', params })
- export const getInfusionConfirmDetail = (params: any) =>
- request.get({ url: '/web/admin/pilot-infusion-confirm/detail', params })
- export const confirmInfusion = (data: any) =>
- request.post({ url: '/web/admin/pilot-infusion-confirm/confirm', params: data })
- export const updateInfusionConfirm = (data: any) =>
- request.put({ url: '/web/admin/pilot-infusion-confirm/update', params: data })
- export const deleteInfusionConfirm = (data: any) =>
- request.del({ url: '/web/admin/pilot-infusion-confirm/delete', data })
- // ========== 中试服务 - 输注计划管理 ==========
- export function fetchInfusionScheduleMgmtList(params: any) {
- return request.get({ url: '/web/admin/pilot-infusion-schedule-mgmt/list', params })
- }
- export function fetchInfusionScheduleMgmtDetail(params: { scheduleId: string } | { id: string }) {
- const scheduleId =
- 'scheduleId' in params && params.scheduleId
- ? params.scheduleId
- : 'id' in params
- ? params.id
- : ''
- return request.get({
- url: '/web/admin/pilot-infusion-schedule-mgmt/detail',
- params: { scheduleId }
- })
- }
- export function updateInfusionScheduleStatus(data: {
- scheduleId?: string
- id?: string
- infusionStatus: string
- cancelReason?: string
- }) {
- const scheduleId = data.scheduleId || data.id || ''
- return request.put({
- url: '/web/admin/pilot-infusion-schedule-mgmt/update-status',
- data: {
- scheduleId,
- infusionStatus: data.infusionStatus,
- cancelReason: data.cancelReason
- }
- })
- }
- export function updateInfusionScheduleQcStatus(data: {
- scheduleId?: string
- id?: string
- qcStatus: string
- }) {
- const scheduleId = data.scheduleId || data.id || ''
- return request.put({
- url: '/web/admin/pilot-infusion-schedule-mgmt/update-qc-status',
- data: {
- scheduleId,
- qcStatus: data.qcStatus
- }
- })
- }
- export function updateInfusionScheduleMgmt(data: any) {
- return request.put({
- url: '/web/admin/pilot-infusion-schedule-mgmt/update',
- data
- })
- }
|