fix(tender): 去掉购标流程里写死的「2 小时内支付」文案

收银台那处上一轮已改;购标流程的支付步骤(BuyDocument)里还剩一处,
两处都会与新的支付时限(默认 30 分钟)自相矛盾。

支付时限由后端配置、且随本单剩余窗口变化,页面上写死一个数字迟早与事实不符,
所以一律改成「在支付时限内」。同时更正 useHjcPayStatus 里"本地计时 2 小时"
的注释:它现在只是**兜底值**,优先用后端随订单下发的 payDeadline。
This commit is contained in:
2026-09-29 18:16:27 +08:00
parent 9587a27ede
commit 5bbe383736
2 changed files with 5 additions and 3 deletions
+1 -1
View File
@@ -66,7 +66,7 @@ export function useHjcPayStatus(
const querying = ref(false)
/** 查单本身失败的提示(网络/业务失败),与订单是否付款无关 */
const error = ref('')
/** 支付码是否已超出本地计时(2 小时) */
/** 支付码是否已超出计时(优先用后端下发的到期时刻,拿不到时才用本地兜底值) */
const expired = ref(false)
/** 轮询是否应当进行(已开始、未付款、未过期) */
@@ -103,7 +103,8 @@
<div :class="payExpired ? 'opacity-30' : ''">
<HjcPayQrcode :value="codeUrl" :size="240" :alt="qrAlt" />
</div>
<p class="mt-3 text-sm text-gray-500">请在 2 小时内用{{ channelLabel }}扫描上方二维码完成支付</p>
<!-- 这里**不写具体时长**:支付时限由后端配置,页面上写死一个数字(原先写的是 2 小时)迟早与事实不符 -->
<p class="mt-3 text-sm text-gray-500">请在支付时限内用{{ channelLabel }}扫描上方二维码完成支付</p>
<p v-if="payExpired" class="mt-2 text-sm text-amber-600">二维码已过期,请重新获取后再扫码</p>
</template>
<div v-else class="rounded-md bg-gray-50 px-4 py-6 text-sm text-gray-500">
@@ -327,7 +328,8 @@ async function confirmPaid() {
* 重新获取支付码 / 切换渠道后重新发起。
*
* 允许对同一 `out_trade_no`(这里就是 hjc 订单号)重复发起下单,
* 所以"刷新"是重新调 `/api/tender/pay` 拿一张新码,并**重置 2 小时计时**。
* 所以"刷新"是重新调 `/api/tender/pay` 拿一张新码——但**不重置支付时限**:
* 时限从下单时刻起算(见 CONTEXT.md「支付时限」),重新出码不改变整张订单的到期时刻。
*
* 把当前 `payType` 一并带上:切换渠道时必须让后端按新渠道下单,
* 否则会拿着一张微信的码却显示在"支付宝"标签下。