feat(admin/product): 商品表单与列表增加 sold_out 售罄字段 -- 缘由: 后端新增 sold_out 布尔字段, 管理员可手动设置商品售罄状态 -- 预期: 商品创建/编辑表单含售罄开关, 列表显示售罄/在售标签
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -106,6 +106,13 @@
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<el-table-column label="操作" width="280" fixed="right">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-button type="primary" link @click="handleEdit(row)">编辑</el-button>
|
<el-button type="primary" link @click="handleEdit(row)">编辑</el-button>
|
||||||
@@ -234,6 +241,10 @@
|
|||||||
<el-form-item label="库存数量" prop="inventory">
|
<el-form-item label="库存数量" prop="inventory">
|
||||||
<el-input-number v-model="productForm.inventory" :min="0" placeholder="请输入库存" style="width: 100%" />
|
<el-input-number v-model="productForm.inventory" :min="0" placeholder="请输入库存" style="width: 100%" />
|
||||||
</el-form-item>
|
</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">
|
<el-form-item label="商品价格" prop="price">
|
||||||
<div class="unit-input-row">
|
<div class="unit-input-row">
|
||||||
<el-input-number v-model="productForm.price" :min="0" :precision="2" :step="0.01" placeholder="请输入价格(元)" style="flex:1" />
|
<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: false,
|
||||||
recommend_rebate: 0,
|
recommend_rebate: 0,
|
||||||
arg_type: 'all', // 商品参数类型 all/plan/customize
|
arg_type: 'all', // 商品参数类型 all/plan/customize
|
||||||
attribution_id: '' // 归属项ID
|
attribution_id: '', // 归属项ID
|
||||||
|
sold_out: false
|
||||||
})
|
})
|
||||||
|
|
||||||
const productRules = {
|
const productRules = {
|
||||||
@@ -1261,7 +1273,8 @@ const handleEdit = (row) => {
|
|||||||
expire_time: row.expireTime,
|
expire_time: row.expireTime,
|
||||||
recommend: row.recommend,
|
recommend: row.recommend,
|
||||||
recommend_rebate: row.recommendRebate,
|
recommend_rebate: row.recommendRebate,
|
||||||
arg_type: row.argType || 'all'
|
arg_type: row.argType || 'all',
|
||||||
|
sold_out: !!row.soldOut
|
||||||
})
|
})
|
||||||
coverPreviewUrl.value = row.cover || ''
|
coverPreviewUrl.value = row.cover || ''
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user