weicw-dshsa
|
fdeeb7f40a
|
fix(order): 「我的订单」操作区判定未定义,登录后打开列表即报错
- orders/index.vue 模板调 canAct(o),但本地从未定义过它——9587a27 把本地判定换成
共享的 hjcCanActOn 时只改了导入与模板调用、漏了定义(订单详情页保留了本地 canAct,
所以只有列表页炸)
- 复现:登录态下订单列表里只要有单,渲染操作区就抛 `canAct is not a function`
- 按该处注释的原意改回直接调 hjcCanActOn(payStatus===0 && orderStatus!==2 且时限未到),
注释里过时的 hjcCanActOnOrder 也一并改对
- 发现于为 .scratch/cashier-pay-method-selection/issues/01 做走查时(与本次改动的功能无关)
|
2026-09-30 09:23:21 +08:00 |
|
weicw-dshsa
|
57543cfade
|
feat(order): 收银台与购标流程改为先选支付方式再发起支付
- 新增 useHjcPayFlow(select/code 两段状态机)与 HjcPayPanel(两处共用):
进页只查单、不发起支付,不预选支付方式;出码后不再有切换控件,
只能显式「更换支付方式」回到选择态(不自动重发、不停查单)
- 发起失败留在选择态并保留所选(渠道侧什么都没产生,没有理由锁住用户)
- 收银台 pages/tender/pay.vue 只留订单侧职责:取单、终态屏、超时锁、付款成功跳列表
- 购标流程 BuyDocument:下单后停在选择态(不再按默认微信自动发起),
补支付剩余时间与超时锁,超时后回表单步重新下单
- 订单详情:只有已完成订单才显示支付方式渠道名,其余显示「—」;
标签按前缀判,修掉 ALIPAY_QR 被显示成「微信支付」
- useHjcPayStatus:新增结构化 channelClosed——「渠道单已关闭」在选择态说
「重新选择支付方式」、出码态才说「重新获取二维码」,不靠匹配 message 字符串
Refs .scratch/cashier-pay-method-selection/issues/01-pay-method-before-pay.md
|
2026-09-30 09:16:36 +08:00 |
|
weicw-dshsa
|
9587a27ede
|
feat(order): 收银台支付倒计时,超时锁死并引导重新下单
- 到期时刻由后端下发(payDeadline),倒计时与"到点锁页面"都用它,前端不自己算时限
- 解析后端时间时把空格换成 T:后端格式是 `yyyy-MM-dd HH:mm:ss`,
而 iOS Safari / 微信内置浏览器解析不了不带 T 的写法(返回 NaN,
会让倒计时与锁页在最主要的那一端静默失效)
- 修正收银台写死的「2 小时」文案:有效期由后端配置,页面不该复述一个具体数字
- 订单列表/详情:超时后不再给「去支付」,并显示「已取消(支付超时)」
- `hjcCanActOn` 收成共享导出,两个页面不再各写一份判定
- 与 hjc-h5 的 utils/orderStatus 保持同一套定义(两仓逐字对齐)
|
2026-09-29 17:44:59 +08:00 |
|
weicw-dshsa
|
1ff4dfffb9
|
feat(hjc-web): 订单页展示并下载电子发票
发票由一站式平台开具后推给后端(官方网不开票,见工作区根目录 docs/adr/0006),
订单响应里新增 invoices;文件是本平台副本,下载走与附件同一条链路(点击时取票)。
- 抽出 composable useAttachmentDownload:把「先换票据、再取文件」的逻辑从
HjcTenderFiles 里提出来,附件与发票共用(各写一份必然分叉);同时把资源标识解析
扩到 orderNo/projectNo/invoiceId 三种。
- 新增 HjcInvoiceFiles.vue:发票号/类型/开票日期/金额 + 下载;作废(红冲)的也列出来
且仍可下载——它是留档凭证。
- HjcTenderFiles.vue 改用 composable,行为不变。
- 订单详情加发票区块,订单列表加「已开票」标记与发票列表。
- 不判"是否已支付":有没有发票取决于甲方开没开票,与订单当前状态无关。
校验:npm run build 通过。
|
2026-09-18 17:33:01 +08:00 |
|
weicw-dshsa
|
2e847b5e09
|
feat(hjc-web): 新建订单详情页,订单列表与详情支持下载已支付订单的标书
此前 PC 没有订单详情页,标书下载只有两句文案(`.scratch/hjc-web-order-detail/01`)。
- 新增 `app/pages/tender/orders/[id].vue`:订单状态、标书附件、待支付操作区、
标书/支付/购买人信息;取数走 `useRequestFetch()`(裸 `$fetch` 在 SSR 不转发 Cookie,
会把用户登出)
- `app/pages/tender/orders.vue` → `orders/index.vue`:Nuxt 里同名 file+目录会生成父子路由,
详情页会被父页吞掉,必须让列表页是 `index.vue`
- 列表页每张卡片加「标书附件」(仅已支付)与「查看详情」,不整卡可点(卡内已有按钮与链接)
- 新增 `app/components/HjcTenderFiles.vue` 与代理 `server/api/tender/order-detail.get.ts`
- 附件地址来自后端按 `payStatus=1` 下发的 `tenderFiles`,前端不做权限判断、不自己拼地址
规格与验收:`.scratch/hjc-tender-download/`
|
2026-09-17 18:09:27 +08:00 |
|