feat(M08-D): 补支付退款与分账运营

This commit is contained in:
Codex
2026-08-10 12:00:02 +08:00
parent 041146460d
commit 4eac99dd87
6 changed files with 412 additions and 3 deletions
+15 -3
View File
@@ -50,9 +50,14 @@
<RadioTower :size="18" />
<span>设备</span>
</button>
<button class="nav-item" type="button" disabled>
<button
class="nav-item"
:class="{ active: activeModule === 'payments' }"
type="button"
@click="activeModule = 'payments'"
>
<WalletCards :size="18" />
<span>支付</span>
<span>支付分账</span>
</button>
</nav>
</aside>
@@ -94,6 +99,11 @@
:session="session"
/>
<PaymentsPanel
v-else-if="activeModule === 'payments'"
:session="session"
/>
<template v-else>
<section class="metric-grid" aria-label="保洁概览">
<div class="metric">
@@ -274,6 +284,7 @@ import CleaningFieldHandoffPanel from './components/CleaningFieldHandoffPanel.vu
import OperationsOverviewPanel from './components/OperationsOverviewPanel.vue';
import StoresRoomsPanel from './components/StoresRoomsPanel.vue';
import OrdersPanel from './components/OrdersPanel.vue';
import PaymentsPanel from './components/PaymentsPanel.vue';
import {
ApiError,
assignCleaningTask,
@@ -310,7 +321,7 @@ import { money } from './format';
const savedToken = ref(localStorage.getItem('qipai.admin.token') || '');
const tokenDraft = ref(savedToken.value);
const activeModule = ref<'overview' | 'stores' | 'orders' | 'cleaning'>('overview');
const activeModule = ref<'overview' | 'stores' | 'orders' | 'payments' | 'cleaning'>('overview');
const activeTab = ref('tasks');
const lastError = ref('');
const lastMessage = ref('');
@@ -323,6 +334,7 @@ const activeModuleMeta = computed(() => ({
overview: { stage: 'M08-D', title: '平台运营总览' },
stores: { stage: 'M08-D', title: '门店与房间管理' },
orders: { stage: 'M08-D', title: '订单筛选与运营处置' },
payments: { stage: 'M08-D', title: '支付、退款与分账' },
cleaning: { stage: 'M08-B', title: '保洁任务与结算' }
})[activeModule.value]);
const loading = reactive({ tasks: false, settlements: false, statistics: false, cleaners: false });