Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
corporate-culture-qd
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王立鹏
corporate-culture-qd
Commits
cf3e0b43
Commit
cf3e0b43
authored
Apr 03, 2026
by
lijiabin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【需求 20520】 perf: 加入配置提示
parent
fa4f6f11
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
197 additions
and
0 deletions
+197
-0
index.vue
src/views/backend/settingsMenu/luckyWheelManage/index.vue
+197
-0
No files found.
src/views/backend/settingsMenu/luckyWheelManage/index.vue
View file @
cf3e0b43
...
@@ -32,6 +32,10 @@
...
@@ -32,6 +32,10 @@
<el-icon
class=
"mr-2"
><IEpSetting
/></el-icon>
<el-icon
class=
"mr-2"
><IEpSetting
/></el-icon>
抽奖配置
抽奖配置
</el-button>
</el-button>
<el-button
class=
"config-tip-button"
@
click=
"configTipVisible = true"
>
<el-icon
class=
"mr-2"
><IEpInfoFilled
/></el-icon>
配置提示
</el-button>
</div>
</div>
<!-- 表格区域 -->
<!-- 表格区域 -->
...
@@ -141,6 +145,57 @@
...
@@ -141,6 +145,57 @@
</
template
>
</
template
>
</el-dialog>
</el-dialog>
<el-dialog
v-model=
"configTipVisible"
width=
"620px"
top=
"18vh"
class=
"config-tip-dialog"
>
<div
class=
"config-tip-panel"
>
<div
class=
"config-tip-hero"
>
<div
class=
"config-tip-icon"
>
<el-icon><IEpInfoFilled
/></el-icon>
</div>
<div>
<div
class=
"config-tip-title"
>
转盘配置建议
</div>
<p
class=
"config-tip-subtitle"
>
为了保证抽奖逻辑和页面展示效果正常,建议在配置前先确认以下规则。
</p>
</div>
</div>
<div
class=
"config-tip-list"
>
<div
class=
"config-tip-item"
>
<div
class=
"config-tip-index"
>
01
</div>
<div
class=
"config-tip-content"
>
<div
class=
"config-tip-item-title"
>
中奖概率总和不能超过 100%
</div>
<p>
所有已启用奖品的中奖概率相加后不得超过 100%。如果总概率小于
100%,剩余概率将自动落到“祝福语”上,也就是“谢谢参与”。
</p>
</div>
</div>
<div
class=
"config-tip-item"
>
<div
class=
"config-tip-index"
>
02
</div>
<div
class=
"config-tip-content"
>
<div
class=
"config-tip-item-title"
>
建议总配置项保持为偶数
</div>
<p>
“已启用奖品”加上“谢谢参与”后的总数量,建议保持为偶数(如图1);如果是奇数,转盘分区在页面上的展示会不够协调,视觉效果会受影响(如图2)。
</p>
<div
class=
"config-tip-example"
>
<el-image
v-for=
"(image, index) in configTipImages"
:key=
"`${image}-${index}`"
:src=
"image"
:preview-src-list=
"configTipImages"
:initial-index=
"index"
fit=
"cover"
preview-teleported
class=
"config-tip-example-image"
/>
</div>
</div>
</div>
</div>
</div>
</el-dialog>
<WheelConfig
ref=
"wheelConfigRef"
/>
<WheelConfig
ref=
"wheelConfigRef"
/>
</div>
</div>
</template>
</template>
...
@@ -162,6 +217,11 @@ const { loading, list, total, reset, goToPage, changePageSize, refresh, searchPa
...
@@ -162,6 +217,11 @@ const { loading, list, total, reset, goToPage, changePageSize, refresh, searchPa
usePageSearch
(
getWheelPrizeList
)
usePageSearch
(
getWheelPrizeList
)
const
dialogVisible
=
ref
(
false
)
const
dialogVisible
=
ref
(
false
)
const
configTipVisible
=
ref
(
false
)
const
configTipImages
=
[
'https://soundasia.oss-cn-shenzhen.aliyuncs.com/OA/readName/png/2026/04/03/Common/1775212125999.png'
,
'https://soundasia.oss-cn-shenzhen.aliyuncs.com/OA/readName/png/2026/04/03/Common/1775212079319.png'
,
]
const
dialogTitle
=
computed
(()
=>
(
form
.
value
.
id
?
'编辑'
:
'新增'
))
const
dialogTitle
=
computed
(()
=>
(
form
.
value
.
id
?
'编辑'
:
'新增'
))
const
formRef
=
ref
<
FormInstance
>
()
const
formRef
=
ref
<
FormInstance
>
()
...
@@ -290,4 +350,141 @@ const handleWheelConfig = () => {
...
@@ -290,4 +350,141 @@ const handleWheelConfig = () => {
.btn-icon
{
.btn-icon
{
margin-right
:
4px
;
margin-right
:
4px
;
}
}
.config-tip-button
{
border-color
:
#c9d7ff
;
color
:
#3b6ff5
;
background
:
linear-gradient
(
135deg
,
#f7faff
0%
,
#eef4ff
100%
);
}
.config-tip-button
:hover
{
border-color
:
#9db7ff
;
color
:
#2f5de0
;
background
:
linear-gradient
(
135deg
,
#eef4ff
0%
,
#e4edff
100%
);
}
.config-tip-panel
{
display
:
flex
;
flex-direction
:
column
;
gap
:
20px
;
}
.config-tip-hero
{
display
:
flex
;
gap
:
16px
;
padding
:
18px
20px
;
border-radius
:
16px
;
background
:
linear-gradient
(
135deg
,
#f5f8ff
0%
,
#eef3ff
100%
);
border
:
1px
solid
#dbe6ff
;
}
.config-tip-icon
{
width
:
44px
;
height
:
44px
;
flex-shrink
:
0
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
border-radius
:
14px
;
font-size
:
22px
;
color
:
#3b6ff5
;
background
:
#fff
;
box-shadow
:
0
10px
24px
rgba
(
59
,
111
,
245
,
0.12
);
}
.config-tip-title
{
font-size
:
18px
;
font-weight
:
600
;
color
:
#1f2a44
;
line-height
:
1.4
;
}
.config-tip-subtitle
{
margin
:
6px
0
0
;
font-size
:
13px
;
line-height
:
1.7
;
color
:
#5b6475
;
}
.config-tip-list
{
display
:
flex
;
flex-direction
:
column
;
gap
:
14px
;
}
.config-tip-item
{
display
:
flex
;
gap
:
14px
;
padding
:
18px
20px
;
border-radius
:
16px
;
background
:
#fff
;
border
:
1px
solid
#ebeef5
;
box-shadow
:
0
8px
24px
rgba
(
31
,
42
,
68
,
0.05
);
}
.config-tip-index
{
width
:
40px
;
height
:
40px
;
flex-shrink
:
0
;
border-radius
:
12px
;
background
:
linear-gradient
(
135deg
,
#3b82f6
0%
,
#60a5fa
100%
);
color
:
#fff
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
font-size
:
13px
;
font-weight
:
700
;
letter-spacing
:
0.5px
;
}
.config-tip-content
{
flex
:
1
;
}
.config-tip-item-title
{
margin-bottom
:
6px
;
font-size
:
15px
;
font-weight
:
600
;
color
:
#1f2a44
;
}
.config-tip-content
p
{
margin
:
0
;
font-size
:
13px
;
line-height
:
1.8
;
color
:
#5b6475
;
}
.config-tip-example
{
margin-top
:
14px
;
display
:
grid
;
grid-template-columns
:
repeat
(
2
,
minmax
(
0
,
1
fr
));
gap
:
12px
;
}
.config-tip-example-image
{
border-radius
:
12px
;
overflow
:
hidden
;
border
:
1px
solid
#e5eaf3
;
box-shadow
:
0
8px
20px
rgba
(
31
,
42
,
68
,
0.08
);
cursor
:
zoom-in
;
}
:deep
(
.config-tip-dialog
.el-dialog
)
{
border-radius
:
20px
;
overflow
:
hidden
;
}
:deep
(
.config-tip-dialog
.el-dialog__header
)
{
margin-right
:
0
;
padding
:
22px
24px
0
;
}
:deep
(
.config-tip-dialog
.el-dialog__body
)
{
padding
:
18px
24px
8px
;
}
:deep
(
.config-tip-dialog
.el-dialog__footer
)
{
padding
:
0
24px
24px
;
}
</
style
>
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment