支持号主与租客查看自己的发布/订单详情

新增卖家商品详情页;订单详情底部增加可折叠账号快照,已完成订单展示结账明细。
This commit is contained in:
yml2213
2026-07-16 20:47:33 +08:00
parent b44b3354b9
commit e241607535
12 changed files with 1870 additions and 95 deletions
@@ -142,6 +142,10 @@ function goEdit(row: Listing) {
router.push(`/m/seller/listings/${row.id}/edit`)
}
function goDetail(row: Listing) {
router.push(`/m/seller/listings/${row.id}`)
}
function canSubmit(row: Listing) {
return !isTerminalListing(row) && !isPendingReview(row) && row.status !== 'published'
}
@@ -244,7 +248,7 @@ function isPendingReview(row: Listing) {
<div v-else v-for="item in displayListings" :key="item.id" class="listing-card">
<!-- 卡片头编号 + 状态 -->
<div class="card-header">
<button class="listing-code-chip" type="button" @click="copyListingCode(item)">
<button class="listing-code-chip" type="button" @click.stop="copyListingCode(item)">
编号 {{ formatListingCode(item) }}
<van-icon name="description" :size="12" />
</button>
@@ -262,35 +266,47 @@ function isPendingReview(row: Listing) {
</div>
</div>
<!-- 卡片体 -->
<h3 class="listing-title">{{ item.title }}</h3>
<!-- 卡片体点击查看完整发布信息仅本人 -->
<button type="button" class="card-body-btn" @click="goDetail(item)">
<h3 class="listing-title">{{ item.title }}</h3>
<div class="meta-grid">
<div class="meta-item">
<span class="meta-label">区服</span>
<span class="meta-val">{{ item.server_region || '-' }}</span>
<div class="meta-grid">
<div class="meta-item">
<span class="meta-label">区服</span>
<span class="meta-val">{{ item.server_region || '-' }}</span>
</div>
<div class="meta-item">
<span class="meta-label">哈夫币</span>
<span class="meta-val">{{ coinText(item) }}</span>
</div>
<div class="meta-item">
<span class="meta-label">价格</span>
<span class="meta-val price">{{ listingPrice(item) }}</span>
</div>
<div class="meta-item">
<span class="meta-label">押金</span>
<span class="meta-val">¥{{ formatCent(item.deposit_amount_cent) }}</span>
</div>
</div>
<div class="meta-item">
<span class="meta-label">哈夫币</span>
<span class="meta-val">{{ coinText(item) }}</span>
</div>
<div class="meta-item">
<span class="meta-label">价格</span>
<span class="meta-val price">{{ listingPrice(item) }}</span>
</div>
<div class="meta-item">
<span class="meta-label">押金</span>
<span class="meta-val">¥{{ formatCent(item.deposit_amount_cent) }}</span>
</div>
</div>
<p v-if="item.review_reason" class="review-reason">
<van-icon name="info-o" :size="13" />
{{ item.review_reason }}
</p>
<p v-if="item.review_reason" class="review-reason">
<van-icon name="info-o" :size="13" />
{{ item.review_reason }}
</p>
<span class="detail-hint">查看完整信息 </span>
</button>
<!-- 卡片底操作 -->
<div class="card-footer">
<van-button
size="small"
plain
round
class="action-btn"
@click="goDetail(item)"
>
详情
</van-button>
<van-button
v-if="canEdit(item)"
size="small"
@@ -509,6 +525,18 @@ function isPendingReview(row: Listing) {
color: #64748b;
}
.card-body-btn {
display: block;
width: 100%;
margin: 0;
padding: 0;
border: 0;
background: transparent;
text-align: left;
cursor: pointer;
color: inherit;
}
.listing-title {
margin: 12px 0 0;
font-size: 15px;
@@ -517,6 +545,14 @@ function isPendingReview(row: Listing) {
line-height: 1.45;
}
.detail-hint {
display: inline-block;
margin-top: 10px;
color: #ff6a00;
font-size: 12px;
font-weight: 600;
}
.meta-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);