feat(admin/product): 商品表单与列表增加 sold_out 售罄字段 -- 缘由: 后端新增 sold_out 布尔字段, 管理员可手动设置商品售罄状态 -- 预期: 商品创建/编辑表单含售罄开关, 列表显示售罄/在售标签

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
shiran
2026-05-13 16:44:00 +08:00
parent ea571563e0
commit 59c5d16082
+15 -2
View File
@@ -106,6 +106,13 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="售罄" width="80">
<template #default="{ row }">
<el-tag :type="row.soldOut ? 'danger' : 'success'" size="small">
{{ row.soldOut ? '售罄' : '在售' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="280" fixed="right">
<template #default="{ row }">
<el-button type="primary" link @click="handleEdit(row)">编辑</el-button>
@@ -234,6 +241,10 @@
<el-form-item label="库存数量" prop="inventory">
<el-input-number v-model="productForm.inventory" :min="0" placeholder="请输入库存" style="width: 100%" />
</el-form-item>
<el-form-item label="售罄状态" prop="sold_out">
<el-switch v-model="productForm.sold_out" active-text="已售罄" inactive-text="正常" active-color="#f56c6c" />
<div class="form-tip">开启后用户端无法选购该商品KVM 商品可由后台定时任务根据 IP 资源自动标记</div>
</el-form-item>
<el-form-item label="商品价格" prop="price">
<div class="unit-input-row">
<el-input-number v-model="productForm.price" :min="0" :precision="2" :step="0.01" placeholder="请输入价格(元)" style="flex:1" />
@@ -957,7 +968,8 @@ const productForm = reactive({
recommend: false,
recommend_rebate: 0,
arg_type: 'all', // 商品参数类型 all/plan/customize
attribution_id: '' // 归属项ID
attribution_id: '', // 归属项ID
sold_out: false
})
const productRules = {
@@ -1261,7 +1273,8 @@ const handleEdit = (row) => {
expire_time: row.expireTime,
recommend: row.recommend,
recommend_rebate: row.recommendRebate,
arg_type: row.argType || 'all'
arg_type: row.argType || 'all',
sold_out: !!row.soldOut
})
coverPreviewUrl.value = row.cover || ''
}