Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Unverified
Commit
0e200055
authored
Sep 10, 2024
by
芋道源码
Committed by
Gitee
Sep 10, 2024
Browse files
Options
Browse Files
Download
Plain Diff
!546 【代码优化】商城: 满减送活动
Merge pull request !546 from puhui999/dev-crm
parents
5a3ae2ab
4fcc33ec
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
75 additions
and
44 deletions
+75
-44
src/api/mall/promotion/reward/rewardActivity.ts
+5
-0
src/views/mall/promotion/combination/activity/index.vue
+44
-40
src/views/mall/promotion/rewardActivity/index.vue
+26
-4
No files found.
src/api/mall/promotion/reward/rewardActivity.ts
View file @
0e200055
...
...
@@ -47,6 +47,11 @@ export const getReward = async (id: number) => {
return
await
request
.
get
({
url
:
'/promotion/reward-activity/get?id='
+
id
})
}
// 关闭拼团活动
export
const
closeRewardActivity
=
async
(
id
:
number
)
=>
{
return
await
request
.
put
({
url
:
'/promotion/reward-activity/close?id='
+
id
})
}
// 删除限时折扣活动
export
const
deleteRewardActivity
=
async
(
id
:
number
)
=>
{
return
await
request
.
delete
({
url
:
'/promotion/reward-activity/delete?id='
+
id
})
...
...
src/views/mall/promotion/combination/activity/index.vue
View file @
0e200055
...
...
@@ -4,27 +4,27 @@
<ContentWrap>
<!-- 搜索工作栏 -->
<el-form
class=
"-mb-15px"
:model=
"queryParams"
ref=
"queryFormRef"
:inline=
"true"
:model=
"queryParams"
class=
"-mb-15px"
label-width=
"68px"
>
<el-form-item
label=
"活动名称"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入活动名称
"
class=
"!w-240px
"
clearable
placeholder=
"请输入活动名称"
@
keyup
.
enter=
"handleQuery"
class=
"!w-240px"
/>
</el-form-item>
<el-form-item
label=
"活动状态"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
placeholder=
"请选择活动状态"
clearable
class=
"!w-240px"
clearable
placeholder=
"请选择活动状态"
>
<el-option
v-for=
"dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
...
...
@@ -35,15 +35,22 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button
@
click=
"handleQuery"
><Icon
icon=
"ep:search"
class=
"mr-5px"
/>
搜索
</el-button>
<el-button
@
click=
"resetQuery"
><Icon
icon=
"ep:refresh"
class=
"mr-5px"
/>
重置
</el-button>
<el-button
@
click=
"handleQuery"
>
<Icon
class=
"mr-5px"
icon=
"ep:search"
/>
搜索
</el-button>
<el-button
@
click=
"resetQuery"
>
<Icon
class=
"mr-5px"
icon=
"ep:refresh"
/>
重置
</el-button>
<el-button
type=
"primary
"
v-hasPermi=
"['promotion:combination-activity:create']
"
plain
type=
"primary"
@
click=
"openForm('create')"
v-hasPermi=
"['promotion:combination-activity:create']"
>
<Icon
icon=
"ep:plus"
class=
"mr-5px"
/>
新增
<Icon
class=
"mr-5px"
icon=
"ep:plus"
/>
新增
</el-button>
</el-form-item>
</el-form>
...
...
@@ -51,77 +58,77 @@
<!-- 列表 -->
<ContentWrap>
<el-table
v-loading=
"loading"
:data=
"list"
:s
tripe=
"true"
:show-overflow-tooltip
=
"true"
>
<el-table-column
label=
"活动编号"
prop=
"id"
min-width=
"80
"
/>
<el-table-column
label=
"活动名称"
prop=
"name"
min-width=
"140
"
/>
<el-table
v-loading=
"loading"
:data=
"list"
:s
how-overflow-tooltip=
"true"
:stripe
=
"true"
>
<el-table-column
label=
"活动编号"
min-width=
"80"
prop=
"id
"
/>
<el-table-column
label=
"活动名称"
min-width=
"140"
prop=
"name
"
/>
<el-table-column
label=
"活动时间"
min-width=
"210"
>
<template
#
default=
"scope"
>
{{
formatDate
(
scope
.
row
.
startTime
,
'YYYY-MM-DD'
)
}}
~
{{
formatDate
(
scope
.
row
.
endTime
,
'YYYY-MM-DD'
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"商品图片"
prop=
"spuName"
min-width=
"80
"
>
<el-table-column
label=
"商品图片"
min-width=
"80"
prop=
"spuName
"
>
<
template
#
default=
"scope"
>
<el-image
:preview-src-list=
"[scope.row.picUrl]"
:src=
"scope.row.picUrl"
class=
"h-40px w-40px"
:preview-src-list=
"[scope.row.picUrl]"
preview-teleported
/>
</
template
>
</el-table-column>
<el-table-column
label=
"商品标题"
prop=
"spuName"
min-width=
"300
"
/>
<el-table-column
label=
"商品标题"
min-width=
"300"
prop=
"spuName
"
/>
<el-table-column
:formatter=
"fenToYuanFormat"
label=
"原价"
prop=
"marketPrice"
min-width=
"100"
:formatter=
"fenToYuanFormat
"
prop=
"marketPrice
"
/>
<el-table-column
label=
"拼团价"
prop=
"seckillPrice"
min-width=
"100
"
>
<el-table-column
label=
"拼团价"
min-width=
"100"
prop=
"seckillPrice
"
>
<
template
#
default=
"scope"
>
{{
formatCombinationPrice
(
scope
.
row
.
products
)
}}
</
template
>
</el-table-column>
<el-table-column
label=
"开团组数"
prop=
"groupCount"
min-width=
"100
"
/>
<el-table-column
label=
"成团组数"
prop=
"groupSuccessCount"
min-width=
"100
"
/>
<el-table-column
label=
"购买次数"
prop=
"recordCount"
min-width=
"100
"
/>
<el-table-column
label=
"活动状态"
align=
"center"
prop=
"status"
min-width=
"100
"
>
<el-table-column
label=
"开团组数"
min-width=
"100"
prop=
"groupCount
"
/>
<el-table-column
label=
"成团组数"
min-width=
"100"
prop=
"groupSuccessCount
"
/>
<el-table-column
label=
"购买次数"
min-width=
"100"
prop=
"recordCount
"
/>
<el-table-column
align=
"center"
label=
"活动状态"
min-width=
"100"
prop=
"status
"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.COMMON_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间
"
:formatter=
"dateFormatter
"
align=
"center"
label=
"创建时间"
prop=
"createTime"
:formatter=
"dateFormatter"
width=
"180px"
/>
<el-table-column
label=
"操作"
align=
"center"
width=
"150px"
fixed=
"right
"
>
<el-table-column
align=
"center"
fixed=
"right"
label=
"操作"
width=
"150px
"
>
<
template
#
default=
"scope"
>
<el-button
v-hasPermi=
"['promotion:combination-activity:update']"
link
type=
"primary"
@
click=
"openForm('update', scope.row.id)"
v-hasPermi=
"['promotion:combination-activity:update']"
>
编辑
</el-button>
<el-button
v-if=
"scope.row.status === 0"
v-hasPermi=
"['promotion:combination-activity:close']"
link
type=
"danger"
@
click=
"handleClose(scope.row.id)"
v-if=
"scope.row.status === 0"
v-hasPermi=
"['promotion:combination-activity:close']"
>
关闭
</el-button>
<el-button
v-else
v-hasPermi=
"['promotion:combination-activity:delete']"
link
type=
"danger"
@
click=
"handleDelete(scope.row.id)"
v-else
v-hasPermi=
"['promotion:combination-activity:delete']"
>
删除
</el-button>
...
...
@@ -130,9 +137,9 @@
</el-table>
<!-- 分页 -->
<Pagination
:total=
"total"
v-model:page=
"queryParams.pageNo"
v-model:limit=
"queryParams.pageSize"
v-model:page=
"queryParams.pageNo"
:total=
"total"
@
pagination=
"getList"
/>
</ContentWrap>
...
...
@@ -141,12 +148,11 @@
<CombinationActivityForm
ref=
"formRef"
@
success=
"getList"
/>
</template>
<
script
setup
lang=
"ts"
>
<
script
lang=
"ts"
setup
>
import
{
DICT_TYPE
,
getIntDictOptions
}
from
'@/utils/dict'
import
{
dateFormatter
}
from
'@/utils/formatTime'
import
{
dateFormatter
,
formatDate
}
from
'@/utils/formatTime'
import
*
as
CombinationActivityApi
from
'@/api/mall/promotion/combination/combinationActivity'
import
CombinationActivityForm
from
'./CombinationActivityForm.vue'
import
{
formatDate
}
from
'@/utils/formatTime'
import
{
fenToYuanFormat
}
from
'@/utils/formatter'
import
{
fenToYuan
}
from
'@/utils'
...
...
@@ -165,7 +171,6 @@ const queryParams = reactive({
status
:
null
})
const
queryFormRef
=
ref
()
// 搜索的表单
const
exportLoading
=
ref
(
false
)
// 导出的加载中
/** 查询列表 */
const
getList
=
async
()
=>
{
...
...
@@ -197,12 +202,11 @@ const openForm = (type: string, id?: number) => {
formRef
.
value
.
open
(
type
,
id
)
}
// TODO 芋艿:这里要改下
/** 关闭按钮操作 */
const
handleClose
=
async
(
id
:
number
)
=>
{
try
{
// 关闭的二次确认
await
message
.
confirm
(
'确认关闭该
秒杀
活动吗?'
)
await
message
.
confirm
(
'确认关闭该
拼团
活动吗?'
)
// 发起关闭
await
CombinationActivityApi
.
closeCombinationActivity
(
id
)
message
.
success
(
'关闭成功'
)
...
...
src/views/mall/promotion/rewardActivity/index.vue
View file @
0e200055
...
...
@@ -55,7 +55,7 @@
重置
</el-button>
<el-button
v-hasPermi=
"['pro
duct:brand
:create']"
v-hasPermi=
"['pro
motion:reward-activity
:create']"
plain
type=
"primary"
@
click=
"openForm('create')"
...
...
@@ -85,7 +85,7 @@
/>
<el-table-column
align=
"center"
label=
"状态"
prop=
"status"
>
<template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.
PROMOTION_ACTIVITY
_STATUS"
:value=
"scope.row.status"
/>
<dict-tag
:type=
"DICT_TYPE.
COMMON
_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
...
...
@@ -98,7 +98,7 @@
<el-table-column
align=
"center"
label=
"操作"
>
<
template
#
default=
"scope"
>
<el-button
v-hasPermi=
"['pro
duct:brand
:update']"
v-hasPermi=
"['pro
motion:reward-activity
:update']"
link
type=
"primary"
@
click=
"openForm('update', scope.row.id)"
...
...
@@ -106,7 +106,16 @@
编辑
</el-button>
<el-button
v-hasPermi=
"['product:brand:delete']"
v-if=
"scope.row.status === 0"
v-hasPermi=
"['promotion:reward-activity:close']"
link
type=
"danger"
@
click=
"handleClose(scope.row.id)"
>
关闭
</el-button>
<el-button
v-hasPermi=
"['promotion:reward-activity:delete']"
link
type=
"danger"
@
click=
"handleDelete(scope.row.id)"
...
...
@@ -180,6 +189,19 @@ const openForm = (type: string, id?: number) => {
formRef
.
value
?.
open
(
type
,
id
)
}
/** 关闭按钮操作 */
const
handleClose
=
async
(
id
:
number
)
=>
{
try
{
// 关闭的二次确认
await
message
.
confirm
(
'确认关闭该满减活动吗?'
)
// 发起关闭
await
RewardActivityApi
.
closeRewardActivity
(
id
)
message
.
success
(
'关闭成功'
)
// 刷新列表
await
getList
()
}
catch
{}
}
/** 删除按钮操作 */
const
handleDelete
=
async
(
id
:
number
)
=>
{
try
{
...
...
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