This commit is contained in:
Your Name
2026-05-07 18:21:00 +08:00
parent d39b1ed7ee
commit 6c997559a2
2 changed files with 17 additions and 3 deletions
@@ -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<string, unknown>) {
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()
}
@@ -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(),
// 履约待发货