- The active `/books/order-management` route now delegates to the private `books/orders/routes.tsx` module.
- The module owns the order-list routes (`index` and `dataset`) and the `sale-statistics` route while preserving all public URLs.
- Order list and sales statistics views are route-lazy, so the ECharts implementation remains isolated from the normal list route.
## Order list
-`OrdersListView.tsx` renders `AppList<OrderRow, OrdersFilters>` as the controlled list shell.
- The 13 legacy columns are preserved: order ID, book, buyer, four amount columns, order/pay timestamps, settlement state, payment icon, rating, and refund action.
- Filters preserve book name, payment status, payment type, and payment-time range.
- Payment-time conversion uses the real backend fields `start_pay` and `end_pay`, with local start-of-day and end-of-day Unix seconds.
- Pagination, page-size choices 10/20/30/40, draft-filter pagination, search, reset, refresh, retry, and immediate reload when clearing a filter are controlled through `useOrdersList`.
## Permissions, requests, and refund
- The tab options preserve `/books/order-management/getOrderList`, the legacy list-only `/books/order-management/getOrderList1`, and `/books/order-management/salesStatistics` checks.
- Refund remains available only with `/books/order-management/refund` and `status === 3`.
-`RefundDrawer` preserves the optional refund reason, original copy, mask/keyboard behavior, and cancel/confirm actions.
- Successful refunds preserve the legacy unfiltered-current-page refresh behavior.
- Local request wrappers preserve form encoding, success/error messages, fallback text, and these endpoints:
-`POST /order/getOrderList`
-`POST /order/salesStatistics`
-`POST /order/refund`
## Sales statistics
- The dedicated sales view preserves the four summary cards: expected income, orders, buyers, and average order value, including formatting and units.
- The monthly sales bar chart preserves alternating month labels, tooltip formatting, and original color.
- Both pie charts preserve titles, tooltip fields, ratios, wrapped labels, colors, and layout.
- ECharts instances are initialized from private refs and disposed when the view changes or unmounts.
## Legacy compatibility
- The old `pages/books/order-management` files were not deleted because deprecated `src/routes/routes.jsx` and `src/config/component.js` still reference them and those files are outside this task's allowed scope.
-`pnpm exec tsc --noEmit`: no diagnostics under `src/modules/books/orders` or `src/modules/books/routes.tsx`; the workspace still has unrelated existing diagnostics.
-`pnpm test`: passed, 11 tests.
-`pnpm build`: passed; only the existing formula-editor and large-chunk warnings were emitted.
## Concerns
- Per task direction, no API/query/Hook tests were added.
- The dedicated ECharts sales-statistics chunk remains large, matching the legacy implementation's dependency footprint.
- Legacy order-management pages remain until all deprecated route/config references can be migrated in an explicitly authorized scope.