Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform-ui
Project
Project
Details
Activity
Releases
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
youjj
cloud-platform-ui
Commits
e2056546
Commit
e2056546
authored
Jul 25, 2019
by
denghr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后台
parent
59764b4c
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
625 additions
and
152 deletions
+625
-152
activityManagement.js
src/api/activityManagement.js
+11
-0
modalManagement.js
src/api/appManagement/modalManagement.js
+48
-0
selectedActivities.js
src/api/appManagement/selectedActivities.js
+61
-0
dateUtils.js
src/utils/dateUtils.js
+9
-1
activityList.vue
src/views/activityManagement/activityList.vue
+183
-50
index.vue
src/views/appManagement/modalManagement/index.vue
+159
-51
index.vue
src/views/appManagement/selectedActivities/index.vue
+151
-48
cunponManagement.vue
src/views/cunponManagements/cunponManagement.vue
+3
-2
No files found.
src/api/activityManagement.js
View file @
e2056546
...
@@ -10,4 +10,15 @@ export function activityList(query) {
...
@@ -10,4 +10,15 @@ export function activityList(query) {
method
:
'get'
,
method
:
'get'
,
params
:
query
params
:
query
});
});
}
/**
* 获取弹窗管理列表某一条数据
* @param query
*/
export
function
getObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/manage/getOne/'
+
id
,
method
:
'Get'
})
}
}
\ No newline at end of file
src/api/appManagement/modalManagement.js
View file @
e2056546
...
@@ -11,3 +11,51 @@ export function getModalList(query) {
...
@@ -11,3 +11,51 @@ export function getModalList(query) {
data
:
query
data
:
query
});
});
}
}
/**
* 弹窗管理--添加
* @param query
*/
export
function
addObj
(
obj
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage'
,
method
:
'post'
,
data
:
obj
});
}
/**
* 获取弹窗管理列表某一条数据
* @param query
*/
export
function
getObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/manage/getOne/'
+
id
,
method
:
'Get'
})
}
/**
* 编辑某一条数据,上下架
* @param query
*/
export
function
editObj
(
data
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/'
+
data
.
id
,
method
:
'put'
,
data
:
data
})
}
/**
* 删除数据
* @param query
*/
export
function
delObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/'
+
id
,
method
:
'delete'
,
})
}
src/api/appManagement/selectedActivities.js
0 → 100644
View file @
e2056546
import
fetch
from
'utils/fetch'
;
/**
* 获取列表
* @param query
*/
export
function
getActivityList
(
query
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/manage/findAllByQuery'
,
method
:
'POST'
,
data
:
query
});
}
/**
* 获取弹窗管理列表某一条数据
* @param query
*/
export
function
getObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/homeActivities/manage/activity/getOne/'
+
id
,
method
:
'Get'
})
}
/**
* 弹窗管理--添加
* @param query
*/
export
function
addObj
(
obj
)
{
return
fetch
({
url
:
'/api/activity/homeActivities'
,
method
:
'post'
,
data
:
obj
});
}
/**
* 编辑某一条数据,上下架
* @param query
*/
export
function
editObj
(
data
)
{
return
fetch
({
url
:
'/api/activity/homeActivities/'
+
data
.
id
,
method
:
'put'
,
data
:
data
})
}
/**
* 删除数据
* @param query
*/
export
function
delObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/homeActivities/manage/activity/deleteOne/'
+
id
,
method
:
'delete'
,
})
}
src/utils/dateUtils.js
View file @
e2056546
...
@@ -75,10 +75,18 @@ export function getCurrentMonth() {
...
@@ -75,10 +75,18 @@ export function getCurrentMonth() {
return
formatDate
(
today
,
'MM'
);
return
formatDate
(
today
,
'MM'
);
}
}
/**
* 返回yyyy-MM-dd
* */
export
function
getYMD_hm
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd hh:mm'
);
}
/**
/**
* 返回yyyy-MM-dd
* 返回yyyy-MM-dd
* */
* */
export
function
getYMD
(
timestamp
)
{
export
function
getYMD
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd'
);
return
formatDate
(
date
,
'yyyy-MM-dd'
);
}
}
\ No newline at end of file
src/views/activityManagement/activityList.vue
View file @
e2056546
...
@@ -51,35 +51,130 @@
...
@@ -51,35 +51,130 @@
</div>
</div>
</div>
</div>
<el-dialog
title=
"编辑"
:visible
.
sync=
"newPeopelVisible"
>
<el-dialog
title=
"编辑"
:visible
.
sync=
"newPeopelVisible"
>
<el-form
:model=
"formdata"
:rules=
"rules"
ref=
"form"
>
<el-form
:model=
"formdata"
:rules=
"rules"
ref=
"form"
>
<div
style=
"font-weight: bold;"
>
基础设置
</div>
<div
style=
"font-weight: bold;"
>
基础设置
</div>
<el-row>
<el-row>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"活动状态"
label-width=
"70px"
>
<el-form-item
label=
"活动状态"
label-width=
"70px"
>
<el-radio-group
v-model=
"formdata.status_name"
size=
"medium"
>
<el-radio-group
v-model=
"formdata.status_name"
size=
"medium"
>
<el-radio-button
label=
"上架"
></el-radio-button>
<el-radio-button
label=
"上架"
></el-radio-button>
<el-radio-button
label=
"下架"
></el-radio-button>
<el-radio-button
label=
"下架"
></el-radio-button>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"参与人数"
label-width=
"70px"
>
<el-form-item
label=
"参与人数"
label-width=
"70px"
prop=
"numLimit"
>
<el-input
v-model=
"formdata.numLimit"
placeholder=
"请输入参与人数"
></el-input>
<el-input
v-model=
"formdata.numLimit"
placeholder=
"请输入参与人数"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"14"
>
<el-col
:span=
"14"
>
<el-form-item
label=
"活动开始/结束时间"
label-width=
"130px"
style=
"padding-left:8px"
>
<el-form-item
label=
"活动开始/结束时间"
label-width=
"130px"
style=
"padding-left:8px"
>
<el-date-picker
v-model=
"formdata.starTimeStr"
type =
"datetime"
placeholder =
"开始时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
<el-date-picker
v-model=
"formdata.starTimeStr"
type =
"datetime"
placeholder =
"开始时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
<span>
-
</span>
<span>
-
</span>
<el-date-picker
v-model=
"formdata.endTimeStr"
type =
"datetime"
placeholder =
"结束时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
<el-date-picker
v-model=
"formdata.endTimeStr"
type =
"datetime"
placeholder =
"结束时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"add('form')"
>
确认添加
</el-button>
<el-button
type=
"primary"
@
click=
"add('form')"
>
确认
</el-button>
</div>
</el-dialog>
<!-- 新人活动 -->
<el-dialog
title=
"活动数据"
:visible
.
sync=
"newPeopelDataVisible"
>
<el-form
:model=
"newPeopelDataQuery"
>
<el-row>
<el-date-picker
v-model=
"newPeopelDataQuery.starTimeStr"
type =
"datetime"
placeholder =
"开始时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
<span>
-
</span>
<el-date-picker
v-model=
"newPeopelDataQuery.endTimeStr"
type =
"datetime"
placeholder =
"结束时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
</el-row>
</el-form>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
align=
"center"
label=
"数据描述"
width=
"200"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"pv(总)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"pv(日均)"
>
<
template
scope=
"scope"
>
<div
v-if=
"scope.row.title"
>
永久
</div>
<div
v-else
><span>
{{
scope
.
row
.
startTimeStr
}}
</span>
~
<span>
{{
scope
.
row
.
endTimeStr
}}
</span></div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"uv(总)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
numLimit
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"uv(日均)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
hasJoinNum
}}
</span>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination-container"
>
<el-pagination
@
size-change=
"newPeopelDataSizeChange"
@
current-change=
"newPeopelDataCurrentChange"
:current-page
.
sync=
"newPeopelDataQuery.page"
:page-sizes=
"[10,20,30,40,50]"
:page-size=
"newPeopelDataQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
</div>
</el-dialog>
</el-dialog>
<!-- 邀请有礼活动 -->
<el-dialog
title=
"活动数据"
:visible
.
sync=
"shareDataVisible"
>
<el-form
:model=
"shareDataQuery"
>
<el-row>
<el-date-picker
v-model=
"shareDataQuery.starTimeStr"
type =
"datetime"
placeholder =
"开始时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
<span>
-
</span>
<el-date-picker
v-model=
"shareDataQuery.endTimeStr"
type =
"datetime"
placeholder =
"结束时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
</el-row>
</el-form>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
align=
"center"
label=
"数据描述"
width=
"200"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"pv(总)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"pv(日均)"
>
<
template
scope=
"scope"
>
<div
v-if=
"scope.row.title"
>
永久
</div>
<div
v-else
><span>
{{
scope
.
row
.
startTimeStr
}}
</span>
~
<span>
{{
scope
.
row
.
endTimeStr
}}
</span></div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"uv(总)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
numLimit
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"uv(日均)"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
hasJoinNum
}}
</span>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination-container"
>
<el-pagination
@
size-change=
"shareDataSizeChange"
@
current-change=
"shareDataCurrentChange"
:current-page
.
sync=
"shareDataQuery.page"
:page-sizes=
"[10,20,30,40,50]"
:page-size=
"shareDataQuery.limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -93,7 +188,8 @@
...
@@ -93,7 +188,8 @@
deepCopyDate
,
deepCopyDate
,
newEast8Date
,
newEast8Date
,
convertDate2Str
,
convertDate2Str
,
timestamp2Date
timestamp2Date
,
getYMD_hm
}
from
'utils/dateUtils'
;
}
from
'utils/dateUtils'
;
import
rsCode
from
'../../utils/rsCode'
;
import
rsCode
from
'../../utils/rsCode'
;
...
@@ -103,7 +199,8 @@
...
@@ -103,7 +199,8 @@
getToken
getToken
}
from
'utils/auth'
;
}
from
'utils/auth'
;
import
{
import
{
activityList
activityList
,
getObj
}
from
'api/activityManagement'
;
}
from
'api/activityManagement'
;
import
Element1
from
"../admin/menu/components/element"
;
import
Element1
from
"../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
...
@@ -119,20 +216,16 @@
...
@@ -119,20 +216,16 @@
data
()
{
data
()
{
return
{
return
{
rules
:{
rules
:{
phone
:
{
numLimit
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
},
num
:
{
type
:
'string'
,
type
:
'string'
,
required
:
true
,
required
:
true
,
message
:
'请输入
添加张
数'
,
message
:
'请输入
参与人
数'
,
trigger
:
'blur'
trigger
:
'blur'
}
}
},
},
newPeopelVisible
:
false
,
newPeopelVisible
:
false
,
newPeopelDataVisible
:
false
,
shareDataVisible
:
false
,
BASE_API
:
process
.
env
.
BASE_API
,
BASE_API
:
process
.
env
.
BASE_API
,
showLoadingBody
:
false
,
showLoadingBody
:
false
,
list
:
null
,
list
:
null
,
...
@@ -142,13 +235,21 @@
...
@@ -142,13 +235,21 @@
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
},
},
newPeopelDataQuery
:{
page
:
1
,
limit
:
20
,
starTimeStr
:
''
,
endTimeStr
:
''
},
shareDataQuery
:{
page
:
1
,
limit
:
20
,
starTimeStr
:
''
,
endTimeStr
:
''
},
inline
:
true
,
inline
:
true
,
tableKey
:
0
,
tableKey
:
0
,
formdata
:{
formdata
:{},
phone
:
''
,
num
:
''
,
type
:
''
},
pickerOptionsStart
:
{
pickerOptionsStart
:
{
disabledDate
(
time
)
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
...
@@ -181,14 +282,12 @@
...
@@ -181,14 +282,12 @@
activityList
(
this
.
listQuery
).
then
(
response
=>
{
activityList
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
let
listRs
=
undefined
;
//
if (!this.$utils.isEmpty(response.data) && this.$utils.isInteger(response.data.totalCount)) {
//
if (!this.$utils.isEmpty(response.data) && this.$utils.isInteger(response.data.totalCount)) {
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
))
{
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
))
{
listRs
=
response
.
data
;
listRs
=
response
.
data
;
listRs
.
map
(
function
(
item
){
listRs
.
map
(
function
(
item
){
item
.
startTimeeStr
=
timestamp2Date
(
item
.
startTime
);
item
.
startTimeeStr
=
timestamp2Date
(
item
.
startTime
);
item
.
endTimeStr
=
timestamp2Date
(
item
.
endTime
);
item
.
endTimeStr
=
timestamp2Date
(
item
.
endTime
);
item
.
visible1
=
false
;
item
.
visible2
=
false
;
});
});
}
}
this
.
listLoading
=
false
;
this
.
listLoading
=
false
;
...
@@ -205,13 +304,47 @@
...
@@ -205,13 +304,47 @@
this
.
listQuery
.
page
=
val
;
this
.
listQuery
.
page
=
val
;
this
.
getList
();
this
.
getList
();
},
},
giveCunpon
(){
newPeopelDataSizeChange
(
val
)
{
this
.
giveDialogVisible
=
true
;
this
.
newPeopelDataQuery
.
limit
=
val
;
},
newPeopelDataCurrentChange
(
val
)
{
this
.
newPeopelDataQuery
.
page
=
val
;
},
shareDataSizeChange
(
val
)
{
this
.
shareDataQuery
.
limit
=
val
;
},
shareDataCurrentChange
(
val
)
{
this
.
shareDataQuery
.
page
=
val
;
},
},
handleUpdate
(
item
){
handleUpdate
(
item
){
var
that
=
this
;
var
that
=
this
;
that
.
formdata
=
item
;
getObj
(
row
.
id
).
then
(
response
=>
{
that
.
newPeopelVisible
=
true
;
var
item
=
response
.
data
;
item
.
status_name
=
item
.
status
==
1
?
"上架"
:
item
.
type
==
2
?
"下架"
:
''
;
if
(
item
.
startTime
>
0
){
item
.
starTimeStr
=
getYMD_hm
(
item
.
startTime
);
}
else
{
item
.
starTimeStr
=
''
;
}
if
(
item
.
endTime
>
0
){
item
.
endTimeStr
=
getYMD_hm
(
item
.
endTime
);
}
else
{
item
.
endTimeStr
=
''
;
}
this
.
formdata
=
item
;
console
.
log
(
this
.
form
)
that
.
newPeopelVisible
=
true
;
})
},
handleActivityData
(
row
){
// 1--新人尊享; 2--推广活动表
if
(
row
.
type
==
1
){
this
.
newPeopelDataVisible
=
true
;
}
if
(
row
.
type
==
2
){
this
.
shareDataVisible
=
true
;
}
}
}
}
}
}
}
...
...
src/views/appManagement/modalManagement/index.vue
View file @
e2056546
...
@@ -21,12 +21,12 @@
...
@@ -21,12 +21,12 @@
</el-table-column>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"描述"
>
<el-table-column
width=
"200"
align=
"center"
label=
"描述"
>
<template
scope=
"scope"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
descr
}}
</span>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"显示条件"
>
<el-table-column
width=
"150"
align=
"center"
label=
"显示条件"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
type
==
1
?
"
通用
"
:
scope
.
row
.
type
==
2
?
"已登录"
:
scope
.
row
.
type
==
3
?
"未登录"
:
''
}}
</span>
<span>
{{
scope
.
row
.
type
==
1
?
"
启动时
"
:
scope
.
row
.
type
==
2
?
"已登录"
:
scope
.
row
.
type
==
3
?
"未登录"
:
''
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"跳转链接"
>
<el-table-column
width=
"300"
align=
"center"
label=
"跳转链接"
>
...
@@ -36,7 +36,7 @@
...
@@ -36,7 +36,7 @@
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"弹窗图片"
>
<el-table-column
width=
"300"
align=
"center"
label=
"弹窗图片"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<img
:src=
"scope.row.background"
style=
"width:100%;max-height:
5
0px;"
>
<img
:src=
"scope.row.background"
style=
"width:100%;max-height:
10
0px;"
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"创建时间"
>
<el-table-column
width=
"300"
align=
"center"
label=
"创建时间"
>
...
@@ -53,7 +53,8 @@
...
@@ -53,7 +53,8 @@
<el-table-column
align=
"center"
width=
"200"
label=
"操作"
>
<el-table-column
align=
"center"
width=
"200"
label=
"操作"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"handleUpdate(scope.row)"
style=
"margin-left:0px"
>
下架
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"handleDown(scope.row)"
style=
"margin-left:0px"
v-if=
"scope.row.status==1"
>
下架
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"handleUp(scope.row)"
style=
"margin-left:0px"
v-if=
"scope.row.status==2"
>
上架
</el-button>
<el-popover
<el-popover
ref=
"popover5"
ref=
"popover5"
placement=
"top"
placement=
"top"
...
@@ -65,7 +66,7 @@
...
@@ -65,7 +66,7 @@
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
</div>
</div>
</el-popover>
</el-popover>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
>
删除
</el-button>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
v-if=
"scope.row.status==2"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -77,45 +78,54 @@
...
@@ -77,45 +78,54 @@
<!-- banner modal弹窗 -->
<!-- banner modal弹窗 -->
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"bannerDialogVisible"
>
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"bannerDialogVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"90px"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"90px"
>
<el-form-item
label=
"弹窗描述"
prop=
"
titl
e"
>
<el-form-item
label=
"弹窗描述"
prop=
"
nam
e"
>
<el-input
v-model=
"form.
titl
e"
placeholder=
"请输入弹窗描述"
></el-input>
<el-input
v-model=
"form.
nam
e"
placeholder=
"请输入弹窗描述"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"有效时间"
>
<el-form-item
label=
"有效时间"
prop=
"time"
>
<el-date-picker
v-model=
"form.starTimeStr"
type =
"datetime"
placeholder =
"开始有效时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
<el-radio-group
v-model=
"form.up_name"
size=
"medium"
>
<span>
-
</span>
<el-radio-button
label=
"不限"
></el-radio-button>
<el-date-picker
v-model=
"form.endTimeStr"
type =
"datetime"
placeholder =
"结束有效时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
<el-radio-button
label=
"自定义"
></el-radio-button>
</el-radio-group>
<div
style=
"display:inline-block"
v-show=
"form.up_name=='自定义'"
>
<el-date-picker
v-model=
"form.starTimeStr"
type =
"datetime"
placeholder =
"开始时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
<span>
-
</span>
<el-date-picker
v-model=
"form.endTimeStr"
type =
"datetime"
placeholder =
"结束时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"显示条件"
>
<el-form-item
label=
"显示条件"
prop=
"type"
>
<el-radio-group
v-model=
"form.showType"
size=
"medium"
>
<el-radio-group
v-model=
"form.showType"
size=
"medium"
>
<el-radio-button
label=
"未登录"
></el-radio-button>
<el-radio-button
label=
"未登录"
></el-radio-button>
<el-radio-button
label=
"已登录"
></el-radio-button>
<el-radio-button
label=
"已登录"
></el-radio-button>
<el-radio-button
label=
"启动时"
></el-radio-button>
<el-radio-button
label=
"启动时"
></el-radio-button>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
<el-form-item
label=
"排序"
prop=
"sort"
>
<el-input
v-model=
"form.sort"
placeholder=
"请输入排序"
></el-input>
</el-form-item>
<!--BASE_API + -->
<!--BASE_API + -->
<el-form-item
label=
"弹窗图片"
prop=
"
cover
"
:style=
"{display:'block'}"
>
<el-form-item
label=
"弹窗图片"
prop=
"
background
"
:style=
"{display:'block'}"
>
<el-upload
<el-upload
class=
"avatar-uploader"
class=
"avatar-uploader"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:show-file-list=
"false"
:show-file-list=
"false"
:headers=
"getHeaderWithToken"
:headers=
"getHeaderWithToken"
:on-success=
"handleAvatarSuccess"
>
:on-success=
"handleAvatarSuccess"
>
<img
v-if=
"$utils.isString(form.
modalImg) && !$utils.isEmpty(form.modalImg)"
:src=
"form.modalImg
"
style=
"width:200px;max-height:200px;"
>
<img
v-if=
"$utils.isString(form.
background) && !$utils.isEmpty(form.background)"
:src=
"form.background
"
style=
"width:200px;max-height:200px;"
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
<el-form-item
label=
"按钮图片"
prop=
"
cover
"
:style=
"{display:'block'}"
>
<el-form-item
label=
"按钮图片"
prop=
"
buttonImages
"
:style=
"{display:'block'}"
>
<el-upload
<el-upload
class=
"avatar-uploader"
class=
"avatar-uploader"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:show-file-list=
"false"
:show-file-list=
"false"
:headers=
"getHeaderWithToken"
:headers=
"getHeaderWithToken"
:on-success=
"handleBtnSuccess"
>
:on-success=
"handleBtnSuccess"
>
<img
v-if=
"$utils.isString(form.b
tnImg) && !$utils.isEmpty(form.btnImg)"
:src=
"form.btnImg
"
style=
"width:100px;max-height:30px;"
>
<img
v-if=
"$utils.isString(form.b
uttonImages) && !$utils.isEmpty(form.buttonImages)"
:src=
"form.buttonImages
"
style=
"width:100px;max-height:30px;"
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
<el-form-item
label=
"跳转链接"
>
<el-form-item
label=
"跳转链接"
prop=
"url"
>
<el-input
v-model=
"form.url"
placeholder=
"请输入跳转链接"
></el-input>
<el-input
v-model=
"form.url"
placeholder=
"请输入跳转链接"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -140,11 +150,16 @@
...
@@ -140,11 +150,16 @@
deepCopyDate
,
deepCopyDate
,
newEast8Date
,
newEast8Date
,
convertDate2Str
,
convertDate2Str
,
timestamp2Date
timestamp2Date
,
getYMD_hm
}
from
'utils/dateUtils'
;
}
from
'utils/dateUtils'
;
import
{
import
{
getModalList
getModalList
,
addObj
,
getObj
,
editObj
,
delObj
}
from
'src/api/appManagement/modalManagement'
;
}
from
'src/api/appManagement/modalManagement'
;
import
rsCode
from
'../../../utils/rsCode'
;
import
rsCode
from
'../../../utils/rsCode'
;
...
@@ -172,17 +187,7 @@
...
@@ -172,17 +187,7 @@
BASE_API
:
process
.
env
.
BASE_API
,
BASE_API
:
process
.
env
.
BASE_API
,
bannerDialogVisible
:
false
,
//添加、编辑弹框
bannerDialogVisible
:
false
,
//添加、编辑弹框
showLoadingBody
:
false
,
showLoadingBody
:
false
,
form
:
{
form
:
{},
title
:
""
,
url
:
""
,
modalImg
:
""
,
btnImg
:
''
,
type
:
"0"
,
location
:
"0"
,
starTimeStr
:
''
,
endTimeStr
:
''
,
showType
:
'未登录'
},
listQuery
:
{
listQuery
:
{
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
...
@@ -190,22 +195,33 @@
...
@@ -190,22 +195,33 @@
},
},
rules
:
{
rules
:
{
titl
e
:
{
nam
e
:
{
type
:
'string'
,
type
:
'string'
,
required
:
true
,
required
:
true
,
message
:
'请输入弹窗描述'
,
message
:
'请输入弹窗描述'
,
trigger
:
'blur'
trigger
:
'blur'
},
},
type
:{
background
:
{
type
:
'string'
,
required
:
true
,
message
:
'请上传弹窗图片'
,
},
buttonImages
:
{
type
:
'string'
,
required
:
true
,
message
:
'请上传按钮图片'
,
},
url
:
{
type
:
'string'
,
type
:
'string'
,
required
:
true
,
required
:
true
,
message
:
'请
选择banner类型
'
,
message
:
'请
输入链接
'
,
trigger
:
'blur'
trigger
:
'blur'
},
},
modalImg
:
{
sort
:
{
type
:
'string'
,
type
:
'string'
,
required
:
true
,
required
:
true
,
message
:
'请上传图片'
,
message
:
'请输入排序'
,
trigger
:
'blur'
},
},
},
},
pickerOptionsStart
:
{
pickerOptionsStart
:
{
...
@@ -240,7 +256,7 @@
...
@@ -240,7 +256,7 @@
},
},
},
},
methods
:
{
methods
:
{
handleFilter
()
{
handleFilter
()
{
this
.
listQuery
.
page
=
1
;
this
.
listQuery
.
page
=
1
;
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
...
@@ -272,8 +288,25 @@
...
@@ -272,8 +288,25 @@
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
this
.
modalTitle
=
'编辑'
;
this
.
modalTitle
=
'编辑'
;
this
.
cleanForm
();
this
.
cleanForm
();
this
.
form
=
row
;
getObj
(
row
.
id
).
then
(
response
=>
{
this
.
bannerDialogVisible
=
true
;
var
item
=
response
.
data
;
item
.
showType
=
item
.
type
==
1
?
"启动时"
:
item
.
type
==
2
?
"已登录"
:
item
.
type
==
3
?
"未登录"
:
''
;
item
.
up_name
=
item
.
timeType
==
0
?
'不限'
:
item
.
timeType
==
1
?
'自定义'
:
''
;
if
(
item
.
startTime
>
0
&&
item
.
timeType
==
1
){
item
.
starTimeStr
=
getYMD_hm
(
item
.
startTime
);
}
else
{
item
.
starTimeStr
=
''
;
}
if
(
item
.
endTime
>
0
&&
item
.
timeType
==
1
){
item
.
endTimeStr
=
getYMD_hm
(
item
.
endTime
);
}
else
{
item
.
endTimeStr
=
''
;
}
this
.
form
=
item
;
console
.
log
(
this
.
form
)
this
.
bannerDialogVisible
=
true
;
})
},
},
/**
/**
* 弹框-取消
* 弹框-取消
...
@@ -287,15 +320,18 @@
...
@@ -287,15 +320,18 @@
* */
* */
cleanForm
()
{
cleanForm
()
{
this
.
form
=
{
this
.
form
=
{
title
:
""
,
name
:
""
,
modalImg
:
""
,
startTime
:
''
,
btnImg
:
''
,
endTime
:
''
,
url
:
""
,
type
:
"0"
,
location
:
"0"
,
starTimeStr
:
''
,
starTimeStr
:
''
,
endTimeStr
:
''
,
endTimeStr
:
''
,
showType
:
'未登录'
type
:
''
,
up_name
:
'不限'
,
showType
:
'未登录'
,
background
:
""
,
buttonImages
:
''
,
url
:
""
,
sort
:
0
,
}
}
},
},
/**
/**
...
@@ -323,10 +359,20 @@
...
@@ -323,10 +359,20 @@
* 创建
* 创建
* */
* */
create
(
formName
)
{
create
(
formName
)
{
let
that
=
this
;
const
set
=
this
.
$refs
;
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
addBanner
(
this
.
form
)
that
.
form
.
type
=
that
.
form
.
showType
==
'启动时'
?
1
:
that
.
form
.
showType
==
'未登录'
?
3
:
that
.
form
.
showType
==
'已登录'
?
2
:
''
;
if
(
that
.
form
.
up_name
==
'自定义'
){
that
.
form
.
timeType
=
1
;
that
.
form
.
startTime
=
new
Date
(
this
.
form
.
starTimeStr
).
getTime
();
that
.
form
.
endTime
=
new
Date
(
this
.
form
.
endTimeStr
).
getTime
();
}
else
{
that
.
form
.
timeType
=
0
;
}
that
.
form
.
status
=
2
;
addObj
(
this
.
form
)
.
then
(
response
=>
{
.
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
bannerDialogVisible
=
false
;
...
@@ -356,10 +402,19 @@
...
@@ -356,10 +402,19 @@
* 编辑-更新
* 编辑-更新
* */
* */
update
(
formName
)
{
update
(
formName
)
{
let
that
=
this
;
const
set
=
this
.
$refs
;
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
editBanner
(
this
.
form
).
then
(
response
=>
{
that
.
form
.
type
=
that
.
form
.
showType
==
'启动时'
?
1
:
that
.
form
.
showType
==
'未登录'
?
3
:
that
.
form
.
showType
==
'已登录'
?
2
:
''
;
if
(
that
.
form
.
up_name
==
'自定义'
){
that
.
form
.
timeType
=
1
;
that
.
form
.
startTime
=
new
Date
(
this
.
form
.
starTimeStr
).
getTime
();
that
.
form
.
endTime
=
new
Date
(
this
.
form
.
endTimeStr
).
getTime
();
}
else
{
that
.
form
.
timeType
=
0
;
}
editObj
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
getList
();
...
@@ -369,7 +424,6 @@
...
@@ -369,7 +424,6 @@
type
:
'success'
,
type
:
'success'
,
duration
:
2000
duration
:
2000
});
});
this
.
getList
();
}
else
{
}
else
{
this
.
$notify
({
this
.
$notify
({
title
:
'失败'
,
title
:
'失败'
,
...
@@ -384,6 +438,60 @@
...
@@ -384,6 +438,60 @@
}
}
});
});
},
},
/**
* 上架
* */
handleUp
(
row
){
this
.
form
=
{};
this
.
form
.
id
=
row
.
id
;
this
.
form
.
status
=
1
;
editObj
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
/**
* 下架
* */
handleDown
(
row
){
this
.
form
=
{};
this
.
form
.
id
=
row
.
id
;
this
.
form
.
status
=
2
;
editObj
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
/**
/**
* 上传图片
* 上传图片
* @param file
* @param file
...
@@ -403,18 +511,18 @@
...
@@ -403,18 +511,18 @@
return
isJPG
&&
isLt2M
;
return
isJPG
&&
isLt2M
;
},
},
handleAvatarSuccess
(
res
,
file
)
{
handleAvatarSuccess
(
res
,
file
)
{
this
.
form
.
modalImg
=
res
.
data
;
this
.
form
.
background
=
res
.
data
;
this
.
showLoadingBody
=
false
;
this
.
showLoadingBody
=
false
;
},
},
handleBtnSuccess
(
res
,
file
)
{
handleBtnSuccess
(
res
,
file
)
{
this
.
form
.
b
tnImg
=
res
.
data
;
this
.
form
.
b
uttonImages
=
res
.
data
;
this
.
showLoadingBody
=
false
;
this
.
showLoadingBody
=
false
;
},
},
/**
/**
* 操作-删除
* 操作-删除
* */
* */
deleteHandler
(
row
)
{
deleteHandler
(
row
)
{
del
Banner
(
row
.
id
).
then
(
response
=>
{
del
Obj
(
row
.
id
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
if
(
response
.
status
===
200
)
{
this
.
$notify
({
this
.
$notify
({
title
:
'成功'
,
title
:
'成功'
,
...
...
src/views/appManagement/selectedActivities/index.vue
View file @
e2056546
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<el-row>
<el-row>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"描述"
>
<el-form-item
label=
"描述"
>
<el-input
v-model
.
number=
"listQuery.
titl
e"
placeholder=
"请输入描述"
></el-input>
<el-input
v-model
.
number=
"listQuery.
activitiesNam
e"
placeholder=
"请输入描述"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
</el-table-column>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"描述"
>
<el-table-column
width=
"200"
align=
"center"
label=
"描述"
>
<template
scope=
"scope"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
titl
e
}}
</span>
<span>
{{
scope
.
row
.
nam
e
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"跳转链接"
>
<el-table-column
width=
"300"
align=
"center"
label=
"跳转链接"
>
...
@@ -31,28 +31,30 @@
...
@@ -31,28 +31,30 @@
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"banner图片"
>
<el-table-column
width=
"300"
align=
"center"
label=
"banner图片"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<img
:src=
"scope.row.
cover
"
style=
"width:100%;max-height:100px;"
>
<img
:src=
"scope.row.
background
"
style=
"width:100%;max-height:100px;"
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"排序"
>
<el-table-column
width=
"300"
align=
"center"
label=
"排序"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
<span>
{{
scope
.
row
.
sort
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"创建时间"
>
<el-table-column
width=
"300"
align=
"center"
label=
"创建时间"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
<span>
{{
scope
.
row
.
crtTimeStr
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"状态"
>
<el-table-column
width=
"300"
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
<span
v-if=
"scope.row.status==1"
>
上架
</span>
<span
v-if=
"scope.row.status==2"
>
下架
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
width=
"200"
label=
"操作"
>
<el-table-column
align=
"center"
width=
"200"
label=
"操作"
>
<
template
scope=
"scope"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"handleUpdate(scope.row)"
style=
"margin-left:0px"
>
下架
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"handleDown(scope.row)"
style=
"margin-left:0px"
v-if=
"scope.row.status==1"
>
下架
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"handleUp(scope.row)"
style=
"margin-left:0px"
v-if=
"scope.row.status==2"
>
上架
</el-button>
<el-popover
<el-popover
ref=
"popover5"
ref=
"popover5"
placement=
"top"
placement=
"top"
...
@@ -64,19 +66,19 @@
...
@@ -64,19 +66,19 @@
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
</div>
</div>
</el-popover>
</el-popover>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
>
删除
</el-button>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
v-if=
"scope.row.status==2"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.page
No"
:page-sizes=
"[10,20,30,40,50]"
:page-size=
"listQuery.pageSize
"
:current-page
.
sync=
"listQuery.page
"
:page-sizes=
"[10,20,30,40,50]"
:page-size=
"listQuery.limit
"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
</div>
<!-- banner modal弹窗 -->
<!-- banner modal弹窗 -->
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"bannerDialogVisible"
>
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"bannerDialogVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"90px"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"90px"
>
<el-form-item
label=
"描述"
prop=
"
titl
e"
>
<el-form-item
label=
"描述"
prop=
"
nam
e"
>
<el-input
v-model=
"form.title"
placeholder=
"请输入描述"
></el-input>
<el-input
v-model=
"form.title"
placeholder=
"请输入描述"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"上架时间"
>
<el-form-item
label=
"上架时间"
>
...
@@ -90,7 +92,10 @@
...
@@ -90,7 +92,10 @@
<el-date-picker
v-model=
"form.endTimeStr"
type =
"datetime"
placeholder =
"结束时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
<el-date-picker
v-model=
"form.endTimeStr"
type =
"datetime"
placeholder =
"结束时间"
value-format=
" yyyy-MM-dd HH:mm"
format=
"yyyy-MM-dd HH:mm"
:picker-options=
"pickerOptionsEnd"
></el-date-picker>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"图片"
prop=
"banner"
:style=
"{display:'block'}"
>
<el-form-item
label=
"排序"
prop=
"sort"
>
<el-input
v-model=
"form.sort"
placeholder=
"请输入排序"
></el-input>
</el-form-item>
<el-form-item
label=
"图片"
prop=
"picture"
:style=
"{display:'block'}"
>
<el-upload
<el-upload
class=
"avatar-uploader"
class=
"avatar-uploader"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
...
@@ -101,7 +106,7 @@
...
@@ -101,7 +106,7 @@
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
<el-form-item
label=
"跳转链接"
>
<el-form-item
label=
"跳转链接"
prop=
"url"
>
<el-input
v-model=
"form.url"
placeholder=
"请输入跳转链接"
></el-input>
<el-input
v-model=
"form.url"
placeholder=
"请输入跳转链接"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
...
@@ -125,15 +130,17 @@
...
@@ -125,15 +130,17 @@
toEast8Date
,
toEast8Date
,
deepCopyDate
,
deepCopyDate
,
newEast8Date
,
newEast8Date
,
convertDate2Str
convertDate2Str
,
timestamp2Date
}
from
'utils/dateUtils'
;
}
from
'utils/dateUtils'
;
import
{
import
{
getBannerList
,
getActivityList
,
editBanner
,
getObj
,
addBanner
,
addObj
,
delBanner
editObj
,
}
from
'api/tourManage'
;
delObj
}
from
'src/api/appManagement/selectedActivities'
;
import
rsCode
from
'../../../utils/rsCode'
;
import
rsCode
from
'../../../utils/rsCode'
;
...
@@ -161,31 +168,44 @@
...
@@ -161,31 +168,44 @@
bannerDialogVisible
:
false
,
//添加、编辑弹框
bannerDialogVisible
:
false
,
//添加、编辑弹框
showLoadingBody
:
false
,
showLoadingBody
:
false
,
form
:
{
form
:
{
titl
e
:
""
,
nam
e
:
""
,
up_name
:
'自定义'
,
up_name
:
'自定义'
,
starTimeStr
:
''
,
starTimeStr
:
''
,
endTimeStr
:
''
,
endTimeStr
:
''
,
banner
:
''
,
sort
:
''
,
picture
:
''
,
url
:
''
,
url
:
''
,
},
},
listQuery
:
{
listQuery
:
{
page
No
:
1
,
page
:
1
,
pageSize
:
20
,
limit
:
20
,
titl
e
:
''
,
//描述
activitiesNam
e
:
''
,
//描述
},
},
rules
:
{
rules
:
{
titl
e
:
{
nam
e
:
{
type
:
'string'
,
type
:
'string'
,
required
:
true
,
required
:
true
,
message
:
'请输入描述'
,
message
:
'请输入
弹窗
描述'
,
trigger
:
'blur'
trigger
:
'blur'
},
},
banner
:
{
picture
:
{
type
:
'string'
,
type
:
'string'
,
required
:
true
,
required
:
true
,
message
:
'请上传图片'
,
message
:
'请上传图片'
,
},
},
url
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入链接'
,
trigger
:
'blur'
},
sort
:{
type
:
'string'
,
required
:
true
,
message
:
'请输入排序'
,
trigger
:
'blur'
}
},
},
pickerOptionsStart
:
{
pickerOptionsStart
:
{
disabledDate
(
time
)
{
disabledDate
(
time
)
{
...
@@ -219,8 +239,8 @@
...
@@ -219,8 +239,8 @@
},
},
},
},
methods
:
{
methods
:
{
handleFilter
()
{
handleFilter
()
{
this
.
listQuery
.
page
No
=
1
;
this
.
listQuery
.
page
=
1
;
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
getList
();
this
.
getList
();
...
@@ -230,11 +250,11 @@
...
@@ -230,11 +250,11 @@
});
});
},
},
handleSizeChange
(
val
)
{
handleSizeChange
(
val
)
{
this
.
listQuery
.
pageSize
=
val
;
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
this
.
getList
();
},
},
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
No
=
val
;
this
.
listQuery
.
page
=
val
;
this
.
getList
();
this
.
getList
();
},
},
/**
/**
...
@@ -251,8 +271,23 @@
...
@@ -251,8 +271,23 @@
handleUpdate
(
row
)
{
handleUpdate
(
row
)
{
this
.
modalTitle
=
'编辑'
;
this
.
modalTitle
=
'编辑'
;
this
.
cleanForm
();
this
.
cleanForm
();
this
.
form
=
row
;
getObj
(
row
.
id
).
then
(
response
=>
{
this
.
bannerDialogVisible
=
true
;
var
item
=
response
.
data
;
item
.
up_name
=
item
.
timeType
==
0
?
'不限'
:
item
.
timeType
==
1
?
'自定义'
:
''
;
if
(
item
.
startTime
>
0
&&
item
.
timeType
==
1
){
item
.
starTimeStr
=
getYMD_hm
(
item
.
startTime
);
}
else
{
item
.
starTimeStr
=
''
;
}
if
(
item
.
endTime
>
0
&&
item
.
timeType
==
1
){
item
.
endTimeStr
=
getYMD_hm
(
item
.
endTime
);
}
else
{
item
.
endTimeStr
=
''
;
}
this
.
form
=
item
;
this
.
bannerDialogVisible
=
true
;
})
},
},
/**
/**
* 弹框-取消
* 弹框-取消
...
@@ -266,11 +301,12 @@
...
@@ -266,11 +301,12 @@
* */
* */
cleanForm
()
{
cleanForm
()
{
this
.
form
=
{
this
.
form
=
{
titl
e
:
""
,
nam
e
:
""
,
up_name
:
'自定义'
,
up_name
:
'自定义'
,
starTimeStr
:
''
,
starTimeStr
:
''
,
endTimeStr
:
''
,
endTimeStr
:
''
,
banner
:
''
,
sort
:
''
,
picture
:
''
,
url
:
''
,
url
:
''
,
}
}
},
},
...
@@ -279,17 +315,16 @@
...
@@ -279,17 +315,16 @@
* */
* */
getList
()
{
getList
()
{
this
.
listLoading
=
true
;
this
.
listLoading
=
true
;
get
Banner
List
(
this
.
listQuery
).
then
(
response
=>
{
get
Activity
List
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
data
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
totalCount
))
{
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
list
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
total
))
{
listRs
=
response
.
data
.
data
;
listRs
=
response
.
data
.
list
;
response
.
data
.
data
.
map
(
function
(
item
){
response
.
data
.
list
.
map
(
function
(
item
){
item
.
type
=
item
.
type
+
""
;
item
.
crtTimeStr
=
timestamp2Date
(
item
.
crtTime
);
item
.
location
=
item
.
location
?
item
.
location
+
""
:
"0"
;
item
.
visible2
=
false
;
item
.
visible2
=
false
;
});
});
totalCountRs
=
response
.
data
.
total
Count
;
totalCountRs
=
response
.
data
.
total
;
}
}
this
.
listLoading
=
false
;
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
list
=
listRs
;
...
@@ -300,14 +335,21 @@
...
@@ -300,14 +335,21 @@
* 创建
* 创建
* */
* */
create
(
formName
)
{
create
(
formName
)
{
let
that
=
this
;
const
set
=
this
.
$refs
;
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
set
[
formName
].
validate
(
valid
=>
{
if
(
that
.
form
.
up_name
==
'自定义'
){
that
.
form
.
timeType
=
1
;
that
.
form
.
startTime
=
new
Date
(
this
.
form
.
starTimeStr
).
getTime
();
that
.
form
.
endTime
=
new
Date
(
this
.
form
.
endTimeStr
).
getTime
();
}
else
{
that
.
form
.
timeType
=
0
;
}
that
.
form
.
status
=
2
;
if
(
valid
)
{
if
(
valid
)
{
addBanner
(
this
.
form
)
addObj
(
this
.
form
).
then
(
response
=>
{
.
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
this
.
$notify
({
title
:
'成功'
,
title
:
'成功'
,
message
:
'创建成功'
,
message
:
'创建成功'
,
...
@@ -333,13 +375,20 @@
...
@@ -333,13 +375,20 @@
* 编辑-更新
* 编辑-更新
* */
* */
update
(
formName
)
{
update
(
formName
)
{
let
that
=
this
;
const
set
=
this
.
$refs
;
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
valid
)
{
editBanner
(
this
.
form
).
then
(
response
=>
{
if
(
that
.
form
.
up_name
==
'自定义'
){
that
.
form
.
timeType
=
1
;
that
.
form
.
startTime
=
new
Date
(
this
.
form
.
starTimeStr
).
getTime
();
that
.
form
.
endTime
=
new
Date
(
this
.
form
.
endTimeStr
).
getTime
();
}
else
{
that
.
form
.
timeType
=
0
;
}
editObj
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
this
.
$notify
({
title
:
'成功'
,
title
:
'成功'
,
message
:
'编辑成功'
,
message
:
'编辑成功'
,
...
@@ -360,6 +409,60 @@
...
@@ -360,6 +409,60 @@
return
false
;
return
false
;
}
}
});
});
},
/**
* 上架
* */
handleUp
(
row
){
this
.
form
=
{};
this
.
form
.
id
=
row
.
id
;
this
.
form
.
status
=
1
;
editObj
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
/**
* 下架
* */
handleDown
(
row
){
this
.
form
=
{};
this
.
form
.
id
=
row
.
id
;
this
.
form
.
status
=
2
;
editObj
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
},
/**
/**
* 上传图片
* 上传图片
...
@@ -380,7 +483,7 @@
...
@@ -380,7 +483,7 @@
return
isJPG
&&
isLt2M
;
return
isJPG
&&
isLt2M
;
},
},
handleAvatarSuccess
(
res
,
file
)
{
handleAvatarSuccess
(
res
,
file
)
{
this
.
form
.
banner
=
res
.
data
;
this
.
form
.
picture
=
res
.
data
;
this
.
showLoadingBody
=
false
;
this
.
showLoadingBody
=
false
;
},
},
/**
/**
...
...
src/views/cunponManagements/cunponManagement.vue
View file @
e2056546
...
@@ -6,12 +6,13 @@
...
@@ -6,12 +6,13 @@
<el-row>
<el-row>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"标题"
>
<el-form-item
label=
"标题"
>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入
姓名
"
></el-input>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入
标题
"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"5"
>
<el-col
:span=
"5"
>
<el-form-item>
<el-form-item>
<el-select
class=
"filter-item"
v-model=
"listQuery.channel"
placeholder=
"类型"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.channel"
placeholder=
"类型"
>
<el-option
key=
""
label=
"全部"
value=
""
>
</el-option>
<el-option
v-for=
"(item,index) in channelType"
:key=
"index"
:label=
"item.val"
:value=
"item.id"
>
</el-option>
<el-option
v-for=
"(item,index) in channelType"
:key=
"index"
:label=
"item.val"
:value=
"item.id"
>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -349,7 +350,7 @@
...
@@ -349,7 +350,7 @@
page
:
1
,
page
:
1
,
limit
:
20
,
limit
:
20
,
title
:
''
,
//标题
title
:
''
,
//标题
channel
:
0
,
//状态
channel
:
''
,
//状态
},
},
inline
:
true
,
inline
:
true
,
tableKey
:
0
,
tableKey
:
0
,
...
...
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