提交
This commit is contained in:
1 parent
575e63e7e8
commit
771f010a39
165 files changed
+67359
-21698
No files matched your search
+182
-2
@@ -862,7 +862,13 @@ type PageResult<T> = {
|
||||
totalPages: number
|
||||
}
|
||||
|
||||
export function fetchCustomerList(params?: { page?: number; pageSize?: number; keyword?: string }) {
|
||||
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
|
||||
@@ -1433,7 +1439,13 @@ export function fetchRemoveOccupancy(id: string) {
|
||||
// 展馆预约
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
export function fetchExhibitionAppointmentList(params?: { page?: number; pageSize?: number; keyword?: string }) {
|
||||
export function fetchExhibitionAppointmentList(params?: {
|
||||
page?: number
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
visitDateStart?: string
|
||||
visitDateEnd?: string
|
||||
}) {
|
||||
return request.get({ url: '/web/admin/exhibition-appointments', params })
|
||||
}
|
||||
|
||||
@@ -1873,6 +1885,8 @@ export function fetchStorageCertList(params?: {
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
makeStatus?: string
|
||||
storageInDateStart?: string
|
||||
storageInDateEnd?: string
|
||||
}) {
|
||||
return request.get({ url: '/web/admin/storage-certs', params })
|
||||
}
|
||||
@@ -1884,6 +1898,8 @@ export function fetchFullmoonTodoList(params?: {
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
todoStatus?: string
|
||||
fullmoonDateStart?: string
|
||||
fullmoonDateEnd?: string
|
||||
}) {
|
||||
return request.get({ url: '/web/admin/fullmoon-todos', params })
|
||||
}
|
||||
@@ -2005,3 +2021,167 @@ export function fetchConfirmTxn(txnId: string, data: Record<string, any>) {
|
||||
export function fetchVoidTxn(txnId: string) {
|
||||
return request.put({ url: `/web/admin/channel-service-order-txns/${txnId}/void` })
|
||||
}
|
||||
|
||||
// ==================== 中试服务申请单 ====================
|
||||
|
||||
export function fetchPilotApplicationList(params: any) {
|
||||
return request({ url: '/pilot-application/list', method: 'get', params })
|
||||
}
|
||||
export function fetchPilotApplicationDetail(params: any) {
|
||||
return request({ url: '/pilot-application/detail', method: 'get', params })
|
||||
}
|
||||
export function createPilotApplication(data: any) {
|
||||
return request({ url: '/pilot-application/create', method: 'post', data })
|
||||
}
|
||||
export function updatePilotApplication(data: any) {
|
||||
return request({ url: '/pilot-application/update', method: 'put', data })
|
||||
}
|
||||
export function deletePilotApplication(data: any) {
|
||||
return request({ url: '/pilot-application/delete', method: 'delete', data })
|
||||
}
|
||||
export function startPilotApplication(data: any) {
|
||||
return request({ url: '/pilot-application/start', method: 'post', data })
|
||||
}
|
||||
export function completePilotApplication(data: any) {
|
||||
return request({ url: '/pilot-application/complete', method: 'post', data })
|
||||
}
|
||||
export function voidPilotApplication(data: any) {
|
||||
return request({ url: '/pilot-application/void', method: 'post', data })
|
||||
}
|
||||
|
||||
// 患者信息
|
||||
export function fetchPilotPatient(params: any) {
|
||||
return request({ url: '/pilot-patient/detail', method: 'get', params })
|
||||
}
|
||||
export function savePilotPatient(data: any) {
|
||||
return request({ url: '/pilot-patient/save', method: 'post', data })
|
||||
}
|
||||
|
||||
// 输注方案
|
||||
export function fetchPilotInfusionPlanList(params: any) {
|
||||
return request({ url: '/pilot-infusion-plan/list', method: 'get', params })
|
||||
}
|
||||
export function createPilotInfusionPlan(data: any) {
|
||||
return request({ url: '/pilot-infusion-plan/create', method: 'post', data })
|
||||
}
|
||||
export function updatePilotInfusionPlan(data: any) {
|
||||
return request({ url: '/pilot-infusion-plan/update', method: 'put', data })
|
||||
}
|
||||
export function deletePilotInfusionPlan(data: any) {
|
||||
return request({ url: '/pilot-infusion-plan/delete', method: 'delete', data })
|
||||
}
|
||||
|
||||
// 输注计划
|
||||
export function fetchPilotInfusionScheduleList(params: any) {
|
||||
return request({ url: '/pilot-infusion-schedule/list', method: 'get', params })
|
||||
}
|
||||
export function autoGenerateSchedules(data: any) {
|
||||
return request({ url: '/pilot-infusion-schedule/auto-generate', method: 'post', data })
|
||||
}
|
||||
export function updatePilotInfusionSchedule(data: any) {
|
||||
return request({ url: '/pilot-infusion-schedule/update', method: 'put', data })
|
||||
}
|
||||
export function deletePilotInfusionSchedule(data: any) {
|
||||
return request({ url: '/pilot-infusion-schedule/delete', method: 'delete', data })
|
||||
}
|
||||
export function markScheduleComplete(data: any) {
|
||||
return request({ url: '/pilot-infusion-schedule/mark-complete', method: 'post', data })
|
||||
}
|
||||
|
||||
// ========== 中试服务 - 体检管理 ==========
|
||||
export const fetchPilotCheckupDetail = (params: any) =>
|
||||
request.get('/web/admin/pilot-checkup/detail', { params })
|
||||
|
||||
export const savePilotCheckup = (data: any) =>
|
||||
request.post('/web/admin/pilot-checkup/save', data)
|
||||
|
||||
export const deletePilotCheckup = (data: any) =>
|
||||
request.delete('/web/admin/pilot-checkup/delete', { data })
|
||||
|
||||
export const markPilotCheckupChecked = (data: any) =>
|
||||
request.post('/web/admin/pilot-checkup/mark-checked', data)
|
||||
|
||||
export const settlePilotCheckupFee = (data: any) =>
|
||||
request.post('/web/admin/pilot-checkup/settle-fee', data)
|
||||
|
||||
export const fetchPilotCheckupReserveItems = (params: any) =>
|
||||
request.get('/web/admin/pilot-checkup/reserve-items', { params })
|
||||
|
||||
export const savePilotCheckupReserveItems = (data: any) =>
|
||||
request.post('/web/admin/pilot-checkup/reserve-items/save', data)
|
||||
|
||||
export const deletePilotCheckupReserveItem = (data: any) =>
|
||||
request.delete('/web/admin/pilot-checkup/reserve-item/delete', { data })
|
||||
|
||||
export const fetchPilotCheckupActualItems = (params: any) =>
|
||||
request.get('/web/admin/pilot-checkup/actual-items', { params })
|
||||
|
||||
export const savePilotCheckupActualItems = (data: any) =>
|
||||
request.post('/web/admin/pilot-checkup/actual-items/save', data)
|
||||
|
||||
export const deletePilotCheckupActualItem = (data: any) =>
|
||||
request.delete('/web/admin/pilot-checkup/actual-item/delete', { data })
|
||||
|
||||
// ========== 中试服务 - 交付管理 ==========
|
||||
export const fetchPilotDeliveryDetail = (params: any) =>
|
||||
request.get('/web/admin/pilot-delivery/detail', { params })
|
||||
|
||||
export const fetchPilotDeliveryListByApplication = (params: any) =>
|
||||
request.get('/web/admin/pilot-delivery/list-by-application', { params })
|
||||
|
||||
export const createPilotDelivery = (data: any) =>
|
||||
request.post('/web/admin/pilot-delivery/create', data)
|
||||
|
||||
export const deletePilotDelivery = (data: any) =>
|
||||
request.delete('/web/admin/pilot-delivery/delete', { data })
|
||||
|
||||
export const fetchPilotDeliveryMaterials = (params: any) =>
|
||||
request.get('/web/admin/pilot-delivery/materials', { params })
|
||||
|
||||
export const savePilotDeliveryMaterials = (data: any) =>
|
||||
request.post('/web/admin/pilot-delivery/materials/save', data)
|
||||
|
||||
export const fetchPilotDeliveryMethod = (params: any) =>
|
||||
request.get('/web/admin/pilot-delivery/method', { params })
|
||||
|
||||
export const savePilotDeliveryMethod = (data: any) =>
|
||||
request.post('/web/admin/pilot-delivery/method/save', data)
|
||||
|
||||
// ========== 中试服务 - 出库联动 ==========
|
||||
export const createOutboundProductionWorkOrder = (data: any) =>
|
||||
request.post('/web/admin/pilot-infusion-schedule/create-production-work-order', data)
|
||||
|
||||
export const createOutboundQcWorkOrder = (data: any) =>
|
||||
request.post('/web/admin/pilot-infusion-schedule/create-qc-work-order', data)
|
||||
|
||||
// ========== 中试服务 - 放行审核 ==========
|
||||
export const createReleaseReview = (data: any) =>
|
||||
request.post('/web/admin/pilot-release-review/create', data)
|
||||
|
||||
export const fetchReleaseReviewList = (params: any) =>
|
||||
request.get('/web/admin/pilot-release-review/list', { params })
|
||||
|
||||
export const updateReleaseReview = (data: any) =>
|
||||
request.put('/web/admin/pilot-release-review/update', data)
|
||||
|
||||
export const deleteReleaseReview = (data: any) =>
|
||||
request.delete('/web/admin/pilot-release-review/delete', { data })
|
||||
|
||||
// ========== 中试服务 - 应用确认 ==========
|
||||
export const createInfusionConfirm = (data: any) =>
|
||||
request.post('/web/admin/pilot-infusion-confirm/create', data)
|
||||
|
||||
export const fetchInfusionConfirmList = (params: any) =>
|
||||
request.get('/web/admin/pilot-infusion-confirm/list', { params })
|
||||
|
||||
export const getInfusionConfirmDetail = (params: any) =>
|
||||
request.get('/web/admin/pilot-infusion-confirm/detail', { params })
|
||||
|
||||
export const confirmInfusion = (data: any) =>
|
||||
request.post('/web/admin/pilot-infusion-confirm/confirm', data)
|
||||
|
||||
export const updateInfusionConfirm = (data: any) =>
|
||||
request.put('/web/admin/pilot-infusion-confirm/update', data)
|
||||
|
||||
export const deleteInfusionConfirm = (data: any) =>
|
||||
request.delete('/web/admin/pilot-infusion-confirm/delete', { data })
|
||||
@@ -16,6 +16,10 @@ export function fetchCollectionProtocolList(params?: {
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
protocolStatus?: string
|
||||
createTimeStart?: string
|
||||
createTimeEnd?: string
|
||||
sampleCollectTimeStart?: string
|
||||
sampleCollectTimeEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<CollectionProtocolRow>>({
|
||||
url: '/web/admin/collection-protocols',
|
||||
@@ -62,14 +66,26 @@ export function fetchSubmitProtocolAudit(
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchReceiptConfirmList(params?: { page?: number; pageSize?: number }) {
|
||||
export function fetchReceiptConfirmList(params?: {
|
||||
page?: number
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
installmentDueDateStart?: string
|
||||
installmentDueDateEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/protocol-payment-details/receipt-confirm',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchReceiptConfirmedList(params?: { page?: number; pageSize?: number }) {
|
||||
export function fetchReceiptConfirmedList(params?: {
|
||||
page?: number
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
installmentDueDateStart?: string
|
||||
installmentDueDateEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/protocol-payment-details/receipt-confirmed',
|
||||
params
|
||||
@@ -87,14 +103,26 @@ export function fetchReceiptConfirmSubmit(
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchRefundConfirmList(params?: { page?: number; pageSize?: number }) {
|
||||
export function fetchRefundConfirmList(params?: {
|
||||
page?: number
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
installmentDueDateStart?: string
|
||||
installmentDueDateEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/protocol-payment-details/refund-confirm',
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchRefundConfirmedList(params?: { page?: number; pageSize?: number }) {
|
||||
export function fetchRefundConfirmedList(params?: {
|
||||
page?: number
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
installmentDueDateStart?: string
|
||||
installmentDueDateEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/protocol-payment-details/refund-confirmed',
|
||||
params
|
||||
@@ -161,6 +189,8 @@ export function fetchPaymentDetailList(params?: {
|
||||
payStatus?: string
|
||||
keyword?: string
|
||||
transferType?: string
|
||||
installmentDueDateStart?: string
|
||||
installmentDueDateEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/protocol-payment-details',
|
||||
|
||||
@@ -10,6 +10,8 @@ export function fetchProductionTaskList(params?: {
|
||||
keyword?: string
|
||||
taskStatus?: string
|
||||
workOrderId?: string
|
||||
startedTimeStart?: string
|
||||
startedTimeEnd?: string
|
||||
}) {
|
||||
return request.get<{
|
||||
list: any[]
|
||||
|
||||
@@ -27,6 +27,8 @@ export function fetchProductionWorkOrderList(params?: {
|
||||
keyword?: string
|
||||
workOrderStatus?: string
|
||||
workOrderType?: string
|
||||
createTimeStart?: string
|
||||
createTimeEnd?: string
|
||||
}) {
|
||||
return request.get<{
|
||||
list: ProductionWorkOrderItem[]
|
||||
|
||||
@@ -116,6 +116,8 @@ export function fetchQcWorkOrderList(params?: {
|
||||
keyword?: string
|
||||
workOrderStatus?: string
|
||||
workOrderType?: string
|
||||
createTimeStart?: string
|
||||
createTimeEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<QcWorkOrder>>({
|
||||
url: '/web/admin/qc-work-orders',
|
||||
|
||||
@@ -16,6 +16,10 @@ export function fetchResearchDonationList(params?: {
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
donationStatus?: string
|
||||
createTimeStart?: string
|
||||
createTimeEnd?: string
|
||||
sampleCollectTimeStart?: string
|
||||
sampleCollectTimeEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<ResearchDonationRow>>({
|
||||
url: '/web/admin/research-donations',
|
||||
|
||||
@@ -13,6 +13,8 @@ export function fetchSampleReceptionPendingList(params?: {
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
sourceType?: string
|
||||
etaTimeStart?: string
|
||||
etaTimeEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/sample-receptions/pending',
|
||||
@@ -25,6 +27,8 @@ export function fetchSampleReceptionReceivedList(params?: {
|
||||
pageSize?: number
|
||||
keyword?: string
|
||||
sourceType?: string
|
||||
receptionTimeStart?: string
|
||||
receptionTimeEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/sample-receptions/received',
|
||||
|
||||
@@ -15,6 +15,8 @@ export function fetchSampleSmsNotificationList(params?: {
|
||||
keyword?: string
|
||||
acceptConclusion?: string
|
||||
smsNotified?: string
|
||||
receptionTimeStart?: string
|
||||
receptionTimeEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/sample-sms-notifications/list',
|
||||
|
||||
@@ -15,6 +15,8 @@ export function fetchStorageEntrySmsList(params?: {
|
||||
keyword?: string
|
||||
storageStatus?: string
|
||||
smsNotified?: string
|
||||
storageTimeStart?: string
|
||||
storageTimeEnd?: string
|
||||
}) {
|
||||
return request.get<PageList<Record<string, unknown>>>({
|
||||
url: '/web/admin/storage-entry-sms-notifications/list',
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "label": "status-tag-registry.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L1"}, {"id": "utils_status_tag_registry_createlabelgetter", "label": "createLabelGetter()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L29"}, {"id": "utils_status_tag_registry_createtagtypegetter", "label": "createTagTypeGetter()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L33"}, {"id": "utils_status_tag_registry_txntypelabel", "label": "txnTypeLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L377"}, {"id": "utils_status_tag_registry_txntypetagtype", "label": "txnTypeTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L387"}, {"id": "utils_status_tag_registry_txnstatuslabel", "label": "txnStatusLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L398"}, {"id": "utils_status_tag_registry_txnstatustagtype", "label": "txnStatusTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L408"}, {"id": "utils_status_tag_registry_applicationstatuslabel", "label": "applicationStatusLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L419"}, {"id": "utils_status_tag_registry_applicationstatustagtype", "label": "applicationStatusTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L423"}, {"id": "utils_status_tag_registry_checkupstatuslabel", "label": "checkupStatusLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L431"}, {"id": "utils_status_tag_registry_checkupstatustagtype", "label": "checkupStatusTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L439"}, {"id": "utils_status_tag_registry_feestatuslabel", "label": "feeStatusLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L447"}, {"id": "utils_status_tag_registry_feestatustagtype", "label": "feeStatusTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L455"}, {"id": "utils_status_tag_registry_schedulestatuslabel", "label": "scheduleStatusLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L464"}, {"id": "utils_status_tag_registry_schedulestatustagtype", "label": "scheduleStatusTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L473"}, {"id": "utils_status_tag_registry_releasereviewconclusionlabel", "label": "releaseReviewConclusionLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L484"}, {"id": "utils_status_tag_registry_releasereviewconclusiontagtype", "label": "releaseReviewConclusionTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L488"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_createlabelgetter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_createtagtypegetter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_txntypelabel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L377", "weight":Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_sample_reception_info_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/sample-reception-info/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "label": "status-tag-registry.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L1"}, {"id": "utils_status_tag_registry_createlabelgetter", "label": "createLabelGetter()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L29"}, {"id": "utils_status_tag_registry_createtagtypegetter", "label": "createTagTypeGetter()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L33"}, {"id": "utils_status_tag_registry_txntypelabel", "label": "txnTypeLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L377"}, {"id": "utils_status_tag_registry_txntypetagtype", "label": "txnTypeTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L387"}, {"id": "utils_status_tag_registry_txnstatuslabel", "label": "txnStatusLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L398"}, {"id": "utils_status_tag_registry_txnstatustagtype", "label": "txnStatusTagType()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L408"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_createlabelgetter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L29", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_createtagtypegetter", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L33", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_txntypelabel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L377", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_txntypetagtype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L387", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_txnstatuslabel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L398", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry_ts", "target": "utils_status_tag_registry_txnstatustagtype", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/utils/status-tag-registry.ts", "source_location": "L408", "weight": 1.0}], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_sample_sms_notification_ts", "label": "sample-sms-notification.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L1"}, {"id": "api_sample_sms_notification_fetchsamplesmsnotificationlist", "label": "fetchSampleSmsNotificationList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L12"}, {"id": "api_sample_sms_notification_fetchtogglesmsnotified", "label": "fetchToggleSmsNotified()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L28"}, {"id": "api_sample_sms_notification_fetchgeneratesms", "label": "fetchGenerateSms()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L39"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_sample_sms_notification_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_sample_sms_notification_ts", "target": "api_sample_sms_notification_fetchsamplesmsnotificationlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_sample_sms_notification_ts", "target": "api_sample_sms_notification_fetchtogglesmsnotified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_sample_sms_notification_ts", "target": "api_sample_sms_notification_fetchgeneratesms", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L39", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_sample_sms_notification_fetchsamplesmsnotificationlist", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L21"}, {"caller_nid": "api_sample_sms_notification_fetchtogglesmsnotified", "callee": "put", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L32"}, {"caller_nid": "api_sample_sms_notification_fetchgeneratesms", "callee": "post", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/sample-sms-notification.ts", "source_location": "L40"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin_ts", "label": "admin.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L1"}, {"id": "api_admin_fetchgetmenulist", "label": "fetchGetMenuList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L10"}, {"id": "api_admin_fetchgetrolelist", "label": "fetchGetRoleList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L19"}, {"id": "api_admin_fetchuseroptions", "label": "fetchUserOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L26"}, {"id": "api_admin_fetchroleoptions", "label": "fetchRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L33"}, {"id": "api_admin_fetchtenantlist", "label": "fetchTenantList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L43"}, {"id": "api_admin_fetchcreatetenant", "label": "fetchCreateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L56"}, {"id": "api_admin_fetchupdatetenant", "label": "fetchUpdateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L71"}, {"id": "api_admin_fetchdeletetenant", "label": "fetchDeleteTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L89"}, {"id": "api_admin_fetchuserlist", "label": "fetchUserList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L100"}, {"id": "api_admin_fetchuserdetail", "label": "fetchUserDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L119"}, {"id": "api_admin_fetchcreateuser", "label": "fetchCreateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L125"}, {"id": "api_admin_fetchupdateuser", "label": "fetchUpdateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L147"}, {"id": "api_admin_fetchdeleteuser", "label": "fetchDeleteUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L170"}, {"id": "api_admin_fetchresetpassword", "label": "fetchResetPassword()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L177"}, {"id": "api_admin_fetchuploaduseravatar", "label": "fetchUploadUserAvatar()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L185"}, {"id": "api_admin_fetchregionlist", "label": "fetchRegionList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L196"}, {"id": "api_admin_fetchactiveregions", "label": "fetchActiveRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L214"}, {"id": "api_admin_fetchnotdeletedregions", "label": "fetchNotDeletedRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L231"}, {"id": "api_admin_fetchcategorylist", "label": "fetchCategoryList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L259"}, {"id": "api_admin_fetchcreatecategory", "label": "fetchCreateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L277"}, {"id": "api_admin_fetchupdatecategory", "label": "fetchUpdateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L290"}, {"id": "api_admin_fetchdeletecategory", "label": "fetchDeleteCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L307"}, {"id": "api_admin_fetchuploadcategoryimage", "label": "fetchUploadCategoryImage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L313"}, {"id": "api_admin_fetchunitlist", "label": "fetchUnitList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L324"}, {"id": "api_admin_fetchcreateunit", "label": "fetchCrLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_refund_confirm_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/refund-confirm/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_types_import_components_d_ts", "label": "components.d.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_storage_entry_sms_notification_ts", "label": "storage-entry-sms-notification.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L1"}, {"id": "api_storage_entry_sms_notification_fetchstorageentrysmslist", "label": "fetchStorageEntrySmsList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L12"}, {"id": "api_storage_entry_sms_notification_fetchtogglestorageentrysmsnotified", "label": "fetchToggleStorageEntrySmsNotified()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L28"}, {"id": "api_storage_entry_sms_notification_fetchgeneratestorageentrysms", "label": "fetchGenerateStorageEntrySms()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L39"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_storage_entry_sms_notification_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_storage_entry_sms_notification_ts", "target": "api_storage_entry_sms_notification_fetchstorageentrysmslist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L12", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_storage_entry_sms_notification_ts", "target": "api_storage_entry_sms_notification_fetchtogglestorageentrysmsnotified", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L28", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_storage_entry_sms_notification_ts", "target": "api_storage_entry_sms_notification_fetchgeneratestorageentrysms", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L39", "weight": 1.0}], "raw_calls": [{"caller_nid": "api_storage_entry_sms_notification_fetchstorageentrysmslist", "callee": "get", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L21"}, {"caller_nid": "api_storage_entry_sms_notification_fetchtogglestorageentrysmsnotified", "callee": "put", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L32"}, {"caller_nid": "api_storage_entry_sms_notification_fetchgeneratestorageentrysms", "callee": "post", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/storage-entry-sms-notification.ts", "source_location": "L40"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "label": "collection-protocol.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1"}, {"id": "api_collection_protocol_fetchcollectionprotocollist", "label": "fetchCollectionProtocolList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L14"}, {"id": "api_collection_protocol_fetchcollectionprotocoldetail", "label": "fetchCollectionProtocolDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L30"}, {"id": "api_collection_protocol_fetchcollectionprotocolauditlist", "label": "fetchCollectionProtocolAuditList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L45"}, {"id": "api_collection_protocol_fetchsubmitprotocolaudit", "label": "fetchSubmitProtocolAudit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L57"}, {"id": "api_collection_protocol_fetchreceiptconfirmlist", "label": "fetchReceiptConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L69"}, {"id": "api_collection_protocol_fetchreceiptconfirmedlist", "label": "fetchReceiptConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L82"}, {"id": "api_collection_protocol_fetchreceiptconfirmsubmit", "label": "fetchReceiptConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L95"}, {"id": "api_collection_protocol_fetchrefundconfirmlist", "label": "fetchRefundConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L106"}, {"id": "api_collection_protocol_fetchrefundconfirmedlist", "label": "fetchRefundConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L119"}, {"id": "api_collection_protocol_fetchrefundconfirmsubmit", "label": "fetchRefundConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L132"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinance", "label": "fetchSubmitReceiptFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L143"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinancebatch", "label": "fetchSubmitReceiptFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L150"}, {"id": "api_collection_protocol_fetchsubmitrefundfinance", "label": "fetchSubmitRefundFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L158"}, {"id": "api_collection_protocol_fetchsubmitrefundfinancebatch", "label": "fetchSubmitRefundFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L173"}, {"id": "api_collection_protocol_fetchpaymentdetaillist", "label": "fetchPaymentDetailList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L186"}, {"id": "api_collection_protocol_fetchcreatecollectionprotocol", "label": "fetchCreateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L201"}, {"id": "api_collection_protocol_fetchupdatecollectionprotocol", "label": "fetchUpdateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L209"}, {"id": "api_collection_protocol_fetchdeletecollectionprotocol", "label": "fetchDeleteCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L220"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1", "weight": 1.0}, Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin_ts", "label": "admin.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L1"}, {"id": "api_admin_fetchgetmenulist", "label": "fetchGetMenuList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L10"}, {"id": "api_admin_fetchgetrolelist", "label": "fetchGetRoleList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L19"}, {"id": "api_admin_fetchuseroptions", "label": "fetchUserOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L26"}, {"id": "api_admin_fetchroleoptions", "label": "fetchRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L33"}, {"id": "api_admin_fetchtenantlist", "label": "fetchTenantList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L43"}, {"id": "api_admin_fetchcreatetenant", "label": "fetchCreateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L56"}, {"id": "api_admin_fetchupdatetenant", "label": "fetchUpdateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L71"}, {"id": "api_admin_fetchdeletetenant", "label": "fetchDeleteTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L89"}, {"id": "api_admin_fetchuserlist", "label": "fetchUserList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L100"}, {"id": "api_admin_fetchuserdetail", "label": "fetchUserDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L119"}, {"id": "api_admin_fetchcreateuser", "label": "fetchCreateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L125"}, {"id": "api_admin_fetchupdateuser", "label": "fetchUpdateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L147"}, {"id": "api_admin_fetchdeleteuser", "label": "fetchDeleteUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L170"}, {"id": "api_admin_fetchresetpassword", "label": "fetchResetPassword()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L177"}, {"id": "api_admin_fetchuploaduseravatar", "label": "fetchUploadUserAvatar()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L185"}, {"id": "api_admin_fetchregionlist", "label": "fetchRegionList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L196"}, {"id": "api_admin_fetchactiveregions", "label": "fetchActiveRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L214"}, {"id": "api_admin_fetchnotdeletedregions", "label": "fetchNotDeletedRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L231"}, {"id": "api_admin_fetchcategorylist", "label": "fetchCategoryList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L259"}, {"id": "api_admin_fetchcreatecategory", "label": "fetchCreateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L277"}, {"id": "api_admin_fetchupdatecategory", "label": "fetchUpdateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L290"}, {"id": "api_admin_fetchdeletecategory", "label": "fetchDeleteCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L307"}, {"id": "api_admin_fetchuploadcategoryimage", "label": "fetchUploadCategoryImage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L313"}, {"id": "api_admin_fetchunitlist", "label": "fetchUnitList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L324"}, {"id": "api_admin_fetchcreateunit", "label": "fetchCrLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_research_donation_audit_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/research-donation/audit/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "label": "collection-protocol.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1"}, {"id": "api_collection_protocol_fetchcollectionprotocollist", "label": "fetchCollectionProtocolList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L14"}, {"id": "api_collection_protocol_fetchcollectionprotocoldetail", "label": "fetchCollectionProtocolDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L30"}, {"id": "api_collection_protocol_fetchcollectionprotocolauditlist", "label": "fetchCollectionProtocolAuditList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L45"}, {"id": "api_collection_protocol_fetchsubmitprotocolaudit", "label": "fetchSubmitProtocolAudit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L57"}, {"id": "api_collection_protocol_fetchreceiptconfirmlist", "label": "fetchReceiptConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L69"}, {"id": "api_collection_protocol_fetchreceiptconfirmedlist", "label": "fetchReceiptConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L82"}, {"id": "api_collection_protocol_fetchreceiptconfirmsubmit", "label": "fetchReceiptConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L95"}, {"id": "api_collection_protocol_fetchrefundconfirmlist", "label": "fetchRefundConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L106"}, {"id": "api_collection_protocol_fetchrefundconfirmedlist", "label": "fetchRefundConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L113"}, {"id": "api_collection_protocol_fetchrefundconfirmsubmit", "label": "fetchRefundConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L120"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinance", "label": "fetchSubmitReceiptFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L131"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinancebatch", "label": "fetchSubmitReceiptFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L138"}, {"id": "api_collection_protocol_fetchsubmitrefundfinance", "label": "fetchSubmitRefundFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L146"}, {"id": "api_collection_protocol_fetchsubmitrefundfinancebatch", "label": "fetchSubmitRefundFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L161"}, {"id": "api_collection_protocol_fetchpaymentdetaillist", "label": "fetchPaymentDetailList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L174"}, {"id": "api_collection_protocol_fetchcreatecollectionprotocol", "label": "fetchCreateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L189"}, {"id": "api_collection_protocol_fetchupdatecollectionprotocol", "label": "fetchUpdateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L197"}, {"id": "api_collection_protocol_fetchdeletecollectionprotocol", "label": "fetchDeleteCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L208"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1", "weight": 1.0}, Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin_ts", "label": "admin.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L1"}, {"id": "api_admin_fetchgetmenulist", "label": "fetchGetMenuList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L10"}, {"id": "api_admin_fetchgetrolelist", "label": "fetchGetRoleList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L19"}, {"id": "api_admin_fetchuseroptions", "label": "fetchUserOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L26"}, {"id": "api_admin_fetchroleoptions", "label": "fetchRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L33"}, {"id": "api_admin_fetchtenantlist", "label": "fetchTenantList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L43"}, {"id": "api_admin_fetchcreatetenant", "label": "fetchCreateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L56"}, {"id": "api_admin_fetchupdatetenant", "label": "fetchUpdateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L71"}, {"id": "api_admin_fetchdeletetenant", "label": "fetchDeleteTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L89"}, {"id": "api_admin_fetchuserlist", "label": "fetchUserList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L100"}, {"id": "api_admin_fetchuserdetail", "label": "fetchUserDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L119"}, {"id": "api_admin_fetchcreateuser", "label": "fetchCreateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L125"}, {"id": "api_admin_fetchupdateuser", "label": "fetchUpdateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L147"}, {"id": "api_admin_fetchdeleteuser", "label": "fetchDeleteUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L170"}, {"id": "api_admin_fetchresetpassword", "label": "fetchResetPassword()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L177"}, {"id": "api_admin_fetchuploaduseravatar", "label": "fetchUploadUserAvatar()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L185"}, {"id": "api_admin_fetchregionlist", "label": "fetchRegionList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L196"}, {"id": "api_admin_fetchactiveregions", "label": "fetchActiveRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L214"}, {"id": "api_admin_fetchnotdeletedregions", "label": "fetchNotDeletedRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L231"}, {"id": "api_admin_fetchcategorylist", "label": "fetchCategoryList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L259"}, {"id": "api_admin_fetchcreatecategory", "label": "fetchCreateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L277"}, {"id": "api_admin_fetchupdatecategory", "label": "fetchUpdateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L290"}, {"id": "api_admin_fetchdeletecategory", "label": "fetchDeleteCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L307"}, {"id": "api_admin_fetchuploadcategoryimage", "label": "fetchUploadCategoryImage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L313"}, {"id": "api_admin_fetchunitlist", "label": "fetchUnitList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L324"}, {"id": "api_admin_fetchcreateunit", "label": "fetchCrLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "label": "research-donation.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L1"}, {"id": "api_research_donation_fetchresearchdonationlist", "label": "fetchResearchDonationList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L14"}, {"id": "api_research_donation_fetchresearchdonationdetail", "label": "fetchResearchDonationDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L31"}, {"id": "api_research_donation_fetchcreateresearchdonation", "label": "fetchCreateResearchDonation()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L44"}, {"id": "api_research_donation_fetchupdateresearchdonation", "label": "fetchUpdateResearchDonation()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L53"}, {"id": "api_research_donation_fetchdeleteresearchdonation", "label": "fetchDeleteResearchDonation()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L62"}, {"id": "api_research_donation_fetchbatchdeleteresearchdonation", "label": "fetchBatchDeleteResearchDonation()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L70"}, {"id": "api_research_donation_fetchresearchdonationauditlist", "label": "fetchResearchDonationAuditList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L79"}, {"id": "api_research_donation_fetchsubmitdonationaudit", "label": "fetchSubmitDonationAudit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L92"}, {"id": "api_research_donation_fetchdonationstatuschange", "label": "fetchDonationStatusChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L105"}, {"id": "api_research_donation_fetchconvertfromstorage", "label": "fetchConvertFromStorage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L117"}, {"id": "api_research_donation_fetchconverttostorage", "label": "fetchConvertToStorage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L126"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L1", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "target": "api_research_donation_fetchresearchdonationlist", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L14", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "target": "api_research_donation_fetchresearchdonationdetail", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L31", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "target": "api_research_donation_fetchcreateresearchdonation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L44", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "target": "api_research_donation_fetchupdateresearchdonation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L53", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "target": "api_research_donation_fetchdeleteresearchdonation", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/research-donation.ts", "source_location": "L62", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_research_donation_ts", "target": "api_researcLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_types_import_components_d_ts", "label": "components.d.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_service_order_finance_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order-finance/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_fullmoon_todo_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L1"}, {"id": "fullmoon_todo_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L638"}, {"id": "fullmoon_todo_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L656"}, {"id": "fullmoon_todo_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L661"}, {"id": "fullmoon_todo_index_formatymdfromany", "label": "formatYmdFromAny()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L669"}, {"id": "fullmoon_todo_index_normalizenewbornsex", "label": "normalizeNewbornSex()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L677"}, {"id": "fullmoon_todo_index_handleexportinsurancesheet", "label": "handleExportInsuranceSheet()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L685"}, {"id": "fullmoon_todo_index_resolveprotocolid", "label": "resolveProtocolId()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L834"}, {"id": "fullmoon_todo_index_resetformfields", "label": "resetFormFields()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L858"}, {"id": "fullmoon_todo_index_resetdialogcontext", "label": "resetDialogContext()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L874"}, {"id": "fullmoon_todo_index_handleinsurancedialogclosed", "label": "handleInsuranceDialogClosed()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L881"}, {"id": "fullmoon_todo_index_parseinsuranceattachmentsfromurls", "label": "parseInsuranceAttachmentsFromUrls()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L885"}, {"id": "fullmoon_todo_index_buildinsuranceattachmentsvalue", "label": "buildInsuranceAttachmentsValue()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L897"}, {"id": "fullmoon_todo_index_buildinsurancepayload", "label": "buildInsurancePayload()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L904"}, {"id": "fullmoon_todo_index_handlebatchedit", "label": "handleBatchEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L921"}, {"id": "fullmoon_todo_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L934"}, {"id": "fullmoon_todo_index_handleinsurancecompanychange", "label": "handleInsuranceCompanyChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L957"}, {"id": "fullmoon_todo_index_handleinsurancetypechange", "label": "handleInsuranceTypeChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L965"}, {"id": "fullmoon_todo_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L972"}, {"id": "fullmoon_todo_index_fullfileurl", "label": "fullFileUrl()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/fullmoon-todo/index.vue", "source_location": "L1034"}, {"id": "fullmoon_todo_index_isimagefile", "label": "isImageFile()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admiLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_payment_confirm_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/payment-confirm/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_protocol_audit_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol-audit/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_types_import_components_d_ts", "label": "components.d.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/types/import/components.d.ts", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_pilot_application_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L1"}, {"id": "pilot_application_index_displayvalue", "label": "displayValue()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L319"}, {"id": "pilot_application_index_formatserviceorderlabel", "label": "formatServiceOrderLabel()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L324"}, {"id": "pilot_application_index_onchannelselectfocus", "label": "onChannelSelectFocus()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L363"}, {"id": "pilot_application_index_loadchanneloptions", "label": "loadChannelOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L369"}, {"id": "pilot_application_index_handlesearchchannelchange", "label": "handleSearchChannelChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L386"}, {"id": "pilot_application_index_loadsearchserviceorders", "label": "loadSearchServiceOrders()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L395"}, {"id": "pilot_application_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L416"}, {"id": "pilot_application_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L439"}, {"id": "pilot_application_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L444"}, {"id": "pilot_application_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L457"}, {"id": "pilot_application_index_ondialogchannelfocus", "label": "onDialogChannelFocus()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L484"}, {"id": "pilot_application_index_loaddialogchanneloptions", "label": "loadDialogChannelOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L490"}, {"id": "pilot_application_index_handledialogchannelchange", "label": "handleDialogChannelChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L507"}, {"id": "pilot_application_index_handlecreate", "label": "handleCreate()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L526"}, {"id": "pilot_application_index_handledialogclose", "label": "handleDialogClose()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L535"}, {"id": "pilot_application_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L539"}, {"id": "pilot_application_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L570"}, {"id": "pilot_application_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L576"}, {"id": "pilot_application_index_handlestart", "label": "handleStart()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/index.vue", "source_location": "L587"}, {"id": "pilot_application_index_handlecomplete", "label": "handlLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_service_order_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1"}, {"id": "channel_service_order_index_validate", "label": "validate()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1206"}, {"id": "channel_service_order_index_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1211"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_service_order_index_vue", "target": "channel_service_order_index_validate", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1206", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_channel_service_order_index_vue", "target": "channel_service_order_index_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1211", "weight": 1.0}], "raw_calls": [{"caller_nid": "channel_service_order_index_if", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1213"}, {"caller_nid": "channel_service_order_index_if", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1216"}, {"caller_nid": "channel_service_order_index_if", "callee": "map", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1216"}, {"caller_nid": "channel_service_order_index_if", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1218"}, {"caller_nid": "channel_service_order_index_if", "callee": "some", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1221"}, {"caller_nid": "channel_service_order_index_if", "callee": "warning", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/channel-service-order/index.vue", "source_location": "L1225"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_storage_cert_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/storage-cert/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_pilot_application_applicationdetail_vue", "label": "ApplicationDetail.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L1"}, {"id": "pilot_application_applicationdetail_if", "label": "if()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L1453"}, {"id": "pilot_application_applicationdetail_catch", "label": "catch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L1907"}, {"id": "pilot_application_applicationdetail_async", "label": "async()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2042"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_pilot_application_applicationdetail_vue", "target": "pilot_application_applicationdetail_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L1453", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_pilot_application_applicationdetail_vue", "target": "pilot_application_applicationdetail_catch", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L1907", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_pilot_application_applicationdetail_vue", "target": "pilot_application_applicationdetail_if", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2027", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_pilot_service_pilot_application_applicationdetail_vue", "target": "pilot_application_applicationdetail_async", "relation": "contains", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2042", "weight": 1.0}], "raw_calls": [{"caller_nid": "pilot_application_applicationdetail_if", "callee": "filter", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L1604"}, {"caller_nid": "pilot_application_applicationdetail_catch", "callee": "error", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L1908"}, {"caller_nid": "pilot_application_applicationdetail_if", "callee": "parseAttachmentUrls", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2034"}, {"caller_nid": "pilot_application_applicationdetail_async", "callee": "append", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2046"}, {"caller_nid": "pilot_application_applicationdetail_async", "callee": "fetchUploadAttachment", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2047"}, {"caller_nid": "pilot_application_applicationdetail_async", "callee": "push", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2050"}, {"caller_nid": "pilot_application_applicationdetail_async", "callee": "error", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/pilot-service/pilot-application/ApplicationDetail.vue", "source_location": "L2053"}]}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin_ts", "label": "admin.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L1"}, {"id": "api_admin_fetchgetmenulist", "label": "fetchGetMenuList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L10"}, {"id": "api_admin_fetchgetrolelist", "label": "fetchGetRoleList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L19"}, {"id": "api_admin_fetchuseroptions", "label": "fetchUserOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L26"}, {"id": "api_admin_fetchroleoptions", "label": "fetchRoleOptions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L33"}, {"id": "api_admin_fetchtenantlist", "label": "fetchTenantList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L43"}, {"id": "api_admin_fetchcreatetenant", "label": "fetchCreateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L56"}, {"id": "api_admin_fetchupdatetenant", "label": "fetchUpdateTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L71"}, {"id": "api_admin_fetchdeletetenant", "label": "fetchDeleteTenant()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L89"}, {"id": "api_admin_fetchuserlist", "label": "fetchUserList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L100"}, {"id": "api_admin_fetchuserdetail", "label": "fetchUserDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L119"}, {"id": "api_admin_fetchcreateuser", "label": "fetchCreateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L125"}, {"id": "api_admin_fetchupdateuser", "label": "fetchUpdateUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L147"}, {"id": "api_admin_fetchdeleteuser", "label": "fetchDeleteUser()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L170"}, {"id": "api_admin_fetchresetpassword", "label": "fetchResetPassword()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L177"}, {"id": "api_admin_fetchuploaduseravatar", "label": "fetchUploadUserAvatar()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L185"}, {"id": "api_admin_fetchregionlist", "label": "fetchRegionList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L196"}, {"id": "api_admin_fetchactiveregions", "label": "fetchActiveRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L214"}, {"id": "api_admin_fetchnotdeletedregions", "label": "fetchNotDeletedRegions()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L231"}, {"id": "api_admin_fetchcategorylist", "label": "fetchCategoryList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L259"}, {"id": "api_admin_fetchcreatecategory", "label": "fetchCreateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L277"}, {"id": "api_admin_fetchupdatecategory", "label": "fetchUpdateCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L290"}, {"id": "api_admin_fetchdeletecategory", "label": "fetchDeleteCategory()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L307"}, {"id": "api_admin_fetchuploadcategoryimage", "label": "fetchUploadCategoryImage()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L313"}, {"id": "api_admin_fetchunitlist", "label": "fetchUnitList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/admin.ts", "source_location": "L324"}, {"id": "api_admin_fetchcreateunit", "label": "fetchCrLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_research_donation_list_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/research-donation/list/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_operations_exhibition_appointment_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/operations/exhibition-appointment/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_customer_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L1"}, {"id": "customer_index_formatlocaldate", "label": "formatLocalDate()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L253"}, {"id": "customer_index_handleview", "label": "handleView()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L302"}, {"id": "customer_index_handleselectionchange", "label": "handleSelectionChange()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L322"}, {"id": "customer_index_loaddata", "label": "loadData()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L326"}, {"id": "customer_index_handlesearch", "label": "handleSearch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L343"}, {"id": "customer_index_handlereset", "label": "handleReset()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L348"}, {"id": "customer_index_resetform", "label": "resetForm()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L355"}, {"id": "customer_index_handleadd", "label": "handleAdd()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L367"}, {"id": "customer_index_handleedit", "label": "handleEdit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L375"}, {"id": "customer_index_handlesubmit", "label": "handleSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L391"}, {"id": "customer_index_handledelete", "label": "handleDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L420"}, {"id": "customer_index_handlebatchdelete", "label": "handleBatchDelete()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L427"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_customer_index_vue", "target": "element_plus", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L239", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_customer_index_vue", "target": "icons_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L240", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_customer_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_fullscreen_loading", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L241", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_customer_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_api_admin", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L242", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_customer_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_components_business_system_view_dialog_index_vue", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_location": "L248", "weight": 1.0}, {"source": "users_wuzilong_work_00code_zkxw_web_admin_src_views_basic_info_customer_index_vue", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_status_tag_registry", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/basic-info/customer/index.vue", "source_lLine truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_storage_entry_info_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/storage-entry-info/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_router_modules_sqxp_ts", "label": "sqxp.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts", "source_location": "L1"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_router_modules_sqxp_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_types_router", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/router/modules/sqxp.ts", "source_location": "L1", "weight": 1.0}], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_payment_info_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/payment-info/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_views_cell_storage_protocol_index_vue", "label": "index.vue", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/views/cell-storage/protocol/index.vue", "source_location": "L1"}], "edges": [], "raw_calls": []}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "label": "collection-protocol.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1"}, {"id": "api_collection_protocol_fetchcollectionprotocollist", "label": "fetchCollectionProtocolList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L14"}, {"id": "api_collection_protocol_fetchcollectionprotocoldetail", "label": "fetchCollectionProtocolDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L30"}, {"id": "api_collection_protocol_fetchcollectionprotocolauditlist", "label": "fetchCollectionProtocolAuditList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L45"}, {"id": "api_collection_protocol_fetchsubmitprotocolaudit", "label": "fetchSubmitProtocolAudit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L57"}, {"id": "api_collection_protocol_fetchreceiptconfirmlist", "label": "fetchReceiptConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L69"}, {"id": "api_collection_protocol_fetchreceiptconfirmedlist", "label": "fetchReceiptConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L76"}, {"id": "api_collection_protocol_fetchreceiptconfirmsubmit", "label": "fetchReceiptConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L83"}, {"id": "api_collection_protocol_fetchrefundconfirmlist", "label": "fetchRefundConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L94"}, {"id": "api_collection_protocol_fetchrefundconfirmedlist", "label": "fetchRefundConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L101"}, {"id": "api_collection_protocol_fetchrefundconfirmsubmit", "label": "fetchRefundConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L108"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinance", "label": "fetchSubmitReceiptFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L119"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinancebatch", "label": "fetchSubmitReceiptFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L126"}, {"id": "api_collection_protocol_fetchsubmitrefundfinance", "label": "fetchSubmitRefundFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L134"}, {"id": "api_collection_protocol_fetchsubmitrefundfinancebatch", "label": "fetchSubmitRefundFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L149"}, {"id": "api_collection_protocol_fetchpaymentdetaillist", "label": "fetchPaymentDetailList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L162"}, {"id": "api_collection_protocol_fetchcreatecollectionprotocol", "label": "fetchCreateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L177"}, {"id": "api_collection_protocol_fetchupdatecollectionprotocol", "label": "fetchUpdateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L185"}, {"id": "api_collection_protocol_fetchdeletecollectionprotocol", "label": "fetchDeleteCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L196"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1", "weight": 1.0}, {Line truncated
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [{"id": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "label": "collection-protocol.ts", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1"}, {"id": "api_collection_protocol_fetchcollectionprotocollist", "label": "fetchCollectionProtocolList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L14"}, {"id": "api_collection_protocol_fetchcollectionprotocoldetail", "label": "fetchCollectionProtocolDetail()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L30"}, {"id": "api_collection_protocol_fetchcollectionprotocolauditlist", "label": "fetchCollectionProtocolAuditList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L45"}, {"id": "api_collection_protocol_fetchsubmitprotocolaudit", "label": "fetchSubmitProtocolAudit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L57"}, {"id": "api_collection_protocol_fetchreceiptconfirmlist", "label": "fetchReceiptConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L69"}, {"id": "api_collection_protocol_fetchreceiptconfirmedlist", "label": "fetchReceiptConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L76"}, {"id": "api_collection_protocol_fetchreceiptconfirmsubmit", "label": "fetchReceiptConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L83"}, {"id": "api_collection_protocol_fetchrefundconfirmlist", "label": "fetchRefundConfirmList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L94"}, {"id": "api_collection_protocol_fetchrefundconfirmedlist", "label": "fetchRefundConfirmedList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L101"}, {"id": "api_collection_protocol_fetchrefundconfirmsubmit", "label": "fetchRefundConfirmSubmit()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L108"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinance", "label": "fetchSubmitReceiptFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L119"}, {"id": "api_collection_protocol_fetchsubmitreceiptfinancebatch", "label": "fetchSubmitReceiptFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L126"}, {"id": "api_collection_protocol_fetchsubmitrefundfinance", "label": "fetchSubmitRefundFinance()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L134"}, {"id": "api_collection_protocol_fetchsubmitrefundfinancebatch", "label": "fetchSubmitRefundFinanceBatch()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L149"}, {"id": "api_collection_protocol_fetchpaymentdetaillist", "label": "fetchPaymentDetailList()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L162"}, {"id": "api_collection_protocol_fetchcreatecollectionprotocol", "label": "fetchCreateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L175"}, {"id": "api_collection_protocol_fetchupdatecollectionprotocol", "label": "fetchUpdateCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L183"}, {"id": "api_collection_protocol_fetchdeletecollectionprotocol", "label": "fetchDeleteCollectionProtocol()", "file_type": "code", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L194"}], "edges": [{"source": "users_wuzilong_work_00code_zkxw_web_admin_src_api_collection_protocol_ts", "target": "users_wuzilong_work_00code_zkxw_web_admin_src_utils_http", "relation": "imports_from", "confidence": "EXTRACTED", "source_file": "/Users/wuzilong/work/00code/zkxw/web-admin/src/api/collection-protocol.ts", "source_location": "L1", "weight": 1.0}, {Line truncated
|
||||
@@ -639,6 +639,20 @@ export const sqxpAdminRoutes: AppRouteRecord[] = [
|
||||
keepAlive: true,
|
||||
menuCode: 'pilot-service:channel-service-order-finance:list'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: '80000000000000000000000000000010',
|
||||
name: 'PilotApplication',
|
||||
path: 'pilot-application',
|
||||
component: '/pilot-service/pilot-application/index',
|
||||
meta: { title: '中试服务申请单', icon: 'i-ep:document' }
|
||||
},
|
||||
{
|
||||
id: '80000000000000000000000000000011',
|
||||
name: 'PilotApplicationDetail',
|
||||
path: 'pilot-application/detail',
|
||||
component: '/pilot-service/pilot-application/ApplicationDetail',
|
||||
meta: { title: '申请单详情', hidden: true }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -415,3 +415,78 @@ export const txnStatusTagType = (status: string): string => {
|
||||
return map[status] || 'info'
|
||||
}
|
||||
|
||||
/** 中试申请单状态 */
|
||||
export function applicationStatusLabel(status: string): string {
|
||||
const map: Record<string, string> = { dks: '待开始', jxz: '进行中', ywc: '已完成', yzf: '已作废' }
|
||||
return map[status] || status || '-'
|
||||
}
|
||||
export function applicationStatusTagType(status: string): '' | 'success' | 'warning' | 'danger' | 'info' {
|
||||
const map: Record<string, '' | 'success' | 'warning' | 'danger' | 'info'> = {
|
||||
dks: 'info', jxz: '', ywc: 'success', yzf: 'danger'
|
||||
}
|
||||
return map[status] || 'info'
|
||||
}
|
||||
|
||||
// ========== 中试服务体检状态 ==========
|
||||
export function checkupStatusLabel(status: string): string {
|
||||
const map: Record<string, string> = {
|
||||
dtj: '待体检',
|
||||
ytj: '已体检',
|
||||
}
|
||||
return map[status] || status || '-'
|
||||
}
|
||||
|
||||
export function checkupStatusTagType(status: string): string {
|
||||
const map: Record<string, string> = {
|
||||
dtj: 'warning',
|
||||
ytj: 'success',
|
||||
}
|
||||
return map[status] || 'info'
|
||||
}
|
||||
|
||||
export function feeStatusLabel(status: string): string {
|
||||
const map: Record<string, string> = {
|
||||
wjs: '未结算',
|
||||
yjs: '已结算',
|
||||
}
|
||||
return map[status] || status || '-'
|
||||
}
|
||||
|
||||
export function feeStatusTagType(status: string): string {
|
||||
const map: Record<string, string> = {
|
||||
wjs: 'info',
|
||||
yjs: 'success',
|
||||
}
|
||||
return map[status] || 'info'
|
||||
}
|
||||
|
||||
// ========== 中试服务 - 输注计划状态 ==========
|
||||
export function scheduleStatusLabel(status: string): string {
|
||||
const map: Record<string, string> = {
|
||||
dsc: '待生产',
|
||||
ysc: '已生产',
|
||||
yjf: '已交付',
|
||||
yqx: '已取消',
|
||||
}
|
||||
return map[status] || status || '-'
|
||||
}
|
||||
export function scheduleStatusTagType(status: string): string {
|
||||
const map: Record<string, string> = {
|
||||
dsc: 'info',
|
||||
ysc: '',
|
||||
yjf: 'success',
|
||||
yqx: 'danger',
|
||||
}
|
||||
return map[status] || 'info'
|
||||
}
|
||||
|
||||
// ========== 中试服务 - 放行审核结论 ==========
|
||||
export function releaseReviewConclusionLabel(conclusion: string): string {
|
||||
const map: Record<string, string> = { tg: '通过', btg: '不通过' }
|
||||
return map[conclusion] || conclusion || '-'
|
||||
}
|
||||
export function releaseReviewConclusionTagType(conclusion: string): string {
|
||||
const map: Record<string, string> = { tg: 'success', btg: 'danger' }
|
||||
return map[conclusion] || 'info'
|
||||
}
|
||||
|
||||
@@ -22,9 +22,20 @@
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">支持模糊查询。</span>
|
||||
<span class="filter-hint">支持模糊查询;默认展示近 30 天内创建的客户。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"><el-icon><RefreshLeft /></el-icon>重置</el-button>
|
||||
<el-button class="btn-main" type="primary" @click="handleSearch"><el-icon><Search /></el-icon>搜索</el-button>
|
||||
@@ -239,7 +250,22 @@
|
||||
|
||||
defineOptions({ name: 'BizCustomer' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultCreateTimeRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive<{ keyword: string }>({ keyword: '' })
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultCreateTimeRange())
|
||||
const tableData = ref<Api.BizCustomer.CustomerItem[]>([])
|
||||
const selectedRows = ref<Api.BizCustomer.CustomerItem[]>([])
|
||||
const loading = ref(false)
|
||||
@@ -303,7 +329,9 @@
|
||||
const res = await fetchCustomerList({
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined
|
||||
keyword: searchForm.keyword || undefined,
|
||||
createTimeStart: createTimeRange.value?.[0] || undefined,
|
||||
createTimeEnd: createTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -319,6 +347,7 @@
|
||||
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
createTimeRange.value = getDefaultCreateTimeRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -412,7 +441,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -37,8 +37,20 @@
|
||||
<el-option label="已办保险" value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="满月日期">
|
||||
<el-date-picker
|
||||
v-model="fullmoonDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">支持按协议号、姓名模糊检索;待办状态默认未办保险,满月日期默认近 30 天。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
@@ -481,10 +493,25 @@
|
||||
|
||||
defineOptions({ name: 'CellStorageFullmoonTodo' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultFullmoonDateRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 搜索 & 主表
|
||||
// ---------------------------------------------------------------------------
|
||||
const searchForm = reactive({ keyword: '', todoStatus: '' })
|
||||
const searchForm = reactive({ keyword: '', todoStatus: '0' })
|
||||
const fullmoonDateRange = ref<[string, string] | null>(getDefaultFullmoonDateRange())
|
||||
const tableData = ref<any[]>([])
|
||||
const tableRef = ref()
|
||||
const selectedRows = ref<any[]>([])
|
||||
@@ -615,7 +642,9 @@
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
todoStatus: searchForm.todoStatus || undefined
|
||||
todoStatus: searchForm.todoStatus || undefined,
|
||||
fullmoonDateStart: fullmoonDateRange.value?.[0] || undefined,
|
||||
fullmoonDateEnd: fullmoonDateRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = (res as any)?.list || []
|
||||
pagination.total = (res as any)?.total ?? 0
|
||||
@@ -631,7 +660,8 @@
|
||||
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.todoStatus = ''
|
||||
searchForm.todoStatus = '0'
|
||||
fullmoonDateRange.value = getDefaultFullmoonDateRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -1093,7 +1123,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, fullmoonDateRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -30,6 +30,45 @@
|
||||
<h2>缴费确认列表</h2>
|
||||
</div>
|
||||
|
||||
<div class="filter-block">
|
||||
<el-form :model="searchForm" class="filter-form" label-position="top" @submit.prevent>
|
||||
<div class="filter-grid">
|
||||
<el-form-item label="关键词">
|
||||
<el-input
|
||||
v-model="searchForm.keyword"
|
||||
placeholder="协议号/客户姓名/身份证号/新生儿姓名/新生儿身份证号"
|
||||
clearable
|
||||
@keyup.enter="handleSearch"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="应缴费时间">
|
||||
<el-date-picker
|
||||
v-model="installmentDueDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint"
|
||||
>支持协议号、客户姓名、身份证号、新生儿姓名、新生儿身份证号模糊检索;默认展示近 30 天内应缴费的明细。</span
|
||||
>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
</el-button>
|
||||
<el-button class="btn-main" type="primary" @click="handleSearch">
|
||||
<el-icon><Search /></el-icon>搜索
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div class="list-body list-wrap payment-confirm-table-wrap">
|
||||
<el-table class="list-table" :data="tableData" v-loading="loading" stripe row-key="id" @row-dblclick="handleRowDblClick">
|
||||
<el-table-column
|
||||
@@ -230,7 +269,7 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onMounted, computed } from 'vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { Close, Check } from '@element-plus/icons-vue'
|
||||
import { Close, Check, RefreshLeft, Search } from '@element-plus/icons-vue'
|
||||
import {
|
||||
fetchReceiptConfirmList,
|
||||
fetchReceiptConfirmedList,
|
||||
@@ -256,6 +295,23 @@
|
||||
|
||||
defineOptions({ name: 'CellStoragePaymentConfirm' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultInstallmentDueDateRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive({ keyword: '' })
|
||||
const installmentDueDateRange = ref<[string, string] | null>(getDefaultInstallmentDueDateRange())
|
||||
|
||||
const tabs = [
|
||||
{ key: 'pending', label: '待确认' },
|
||||
{ key: 'confirmed', label: '已确认' }
|
||||
@@ -311,10 +367,20 @@
|
||||
downloadAttachmentFile(file, { fullFileUrl })
|
||||
}
|
||||
|
||||
function buildListParams() {
|
||||
return {
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
installmentDueDateStart: installmentDueDateRange.value?.[0] || undefined,
|
||||
installmentDueDateEnd: installmentDueDateRange.value?.[1] || undefined
|
||||
}
|
||||
}
|
||||
|
||||
async function loadData() {
|
||||
loading.value = true
|
||||
try {
|
||||
const params = { page: pagination.page, pageSize: pagination.pageSize }
|
||||
const params = buildListParams()
|
||||
const res =
|
||||
activeTab.value === 'pending'
|
||||
? await fetchReceiptConfirmList(params)
|
||||
@@ -333,6 +399,18 @@
|
||||
loadData()
|
||||
}
|
||||
|
||||
function handleSearch() {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
installmentDueDateRange.value = getDefaultInstallmentDueDateRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
|
||||
function openConfirm(row: Record<string, unknown>) {
|
||||
currentDetailId.value = String(row.id)
|
||||
confirmRow.value = row
|
||||
@@ -370,6 +448,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
watchDebounced(
|
||||
[searchForm, installmentDueDateRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
},
|
||||
{ debounce: 300, deep: true }
|
||||
)
|
||||
|
||||
onMounted(() => {
|
||||
loadData()
|
||||
})
|
||||
@@ -404,6 +491,19 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.filter-form :deep(.el-form-item) {
|
||||
margin-bottom: 0;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.filter-form :deep(.el-form-item__label) {
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: var(--mint-text-muted, #64748b);
|
||||
padding: 0 0 4px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.payment-confirm-table-wrap {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
@@ -48,9 +48,20 @@
|
||||
<el-option label="现金" value="xj" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="应缴费时间">
|
||||
<el-date-picker
|
||||
v-model="installmentDueDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">支持按协议号模糊检索。</span>
|
||||
<span class="filter-hint">支持按协议号模糊检索;默认展示近 30 天内应缴费的明细。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
@@ -447,6 +458,20 @@
|
||||
|
||||
defineOptions({ name: 'CellStoragePaymentInfo' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultInstallmentDueDateRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const tabs = [
|
||||
{ key: 'dfj', label: '待缴费' },
|
||||
{ key: 'jfqrz', label: '缴费确认中' },
|
||||
@@ -457,6 +482,7 @@
|
||||
|
||||
const activeTab = ref('dfj')
|
||||
const searchForm = reactive({ keyword: '', transferType: '' })
|
||||
const installmentDueDateRange = ref<[string, string] | null>(getDefaultInstallmentDueDateRange())
|
||||
const tableData = ref<Record<string, unknown>[]>([])
|
||||
const selectedRows = ref<Record<string, unknown>[]>([])
|
||||
const loading = ref(false)
|
||||
@@ -533,7 +559,9 @@
|
||||
pageSize: pagination.pageSize,
|
||||
payStatus: activeTab.value,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
transferType: searchForm.transferType || undefined
|
||||
transferType: searchForm.transferType || undefined,
|
||||
installmentDueDateStart: installmentDueDateRange.value?.[0] || undefined,
|
||||
installmentDueDateEnd: installmentDueDateRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -713,12 +741,13 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.transferType = ''
|
||||
installmentDueDateRange.value = getDefaultInstallmentDueDateRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, installmentDueDateRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -32,9 +32,32 @@
|
||||
<el-option label="转科研" value="zky" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="样本采集时间">
|
||||
<el-date-picker
|
||||
v-model="sampleCollectTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗。</span>
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗;默认展示近 30 天内创建的协议单。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"
|
||||
><el-icon><RefreshLeft /></el-icon>重置</el-button
|
||||
@@ -326,11 +349,27 @@
|
||||
|
||||
defineOptions({ name: 'CellStorageProtocolAudit' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultCreateTimeRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
/* ====== 列表 ====== */
|
||||
const searchForm = reactive<{ keyword: string; protocolStatus: string }>({
|
||||
keyword: '',
|
||||
protocolStatus: ''
|
||||
})
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultCreateTimeRange())
|
||||
const sampleCollectTimeRange = ref<[string, string] | null>(null)
|
||||
const tableData = ref<CollectionProtocolRow[]>([])
|
||||
const selectedRows = ref<CollectionProtocolRow[]>([])
|
||||
const loading = ref(false)
|
||||
@@ -347,7 +386,11 @@
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
protocolStatus: searchForm.protocolStatus || undefined
|
||||
protocolStatus: searchForm.protocolStatus || undefined,
|
||||
createTimeStart: createTimeRange.value?.[0] || undefined,
|
||||
createTimeEnd: createTimeRange.value?.[1] || undefined,
|
||||
sampleCollectTimeStart: sampleCollectTimeRange.value?.[0] || undefined,
|
||||
sampleCollectTimeEnd: sampleCollectTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -364,6 +407,8 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.protocolStatus = ''
|
||||
createTimeRange.value = getDefaultCreateTimeRange()
|
||||
sampleCollectTimeRange.value = null
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -485,7 +530,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange, sampleCollectTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -32,9 +32,32 @@
|
||||
<el-option label="转科研" value="zky" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="样本采集时间">
|
||||
<el-date-picker
|
||||
v-model="sampleCollectTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗。</span>
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗;默认展示近 30 天内创建的协议单。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"
|
||||
><el-icon><RefreshLeft /></el-icon>重置</el-button
|
||||
@@ -284,11 +307,27 @@
|
||||
|
||||
defineOptions({ name: 'CellStorageProtocol' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultCreateTimeRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
/* ====== 列表 ====== */
|
||||
const searchForm = reactive<{ keyword: string; protocolStatus: string }>({
|
||||
keyword: '',
|
||||
protocolStatus: ''
|
||||
})
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultCreateTimeRange())
|
||||
const sampleCollectTimeRange = ref<[string, string] | null>(null)
|
||||
const tableData = ref<CollectionProtocolRow[]>([])
|
||||
const selectedRows = ref<CollectionProtocolRow[]>([])
|
||||
const loading = ref(false)
|
||||
@@ -305,7 +344,11 @@
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
protocolStatus: searchForm.protocolStatus || undefined
|
||||
protocolStatus: searchForm.protocolStatus || undefined,
|
||||
createTimeStart: createTimeRange.value?.[0] || undefined,
|
||||
createTimeEnd: createTimeRange.value?.[1] || undefined,
|
||||
sampleCollectTimeStart: sampleCollectTimeRange.value?.[0] || undefined,
|
||||
sampleCollectTimeEnd: sampleCollectTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -322,6 +365,8 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.protocolStatus = ''
|
||||
createTimeRange.value = getDefaultCreateTimeRange()
|
||||
sampleCollectTimeRange.value = null
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -391,7 +436,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange, sampleCollectTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -30,6 +30,45 @@
|
||||
<h2>退费确认列表</h2>
|
||||
</div>
|
||||
|
||||
<div class="filter-block">
|
||||
<el-form :model="searchForm" class="filter-form" label-position="top" @submit.prevent>
|
||||
<div class="filter-grid">
|
||||
<el-form-item label="关键词">
|
||||
<el-input
|
||||
v-model="searchForm.keyword"
|
||||
placeholder="协议号/客户姓名/身份证号/新生儿姓名/新生儿身份证号"
|
||||
clearable
|
||||
@keyup.enter="handleSearch"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="应缴费时间">
|
||||
<el-date-picker
|
||||
v-model="installmentDueDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint"
|
||||
>支持协议号、客户姓名、身份证号、新生儿姓名、新生儿身份证号模糊检索;默认展示近 30 天内应缴费的明细。</span
|
||||
>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
</el-button>
|
||||
<el-button class="btn-main" type="primary" @click="handleSearch">
|
||||
<el-icon><Search /></el-icon>搜索
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div class="list-body list-wrap refund-confirm-table-wrap">
|
||||
<el-table class="list-table" :data="tableData" v-loading="loading" stripe row-key="id" @row-dblclick="handleRowDblClick">
|
||||
<el-table-column
|
||||
@@ -247,7 +286,7 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onMounted, computed } from 'vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { Close, Check } from '@element-plus/icons-vue'
|
||||
import { Close, Check, RefreshLeft, Search } from '@element-plus/icons-vue'
|
||||
import {
|
||||
fetchRefundConfirmList,
|
||||
fetchRefundConfirmedList,
|
||||
@@ -273,6 +312,23 @@
|
||||
|
||||
defineOptions({ name: 'CellStorageRefundConfirm' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultInstallmentDueDateRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive({ keyword: '' })
|
||||
const installmentDueDateRange = ref<[string, string] | null>(getDefaultInstallmentDueDateRange())
|
||||
|
||||
const tabs = [
|
||||
{ key: 'pending', label: '待确认' },
|
||||
{ key: 'confirmed', label: '已确认' }
|
||||
@@ -328,10 +384,20 @@
|
||||
downloadAttachmentFile(file, { fullFileUrl })
|
||||
}
|
||||
|
||||
function buildListParams() {
|
||||
return {
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
installmentDueDateStart: installmentDueDateRange.value?.[0] || undefined,
|
||||
installmentDueDateEnd: installmentDueDateRange.value?.[1] || undefined
|
||||
}
|
||||
}
|
||||
|
||||
async function loadData() {
|
||||
loading.value = true
|
||||
try {
|
||||
const params = { page: pagination.page, pageSize: pagination.pageSize }
|
||||
const params = buildListParams()
|
||||
const res =
|
||||
activeTab.value === 'pending'
|
||||
? await fetchRefundConfirmList(params)
|
||||
@@ -350,6 +416,18 @@
|
||||
loadData()
|
||||
}
|
||||
|
||||
function handleSearch() {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
installmentDueDateRange.value = getDefaultInstallmentDueDateRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
|
||||
function openConfirm(row: Record<string, unknown>) {
|
||||
currentDetailId.value = String(row.id)
|
||||
confirmRow.value = row
|
||||
@@ -387,6 +465,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
watchDebounced(
|
||||
[searchForm, installmentDueDateRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
},
|
||||
{ debounce: 300, deep: true }
|
||||
)
|
||||
|
||||
onMounted(() => {
|
||||
loadData()
|
||||
})
|
||||
@@ -421,6 +508,19 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.filter-form :deep(.el-form-item) {
|
||||
margin-bottom: 0;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.filter-form :deep(.el-form-item__label) {
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: var(--mint-text-muted, #64748b);
|
||||
padding: 0 0 4px;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.refund-confirm-table-wrap {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
@@ -30,8 +30,20 @@
|
||||
<el-option label="未通知" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="接收时间">
|
||||
<el-date-picker
|
||||
v-model="receptionTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">支持按协议号、姓名、样本编码模糊检索;默认展示近 30 天内接收的样本。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
@@ -155,7 +167,22 @@
|
||||
|
||||
defineOptions({ name: 'CellStorageSampleReceptionInfo' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultReceptionTimeRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive({ keyword: '', acceptConclusion: '', smsNotified: '' })
|
||||
const receptionTimeRange = ref<[string, string] | null>(getDefaultReceptionTimeRange())
|
||||
const tableData = ref<any[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
@@ -174,7 +201,9 @@
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
acceptConclusion: searchForm.acceptConclusion || undefined,
|
||||
smsNotified: searchForm.smsNotified || undefined
|
||||
smsNotified: searchForm.smsNotified || undefined,
|
||||
receptionTimeStart: receptionTimeRange.value?.[0] || undefined,
|
||||
receptionTimeEnd: receptionTimeRange.value?.[1] || undefined
|
||||
})
|
||||
const res = (result as any) || {}
|
||||
tableData.value = res.list || []
|
||||
@@ -191,6 +220,7 @@
|
||||
|
||||
function handleReset() {
|
||||
Object.assign(searchForm, { keyword: '', acceptConclusion: '', smsNotified: '' })
|
||||
receptionTimeRange.value = getDefaultReceptionTimeRange()
|
||||
handleSearch()
|
||||
}
|
||||
|
||||
@@ -240,7 +270,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, receptionTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -24,8 +24,20 @@
|
||||
<el-option label="已制作" value="1" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="入库日期">
|
||||
<el-date-picker
|
||||
v-model="storageInDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">支持按协议号、姓名模糊检索;制作状态默认未制作,入库日期默认近 30 天。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
@@ -317,10 +329,25 @@
|
||||
|
||||
defineOptions({ name: 'CellStorageStorageCert' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultStorageInDateRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 搜索 & 主表
|
||||
// ---------------------------------------------------------------------------
|
||||
const searchForm = reactive({ keyword: '', makeStatus: '' })
|
||||
const searchForm = reactive({ keyword: '', makeStatus: '0' })
|
||||
const storageInDateRange = ref<[string, string] | null>(getDefaultStorageInDateRange())
|
||||
const tableData = ref<any[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
@@ -393,7 +420,9 @@
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
makeStatus: searchForm.makeStatus || undefined
|
||||
makeStatus: searchForm.makeStatus || undefined,
|
||||
storageInDateStart: storageInDateRange.value?.[0] || undefined,
|
||||
storageInDateEnd: storageInDateRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = (res as any)?.list || []
|
||||
pagination.total = (res as any)?.total ?? 0
|
||||
@@ -409,7 +438,8 @@
|
||||
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.makeStatus = ''
|
||||
searchForm.makeStatus = '0'
|
||||
storageInDateRange.value = getDefaultStorageInDateRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -593,7 +623,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, storageInDateRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -30,8 +30,20 @@
|
||||
<el-option label="未通知" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="入库时间">
|
||||
<el-date-picker
|
||||
v-model="storageTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">支持按协议号、姓名、样本编码模糊检索;默认展示近 30 天内入库的样本。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
@@ -161,7 +173,22 @@
|
||||
|
||||
defineOptions({ name: 'CellStorageStorageEntryInfo' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultStorageTimeRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive({ keyword: '', storageStatus: '', smsNotified: '' })
|
||||
const storageTimeRange = ref<[string, string] | null>(getDefaultStorageTimeRange())
|
||||
const tableData = ref<any[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
@@ -180,7 +207,9 @@
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
storageStatus: searchForm.storageStatus || undefined,
|
||||
smsNotified: searchForm.smsNotified || undefined
|
||||
smsNotified: searchForm.smsNotified || undefined,
|
||||
storageTimeStart: storageTimeRange.value?.[0] || undefined,
|
||||
storageTimeEnd: storageTimeRange.value?.[1] || undefined
|
||||
})
|
||||
const res = (result as any) || {}
|
||||
tableData.value = res.list || []
|
||||
@@ -197,6 +226,7 @@
|
||||
|
||||
function handleReset() {
|
||||
Object.assign(searchForm, { keyword: '', storageStatus: '', smsNotified: '' })
|
||||
storageTimeRange.value = getDefaultStorageTimeRange()
|
||||
handleSearch()
|
||||
}
|
||||
|
||||
@@ -246,7 +276,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, storageTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -18,9 +18,20 @@
|
||||
<el-form-item label="关键词">
|
||||
<el-input v-model="searchForm.keyword" placeholder="预约编号/来访单位/联系人" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="到访日期">
|
||||
<el-date-picker
|
||||
v-model="visitDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">按预约编号、来访单位、联系人模糊查询。</span>
|
||||
<span class="filter-hint">按预约编号、来访单位、联系人模糊查询;默认展示未来 30 天内的到访预约。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"><el-icon><RefreshLeft /></el-icon>重置</el-button>
|
||||
<el-button class="btn-main" type="primary" @click="handleSearch"><el-icon><Search /></el-icon>搜索</el-button>
|
||||
@@ -190,7 +201,22 @@
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultVisitDateRange(): [string, string] {
|
||||
const start = new Date()
|
||||
const end = new Date()
|
||||
end.setDate(end.getDate() + 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive<{ keyword: string }>({ keyword: '' })
|
||||
const visitDateRange = ref<[string, string] | null>(getDefaultVisitDateRange())
|
||||
const tableData = ref<AppointmentRow[]>([])
|
||||
const selectedRows = ref<AppointmentRow[]>([])
|
||||
const loading = ref(false)
|
||||
@@ -245,7 +271,9 @@
|
||||
const res = await fetchExhibitionAppointmentList({
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined
|
||||
keyword: searchForm.keyword || undefined,
|
||||
visitDateStart: visitDateRange.value?.[0] || undefined,
|
||||
visitDateEnd: visitDateRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -261,6 +289,7 @@
|
||||
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
visitDateRange.value = getDefaultVisitDateRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -350,7 +379,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, visitDateRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -37,9 +37,20 @@
|
||||
<el-option label="退订产品" value="unsubscribe" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint"></span>
|
||||
<span class="filter-hint">默认展示近 30 天内创建的流水。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
@@ -391,7 +402,22 @@
|
||||
done: ['yqr']
|
||||
}
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultLast30DaysRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const activeTab = ref('pending')
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultLast30DaysRange())
|
||||
const searchForm = reactive({
|
||||
txnType: '' as string,
|
||||
txnStatus: ['dqr'] as string[],
|
||||
@@ -418,6 +444,8 @@
|
||||
params.txnStatus = searchForm.txnStatus.join(',')
|
||||
}
|
||||
if (searchForm.keyword.trim()) params.keyword = searchForm.keyword.trim()
|
||||
if (createTimeRange.value?.[0]) params.createTimeStart = createTimeRange.value[0]
|
||||
if (createTimeRange.value?.[1]) params.createTimeEnd = createTimeRange.value[1]
|
||||
|
||||
const res: any = await fetchServiceOrderTxnList(params)
|
||||
tableData.value = res?.data?.list || res?.list || []
|
||||
@@ -438,6 +466,7 @@
|
||||
searchForm.txnType = ''
|
||||
searchForm.txnStatus = [...TAB_STATUS_MAP[activeTab.value]]
|
||||
searchForm.keyword = ''
|
||||
createTimeRange.value = getDefaultLast30DaysRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -453,7 +482,7 @@
|
||||
|
||||
// 检索条件变更时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -45,9 +45,20 @@
|
||||
<el-option label="已作废" value="yzf" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">渠道名称输入后自动检索;订单类型、状态变更后亦会自动刷新列表。</span>
|
||||
<span class="filter-hint">默认展示近 30 天内创建的订单;渠道名称输入后自动检索。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
@@ -728,6 +739,22 @@ const formatProjectOptionLabel = (p: any) => {
|
||||
}
|
||||
|
||||
// ── 搜索 ──────────────────────────────────────────────────────────────
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultLast30DaysRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultLast30DaysRange())
|
||||
|
||||
const searchForm = reactive<{
|
||||
orderType: string
|
||||
orderStatus: string[]
|
||||
@@ -758,6 +785,8 @@ const loadData = async () => {
|
||||
if (searchForm.orderType) params.orderType = searchForm.orderType
|
||||
if (searchForm.orderStatus.length) params.orderStatus = searchForm.orderStatus.join(',')
|
||||
if (searchForm.keyword) params.keyword = searchForm.keyword
|
||||
if (createTimeRange.value?.[0]) params.createTimeStart = createTimeRange.value[0]
|
||||
if (createTimeRange.value?.[1]) params.createTimeEnd = createTimeRange.value[1]
|
||||
|
||||
const res: any = await fetchChannelServiceOrderList(params)
|
||||
const data = res?.data ?? res
|
||||
@@ -779,13 +808,14 @@ const handleReset = () => {
|
||||
searchForm.orderType = ''
|
||||
searchForm.orderStatus = []
|
||||
searchForm.keyword = ''
|
||||
createTimeRange.value = getDefaultLast30DaysRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
|
||||
// 检索条件变更时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,651 @@
|
||||
<!-- 中试服务申请单列表页 -->
|
||||
<template>
|
||||
<div class="page-container">
|
||||
<header class="page-head">
|
||||
<h1>中试服务申请单</h1>
|
||||
<p class="page-desc">管理中试服务申请单的创建、审批、状态流转,关联渠道服务订单与患者信息。</p>
|
||||
</header>
|
||||
|
||||
<section class="panel">
|
||||
<div class="panel-top">
|
||||
<h2 class="title-bar-heading">中试服务申请单</h2>
|
||||
</div>
|
||||
|
||||
<div class="filter-block">
|
||||
<el-form :model="searchForm" class="filter-form" @submit.prevent>
|
||||
<div class="filter-grid">
|
||||
<el-form-item label="申请单号">
|
||||
<el-input
|
||||
v-model="searchForm.applicationNo"
|
||||
placeholder="请输入申请单号"
|
||||
clearable
|
||||
@keyup.enter="handleSearch"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="渠道">
|
||||
<el-select
|
||||
v-model="searchForm.channelId"
|
||||
placeholder="全部"
|
||||
clearable
|
||||
filterable
|
||||
:loading="channelLoading"
|
||||
@focus="onChannelSelectFocus"
|
||||
@change="handleSearchChannelChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="ch in channelOptions"
|
||||
:key="ch.id"
|
||||
:label="ch.channelName || ch.name"
|
||||
:value="ch.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="服务订单">
|
||||
<el-select
|
||||
v-model="searchForm.channelServiceOrderId"
|
||||
placeholder="全部"
|
||||
clearable
|
||||
filterable
|
||||
:disabled="!searchForm.channelId"
|
||||
:loading="serviceOrderLoading"
|
||||
@change="handleSearch"
|
||||
>
|
||||
<el-option
|
||||
v-for="so in serviceOrderOptions"
|
||||
:key="so.id"
|
||||
:label="formatServiceOrderLabel(so)"
|
||||
:value="so.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<div class="status-filter-group">
|
||||
<el-button
|
||||
v-for="item in statusFilters"
|
||||
:key="item.value"
|
||||
:type="activeStatus === item.value ? 'primary' : 'default'"
|
||||
size="default"
|
||||
@click="handleStatusFilter(item.value)"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset">
|
||||
<el-icon><RefreshLeft /></el-icon>重置
|
||||
</el-button>
|
||||
<el-button class="btn-main" type="primary" @click="handleSearch">
|
||||
<el-icon><Search /></el-icon>搜索
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<div class="list-toolbar">
|
||||
<div class="list-toolbar-row">
|
||||
<el-button class="btn-main" type="primary" @click="handleCreate">
|
||||
<el-icon><Plus /></el-icon>
|
||||
新增
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list-body list-wrap">
|
||||
<el-table
|
||||
class="list-table"
|
||||
:data="tableData"
|
||||
v-loading="loading"
|
||||
stripe
|
||||
row-key="id"
|
||||
@row-dblclick="handleView"
|
||||
>
|
||||
<el-table-column
|
||||
type="index"
|
||||
label="序号"
|
||||
min-width="68"
|
||||
align="center"
|
||||
header-align="center"
|
||||
:index="index => (pagination.page - 1) * pagination.pageSize + index + 1"
|
||||
/>
|
||||
<el-table-column prop="applicationNo" label="申请单号" min-width="180" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<el-button link type="primary" @click="handleView(row)">
|
||||
{{ row.applicationNo || '-' }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="channelName" label="渠道名称" min-width="150" show-overflow-tooltip />
|
||||
<el-table-column label="关联服务订单" min-width="180" show-overflow-tooltip>
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.serviceOrderNo">{{ row.serviceOrderNo }}</span>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="patientName" label="患者姓名" min-width="100" show-overflow-tooltip>
|
||||
<template #default="{ row }">{{ row.patientName || '-' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="infusionPlanCount" label="输注方案数" min-width="100" align="center">
|
||||
<template #default="{ row }">{{ row.infusionPlanCount ?? 0 }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="applicationStatus" label="状态" min-width="100" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="applicationStatusTagType(row.applicationStatus)" size="small">
|
||||
{{ applicationStatusLabel(row.applicationStatus) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" min-width="160" align="center" />
|
||||
<el-table-column label="操作" min-width="280" fixed="right" align="center" header-align="center">
|
||||
<template #default="{ row }">
|
||||
<el-button class="btn-op-item primary" @click="handleView(row)">查看</el-button>
|
||||
<el-button
|
||||
v-if="row.applicationStatus === 'dks'"
|
||||
class="btn-op-item"
|
||||
@click="handleEdit(row)"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-popconfirm
|
||||
v-if="row.applicationStatus === 'dks'"
|
||||
title="确定删除该申请单吗?"
|
||||
confirm-button-text="确定"
|
||||
cancel-button-text="取消"
|
||||
@confirm="handleDelete(row)"
|
||||
>
|
||||
<template #reference>
|
||||
<el-button class="btn-op-item op-warn">删除</el-button>
|
||||
</template>
|
||||
</el-popconfirm>
|
||||
<el-button
|
||||
v-if="row.applicationStatus === 'dks'"
|
||||
class="btn-op-item primary"
|
||||
type="primary"
|
||||
@click="handleStart(row)"
|
||||
>
|
||||
开始
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="row.applicationStatus === 'dks'"
|
||||
class="btn-op-item op-warn"
|
||||
type="danger"
|
||||
@click="handleVoid(row)"
|
||||
>
|
||||
作废
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="row.applicationStatus === 'jxz'"
|
||||
class="btn-op-item primary"
|
||||
type="primary"
|
||||
@click="handleComplete(row)"
|
||||
>
|
||||
完成
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="row.applicationStatus === 'jxz'"
|
||||
class="btn-op-item op-warn"
|
||||
type="danger"
|
||||
@click="handleVoid(row)"
|
||||
>
|
||||
作废
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<div class="pagination list-pager-bar">
|
||||
<el-pagination
|
||||
:current-page="pagination.page"
|
||||
:page-size="pagination.pageSize"
|
||||
:total="pagination.total"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@update:current-page="val => (pagination.page = val)"
|
||||
@update:page-size="val => (pagination.pageSize = val)"
|
||||
@size-change="loadData"
|
||||
@current-change="loadData"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- 新增申请单弹窗 -->
|
||||
<el-dialog
|
||||
v-model="dialogVisible"
|
||||
title="新增中试服务申请单"
|
||||
width="600px"
|
||||
destroy-on-close
|
||||
:close-on-click-modal="false"
|
||||
@close="handleDialogClose"
|
||||
>
|
||||
<div class="dialog-form-layout">
|
||||
<el-form
|
||||
ref="formRef"
|
||||
:model="formData"
|
||||
:rules="formRules"
|
||||
label-position="top"
|
||||
class="dialog-form"
|
||||
>
|
||||
<div class="form-grid-2">
|
||||
<el-form-item label="渠道" prop="channelId">
|
||||
<el-select
|
||||
v-model="formData.channelId"
|
||||
placeholder="请选择渠道"
|
||||
filterable
|
||||
clearable
|
||||
:loading="dialogChannelLoading"
|
||||
@focus="onDialogChannelFocus"
|
||||
@change="handleDialogChannelChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="ch in dialogChannelOptions"
|
||||
:key="ch.id"
|
||||
:label="ch.channelName || ch.name"
|
||||
:value="ch.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="服务订单" prop="channelServiceOrderId">
|
||||
<el-select
|
||||
v-model="formData.channelServiceOrderId"
|
||||
placeholder="请先选择渠道,再选择服务订单"
|
||||
filterable
|
||||
clearable
|
||||
:disabled="!formData.channelId"
|
||||
:loading="dialogServiceOrderLoading"
|
||||
>
|
||||
<el-option
|
||||
v-for="so in dialogServiceOrderOptions"
|
||||
:key="so.id"
|
||||
:label="formatServiceOrderLabel(so)"
|
||||
:value="so.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注" class="form-col-span-2">
|
||||
<el-input
|
||||
v-model="formData.remark"
|
||||
type="textarea"
|
||||
placeholder="请输入备注"
|
||||
:rows="3"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<template #footer>
|
||||
<el-button class="btn-ghost" @click="dialogVisible = false">
|
||||
<el-icon><Close /></el-icon>取消
|
||||
</el-button>
|
||||
<el-button class="btn-main" type="primary" :loading="submitLoading" @click="handleSubmit">
|
||||
<el-icon><Check /></el-icon>确定
|
||||
</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onMounted } from 'vue'
|
||||
import { ElMessage, ElMessageBox, type FormInstance, type FormRules } from 'element-plus'
|
||||
import {
|
||||
Plus,
|
||||
Search,
|
||||
RefreshLeft,
|
||||
Close,
|
||||
Check,
|
||||
} from '@element-plus/icons-vue'
|
||||
import {
|
||||
fetchPilotApplicationList,
|
||||
createPilotApplication,
|
||||
deletePilotApplication,
|
||||
startPilotApplication,
|
||||
completePilotApplication,
|
||||
voidPilotApplication,
|
||||
fetchChannelList,
|
||||
fetchChannelServiceOrderList,
|
||||
} from '@/api/admin'
|
||||
import {
|
||||
applicationStatusLabel,
|
||||
applicationStatusTagType,
|
||||
channelServiceOrderTypeLabel,
|
||||
} from '@/utils/status-tag-registry'
|
||||
|
||||
defineOptions({ name: 'PilotApplicationManagement' })
|
||||
|
||||
// ── 工具函数 ──────────────────────────────────────────────────────────
|
||||
const displayValue = (v: any): string => {
|
||||
if (v == null || v === '' || v === undefined) return '-'
|
||||
return String(v)
|
||||
}
|
||||
|
||||
const formatServiceOrderLabel = (so: any) => {
|
||||
const no = so.orderNo || so.id || ''
|
||||
const typeLabel = channelServiceOrderTypeLabel(so.orderType)
|
||||
return `${no}(${typeLabel})`
|
||||
}
|
||||
|
||||
const unwrapApiList = (res: any): any[] => {
|
||||
const d = res?.data ?? res
|
||||
if (Array.isArray(d)) return d
|
||||
return d?.list ?? d?.records ?? []
|
||||
}
|
||||
|
||||
// ── 状态筛选 ──────────────────────────────────────────────────────────
|
||||
const statusFilters = [
|
||||
{ label: '全部', value: '' },
|
||||
{ label: '待开始', value: 'dks' },
|
||||
{ label: '进行中', value: 'jxz' },
|
||||
{ label: '已完成', value: 'ywc' },
|
||||
{ label: '已作废', value: 'yzf' },
|
||||
]
|
||||
const activeStatus = ref('')
|
||||
|
||||
const handleStatusFilter = (val: string) => {
|
||||
activeStatus.value = val
|
||||
handleSearch()
|
||||
}
|
||||
|
||||
// ── 搜索 ──────────────────────────────────────────────────────────────
|
||||
const searchForm = reactive({
|
||||
applicationNo: '',
|
||||
channelId: '',
|
||||
channelServiceOrderId: '',
|
||||
})
|
||||
|
||||
// ── 搜索区域渠道下拉 ──────────────────────────────────────────────────
|
||||
const channelOptions = ref<any[]>([])
|
||||
const channelLoading = ref(false)
|
||||
const channelLoaded = ref(false)
|
||||
|
||||
const onChannelSelectFocus = () => {
|
||||
if (!channelLoaded.value) {
|
||||
loadChannelOptions()
|
||||
}
|
||||
}
|
||||
|
||||
const loadChannelOptions = async () => {
|
||||
channelLoading.value = true
|
||||
try {
|
||||
const res: any = await fetchChannelList({ page: 1, pageSize: 200 })
|
||||
channelOptions.value = unwrapApiList(res)
|
||||
channelLoaded.value = true
|
||||
} catch {
|
||||
channelOptions.value = []
|
||||
} finally {
|
||||
channelLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// ── 搜索区域服务订单下拉(联动渠道) ──────────────────────────────────
|
||||
const serviceOrderOptions = ref<any[]>([])
|
||||
const serviceOrderLoading = ref(false)
|
||||
|
||||
const handleSearchChannelChange = () => {
|
||||
searchForm.channelServiceOrderId = ''
|
||||
serviceOrderOptions.value = []
|
||||
if (searchForm.channelId) {
|
||||
loadSearchServiceOrders(searchForm.channelId)
|
||||
}
|
||||
handleSearch()
|
||||
}
|
||||
|
||||
const loadSearchServiceOrders = async (channelId: string) => {
|
||||
serviceOrderLoading.value = true
|
||||
try {
|
||||
const res: any = await fetchChannelServiceOrderList({
|
||||
channelId,
|
||||
page: 1,
|
||||
pageSize: 200,
|
||||
})
|
||||
serviceOrderOptions.value = unwrapApiList(res)
|
||||
} catch {
|
||||
serviceOrderOptions.value = []
|
||||
} finally {
|
||||
serviceOrderLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// ── 表格 ──────────────────────────────────────────────────────────────
|
||||
const tableData = ref<any[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
|
||||
const loadData = async () => {
|
||||
loading.value = true
|
||||
try {
|
||||
const params: Record<string, any> = {
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
}
|
||||
if (searchForm.applicationNo) params.applicationNo = searchForm.applicationNo
|
||||
if (searchForm.channelId) params.channelId = searchForm.channelId
|
||||
if (searchForm.channelServiceOrderId) params.channelServiceOrderId = searchForm.channelServiceOrderId
|
||||
if (activeStatus.value) params.applicationStatus = activeStatus.value
|
||||
|
||||
const res: any = await fetchPilotApplicationList(params)
|
||||
const data = res?.data ?? res
|
||||
tableData.value = data?.list ?? data?.records ?? []
|
||||
pagination.total = data?.total ?? 0
|
||||
} catch (e) {
|
||||
console.error('加载申请单列表失败:', e)
|
||||
} finally {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const handleSearch = () => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
|
||||
const handleReset = () => {
|
||||
searchForm.applicationNo = ''
|
||||
searchForm.channelId = ''
|
||||
searchForm.channelServiceOrderId = ''
|
||||
activeStatus.value = ''
|
||||
serviceOrderOptions.value = []
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
|
||||
// ── 查看详情 ──────────────────────────────────────────────────────────
|
||||
const router = useRouter()
|
||||
|
||||
const handleView = (row: any) => {
|
||||
router.push({ name: 'PilotApplicationDetail', query: { id: row.id } })
|
||||
}
|
||||
|
||||
// ── 新增弹窗 ──────────────────────────────────────────────────────────
|
||||
const dialogVisible = ref(false)
|
||||
const submitLoading = ref(false)
|
||||
const formRef = ref<FormInstance>()
|
||||
|
||||
const initFormData = () => ({
|
||||
channelId: '',
|
||||
channelServiceOrderId: '',
|
||||
remark: '',
|
||||
})
|
||||
|
||||
const formData = reactive(initFormData())
|
||||
|
||||
const formRules: FormRules = {
|
||||
channelId: [{ required: true, message: '请选择渠道', trigger: 'change' }],
|
||||
channelServiceOrderId: [{ required: true, message: '请选择服务订单', trigger: 'change' }],
|
||||
}
|
||||
|
||||
// ── 弹窗渠道下拉 ──────────────────────────────────────────────────────
|
||||
const dialogChannelOptions = ref<any[]>([])
|
||||
const dialogChannelLoading = ref(false)
|
||||
const dialogChannelLoaded = ref(false)
|
||||
|
||||
const onDialogChannelFocus = () => {
|
||||
if (!dialogChannelLoaded.value) {
|
||||
loadDialogChannelOptions()
|
||||
}
|
||||
}
|
||||
|
||||
const loadDialogChannelOptions = async () => {
|
||||
dialogChannelLoading.value = true
|
||||
try {
|
||||
const res: any = await fetchChannelList({ page: 1, pageSize: 200 })
|
||||
dialogChannelOptions.value = unwrapApiList(res)
|
||||
dialogChannelLoaded.value = true
|
||||
} catch {
|
||||
dialogChannelOptions.value = []
|
||||
} finally {
|
||||
dialogChannelLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// ── 弹窗服务订单下拉(联动渠道) ──────────────────────────────────────
|
||||
const dialogServiceOrderOptions = ref<any[]>([])
|
||||
const dialogServiceOrderLoading = ref(false)
|
||||
|
||||
const handleDialogChannelChange = async (channelId: string) => {
|
||||
formData.channelServiceOrderId = ''
|
||||
dialogServiceOrderOptions.value = []
|
||||
if (!channelId) return
|
||||
dialogServiceOrderLoading.value = true
|
||||
try {
|
||||
const res: any = await fetchChannelServiceOrderList({
|
||||
channelId,
|
||||
page: 1,
|
||||
pageSize: 200,
|
||||
})
|
||||
dialogServiceOrderOptions.value = unwrapApiList(res)
|
||||
} catch {
|
||||
dialogServiceOrderOptions.value = []
|
||||
} finally {
|
||||
dialogServiceOrderLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const handleCreate = () => {
|
||||
Object.assign(formData, initFormData())
|
||||
dialogChannelLoaded.value = false
|
||||
dialogChannelOptions.value = []
|
||||
dialogServiceOrderOptions.value = []
|
||||
dialogVisible.value = true
|
||||
void loadDialogChannelOptions()
|
||||
}
|
||||
|
||||
const handleDialogClose = () => {
|
||||
formRef.value?.resetFields()
|
||||
}
|
||||
|
||||
const handleSubmit = async () => {
|
||||
try {
|
||||
await formRef.value?.validate()
|
||||
} catch {
|
||||
return
|
||||
}
|
||||
|
||||
submitLoading.value = true
|
||||
try {
|
||||
const res: any = await createPilotApplication({
|
||||
channelServiceOrderId: formData.channelServiceOrderId,
|
||||
remark: formData.remark,
|
||||
})
|
||||
dialogVisible.value = false
|
||||
ElMessage.success('创建成功')
|
||||
// 跳转详情页
|
||||
const data = res?.data ?? res
|
||||
const newId = data?.id || data?.pilotApplicationId || data
|
||||
if (newId) {
|
||||
router.push({ name: 'PilotApplicationDetail', query: { id: newId } })
|
||||
} else {
|
||||
loadData()
|
||||
}
|
||||
} catch (e: any) {
|
||||
ElMessage.error(e?.message || '创建失败')
|
||||
} finally {
|
||||
submitLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// ── 编辑 ──────────────────────────────────────────────────────────────
|
||||
const handleEdit = (row: any) => {
|
||||
// Phase 1 编辑仅修改备注,直接跳详情页
|
||||
router.push({ name: 'PilotApplicationDetail', query: { id: row.id } })
|
||||
}
|
||||
|
||||
// ── 删除 ──────────────────────────────────────────────────────────────
|
||||
const handleDelete = async (row: any) => {
|
||||
try {
|
||||
await deletePilotApplication({ id: row.id })
|
||||
ElMessage.success('删除成功')
|
||||
loadData()
|
||||
} catch (e: any) {
|
||||
ElMessage.error(e?.message || '删除失败')
|
||||
}
|
||||
}
|
||||
|
||||
// ── 状态操作 ──────────────────────────────────────────────────────────
|
||||
const handleStart = async (row: any) => {
|
||||
try {
|
||||
await ElMessageBox.confirm('确定开始该申请单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'info',
|
||||
})
|
||||
await startPilotApplication({ id: row.id })
|
||||
ElMessage.success('操作成功')
|
||||
loadData()
|
||||
} catch (e: any) {
|
||||
if (e !== 'cancel') {
|
||||
ElMessage.error(e?.message || '操作失败')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const handleComplete = async (row: any) => {
|
||||
try {
|
||||
await ElMessageBox.confirm('确定完成该申请单吗?', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'info',
|
||||
})
|
||||
await completePilotApplication({ id: row.id })
|
||||
ElMessage.success('操作成功')
|
||||
loadData()
|
||||
} catch (e: any) {
|
||||
if (e !== 'cancel') {
|
||||
ElMessage.error(e?.message || '操作失败')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const handleVoid = async (row: any) => {
|
||||
try {
|
||||
await ElMessageBox.confirm('确定作废该申请单吗?作废后不可恢复。', '提示', {
|
||||
confirmButtonText: '确定作废',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
})
|
||||
await voidPilotApplication({ id: row.id })
|
||||
ElMessage.success('操作成功')
|
||||
loadData()
|
||||
} catch (e: any) {
|
||||
if (e !== 'cancel') {
|
||||
ElMessage.error(e?.message || '操作失败')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ── 初始化 ────────────────────────────────────────────────────────────
|
||||
onMounted(() => {
|
||||
loadData()
|
||||
})
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.status-filter-group {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
||||
@@ -24,8 +24,20 @@
|
||||
<el-option label="已完成" value="ywc" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="开始时间">
|
||||
<el-date-picker
|
||||
v-model="startedTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">默认展示近 30 天内已开始的任务;清空日期可查看尚未开始的待配置任务。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"><el-icon><RefreshLeft /></el-icon>重置</el-button>
|
||||
<el-button class="btn-main" type="primary" @click="handleSearch"><el-icon><Search /></el-icon>搜索</el-button>
|
||||
@@ -325,7 +337,22 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
// 列表视图
|
||||
// ---------------------------------------------------------------------------
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultLast30DaysRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive({ keyword: '', taskStatus: '' })
|
||||
const startedTimeRange = ref<[string, string] | null>(getDefaultLast30DaysRange())
|
||||
const tableData = ref<Record<string, any>[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
@@ -344,7 +371,9 @@
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
taskStatus: searchForm.taskStatus || undefined
|
||||
taskStatus: searchForm.taskStatus || undefined,
|
||||
startedTimeStart: startedTimeRange.value?.[0] || undefined,
|
||||
startedTimeEnd: startedTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -361,6 +390,7 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.taskStatus = ''
|
||||
startedTimeRange.value = getDefaultLast30DaysRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -400,7 +430,7 @@
|
||||
// ---------------------------------------------------------------------------
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, startedTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -40,8 +40,20 @@
|
||||
<el-option label="已完成" value="ywc" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">默认展示近 30 天内创建的工单。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"
|
||||
><el-icon><RefreshLeft /></el-icon>重置</el-button
|
||||
@@ -519,7 +531,22 @@
|
||||
return map[source] || { label: source, type: 'info' }
|
||||
}
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultLast30DaysRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive({ keyword: '', workOrderStatus: '' })
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultLast30DaysRange())
|
||||
const tableData = ref<any[]>([])
|
||||
const workOrderListTableRef = ref<TableInstance>()
|
||||
const loading = ref(false)
|
||||
@@ -544,7 +571,9 @@
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
workOrderStatus: searchForm.workOrderStatus || undefined,
|
||||
workOrderType: activeTypeTab.value === 'all' ? undefined : activeTypeTab.value
|
||||
workOrderType: activeTypeTab.value === 'all' ? undefined : activeTypeTab.value,
|
||||
createTimeStart: createTimeRange.value?.[0] || undefined,
|
||||
createTimeEnd: createTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -560,6 +589,7 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.workOrderStatus = ''
|
||||
createTimeRange.value = getDefaultLast30DaysRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -782,7 +812,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -35,8 +35,20 @@
|
||||
<el-option label="已完成" value="ywc" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">默认展示近 30 天内创建的工单。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"><el-icon><RefreshLeft /></el-icon>重置</el-button>
|
||||
<el-button class="btn-main" type="primary" @click="handleSearch"><el-icon><Search /></el-icon>搜索</el-button>
|
||||
@@ -575,7 +587,22 @@
|
||||
}
|
||||
}
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultLast30DaysRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const searchForm = reactive({ keyword: '', workOrderStatus: '' })
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultLast30DaysRange())
|
||||
const tableData = ref<QcWorkOrder[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
@@ -929,7 +956,9 @@
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
workOrderStatus: searchForm.workOrderStatus || undefined,
|
||||
workOrderType: activeTypeTab.value === 'all' ? undefined : activeTypeTab.value
|
||||
workOrderType: activeTypeTab.value === 'all' ? undefined : activeTypeTab.value,
|
||||
createTimeStart: createTimeRange.value?.[0] || undefined,
|
||||
createTimeEnd: createTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -945,6 +974,7 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.workOrderStatus = ''
|
||||
createTimeRange.value = getDefaultLast30DaysRange()
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -1015,7 +1045,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -46,13 +46,35 @@
|
||||
<el-option label="科研捐赠" value="research_donation" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item v-if="activeTab === 'pending'" label="预计到达时间">
|
||||
<el-date-picker
|
||||
v-model="etaDateRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item v-else label="接收时间">
|
||||
<el-date-picker
|
||||
v-model="receptionTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">
|
||||
{{
|
||||
activeTab === 'pending'
|
||||
? '勾选多个样本后可批量接收(同快递可一次登记,每项单独填写)。'
|
||||
: '双击行可查看接收详情;也可点击「编辑」修改接收登记。'
|
||||
? '勾选多个样本后可批量接收;预计到达时间默认近 30 天。'
|
||||
: '双击行可查看接收详情;接收时间默认近 30 天。'
|
||||
}}
|
||||
</span>
|
||||
<div class="filter-actions-end">
|
||||
@@ -607,6 +629,23 @@
|
||||
|
||||
const activeTab = ref('pending')
|
||||
const searchForm = reactive({ keyword: '', sourceType: '' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultLast30DaysRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
const etaDateRange = ref<[string, string] | null>(getDefaultLast30DaysRange())
|
||||
const receptionTimeRange = ref<[string, string] | null>(getDefaultLast30DaysRange())
|
||||
const tableData = ref<Record<string, unknown>[]>([])
|
||||
const loading = ref(false)
|
||||
const pagination = reactive({ page: 1, pageSize: 10, total: 0 })
|
||||
@@ -1027,16 +1066,24 @@
|
||||
async function loadData() {
|
||||
loading.value = true
|
||||
try {
|
||||
const params = {
|
||||
const baseParams = {
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
sourceType: searchForm.sourceType || undefined,
|
||||
sourceType: searchForm.sourceType || undefined
|
||||
}
|
||||
const res =
|
||||
activeTab.value === 'pending'
|
||||
? await fetchSampleReceptionPendingList(params)
|
||||
: await fetchSampleReceptionReceivedList(params)
|
||||
? await fetchSampleReceptionPendingList({
|
||||
...baseParams,
|
||||
etaTimeStart: etaDateRange.value?.[0] || undefined,
|
||||
etaTimeEnd: etaDateRange.value?.[1] || undefined
|
||||
})
|
||||
: await fetchSampleReceptionReceivedList({
|
||||
...baseParams,
|
||||
receptionTimeStart: receptionTimeRange.value?.[0] || undefined,
|
||||
receptionTimeEnd: receptionTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
} finally {
|
||||
@@ -1060,6 +1107,11 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.sourceType = ''
|
||||
if (activeTab.value === 'pending') {
|
||||
etaDateRange.value = getDefaultLast30DaysRange()
|
||||
} else {
|
||||
receptionTimeRange.value = getDefaultLast30DaysRange()
|
||||
}
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -1196,7 +1248,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, etaDateRange, receptionTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<!-- 捐赠协议审核 -->
|
||||
<!-- 捐赠协议管理 -->
|
||||
<!-- eslint-disable vue/no-v-model-argument -->
|
||||
<template>
|
||||
<div class="page-container">
|
||||
<header class="page-head">
|
||||
<h1>捐赠协议审核</h1>
|
||||
<p class="page-desc">审核与管理科研捐赠协议数据。</p>
|
||||
<h1>捐赠协议管理</h1>
|
||||
<p class="page-desc">管理科研捐赠协议数据,含审核与状态变更。</p>
|
||||
</header>
|
||||
|
||||
<section class="panel">
|
||||
@@ -32,9 +32,32 @@
|
||||
<el-option label="转细胞存储" value="zckc" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="样本采集时间">
|
||||
<el-date-picker
|
||||
v-model="sampleCollectTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗。</span>
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗;默认展示近 30 天内创建的协议单。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"
|
||||
><el-icon><RefreshLeft /></el-icon>重置</el-button
|
||||
@@ -343,11 +366,27 @@
|
||||
|
||||
defineOptions({ name: 'ResearchDonationAudit' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultCreateTimeRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
/* ====== 列表 ====== */
|
||||
const searchForm = reactive<{ keyword: string; donationStatus: string }>({
|
||||
keyword: '',
|
||||
donationStatus: ''
|
||||
})
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultCreateTimeRange())
|
||||
const sampleCollectTimeRange = ref<[string, string] | null>(null)
|
||||
const tableData = ref<ResearchDonationRow[]>([])
|
||||
const selectedRows = ref<ResearchDonationRow[]>([])
|
||||
const loading = ref(false)
|
||||
@@ -364,7 +403,11 @@
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
donationStatus: searchForm.donationStatus || undefined
|
||||
donationStatus: searchForm.donationStatus || undefined,
|
||||
createTimeStart: createTimeRange.value?.[0] || undefined,
|
||||
createTimeEnd: createTimeRange.value?.[1] || undefined,
|
||||
sampleCollectTimeStart: sampleCollectTimeRange.value?.[0] || undefined,
|
||||
sampleCollectTimeEnd: sampleCollectTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -381,6 +424,8 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.donationStatus = ''
|
||||
createTimeRange.value = getDefaultCreateTimeRange()
|
||||
sampleCollectTimeRange.value = null
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -496,7 +541,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange, sampleCollectTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
@@ -32,9 +32,32 @@
|
||||
<el-option label="转细胞存储" value="zckc" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="createTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="样本采集时间">
|
||||
<el-date-picker
|
||||
v-model="sampleCollectTimeRange"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
value-format="YYYY-MM-DD"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div class="filter-actions-row">
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗。</span>
|
||||
<span class="filter-hint">列表为概要信息,详情见弹窗;默认展示近 30 天内创建的协议单。</span>
|
||||
<div class="filter-actions-end">
|
||||
<el-button class="btn-ghost" @click="handleReset"
|
||||
><el-icon><RefreshLeft /></el-icon>重置</el-button
|
||||
@@ -280,11 +303,27 @@
|
||||
|
||||
defineOptions({ name: 'ResearchDonationList' })
|
||||
|
||||
function formatLocalDate(d: Date): string {
|
||||
const y = d.getFullYear()
|
||||
const m = String(d.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(d.getDate()).padStart(2, '0')
|
||||
return `${y}-${m}-${day}`
|
||||
}
|
||||
|
||||
function getDefaultCreateTimeRange(): [string, string] {
|
||||
const end = new Date()
|
||||
const start = new Date()
|
||||
start.setDate(start.getDate() - 30)
|
||||
return [formatLocalDate(start), formatLocalDate(end)]
|
||||
}
|
||||
|
||||
/* ====== 列表 ====== */
|
||||
const searchForm = reactive<{ keyword: string; donationStatus: string }>({
|
||||
keyword: '',
|
||||
donationStatus: ''
|
||||
})
|
||||
const createTimeRange = ref<[string, string] | null>(getDefaultCreateTimeRange())
|
||||
const sampleCollectTimeRange = ref<[string, string] | null>(null)
|
||||
const tableData = ref<ResearchDonationRow[]>([])
|
||||
const selectedRows = ref<ResearchDonationRow[]>([])
|
||||
const loading = ref(false)
|
||||
@@ -301,7 +340,11 @@
|
||||
page: pagination.page,
|
||||
pageSize: pagination.pageSize,
|
||||
keyword: searchForm.keyword || undefined,
|
||||
donationStatus: searchForm.donationStatus || undefined
|
||||
donationStatus: searchForm.donationStatus || undefined,
|
||||
createTimeStart: createTimeRange.value?.[0] || undefined,
|
||||
createTimeEnd: createTimeRange.value?.[1] || undefined,
|
||||
sampleCollectTimeStart: sampleCollectTimeRange.value?.[0] || undefined,
|
||||
sampleCollectTimeEnd: sampleCollectTimeRange.value?.[1] || undefined
|
||||
})
|
||||
tableData.value = res.list || []
|
||||
pagination.total = res.total ?? 0
|
||||
@@ -318,6 +361,8 @@
|
||||
function handleReset() {
|
||||
searchForm.keyword = ''
|
||||
searchForm.donationStatus = ''
|
||||
createTimeRange.value = getDefaultCreateTimeRange()
|
||||
sampleCollectTimeRange.value = null
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
}
|
||||
@@ -387,7 +432,7 @@
|
||||
}
|
||||
// 输入检索条件时自动搜索(防抖 300ms)
|
||||
watchDebounced(
|
||||
searchForm,
|
||||
[searchForm, createTimeRange, sampleCollectTimeRange],
|
||||
() => {
|
||||
pagination.page = 1
|
||||
loadData()
|
||||
|
||||
Reference in new issue
Block a user