Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kadycui
game-admin
提交
c590551a
game-admin
项目概览
kadycui
/
game-admin
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
game-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c590551a
编写于
9月 20, 2023
作者:
kadycui
💻
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ADD: 优惠券逻辑处理
上级
42dd8d80
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
100 addition
and
41 deletion
+100
-41
src/composables/useCommon.js
src/composables/useCommon.js
+8
-1
src/pages/coupon/list.vue
src/pages/coupon/list.vue
+92
-40
未找到文件。
src/composables/useCommon.js
浏览文件 @
c590551a
...
@@ -139,7 +139,14 @@ export function useInitForm(opt = {}) {
...
@@ -139,7 +139,14 @@ export function useInitForm(opt = {}) {
if
(
!
valid
)
return
if
(
!
valid
)
return
formDrawerRef
.
value
.
showLoading
()
formDrawerRef
.
value
.
showLoading
()
const
fun
=
editId
.
value
?
opt
.
update
(
editId
.
value
,
form
)
:
opt
.
create
(
form
)
let
body
=
{}
if
(
opt
.
beforeSubmit
&&
typeof
opt
.
beforeSubmit
==
"
function
"
){
body
=
opt
.
beforeSubmit
({
...
form
})
}
else
{
body
=
form
}
const
fun
=
editId
.
value
?
opt
.
update
(
editId
.
value
,
body
)
:
opt
.
create
(
body
)
fun
.
then
((
res
)
=>
{
fun
.
then
((
res
)
=>
{
console
.
log
(
res
);
console
.
log
(
res
);
toast
(
drawerTitle
.
value
+
"
成功
"
)
toast
(
drawerTitle
.
value
+
"
成功
"
)
...
...
src/pages/coupon/list.vue
浏览文件 @
c590551a
<
template
>
<
template
>
<el-card
shadow=
"never"
class=
"border-0"
>
<el-card
shadow=
"never"
class=
"border-0"
>
<!-- 新增 | 刷新 -->
<!-- 新增 | 刷新 -->
<ListHeader
@
create=
"handleCreate"
@
refresh=
"getData"
/>
<ListHeader
@
create=
"handleCreate"
@
refresh=
"getData"
/>
<el-table
:data=
"tableData"
stripe
style=
"width: 100%"
element-loading-text=
"加载中..."
<el-table
:data=
"tableData"
stripe
style=
"width: 100%"
element-loading-text=
"加载中..."
element-loading-spinner=
"el-icon-loading"
element-loading-spinner=
"el-icon-loading"
v-loading=
"loading"
>
v-loading=
"loading"
>
<el-table-column
label=
"优惠券名称"
width=
"350"
>
<el-table-column
label=
"优惠券名称"
width=
"350"
>
<template
#default
="
{ row }">
<template
#default
="
{ row }">
<div
class=
"border border-dashed py-2 px-4 rounded"
<div
class=
"border border-dashed py-2 px-4 rounded"
:class=
"row.statusText == '领取中' ? 'active' : 'inactive'"
>
:class=
"row.statusText == '领取中' ? 'active' : 'inactive'"
>
<h5
class=
"font-bold text-md"
>
{{
row
.
name
}}
</h5>
<h5
class=
"font-bold text-md"
>
{{
row
.
name
}}
</h5>
<small>
{{
row
.
start_time
}}
~
{{
row
.
end_time
}}
</small>
<small>
{{
row
.
start_time
}}
~
{{
row
.
end_time
}}
</small>
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"statusText"
label=
"状态"
/>
<el-table-column
prop=
"statusText"
label=
"状态"
/>
<el-table-column
label=
"优惠"
>
<el-table-column
label=
"优惠"
>
<
template
#default=
"{ row }"
>
<
template
#default=
"{ row }"
>
{{
row
.
type
?
"
满减
"
:
"
折扣
"
}}
{{
row
.
type
?
(
"
¥
"
+
row
.
value
)
:
(
row
.
value
+
"
折
"
)
}}
{{
row
.
type
==
0
?
"
满减
"
:
"
折扣
"
}}
{{
row
.
type
==
0
?
(
"
¥
"
+
row
.
value
)
:
(
row
.
value
+
"
折
"
)
}}
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"total"
label=
"发放数量"
/>
<el-table-column
prop=
"total"
label=
"发放数量"
/>
...
@@ -46,11 +44,50 @@
...
@@ -46,11 +44,50 @@
<FormDrawer
ref=
"formDrawerRef"
:title=
"drawerTitle"
@
submit=
"handleSubmit"
>
<FormDrawer
ref=
"formDrawerRef"
:title=
"drawerTitle"
@
submit=
"handleSubmit"
>
<el-form
:model=
"form"
ref=
"formRef"
:rules=
"rules"
label-width=
"80px"
:inline=
"false"
>
<el-form
:model=
"form"
ref=
"formRef"
:rules=
"rules"
label-width=
"80px"
:inline=
"false"
>
<el-form-item
label=
"公告标题"
prop=
"title"
>
<el-form-item
label=
"优惠券名称"
prop=
"name"
>
<el-input
v-model=
"form.title"
placeholder=
"公告标题"
></el-input>
<el-input
v-model=
"form.name"
placeholder=
"优惠券名称"
style=
"width: 50%;"
></el-input>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-radio-group
v-model=
"form.type"
@
change=
""
>
<el-radio
:label=
"0"
>
满减
</el-radio>
<el-radio
:label=
"1"
>
折扣
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"面值"
prop=
"value"
>
<el-input
v-model=
"form.value"
placeholder=
"面值"
style=
"width: 50%;"
>
<
template
#append
>
{{
form
.
type
?
"
折
"
:
"
元
"
}}
</
template
>
</el-input>
</el-form-item>
<el-form-item
label=
"发行量"
prop=
"total"
>
<el-input-number
v-model=
"form.total"
:min=
"1"
:max=
"10000"
></el-input-number>
</el-form-item>
<el-form-item
label=
"最低使用价格"
prop=
"min_price"
>
<el-input
v-model=
"form.min_price"
placeholder=
"最低使用价格"
type=
"number"
></el-input>
</el-form-item>
<el-form-item
label=
"排序"
prop=
"order"
>
<el-input-number
v-model=
"form.order"
:min=
"1"
:max=
"10000"
></el-input-number>
</el-form-item>
</el-form-item>
<el-form-item
label=
"公告内容"
prop=
"content"
>
<el-input
v-model=
"form.content"
placeholder=
"公告内容"
type=
"textarea"
:rows=
"5"
></el-input>
<el-form-item
label=
"活动时间"
>
<el-date-picker
:editable=
"false"
v-model=
"timerange"
value-format=
"YYYY-MM-DD HH:mm:ss"
type=
"datetimerange"
range-separator=
"To"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
/>
</el-form-item>
<el-form-item
label=
"描述"
prop=
"desc"
>
<el-input
v-model=
"form.desc"
placeholder=
"描述"
type=
"textarea"
:rows=
"5"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -62,6 +99,7 @@
...
@@ -62,6 +99,7 @@
<
script
setup
>
<
script
setup
>
import
{
computed
}
from
'
vue
'
import
{
import
{
getCouponList
,
getCouponList
,
createCoupon
,
createCoupon
,
...
@@ -73,16 +111,16 @@ import FormDrawer from "@/components/FormDrawer.vue"
...
@@ -73,16 +111,16 @@ import FormDrawer from "@/components/FormDrawer.vue"
import
ListHeader
from
"
@/components/ListHeader.vue
"
import
ListHeader
from
"
@/components/ListHeader.vue
"
import
{
useInitTable
,
useInitForm
}
from
"
@/composables/useCommon.js
"
import
{
useInitTable
,
useInitForm
}
from
"
@/composables/useCommon.js
"
function
formStatus
(
row
){
function
formStatus
(
row
)
{
let
s
=
"
领取中
"
let
s
=
"
领取中
"
let
start_time
=
(
new
Date
(
row
.
start_time
)).
getTime
()
let
start_time
=
(
new
Date
(
row
.
start_time
)).
getTime
()
let
now
=
(
new
Date
()).
getTime
()
let
now
=
(
new
Date
()).
getTime
()
let
end_time
=
(
new
Date
(
row
.
end_time
)).
getTime
()
let
end_time
=
(
new
Date
(
row
.
end_time
)).
getTime
()
if
(
start_time
>
now
)
{
if
(
start_time
>
now
)
{
s
=
"
未开始
"
s
=
"
未开始
"
}
else
if
(
end_time
<
now
){
}
else
if
(
end_time
<
now
)
{
s
=
"
已结束
"
s
=
"
已结束
"
}
else
if
(
end_time
<
now
){
}
else
if
(
end_time
<
now
)
{
s
=
"
已失效
"
s
=
"
已失效
"
}
}
return
s
return
s
...
@@ -101,8 +139,8 @@ const {
...
@@ -101,8 +139,8 @@ const {
}
=
useInitTable
({
}
=
useInitTable
({
getList
:
getCouponList
,
getList
:
getCouponList
,
onGetListSuccess
:
(
res
)
=>
{
onGetListSuccess
:
(
res
)
=>
{
tableData
.
value
=
res
.
list
.
map
(
o
=>
{
tableData
.
value
=
res
.
list
.
map
(
o
=>
{
// 转化优惠券状态
// 转化优惠券状态
o
.
statusText
=
formStatus
(
o
)
o
.
statusText
=
formStatus
(
o
)
return
o
return
o
...
@@ -127,30 +165,44 @@ const {
...
@@ -127,30 +165,44 @@ const {
}
=
useInitForm
(
}
=
useInitForm
(
{
{
form
:
{
form
:
{
title
:
""
,
name
:
""
,
content
:
""
type
:
0
,
},
value
:
0
,
rules
:
{
total
:
100
,
title
:
[
min_price
:
0
,
{
start_time
:
null
,
required
:
true
,
end_time
:
null
,
message
:
'
公告标题不能为空
'
,
order
:
50
,
trigger
:
'
blur
'
desc
:
""
}
],
content
:
[
{
required
:
true
,
message
:
'
公告内容不能为空
'
,
trigger
:
'
blur
'
}
]
},
},
rules
:
{},
getData
,
getData
,
update
:
updateCoupon
,
update
:
updateCoupon
,
create
:
createCoupon
create
:
createCoupon
,
beforeSubmit
:(
f
)
=>
{
if
(
typeof
f
.
start_time
!=
"
number
"
){
f
.
start_time
=
(
new
Date
(
f
.
start_time
)).
getTime
()
}
if
(
typeof
f
.
end_time
!=
"
number
"
){
f
.
end_time
=
(
new
Date
(
f
.
end_time
)).
getTime
()
}
return
f
}
})
})
const
timerange
=
computed
({
get
(){
return
form
.
start_time
&&
form
.
end_time
?
[
form
.
start_time
,
form
.
end_time
]
:
[]
},
set
(
val
){
form
.
start_time
=
val
[
0
]
form
.
end_time
=
val
[
1
]
}
})
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录