diff --git a/admin/src/views/consumer/prescription/order_list.vue b/admin/src/views/consumer/prescription/order_list.vue index 158f177c..45457c6e 100644 --- a/admin/src/views/consumer/prescription/order_list.vue +++ b/admin/src/views/consumer/prescription/order_list.vue @@ -2520,6 +2520,7 @@ const fulfillmentStatusTabs = [ function handleFulfillmentStatusTabClick(value: number | '') { activeFocusKey.value = '' + queryParams.exclude_fulfillment_cancelled = 0 queryParams.fulfillment_status = value resetPage() } @@ -2570,7 +2571,9 @@ const queryParams = reactive({ prescription_audit_status: '' as number | '', payment_slip_audit_status: '' as number | '', /** 供货方式:甘草(已传甘草药方单号)/ 自营(无甘草单号) */ - supply_mode: '' as '' | 'gancao' | 'self' + supply_mode: '' as '' | 'gancao' | 'self', + /** 列表排除履约已取消(4):重点看板「待处方审核」等用 */ + exclude_fulfillment_cancelled: 0 as number }) const rxAuditTabs = [ @@ -2588,11 +2591,13 @@ const payAuditTabs = [ function handleRxAuditTabClick(val: number | '') { activeFocusKey.value = '' + queryParams.exclude_fulfillment_cancelled = 0 queryParams.prescription_audit_status = val resetPage() } function handlePayAuditTabClick(val: number | '') { activeFocusKey.value = '' + queryParams.exclude_fulfillment_cancelled = 0 queryParams.payment_slip_audit_status = val resetPage() } @@ -2604,6 +2609,7 @@ function handleFocusBoardSearch(key: 'pendingRx' | 'pendingPay' | 'pendingShip' queryParams.prescription_audit_status = '' queryParams.payment_slip_audit_status = '' queryParams.fulfillment_status = '' + queryParams.exclude_fulfillment_cancelled = 0 resetPage() return } @@ -2613,9 +2619,11 @@ function handleFocusBoardSearch(key: 'pendingRx' | 'pendingPay' | 'pendingShip' queryParams.prescription_audit_status = '' queryParams.payment_slip_audit_status = '' queryParams.fulfillment_status = '' + queryParams.exclude_fulfillment_cancelled = 0 if (key === 'pendingRx') { queryParams.prescription_audit_status = 0 + queryParams.exclude_fulfillment_cancelled = 1 } else if (key === 'pendingPay') { queryParams.prescription_audit_status = 1 queryParams.payment_slip_audit_status = 0 @@ -2666,6 +2674,7 @@ async function fetchLists(params: Record) { if (!String(p.patient_keyword || '').trim()) delete p.patient_keyword if (!String(p.express_keyword || '').trim()) delete p.express_keyword if (!p.express_company || p.express_company === '') delete p.express_company + if (Number(p.exclude_fulfillment_cancelled) !== 1) delete p.exclude_fulfillment_cancelled if (!String(p.start_time || '').trim() || !String(p.end_time || '').trim()) { delete p.start_time delete p.end_time @@ -2854,6 +2863,7 @@ watch( if (show) return if (queryParams.prescription_audit_status === '' || queryParams.prescription_audit_status === undefined) return queryParams.prescription_audit_status = '' + queryParams.exclude_fulfillment_cancelled = 0 resetPage() }, { immediate: true } @@ -2875,6 +2885,7 @@ function handleReset() { queryParams.prescription_audit_status = '' queryParams.payment_slip_audit_status = '' queryParams.supply_mode = '' + queryParams.exclude_fulfillment_cancelled = 0 resetParams() } diff --git a/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php b/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php index ec38f61a..95db249d 100644 --- a/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php +++ b/server/app/adminapi/lists/tcm/PrescriptionOrderLists.php @@ -640,9 +640,12 @@ class PrescriptionOrderLists extends BaseAdminDataLists implements ListsSearchIn $query = PrescriptionOrder::where($this->searchWhereWithoutStatusFilters())->whereNull('delete_time'); $this->applyPermissionAndExtraFilters($query); + $pendingRxQuery = clone $query; + YejiStatsLogic::applyPrescriptionOrderNotCancelledForPerformanceQuery($pendingRxQuery, ''); + return [ - // 处方审核待处理 - 'pending_rx' => (int) (clone $query)->where('prescription_audit_status', 0)->count(), + // 处方审核待处理(不含履约已取消) + 'pending_rx' => (int) $pendingRxQuery->where('prescription_audit_status', 0)->count(), // 支付审核待处理(前提:处方已通过) 'pending_pay' => (int) (clone $query)->where('prescription_audit_status', 1)->where('payment_slip_audit_status', 0)->count(), // 履约待发货