feat(hjc-web): 订单页展示并下载电子发票
发票由一站式平台开具后推给后端(官方网不开票,见工作区根目录 docs/adr/0006), 订单响应里新增 invoices;文件是本平台副本,下载走与附件同一条链路(点击时取票)。 - 抽出 composable useAttachmentDownload:把「先换票据、再取文件」的逻辑从 HjcTenderFiles 里提出来,附件与发票共用(各写一份必然分叉);同时把资源标识解析 扩到 orderNo/projectNo/invoiceId 三种。 - 新增 HjcInvoiceFiles.vue:发票号/类型/开票日期/金额 + 下载;作废(红冲)的也列出来 且仍可下载——它是留档凭证。 - HjcTenderFiles.vue 改用 composable,行为不变。 - 订单详情加发票区块,订单列表加「已开票」标记与发票列表。 - 不判"是否已支付":有没有发票取决于甲方开没开票,与订单当前状态无关。 校验:npm run build 通过。
This commit is contained in:
@@ -56,6 +56,16 @@
|
||||
<p class="text-sm text-gray-500">支付成功后可在此下载标书附件。</p>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
电子发票:**有才有**——甲方开票后推给平台,平台留副本再下发(ADR 0006)。
|
||||
所以这里不判"是否已支付":没开票就是没有这条记录,跟付款状态无关;
|
||||
作废(红冲)的也列出来且仍可下载(留档凭证)。
|
||||
-->
|
||||
<div v-if="order.invoices?.length" class="mt-4 rounded-lg border border-gray-200 p-5">
|
||||
<h2 class="mb-3 font-bold text-gray-900">电子发票</h2>
|
||||
<HjcInvoiceFiles :files="order.invoices" />
|
||||
</div>
|
||||
|
||||
<!-- 待支付订单的操作区(与列表页同一判定:hjcCanActOnOrder) -->
|
||||
<div v-if="hjcCanActOnOrder(order)" class="mt-4 flex justify-end gap-3 rounded-lg border border-gray-200 p-5">
|
||||
<button
|
||||
|
||||
@@ -22,7 +22,10 @@
|
||||
<p class="font-semibold text-gray-900">{{ o.projectName }}</p>
|
||||
<p class="mt-1 text-sm text-gray-500">订单号:{{ o.orderNo }} · 项目编号:{{ o.projectNo }}</p>
|
||||
</div>
|
||||
<span class="rounded px-2 py-0.5 text-xs" :class="hjcOrderStatusClass(o)">{{ hjcOrderStatusLabel(o) }}</span>
|
||||
<span class="flex shrink-0 items-center gap-2">
|
||||
<span v-if="o.invoices?.length" class="rounded bg-blue-50 px-2 py-0.5 text-xs text-blue-600">已开票</span>
|
||||
<span class="rounded px-2 py-0.5 text-xs" :class="hjcOrderStatusClass(o)">{{ hjcOrderStatusLabel(o) }}</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="mt-4 flex items-center justify-between text-sm">
|
||||
<span class="text-gray-500">{{ fmtTime(o.createTime) }}</span>
|
||||
@@ -39,6 +42,12 @@
|
||||
<HjcTenderFiles :files="o.tenderFiles" />
|
||||
</div>
|
||||
|
||||
<!-- 电子发票:有才有(甲方开票后推送过来),作废的也列出来 -->
|
||||
<div v-if="o.invoices?.length" class="mt-4 border-t border-gray-100 pt-4">
|
||||
<p class="mb-2 text-sm font-medium text-gray-700">电子发票</p>
|
||||
<HjcInvoiceFiles :files="o.invoices" />
|
||||
</div>
|
||||
|
||||
<div class="mt-4 flex items-center justify-between border-t border-gray-100 pt-4">
|
||||
<!--
|
||||
详情入口。**不**把整张卡片做成可点:卡片里已经有「取消订单」「去支付」
|
||||
|
||||
Reference in New Issue
Block a user