feat(order): 收银台支付倒计时,超时锁死并引导重新下单

- 到期时刻由后端下发(payDeadline),倒计时与"到点锁页面"都用它,前端不自己算时限
- 解析后端时间时把空格换成 T:后端格式是 `yyyy-MM-dd HH:mm:ss`,
  而 iOS Safari / 微信内置浏览器解析不了不带 T 的写法(返回 NaN,
  会让倒计时与锁页在最主要的那一端静默失效)
- 修正收银台写死的「2 小时」文案:有效期由后端配置,页面不该复述一个具体数字
- 订单列表/详情:超时后不再给「去支付」,并显示「已取消(支付超时)」
- `hjcCanActOn` 收成共享导出,两个页面不再各写一份判定
- 与 hjc-h5 的 utils/orderStatus 保持同一套定义(两仓逐字对齐)
This commit is contained in:
2026-09-29 17:44:59 +08:00
parent 4bb349fd56
commit 9587a27ede
6 changed files with 225 additions and 18 deletions
+11
View File
@@ -133,6 +133,17 @@ export interface HjcOrder {
payTime?: string
payStatus?: number
orderStatus?: number
/** 取消来源:`BUYER`(买家取消)/ `TIMEOUT`(超时取消),仅已取消订单有值 */
cancelSource?: string | null
/** 取消时间 */
cancelTime?: string | null
/**
* 支付时限的到期时刻(仅**仍待支付**的订单由后端下发)。
*
* 它是算出来的(创建时刻 + 配置时限),不是一列。收银台靠它显示倒计时——
* 前端不要自己拿 `createTime` 加时限,两边各算一次会让「倒计时归零」与「后端判定超时」错开。
*/
payDeadline?: string | null
createTime?: string
/** 仅已支付订单由后端下发 */
tenderFiles?: HjcTenderFile[] | null