# 2025-07-17 工作日志 ## 门店订单管理页修复(pages/store/orders/index.tsx) 三个问题修复: 1. **确认完成按钮过早显示**:`getOrderActions` 中"确认完成"原来对所有可操作订单都显示,改为仅在 `order.payStatus === true`(已确认收款)后才显示,避免占用位置。 2. **确认收款后仍可修改金额**:`getOrderActions` 中"修改金额"原来对所有可操作订单都显示,改为仅在 `!order.payStatus`(未付款)时显示。确认收款后修改金额按钮自动隐藏。 3. **已关闭 Tab 混入待发货订单**:`TABS` 配置中 `pending`(已关闭)的 params 原来同时包含 `statusFilter: 1`(待发货)和 `statusFilter: 8`(已关闭),导致待发货订单也出现。已改为只查 `statusFilter: 8`。 ### 操作按钮逻辑总结(修复后) - **修改金额**:仅未付款(`!payStatus`)时显示 - **确认收款**:仅线下付款(payType=9)且未付款时显示 - **确认完成**:仅已付款(`payStatus === true`)时显示 - **关闭订单**:所有可操作订单(非已完成、非已关闭)均显示 ## 订单列表下单时间显示到时分(components/common/OrderCard) `pages/order/list` 列表卡片(`OrderCard`)底部日期原为 `order.createTime?.slice(0, 10)`(仅显示 YYYY-MM-DD)。 改为 `order.createTime?.replace('T', ' ').slice(0, 16)`,显示「下单时间: YYYY-MM-DD HH:mm」,`replace('T',' ')` 兼容后端 ISO(T 分隔)与空格分隔两种时间格式。 ## 门店订单页增加搜索功能(pages/store/orders/index.tsx) 方案(已与用户确认):单个搜索框 + 在当前 Tab 内叠加筛选,无需改后端、无需改类型定义。 实现要点: - 新增 `searchInput`(受控输入)、`searchKeyword`(已提交搜索词)两个 state。 - `loadOrders` 每个 `pageShopOrder` 请求附带 `keywords: searchKeyword || undefined`(后端 `keywords` 已支持订单号/订单ID/手机号/昵称/备注组合模糊搜索);`useCallback` 依赖加 `searchKeyword`,切 Tab/提交搜索自动重加载。 - 触发:点「搜索」按钮 / 键盘回车(`onConfirm` + `confirmType='search'`)/ 点「×」清空。 - 搜索无结果显示「未找到与"xxx"相关的订单」,否则「暂无订单」。 - ScrollView 高度由 `calc(100vh - 50px)` 改为 `calc(100vh - 100px)`(为新增搜索栏留位)。 - 注意:后端「全部」Tab 默认隐藏已关闭单(`statusFilter != 8` 加 `order_status != 2`),搜已关闭单需切到「已关闭」Tab。手机号在 keywords 里是精确匹配(`b.phone =`),订单号支持部分匹配。