|
@@ -2,8 +2,8 @@
|
|
|
<div class="energy-behavior-config admin-page">
|
|
<div class="energy-behavior-config admin-page">
|
|
|
<PageHeader title="能量行为配置">
|
|
<PageHeader title="能量行为配置">
|
|
|
<div class="filters">
|
|
<div class="filters">
|
|
|
- <el-input v-model="keyword" placeholder="搜索行为名称/编码..." prefix-icon="el-icon-search" style="width:260px" clearable @keyup.enter.native="loadList" @clear="loadList" />
|
|
|
|
|
- <el-select v-model="enabledFilter" placeholder="状态筛选" @change="loadList" style="width: 140px;" clearable>
|
|
|
|
|
|
|
+ <el-input v-model="keyword" placeholder="搜索行为名称/编码..." prefix-icon="el-icon-search" class="w-260" clearable @keyup.enter.native="loadList" @clear="loadList" />
|
|
|
|
|
+ <el-select v-model="enabledFilter" placeholder="状态筛选" @change="loadList" class="w-140" clearable>
|
|
|
<el-option label="全部" value="" />
|
|
<el-option label="全部" value="" />
|
|
|
<el-option label="已启用" value="1" />
|
|
<el-option label="已启用" value="1" />
|
|
|
<el-option label="已禁用" value="0" />
|
|
<el-option label="已禁用" value="0" />
|
|
@@ -40,7 +40,7 @@
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
<el-table-column label="维度分配" min-width="200">
|
|
<el-table-column label="维度分配" min-width="200">
|
|
|
<template slot-scope="{ row }">
|
|
<template slot-scope="{ row }">
|
|
|
- <span v-if="!row.dimensionAssign" style="color:var(--adm-text-45)">未配置</span>
|
|
|
|
|
|
|
+ <span v-if="!row.dimensionAssign" class="text-muted">未配置</span>
|
|
|
<el-tag v-for="d in parseDimAssign(row.dimensionAssign)" :key="d.dim" size="mini" :style="{ background: dimColor(d.dim), color: '#fff', marginRight: '4px' }">
|
|
<el-tag v-for="d in parseDimAssign(row.dimensionAssign)" :key="d.dim" size="mini" :style="{ background: dimColor(d.dim), color: '#fff', marginRight: '4px' }">
|
|
|
{{ dimLabel(d.dim) }} {{ d.ratio }}%
|
|
{{ dimLabel(d.dim) }} {{ d.ratio }}%
|
|
|
</el-tag>
|
|
</el-tag>
|
|
@@ -94,7 +94,7 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
<el-col :span="8">
|
|
|
<el-form-item label="值来源">
|
|
<el-form-item label="值来源">
|
|
|
- <el-select v-model="form.amountSource" style="width:100%">
|
|
|
|
|
|
|
+ <el-select v-model="form.amountSource" class="full-width">
|
|
|
<el-option label="固定值" value="fixed" />
|
|
<el-option label="固定值" value="fixed" />
|
|
|
<el-option label="跟随积分" value="points" />
|
|
<el-option label="跟随积分" value="points" />
|
|
|
<el-option label="跟随金额" value="order_amount" />
|
|
<el-option label="跟随金额" value="order_amount" />
|
|
@@ -121,12 +121,12 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
<el-form-item label="维度分配">
|
|
<el-form-item label="维度分配">
|
|
|
- <div v-for="(d, i) in dimAssignList" :key="i" style="display:flex;align-items:center;margin-bottom:8px;gap:8px">
|
|
|
|
|
- <el-select v-model="d.dim" style="width:120px" @change="normalizeDimRatio">
|
|
|
|
|
|
|
+ <div v-for="(d, i) in dimAssignList" :key="i" class="dim-row">
|
|
|
|
|
+ <el-select v-model="d.dim" class="w-120" @change="normalizeDimRatio">
|
|
|
<el-option v-for="dim in dimensions" :key="dim.code" :label="dim.name" :value="dim.code" />
|
|
<el-option v-for="dim in dimensions" :key="dim.code" :label="dim.name" :value="dim.code" />
|
|
|
</el-select>
|
|
</el-select>
|
|
|
- <el-slider v-model="d.ratio" :min="0" :max="100" style="flex:1" />
|
|
|
|
|
- <span style="width:40px;text-align:right">{{ d.ratio }}%</span>
|
|
|
|
|
|
|
+ <el-slider v-model="d.ratio" :min="0" :max="100" class="flex-1" />
|
|
|
|
|
+ <span class="ratio-label">{{ d.ratio }}%</span>
|
|
|
<el-button type="danger" size="mini" icon="el-icon-delete" circle @click="removeDim(i)" v-if="dimAssignList.length > 1" />
|
|
<el-button type="danger" size="mini" icon="el-icon-delete" circle @click="removeDim(i)" v-if="dimAssignList.length > 1" />
|
|
|
</div>
|
|
</div>
|
|
|
<el-button size="mini" @click="addDim" v-if="dimAssignList.length < 5">+ 添加维度</el-button>
|
|
<el-button size="mini" @click="addDim" v-if="dimAssignList.length < 5">+ 添加维度</el-button>
|
|
@@ -251,4 +251,13 @@ export default {
|
|
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
.filters { display: flex; gap: 10px; align-items: center; }
|
|
.filters { display: flex; gap: 10px; align-items: center; }
|
|
|
|
|
+/* == C 批内联清理工具类 == */
|
|
|
|
|
+.w-260 { width: 260px; }
|
|
|
|
|
+.w-140 { width: 140px; }
|
|
|
|
|
+.w-120 { width: 120px; }
|
|
|
|
|
+.text-muted { color: var(--adm-text-45); }
|
|
|
|
|
+.full-width { width: 100%; }
|
|
|
|
|
+.dim-row { display: flex; align-items: center; margin-bottom: 8px; gap: 8px; }
|
|
|
|
|
+.flex-1 { flex: 1; }
|
|
|
|
|
+.ratio-label { width: 40px; text-align: right; }
|
|
|
</style>
|
|
</style>
|