|
|
@@ -23,7 +23,7 @@
|
|
|
<el-table :data="safeLevels" v-loading="levelsLoading" border stripe size="small" empty-text="暂无等级配置" height="100%">
|
|
|
<el-table-column prop="levelCode" label="等级编码" width="110">
|
|
|
<template slot-scope="{ row }">
|
|
|
- <el-tag :type="levelTagType(row.levelCode)" size="small">{{ row.levelCode }}</el-tag>
|
|
|
+ <StatusTag size="small" :type="levelTagType(row.levelCode)" :text="row.levelCode" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="levelName" label="等级名称" width="130" />
|
|
|
@@ -54,12 +54,12 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="AI审核" width="80" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
|
- <el-tag :type="row.aiReviewEnabled ? 'success' : 'info'" size="small">{{ row.aiReviewEnabled ? '是' : '否' }}</el-tag>
|
|
|
+ <StatusTag size="small" :type="row.aiReviewEnabled ? 'success' : 'info'" :text="row.aiReviewEnabled ? '是' : '否'" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="优先客服" width="80" align="center">
|
|
|
<template slot-scope="{ row }">
|
|
|
- <el-tag :type="row.prioritySupport ? 'success' : 'info'" size="small">{{ row.prioritySupport ? '是' : '否' }}</el-tag>
|
|
|
+ <StatusTag size="small" :type="row.prioritySupport ? 'success' : 'info'" :text="row.prioritySupport ? '是' : '否'" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" width="140" fixed="right">
|
|
|
@@ -87,15 +87,15 @@
|
|
|
<el-table-column label="升级路径" width="140">
|
|
|
<template slot-scope="{ row }">
|
|
|
<span class="level-path">
|
|
|
- <el-tag size="mini" type="info">{{ row.fromLevel || 'FREE' }}</el-tag>
|
|
|
+ <StatusTag size="mini" :type="levelTagType(row.fromLevel || 'FREE')" :text="row.fromLevel || 'FREE'" />
|
|
|
<i class="el-icon-right"></i>
|
|
|
- <el-tag size="mini" type="success">{{ row.toLevel || '—' }}</el-tag>
|
|
|
+ <StatusTag size="mini" :type="levelTagType(row.toLevel || 'FREE')" :text="row.toLevel || '—'" />
|
|
|
</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="升级方式" width="110">
|
|
|
<template slot-scope="{ row }">
|
|
|
- <el-tag :type="upgradeTypeTag(row.upgradeType)" size="mini">{{ upgradeTypeLabel(row.upgradeType) }}</el-tag>
|
|
|
+ <StatusTag size="mini" :type="upgradeTypeTag(row.upgradeType) || 'primary'" :text="upgradeTypeLabel(row.upgradeType)" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="orderId" label="订单号" width="120" show-overflow-tooltip>
|
|
|
@@ -150,7 +150,7 @@
|
|
|
<el-table-column prop="phone" label="手机号" width="130" />
|
|
|
<el-table-column label="当前等级" width="110">
|
|
|
<template slot-scope="{ row }">
|
|
|
- <el-tag :type="levelTagType(row.memberLevel)" size="mini">{{ row.memberLevel || 'FREE' }}</el-tag>
|
|
|
+ <StatusTag size="mini" :type="levelTagType(row.memberLevel)" :text="row.memberLevel || 'FREE'" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="推荐人ID" width="100">
|
|
|
@@ -177,7 +177,7 @@
|
|
|
<el-dialog title="功能权限详情" :visible.sync="featuresVisible" width="520px" @close="featuresVisible = false">
|
|
|
<div v-if="currentLevel">
|
|
|
<div style="display:flex;align-items:center;gap:12px;margin-bottom:16px;">
|
|
|
- <el-tag :type="levelTagType(currentLevel.levelCode)" size="medium">{{ currentLevel.levelCode }}</el-tag>
|
|
|
+ <StatusTag :type="levelTagType(currentLevel.levelCode)" size="medium" :text="currentLevel.levelCode" />
|
|
|
<span style="font-size:16px;font-weight:600;">{{ currentLevel.levelName }}</span>
|
|
|
</div>
|
|
|
<p class="text-muted" style="margin:0 0 16px;">{{ currentLevel.levelDesc || '暂无描述' }}</p>
|
|
|
@@ -187,17 +187,17 @@
|
|
|
<el-descriptions-item label="家庭成员上限">{{ currentLevel.maxChildren || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="每日任务上限">{{ currentLevel.maxTasksPerDay || '—' }}</el-descriptions-item>
|
|
|
<el-descriptions-item label="AI审核">
|
|
|
- <el-tag :type="currentLevel.aiReviewEnabled ? 'success' : 'info'" size="mini">{{ currentLevel.aiReviewEnabled ? '启用' : '未启用' }}</el-tag>
|
|
|
+ <StatusTag :type="currentLevel.aiReviewEnabled ? 'success' : 'info'" size="mini" :text="currentLevel.aiReviewEnabled ? '启用' : '未启用'" />
|
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item label="优先客服">
|
|
|
- <el-tag :type="currentLevel.prioritySupport ? 'success' : 'info'" size="mini">{{ currentLevel.prioritySupport ? '支持' : '不支持' }}</el-tag>
|
|
|
+ <StatusTag :type="currentLevel.prioritySupport ? 'success' : 'info'" size="mini" :text="currentLevel.prioritySupport ? '支持' : '不支持'" />
|
|
|
</el-descriptions-item>
|
|
|
<el-descriptions-item label="老师咨询" :span="2">
|
|
|
- <el-tag :type="currentLevel.teacherConsultation ? 'success' : 'info'" size="mini">{{ currentLevel.teacherConsultation ? '支持' : '不支持' }}</el-tag>
|
|
|
+ <StatusTag :type="currentLevel.teacherConsultation ? 'success' : 'info'" size="mini" :text="currentLevel.teacherConsultation ? '支持' : '不支持'" />
|
|
|
</el-descriptions-item>
|
|
|
</el-descriptions>
|
|
|
<div v-if="parseFeatures(currentLevel.features).length" style="margin-top:16px;">
|
|
|
- <div style="font-weight:600;margin-bottom:8px;color:#606266;">功能权限列表</div>
|
|
|
+ <div style="font-weight:600;margin-bottom:8px;color:var(--adm-text-65);">功能权限列表</div>
|
|
|
<div style="display:flex;flex-wrap:wrap;gap:6px;">
|
|
|
<el-tag v-for="(f, i) in parseFeatures(currentLevel.features)" :key="i" size="small">{{ f }}</el-tag>
|
|
|
</div>
|
|
|
@@ -237,7 +237,7 @@
|
|
|
<el-form :model="editForm" label-width="100px" size="small">
|
|
|
<el-form-item label="等级编码">
|
|
|
<el-tag>{{ editForm.levelCode }}</el-tag>
|
|
|
- <span style="color:#999;margin-left:8px;font-size:12px;">编码不可修改</span>
|
|
|
+ <span style="color:var(--adm-text-45);margin-left:8px;font-size:12px;">编码不可修改</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="等级名称" required>
|
|
|
<el-input v-model="editForm.levelName" placeholder="如:家庭会员" maxlength="32" show-word-limit style="width:320px;" />
|
|
|
@@ -247,7 +247,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="级别排序">
|
|
|
<el-input-number v-model="editForm.levelOrder" :min="1" :max="999" :step="1" style="width:160px;" />
|
|
|
- <span style="color:#999;margin-left:8px;font-size:12px;">数字越小级别越低,低级别可见则更高级别也可见</span>
|
|
|
+ <span style="color:var(--adm-text-45);margin-left:8px;font-size:12px;">数字越小级别越低,低级别可见则更高级别也可见</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="月费(元)">
|
|
|
<el-input-number v-model="editForm.priceMonthly" :min="0" :step="100" :precision="0" style="width:160px;" />
|
|
|
@@ -260,7 +260,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="月原价(元)">
|
|
|
<el-input-number v-model="editForm.originalPriceMonthly" :min="0" :step="100" :precision="0" style="width:160px;" />
|
|
|
- <span style="color:#999;margin-left:8px;font-size:12px;">留空/0 表示无折扣</span>
|
|
|
+ <span style="color:var(--adm-text-45);margin-left:8px;font-size:12px;">留空/0 表示无折扣</span>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="季原价(元)">
|
|
|
<el-input-number v-model="editForm.originalPriceQuarterly" :min="0" :step="100" :precision="0" style="width:160px;" />
|
|
|
@@ -603,7 +603,7 @@ export default {
|
|
|
gap: 4px;
|
|
|
}
|
|
|
.level-path .el-icon-right {
|
|
|
- color: #909399;
|
|
|
+ color: var(--adm-text-45);
|
|
|
font-size: 12px;
|
|
|
}
|
|
|
|
|
|
@@ -614,19 +614,10 @@ export default {
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
padding: 32px 0;
|
|
|
- color: #c0c4cc;
|
|
|
+ color: var(--adm-text-25);
|
|
|
}
|
|
|
.empty-state i {
|
|
|
font-size: 40px;
|
|
|
margin-bottom: 8px;
|
|
|
}
|
|
|
-.sort-header {
|
|
|
- cursor: pointer;
|
|
|
- user-select: none;
|
|
|
- font-weight: 500;
|
|
|
- font-size: 12px;
|
|
|
-}
|
|
|
-.sort-header:hover {
|
|
|
- color: #409eff;
|
|
|
-}
|
|
|
</style>
|