商品管理支持隐藏式类型/专区/商品(shenhezhuangtai=4)。
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -71,8 +71,10 @@
|
||||
<el-select v-model="form.shenhezhuangtai" placeholder="请选择审核状态" popper-class="custom-select-dropdown">
|
||||
<el-option label="正常商品" :value="1" />
|
||||
<el-option label="审核专用" :value="2" />
|
||||
<el-option label="商家端" :value="3" />
|
||||
<el-option label="隐藏式" :value="4" />
|
||||
</el-select>
|
||||
<div class="form-tip">审核专用用于小程序骗审,正常商品正常上架</div>
|
||||
<div class="form-tip">1点单正常 / 2审核专用 / 3商家端 / 4扫管事码后点单可见(抢单池也可见)</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -84,6 +86,12 @@
|
||||
<el-option-group label="正常类型">
|
||||
<el-option v-for="type in normalTypes" :key="type.id" :label="type.jieshao" :value="type.id" />
|
||||
</el-option-group>
|
||||
<el-option-group label="商家端类型" v-if="merchantTypes.length">
|
||||
<el-option v-for="type in merchantTypes" :key="type.id" :label="`${type.jieshao} (商家端)`" :value="type.id" />
|
||||
</el-option-group>
|
||||
<el-option-group label="隐藏式类型" v-if="hiddenTypes.length">
|
||||
<el-option v-for="type in hiddenTypes" :key="type.id" :label="`${type.jieshao} (隐藏式)`" :value="type.id" />
|
||||
</el-option-group>
|
||||
<el-option-group label="审核专用类型" v-if="showAuditTypes">
|
||||
<el-option v-for="type in auditTypes" :key="type.id" :label="`${type.jieshao} (审核专用)`" :value="type.id" />
|
||||
</el-option-group>
|
||||
@@ -99,6 +107,12 @@
|
||||
<el-option-group label="正常专区" v-if="normalZones.length">
|
||||
<el-option v-for="zone in normalZones" :key="zone.id" :label="zone.mingzi" :value="zone.id" />
|
||||
</el-option-group>
|
||||
<el-option-group label="商家端专区" v-if="merchantZones.length">
|
||||
<el-option v-for="zone in merchantZones" :key="zone.id" :label="`${zone.mingzi} (商家端)`" :value="zone.id" />
|
||||
</el-option-group>
|
||||
<el-option-group label="隐藏式专区" v-if="hiddenZones.length">
|
||||
<el-option v-for="zone in hiddenZones" :key="zone.id" :label="`${zone.mingzi} (隐藏式)`" :value="zone.id" />
|
||||
</el-option-group>
|
||||
<el-option-group label="审核专用专区" v-if="auditZones.length && showAuditTypes">
|
||||
<el-option v-for="zone in auditZones" :key="zone.id" :label="`${zone.mingzi} (审核专用)`" :value="zone.id" />
|
||||
</el-option-group>
|
||||
@@ -301,12 +315,22 @@ const formRules = {
|
||||
|
||||
const showAuditTypes = ref(false)
|
||||
|
||||
const normalTypes = computed(() => typeList.value.filter(t => t.shenhezhuangtai !== 2))
|
||||
const normalTypes = computed(() => typeList.value.filter(t => t.shenhezhuangtai === 1))
|
||||
const merchantTypes = computed(() => typeList.value.filter(t => t.shenhezhuangtai === 3))
|
||||
const hiddenTypes = computed(() => typeList.value.filter(t => t.shenhezhuangtai === 4))
|
||||
const auditTypes = computed(() => typeList.value.filter(t => t.shenhezhuangtai === 2))
|
||||
|
||||
const normalZones = computed(() => {
|
||||
if (!form.leixing_id) return []
|
||||
return zoneList.value.filter(z => z.leixing_id === form.leixing_id && z.shenhezhuangtai !== 2)
|
||||
return zoneList.value.filter(z => z.leixing_id === form.leixing_id && z.shenhezhuangtai === 1)
|
||||
})
|
||||
const merchantZones = computed(() => {
|
||||
if (!form.leixing_id) return []
|
||||
return zoneList.value.filter(z => z.leixing_id === form.leixing_id && z.shenhezhuangtai === 3)
|
||||
})
|
||||
const hiddenZones = computed(() => {
|
||||
if (!form.leixing_id) return []
|
||||
return zoneList.value.filter(z => z.leixing_id === form.leixing_id && z.shenhezhuangtai === 4)
|
||||
})
|
||||
const auditZones = computed(() => {
|
||||
if (!form.leixing_id) return []
|
||||
|
||||
@@ -95,8 +95,8 @@
|
||||
<div class="zone-info">
|
||||
<div class="zone-name">{{ zone.mingzi }}</div>
|
||||
<div class="zone-meta">
|
||||
<el-tag size="small" :type="zone.shenhezhuangtai === 1 ? 'success' : 'warning'">
|
||||
{{ zone.shenhezhuangtai === 1 ? '正常' : '审核专用' }}
|
||||
<el-tag size="small" :type="getShenheTagType(zone.shenhezhuangtai)">
|
||||
{{ getShenheText(zone.shenhezhuangtai) }}
|
||||
</el-tag>
|
||||
</div>
|
||||
</div>
|
||||
@@ -161,6 +161,7 @@
|
||||
<el-radio :label="1">点单端</el-radio>
|
||||
<el-radio :label="2">审核专用</el-radio>
|
||||
<el-radio :label="3">商家端</el-radio>
|
||||
<el-radio :label="4">隐藏式</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="吃龙虾商品类型" prop="is_special_type">
|
||||
@@ -212,6 +213,8 @@
|
||||
<el-radio-group v-model="zoneForm.shenhezhuangtai">
|
||||
<el-radio :label="1">正常</el-radio>
|
||||
<el-radio :label="2">审核专用</el-radio>
|
||||
<el-radio :label="3">商家端</el-radio>
|
||||
<el-radio :label="4">隐藏式</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -259,9 +262,9 @@ const rateMerchant = ref(0)
|
||||
|
||||
const formatRate = (val) => (val * 100).toFixed(2) + '%'
|
||||
|
||||
/** 商品类型 shenhezhuangtai:1点单端 2审核专用 3商家端 */
|
||||
/** 商品类型/专区 shenhezhuangtai:1点单端 2审核专用 3商家端 4隐藏式 */
|
||||
const getShenheText = (val) => {
|
||||
const map = { 1: '点单端', 2: '审核专用', 3: '商家端' }
|
||||
const map = { 1: '点单端', 2: '审核专用', 3: '商家端', 4: '隐藏式' }
|
||||
return map[Number(val)] || '未知'
|
||||
}
|
||||
const getShenheTagType = (val) => {
|
||||
@@ -269,6 +272,7 @@ const getShenheTagType = (val) => {
|
||||
if (code === 1) return 'success'
|
||||
if (code === 2) return 'warning'
|
||||
if (code === 3) return 'primary'
|
||||
if (code === 4) return 'danger'
|
||||
return 'info'
|
||||
}
|
||||
|
||||
@@ -406,8 +410,8 @@ const submitType = async () => {
|
||||
ElMessage.error('抢单要求类型或类型端无效')
|
||||
return
|
||||
}
|
||||
if (![1, 2, 3].includes(typeForm.shenhezhuangtai)) {
|
||||
ElMessage.error('类型端必须为 1(点单端)、2(审核专用) 或 3(商家端)')
|
||||
if (![1, 2, 3, 4].includes(typeForm.shenhezhuangtai)) {
|
||||
ElMessage.error('类型端必须为 1(点单端)、2(审核专用)、3(商家端) 或 4(隐藏式)')
|
||||
return
|
||||
}
|
||||
try { await typeFormRef.value.validate() } catch { return }
|
||||
@@ -551,8 +555,8 @@ const resetZoneForm = () => {
|
||||
}
|
||||
const submitZone = async () => {
|
||||
zoneForm.shenhezhuangtai = parseInt(zoneForm.shenhezhuangtai, 10)
|
||||
if (isNaN(zoneForm.shenhezhuangtai)) {
|
||||
ElMessage.error('审核状态无效')
|
||||
if (isNaN(zoneForm.shenhezhuangtai) || ![1, 2, 3, 4].includes(zoneForm.shenhezhuangtai)) {
|
||||
ElMessage.error('审核状态无效(须为1/2/3/4)')
|
||||
return
|
||||
}
|
||||
try { await zoneFormRef.value.validate() } catch { return }
|
||||
|
||||
Reference in New Issue
Block a user