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
Commit
9984de0d
authored
Aug 12, 2023
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
商城:
1. 调整优惠劵的目录 2. 简化秒杀时间配置
parent
815897ca
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
29 additions
and
39 deletions
+29
-39
src/api/mall/promotion/coupon/coupon.ts
+0
-0
src/api/mall/promotion/coupon/couponTemplate.ts
+0
-0
src/api/mall/promotion/seckill/seckillConfig.ts
+1
-1
src/views/mall/promotion/coupon/index.vue
+2
-4
src/views/mall/promotion/coupon/template/CouponTemplateForm.vue
+1
-1
src/views/mall/promotion/coupon/template/index.vue
+2
-4
src/views/mall/promotion/seckill/activity/index.vue
+2
-2
src/views/mall/promotion/seckill/activity/seckillActivity.data.ts
+2
-2
src/views/mall/promotion/seckill/config/SeckillConfigForm.vue
+11
-9
src/views/mall/promotion/seckill/config/index.vue
+8
-16
No files found.
src/api/mall/promotion/coupon.ts
→
src/api/mall/promotion/coupon
/coupon
.ts
View file @
9984de0d
File moved
src/api/mall/promotion/couponTemplate.ts
→
src/api/mall/promotion/coupon
/coupon
Template.ts
View file @
9984de0d
File moved
src/api/mall/promotion/seckill/seckillConfig.ts
View file @
9984de0d
...
...
@@ -20,7 +20,7 @@ export const getSeckillConfig = async (id: number) => {
}
// 获得所有开启状态的秒杀时段精简列表
export
const
get
ListAllSimple
=
async
()
=>
{
export
const
get
SimpleSeckillConfigList
=
async
()
=>
{
return
await
request
.
get
({
url
:
'/promotion/seckill-config/list-all-simple'
})
}
...
...
src/views/mall/promotion/coupon/index.vue
View file @
9984de0d
...
...
@@ -31,9 +31,7 @@
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
<Icon
icon=
"ep:search"
class=
"mr-5px"
/>
搜索
</el-button>
<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-form-item>
</el-form>
...
...
@@ -108,7 +106,7 @@
</template>
<
script
setup
lang=
"ts"
name=
"PromotionCoupon"
>
import
{
deleteCoupon
,
getCouponPage
}
from
'@/api/mall/promotion/coupon'
import
{
deleteCoupon
,
getCouponPage
}
from
'@/api/mall/promotion/coupon
/coupon
'
import
{
DICT_TYPE
,
getIntDictOptions
}
from
'@/utils/dict'
import
{
dateFormatter
}
from
'@/utils/formatTime'
...
...
src/views/mall/promotion/coupon
T
emplate/CouponTemplateForm.vue
→
src/views/mall/promotion/coupon
/t
emplate/CouponTemplateForm.vue
View file @
9984de0d
...
...
@@ -187,7 +187,7 @@
</template>
<
script
lang=
"ts"
setup
>
import
{
DICT_TYPE
,
getIntDictOptions
}
from
'@/utils/dict'
import
*
as
CouponTemplateApi
from
'@/api/mall/promotion/couponTemplate'
import
*
as
CouponTemplateApi
from
'@/api/mall/promotion/coupon
/coupon
Template'
import
*
as
ProductSpuApi
from
'@/api/mall/product/spu'
import
{
CouponTemplateValidityTypeEnum
,
...
...
src/views/mall/promotion/coupon
T
emplate/index.vue
→
src/views/mall/promotion/coupon
/t
emplate/index.vue
View file @
9984de0d
...
...
@@ -61,9 +61,7 @@
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
<Icon
icon=
"ep:search"
class=
"mr-5px"
/>
搜索
</el-button>
<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
v-hasPermi=
"['promotion:coupon-template:create']"
...
...
@@ -172,7 +170,7 @@
</template>
<
script
lang=
"ts"
setup
>
import
*
as
CouponTemplateApi
from
'@/api/mall/promotion/couponTemplate'
import
*
as
CouponTemplateApi
from
'@/api/mall/promotion/coupon
/coupon
Template'
import
{
CommonStatusEnum
,
CouponTemplateValidityTypeEnum
,
...
...
src/views/mall/promotion/seckill/activity/index.vue
View file @
9984de0d
...
...
@@ -71,7 +71,7 @@
</template>
<
script
lang=
"ts"
setup
>
import
{
allSchemas
}
from
'./seckillActivity.data'
import
{
get
ListAllSimple
}
from
'@/api/mall/promotion/seckill/seckillConfig'
import
{
get
SimpleSeckillConfigList
}
from
'@/api/mall/promotion/seckill/seckillConfig'
import
*
as
SeckillActivityApi
from
'@/api/mall/promotion/seckill/seckillActivity'
import
SeckillActivityForm
from
'./SeckillActivityForm.vue'
import
{
cloneDeep
}
from
'lodash-es'
...
...
@@ -132,6 +132,6 @@ onMounted(async () => {
// 添加到开头
allSchemas
.
tableColumns
.
unshift
(
column
)
await
getList
()
configList
.
value
=
await
get
ListAllSimple
()
configList
.
value
=
await
get
SimpleSeckillConfigList
()
})
</
script
>
src/views/mall/promotion/seckill/activity/seckillActivity.data.ts
View file @
9984de0d
import
type
{
CrudSchema
}
from
'@/hooks/web/useCrudSchemas'
import
{
dateFormatter
,
dateFormatter2
}
from
'@/utils/formatTime'
import
{
get
ListAllSimple
}
from
'@/api/mall/promotion/seckill/seckillConfig'
import
{
get
SimpleSeckillConfigList
}
from
'@/api/mall/promotion/seckill/seckillConfig'
// 表单校验
export
const
rules
=
reactive
({
...
...
@@ -88,7 +88,7 @@ const crudSchemas = reactive<CrudSchema[]>([
valueField
:
'id'
}
},
api
:
get
ListAllSimple
api
:
get
SimpleSeckillConfigList
},
table
:
{
width
:
300
...
...
src/views/mall/promotion/seckill/config/SeckillConfigForm.vue
View file @
9984de0d
...
...
@@ -10,7 +10,6 @@
<
script
lang=
"ts"
name=
"SeckillConfigForm"
setup
>
import
*
as
SeckillConfigApi
from
'@/api/mall/promotion/seckill/seckillConfig'
import
{
allSchemas
,
rules
}
from
'./seckillConfig.data'
import
{
cloneDeep
}
from
'lodash-es'
const
{
t
}
=
useI18n
()
// 国际化
const
message
=
useMessage
()
// 消息弹窗
...
...
@@ -53,19 +52,22 @@ const submitForm = async () => {
formLoading
.
value
=
true
try
{
// 处理轮播图列表
const
data
=
formRef
.
value
.
formModel
as
SeckillConfigApi
.
SeckillConfigVO
const
cloneData
=
cloneDeep
(
data
)
const
newSliderPicUrls
=
[]
cloneData
.
sliderPicUrls
.
forEach
((
item
)
=>
{
const
sliderPicUrls
=
[]
formRef
.
value
.
formModel
.
sliderPicUrls
.
forEach
((
item
)
=>
{
// 如果是前端选的图
typeof
item
===
'object'
?
newSliderPicUrls
.
push
(
item
.
url
)
:
newS
liderPicUrls
.
push
(
item
)
typeof
item
===
'object'
?
sliderPicUrls
.
push
(
item
.
url
)
:
s
liderPicUrls
.
push
(
item
)
})
cloneData
.
sliderPicUrls
=
newSliderPicUrls
// 真正提交
const
data
=
{
...
formRef
.
value
.
formModel
,
sliderPicUrls
}
as
SeckillConfigApi
.
SeckillConfigVO
if
(
formType
.
value
===
'create'
)
{
await
SeckillConfigApi
.
createSeckillConfig
(
cloneD
ata
)
await
SeckillConfigApi
.
createSeckillConfig
(
d
ata
)
message
.
success
(
t
(
'common.createSuccess'
))
}
else
{
await
SeckillConfigApi
.
updateSeckillConfig
(
cloneD
ata
)
await
SeckillConfigApi
.
updateSeckillConfig
(
d
ata
)
message
.
success
(
t
(
'common.updateSuccess'
))
}
dialogVisible
.
value
=
false
...
...
src/views/mall/promotion/seckill/config/index.vue
View file @
9984de0d
...
...
@@ -76,7 +76,6 @@ import * as SeckillConfigApi from '@/api/mall/promotion/seckill/seckillConfig'
import
SeckillConfigForm
from
'./SeckillConfigForm.vue'
import
{
createImageViewer
}
from
'@/components/ImageViewer'
import
{
CommonStatusEnum
}
from
'@/utils/constants'
import
{
isArray
}
from
'@/utils/is'
const
message
=
useMessage
()
// 消息弹窗
// tableObject:表格的属性对象,可获得分页大小、条数等属性
...
...
@@ -89,21 +88,6 @@ const { tableObject, tableMethods } = useTable({
// 获得表格的各种操作
const
{
getList
,
setSearchParams
}
=
tableMethods
/** 轮播图预览预览 */
const
imagePreview
=
(
args
)
=>
{
const
urlList
=
[]
if
(
isArray
(
args
))
{
args
.
forEach
((
item
)
=>
{
urlList
.
push
(
item
)
})
}
else
{
urlList
.
push
(
args
)
}
createImageViewer
({
urlList
})
}
/** 添加/修改操作 */
const
formRef
=
ref
()
const
openForm
=
(
type
:
string
,
id
?:
number
)
=>
{
...
...
@@ -131,6 +115,14 @@ const handleStatusChange = async (row: SeckillConfigApi.SeckillConfigVO) => {
row
.
status
===
CommonStatusEnum
.
ENABLE
?
CommonStatusEnum
.
DISABLE
:
CommonStatusEnum
.
ENABLE
}
}
/** 轮播图预览预览 */
const
imagePreview
=
(
args
)
=>
{
createImageViewer
({
urlList
:
args
})
}
/** 初始化 **/
onMounted
(()
=>
{
getList
()
...
...
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