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
69cc9de3
Commit
69cc9de3
authored
Jul 24, 2019
by
denghr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
后台页面
parent
9ab92a54
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1537 additions
and
225 deletions
+1537
-225
activityManagement.js
src/api/activityManagement.js
+13
-0
modalManagement.js
src/api/appManagement/modalManagement.js
+13
-0
cunponManagements.js
src/api/cunponManagements.js
+72
-3
index.js
src/router/index.js
+27
-0
dateUtils.js
src/utils/dateUtils.js
+8
-0
activityList.vue
src/views/activityManagement/activityList.vue
+218
-0
index.vue
src/views/appManagement/modalManagement/index.vue
+438
-0
index.vue
src/views/appManagement/selectedActivities/index.vue
+411
-0
conponList.vue
src/views/cunponManagements/conponList.vue
+136
-31
cunponManagement.vue
src/views/cunponManagements/cunponManagement.vue
+201
-191
No files found.
src/api/activityManagement.js
0 → 100644
View file @
69cc9de3
import
fetch
from
'utils/fetch'
;
/**
* 获取活动列表
* @param query
*/
export
function
activityList
(
query
)
{
return
fetch
({
url
:
'/api/activity/management/activity/findAll'
,
method
:
'get'
,
params
:
query
});
}
\ No newline at end of file
src/api/appManagement/modalManagement.js
0 → 100644
View file @
69cc9de3
import
fetch
from
'utils/fetch'
;
/**
* 获取列表
* @param query
*/
export
function
getModalList
(
query
)
{
return
fetch
({
url
:
'/api/activity/activityPopupManage/manage/findAllByQuery'
,
method
:
'POST'
,
data
:
query
});
}
src/api/cunponManagements.js
View file @
69cc9de3
...
...
@@ -6,8 +6,77 @@ import fetch from 'utils/fetch';
*/
export
function
cunponManagementList
(
query
)
{
return
fetch
({
url
:
''
,
method
:
'
g
et'
,
url
:
'
/api/activity/admin/coupon/page
'
,
method
:
'
G
et'
,
params
:
query
});
}
\ No newline at end of file
}
/**
* 优惠券管理列表删除
* @param query
*/
export
function
delObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/admin/coupon/'
+
id
,
method
:
'delete'
})
}
/**
* 获取优惠券管理列表某一条数据
* @param query
*/
export
function
getObj
(
id
)
{
return
fetch
({
url
:
'/api/activity/admin/coupon/'
+
id
,
method
:
'Get'
})
}
/**
* 获取优惠券管理列表--添加编辑
* @param query
*/
export
function
addObj
(
obj
)
{
return
fetch
({
url
:
'/api/activity/admin/coupon'
,
method
:
'post'
,
data
:
obj
});
}
/**
* 获取优惠券列表--优惠券标题列表
* @param query
*/
export
function
getTitle
()
{
return
fetch
({
url
:
'/api/activity/admin/coupon/titles'
,
method
:
'Get'
,
});
}
/**
* 获取优惠券列表--优惠券列表
* @param query
*/
export
function
getCouponList
(
query
)
{
return
fetch
({
url
:
'/api/activity/admin/user_coupon/page'
,
method
:
'Get'
,
params
:
query
});
}
/**
* 获取优惠券列表--发券
* @param query
*/
export
function
giveObj
(
obj
)
{
return
fetch
({
url
:
'/api/activity/admin/user_coupon/sendcoupon'
,
method
:
'POST'
,
data
:
obj
});
}
\ No newline at end of file
src/router/index.js
View file @
69cc9de3
...
...
@@ -464,6 +464,18 @@ export const asyncRouterMap = [{
component
:
_import
(
'appManagement/appVersion/index'
),
name
:
'app版本管理'
,
authority
:
'appVersion'
},
{
path
:
'modalManagement'
,
component
:
_import
(
'appManagement/modalManagement/index'
),
name
:
'首页弹窗管理'
,
authority
:
'modalManagement'
},
{
path
:
'selectedActivities'
,
component
:
_import
(
'appManagement/selectedActivities/index'
),
name
:
'首页精选活动'
,
authority
:
'selectedActivities'
}
]
},
...
...
@@ -487,5 +499,20 @@ export const asyncRouterMap = [{
authority
:
'conponList'
}
]
},
{
path
:
'/activityManagement'
,
component
:
Layout
,
name
:
'活动管理'
,
icon
:
'setting'
,
authority
:
'activityManagement'
,
children
:
[
{
path
:
'activityList'
,
component
:
_import
(
'activityManagement/activityList'
),
name
:
'活动列表'
,
authority
:
'activityList'
}
]
}
];
src/utils/dateUtils.js
View file @
69cc9de3
...
...
@@ -74,3 +74,11 @@ export function getCurrentMonth() {
const
today
=
new
Date
();
return
formatDate
(
today
,
'MM'
);
}
/**
* 返回yyyy-MM-dd
* */
export
function
getYMD
(
timestamp
)
{
let
date
=
new
Date
(
timestamp
);
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
return
formatDate
(
date
,
'yyyy-MM-dd'
);
}
src/views/activityManagement/activityList.vue
0 → 100644
View file @
69cc9de3
<
template
>
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
align=
"center"
label=
"活动ID"
width=
"200"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"活动名称"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
name
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"活动时间"
>
<
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=
"人数限制"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
numLimit
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已参加人数"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
hasJoinNum
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span
v-if=
"scope.row.status==1"
>
上架
</span>
<span
v-if=
"scope.row.status==2"
>
下架
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
>
<
template
scope=
"scope"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleUpdate(scope.row)"
>
编辑
</el-button>
<el-button
size=
"small"
type=
"success"
@
click=
"handleActivityData(scope.row)"
style=
"margin-left:0px"
>
活动数据
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
: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>
</div>
</div>
<el-dialog
title=
"编辑"
:visible
.
sync=
"newPeopelVisible"
>
<el-form
:model=
"formdata"
:rules=
"rules"
ref=
"form"
>
<div
style=
"font-weight: bold;"
>
基础设置
</div>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"活动状态"
label-width=
"70px"
>
<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-group>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"参与人数"
label-width=
"70px"
>
<el-input
v-model=
"formdata.numLimit"
placeholder=
"请输入参与人数"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"14"
>
<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>
<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-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"add('form')"
>
确认添加
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
formatDate
}
from
'utils/dateFormattor'
;
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
convertDate2Str
,
timestamp2Date
}
from
'utils/dateUtils'
;
import
rsCode
from
'../../utils/rsCode'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getToken
}
from
'utils/auth'
;
import
{
activityList
}
from
'api/activityManagement'
;
import
Element1
from
"../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
export
default
{
name
:
'conponList'
,
components
:
{
ElCol
,
ElRow
,
Element1
,
},
data
()
{
return
{
rules
:{
phone
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
},
num
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入添加张数'
,
trigger
:
'blur'
}
},
newPeopelVisible
:
false
,
BASE_API
:
process
.
env
.
BASE_API
,
showLoadingBody
:
false
,
list
:
null
,
total
:
null
,
listLoading
:
true
,
listQuery
:
{
page
:
1
,
limit
:
20
,
},
inline
:
true
,
tableKey
:
0
,
formdata
:{
phone
:
''
,
num
:
''
,
type
:
''
},
pickerOptionsStart
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
},
pickerOptionsEnd
:
{
disabledDate
:
time
=>
{
const
beginDateVal
=
new
Date
(
this
.
formdata
.
starTimeStr
).
getTime
()
if
(
beginDateVal
)
{
return
time
.
getTime
()
<
beginDateVal
-
0
}
}
},
}
},
created
()
{
this
.
getList
();
},
computed
:
{
...
mapGetters
([
'elements'
])
},
methods
:
{
/**
* 获取活动列表
* */
getList
()
{
this
.
listLoading
=
true
;
activityList
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
// if (!this.$utils.isEmpty(response.data) && this.$utils.isInteger(response.data.totalCount)) {
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
))
{
listRs
=
response
.
data
;
listRs
.
map
(
function
(
item
){
item
.
startTimeeStr
=
timestamp2Date
(
item
.
startTime
);
item
.
endTimeStr
=
timestamp2Date
(
item
.
endTime
);
item
.
visible1
=
false
;
item
.
visible2
=
false
;
});
}
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
})
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
giveCunpon
(){
this
.
giveDialogVisible
=
true
;
},
handleUpdate
(
item
){
var
that
=
this
;
that
.
formdata
=
item
;
that
.
newPeopelVisible
=
true
;
}
}
}
</
script
>
src/views/appManagement/modalManagement/index.vue
0 → 100644
View file @
69cc9de3
<
template
>
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"60px"
>
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"描述"
>
<el-input
v-model
.
number=
"listQuery.popupName"
placeholder=
"请输入描述"
></el-input>
</el-form-item>
</el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
style=
"float: right;"
@
click=
"handleCreate"
>
+ 添加弹窗
</el-button>
</el-row>
</el-form>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
type=
"index"
align=
"center"
label=
"序号"
width=
"98"
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"描述"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
descr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"150"
align=
"center"
label=
"显示条件"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
type
==
1
?
"通用"
:
scope
.
row
.
type
==
2
?
"已登录"
:
scope
.
row
.
type
==
3
?
"未登录"
:
''
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"跳转链接"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"弹窗图片"
>
<
template
scope=
"scope"
>
<img
:src=
"scope.row.background"
style=
"width:100%;max-height:50px;"
>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"创建时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
crtTimeStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span
v-if=
"scope.row.status==1"
>
上架
</span>
<span
v-if=
"scope.row.status==2"
>
下架
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
width=
"200"
label=
"操作"
>
<
template
scope=
"scope"
>
<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-popover
ref=
"popover5"
placement=
"top"
width=
"160"
v-model=
"scope.row.visible2"
>
<p>
确定删除吗?
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.visible2 = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
</div>
</el-popover>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
: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>
</div>
<!-- banner modal弹窗 -->
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"bannerDialogVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"90px"
>
<el-form-item
label=
"弹窗描述"
prop=
"title"
>
<el-input
v-model=
"form.title"
placeholder=
"请输入弹窗描述"
></el-input>
</el-form-item>
<el-form-item
label=
"有效时间"
>
<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>
</el-form-item>
<el-form-item
label=
"显示条件"
>
<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-group>
</el-form-item>
<!--BASE_API + -->
<el-form-item
label=
"弹窗图片"
prop=
"cover"
:style=
"{display:'block'}"
>
<el-upload
class=
"avatar-uploader"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:show-file-list=
"false"
:headers=
"getHeaderWithToken"
:on-success=
"handleAvatarSuccess"
>
<img
v-if=
"$utils.isString(form.modalImg) && !$utils.isEmpty(form.modalImg)"
:src=
"form.modalImg"
style=
"width:200px;max-height:200px;"
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
</el-upload>
</el-form-item>
<el-form-item
label=
"按钮图片"
prop=
"cover"
:style=
"{display:'block'}"
>
<el-upload
class=
"avatar-uploader"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:show-file-list=
"false"
:headers=
"getHeaderWithToken"
:on-success=
"handleBtnSuccess"
>
<img
v-if=
"$utils.isString(form.btnImg) && !$utils.isEmpty(form.btnImg)"
:src=
"form.btnImg"
style=
"width:100px;max-height:30px;"
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
</el-upload>
</el-form-item>
<el-form-item
label=
"跳转链接"
>
<el-input
v-model=
"form.url"
placeholder=
"请输入跳转链接"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancelHandel"
>
取 消
</el-button>
<el-button
v-if=
"modalTitle=='创建'"
type=
"primary"
@
click=
"create('form')"
>
确 定
</el-button>
<el-button
v-else
type=
"primary"
@
click=
"update('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
'static/css/uploadImg.css'
;
// 引入图片上传组件对话框
import
{
formatDate
}
from
'utils/dateFormattor'
;
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
convertDate2Str
,
timestamp2Date
}
from
'utils/dateUtils'
;
import
{
getModalList
}
from
'src/api/appManagement/modalManagement'
;
import
rsCode
from
'../../../utils/rsCode'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getToken
}
from
'../../../utils/auth'
;
import
Element1
from
"../../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
export
default
{
name
:
'modalManagement'
,
components
:
{
ElCol
,
ElRow
,
Element1
},
data
()
{
return
{
tableKey
:
0
,
modalTitle
:
"创建"
,
BASE_API
:
process
.
env
.
BASE_API
,
bannerDialogVisible
:
false
,
//添加、编辑弹框
showLoadingBody
:
false
,
form
:
{
title
:
""
,
url
:
""
,
modalImg
:
""
,
btnImg
:
''
,
type
:
"0"
,
location
:
"0"
,
starTimeStr
:
''
,
endTimeStr
:
''
,
showType
:
'未登录'
},
listQuery
:
{
page
:
1
,
limit
:
20
,
popupName
:
''
,
//描述
},
rules
:
{
title
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入弹窗描述'
,
trigger
:
'blur'
},
type
:{
type
:
'string'
,
required
:
true
,
message
:
'请选择banner类型'
,
trigger
:
'blur'
},
modalImg
:
{
type
:
'string'
,
required
:
true
,
message
:
'请上传图片'
,
},
},
pickerOptionsStart
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
},
pickerOptionsEnd
:
{
disabledDate
:
time
=>
{
const
beginDateVal
=
new
Date
(
this
.
form
.
starTimeStr
).
getTime
()
if
(
beginDateVal
)
{
return
time
.
getTime
()
<
beginDateVal
-
0
}
}
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
inline
:
true
,
}
},
created
()
{
this
.
getList
();
},
computed
:
{
...
mapGetters
([
'elements'
,
'belong2Type'
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
},
},
methods
:
{
handleFilter
()
{
this
.
listQuery
.
page
=
1
;
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
getList
();
}
else
{
return
false
;
}
});
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
limit
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
/**
* 添加
* */
handleCreate
()
{
this
.
cleanForm
();
this
.
modalTitle
=
'创建'
;
this
.
bannerDialogVisible
=
true
;
},
/**
* 操作-编辑
* */
handleUpdate
(
row
)
{
this
.
modalTitle
=
'编辑'
;
this
.
cleanForm
();
this
.
form
=
row
;
this
.
bannerDialogVisible
=
true
;
},
/**
* 弹框-取消
* */
cancelHandel
(){
this
.
cleanForm
();
this
.
bannerDialogVisible
=
false
;
},
/**
* 清空表单
* */
cleanForm
()
{
this
.
form
=
{
title
:
""
,
modalImg
:
""
,
btnImg
:
''
,
url
:
""
,
type
:
"0"
,
location
:
"0"
,
starTimeStr
:
''
,
endTimeStr
:
''
,
showType
:
'未登录'
}
},
/**
* 获取banner列表数据
* */
getList
()
{
this
.
listLoading
=
true
;
getModalList
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
list
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
total
))
{
listRs
=
response
.
data
.
list
;
response
.
data
.
list
.
map
(
function
(
item
){
item
.
crtTimeStr
=
timestamp2Date
(
item
.
crtTime
);
item
.
visible2
=
false
;
});
totalCountRs
=
response
.
data
.
total
;
}
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
});
},
/**
* 创建
* */
create
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
addBanner
(
this
.
form
)
.
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
}
else
{
return
false
;
}
});
},
/**
* 编辑-更新
* */
update
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
editBanner
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
}
else
{
return
false
;
}
});
},
/**
* 上传图片
* @param file
* @returns {boolean}
*/
beforeAvatarUpload
(
file
)
{
const
isJPG
=
file
.
type
===
'image/jpeg'
||
file
.
type
===
'image/gif'
;
const
isLt2M
=
file
.
size
/
1024
/
1024
<
10
;
if
(
!
isJPG
)
{
this
.
$message
.
error
(
'上传图片只能是 JPG/GIF 格式!'
);
}
if
(
!
isLt2M
)
{
this
.
$message
.
error
(
'上传图片大小不能超过 10MB!'
);
}
this
.
showLoadingBody
=
true
;
return
isJPG
&&
isLt2M
;
},
handleAvatarSuccess
(
res
,
file
)
{
this
.
form
.
modalImg
=
res
.
data
;
this
.
showLoadingBody
=
false
;
},
handleBtnSuccess
(
res
,
file
)
{
this
.
form
.
btnImg
=
res
.
data
;
this
.
showLoadingBody
=
false
;
},
/**
* 操作-删除
* */
deleteHandler
(
row
)
{
delBanner
(
row
.
id
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
'删除失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
}
}
</
script
>
src/views/appManagement/selectedActivities/index.vue
0 → 100644
View file @
69cc9de3
<
template
>
<div
class=
"app-container calendar-list-container"
v-loading
.
body=
"showLoadingBody"
>
<div
class=
"filter-container"
ref=
"filter-container"
>
<el-form
ref=
"queryForm"
:inline=
"inline"
:model=
"listQuery"
label-width=
"60px"
>
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"描述"
>
<el-input
v-model
.
number=
"listQuery.title"
placeholder=
"请输入描述"
></el-input>
</el-form-item>
</el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
style=
"float: right;"
@
click=
"handleCreate"
>
+ 添加弹窗
</el-button>
</el-row>
</el-form>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%"
>
<el-table-column
type=
"index"
align=
"center"
label=
"序号"
width=
"98"
>
</el-table-column>
<el-table-column
width=
"200"
align=
"center"
label=
"描述"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
title
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"跳转链接"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"banner图片"
>
<
template
scope=
"scope"
>
<img
:src=
"scope.row.cover"
style=
"width:100%;max-height:100px;"
>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"排序"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"创建时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"300"
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
url
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
width=
"200"
label=
"操作"
>
<
template
scope=
"scope"
>
<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-popover
ref=
"popover5"
placement=
"top"
width=
"160"
v-model=
"scope.row.visible2"
>
<p>
确定删除吗?
</p>
<div
style=
"text-align: right; margin: 0"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"scope.row.visible2 = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click=
"deleteHandler(scope.row)"
>
确定
</el-button>
</div>
</el-popover>
<el-button
type=
"danger"
size=
"small"
v-popover:popover5
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
v-show=
"!listLoading"
class=
"pagination-container"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"listQuery.pageNo"
:page-sizes=
"[10,20,30,40,50]"
:page-size=
"listQuery.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
<!-- banner modal弹窗 -->
<el-dialog
:title=
"modalTitle"
:visible
.
sync=
"bannerDialogVisible"
>
<el-form
:model=
"form"
:rules=
"rules"
ref=
"form"
label-width=
"90px"
>
<el-form-item
label=
"描述"
prop=
"title"
>
<el-input
v-model=
"form.title"
placeholder=
"请输入描述"
></el-input>
</el-form-item>
<el-form-item
label=
"上架时间"
>
<el-radio-group
v-model=
"form.up_name"
size=
"medium"
>
<el-radio-button
label=
"不限"
></el-radio-button>
<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
label=
"图片"
prop=
"banner"
:style=
"{display:'block'}"
>
<el-upload
class=
"avatar-uploader"
:action=
"'https://xxtest.upyuns.com/api/universal/file/app/unauth/admin/upload'"
:show-file-list=
"false"
:headers=
"getHeaderWithToken"
:on-success=
"handleAvatarSuccess"
>
<img
v-if=
"$utils.isString(form.banner) && !$utils.isEmpty(form.banner)"
:src=
"form.banner"
style=
"width:200px;max-height:200px;"
>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
style=
"lineHeight:100px;width:100px;height: 100px;"
></i>
</el-upload>
</el-form-item>
<el-form-item
label=
"跳转链接"
>
<el-input
v-model=
"form.url"
placeholder=
"请输入跳转链接"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancelHandel"
>
取 消
</el-button>
<el-button
v-if=
"modalTitle=='创建'"
type=
"primary"
@
click=
"create('form')"
>
确 定
</el-button>
<el-button
v-else
type=
"primary"
@
click=
"update('form')"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
'static/css/uploadImg.css'
;
// 引入图片上传组件对话框
import
{
formatDate
}
from
'utils/dateFormattor'
;
import
{
toEast8Date
,
deepCopyDate
,
newEast8Date
,
convertDate2Str
}
from
'utils/dateUtils'
;
import
{
getBannerList
,
editBanner
,
addBanner
,
delBanner
}
from
'api/tourManage'
;
import
rsCode
from
'../../../utils/rsCode'
;
import
{
mapGetters
}
from
'vuex'
;
import
{
getToken
}
from
'../../../utils/auth'
;
import
Element1
from
"../../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
export
default
{
name
:
'selectedActivities'
,
components
:
{
ElCol
,
ElRow
,
Element1
},
data
()
{
return
{
tableKey
:
0
,
modalTitle
:
"创建"
,
BASE_API
:
process
.
env
.
BASE_API
,
bannerDialogVisible
:
false
,
//添加、编辑弹框
showLoadingBody
:
false
,
form
:
{
title
:
""
,
up_name
:
'自定义'
,
starTimeStr
:
''
,
endTimeStr
:
''
,
banner
:
''
,
url
:
''
,
},
listQuery
:
{
pageNo
:
1
,
pageSize
:
20
,
title
:
''
,
//描述
},
rules
:
{
title
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入描述'
,
trigger
:
'blur'
},
banner
:
{
type
:
'string'
,
required
:
true
,
message
:
'请上传图片'
,
},
},
pickerOptionsStart
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
}
},
pickerOptionsEnd
:
{
disabledDate
:
time
=>
{
const
beginDateVal
=
new
Date
(
this
.
form
.
starTimeStr
).
getTime
()
if
(
beginDateVal
)
{
return
time
.
getTime
()
<
beginDateVal
-
0
}
}
},
list
:
null
,
total
:
null
,
listLoading
:
true
,
inline
:
true
,
}
},
created
()
{
this
.
getList
();
},
computed
:
{
...
mapGetters
([
'elements'
,
'belong2Type'
]),
getHeaderWithToken
()
{
return
{
Authorization
:
getToken
()};
},
},
methods
:
{
handleFilter
()
{
this
.
listQuery
.
pageNo
=
1
;
this
.
$refs
.
queryForm
.
validate
(
valid
=>
{
if
(
valid
)
{
this
.
getList
();
}
else
{
return
false
;
}
});
},
handleSizeChange
(
val
)
{
this
.
listQuery
.
pageSize
=
val
;
this
.
getList
();
},
handleCurrentChange
(
val
)
{
this
.
listQuery
.
pageNo
=
val
;
this
.
getList
();
},
/**
* 添加
* */
handleCreate
()
{
this
.
cleanForm
();
this
.
modalTitle
=
'创建'
;
this
.
bannerDialogVisible
=
true
;
},
/**
* 操作-编辑
* */
handleUpdate
(
row
)
{
this
.
modalTitle
=
'编辑'
;
this
.
cleanForm
();
this
.
form
=
row
;
this
.
bannerDialogVisible
=
true
;
},
/**
* 弹框-取消
* */
cancelHandel
(){
this
.
cleanForm
();
this
.
bannerDialogVisible
=
false
;
},
/**
* 清空表单
* */
cleanForm
()
{
this
.
form
=
{
title
:
""
,
up_name
:
'自定义'
,
starTimeStr
:
''
,
endTimeStr
:
''
,
banner
:
''
,
url
:
''
,
}
},
/**
* 获取banner列表数据
* */
getList
()
{
this
.
listLoading
=
true
;
getBannerList
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
data
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
totalCount
))
{
listRs
=
response
.
data
.
data
;
response
.
data
.
data
.
map
(
function
(
item
){
item
.
type
=
item
.
type
+
""
;
item
.
location
=
item
.
location
?
item
.
location
+
""
:
"0"
;
item
.
visible2
=
false
;
});
totalCountRs
=
response
.
data
.
totalCount
;
}
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
});
},
/**
* 创建
* */
create
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
addBanner
(
this
.
form
)
.
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'创建成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
}
else
{
return
false
;
}
});
},
/**
* 编辑-更新
* */
update
(
formName
)
{
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
editBanner
(
this
.
form
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
bannerDialogVisible
=
false
;
this
.
getList
();
this
.
$notify
({
title
:
'成功'
,
message
:
'编辑成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
'失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
}
else
{
return
false
;
}
});
},
/**
* 上传图片
* @param file
* @returns {boolean}
*/
beforeAvatarUpload
(
file
)
{
const
isJPG
=
file
.
type
===
'image/jpeg'
||
file
.
type
===
'image/gif'
;
const
isLt2M
=
file
.
size
/
1024
/
1024
<
10
;
if
(
!
isJPG
)
{
this
.
$message
.
error
(
'上传图片只能是 JPG/GIF 格式!'
);
}
if
(
!
isLt2M
)
{
this
.
$message
.
error
(
'上传图片大小不能超过 10MB!'
);
}
this
.
showLoadingBody
=
true
;
return
isJPG
&&
isLt2M
;
},
handleAvatarSuccess
(
res
,
file
)
{
this
.
form
.
banner
=
res
.
data
;
this
.
showLoadingBody
=
false
;
},
/**
* 操作-删除
* */
deleteHandler
(
row
)
{
delBanner
(
row
.
id
).
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
duration
:
2000
});
this
.
getList
();
}
else
{
this
.
$notify
({
title
:
'删除失败'
,
message
:
rsCode
.
msg
[
response
.
code
]
?
rsCode
.
msg
[
response
.
code
]
:
'操作失败!'
,
type
:
'error'
,
duration
:
2000
});
}
});
},
}
}
</
script
>
src/views/cunponManagements/conponList.vue
View file @
69cc9de3
...
...
@@ -6,37 +6,40 @@
<el-row>
<el-col
:span=
"4"
>
<el-form-item
label=
"手机号"
>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入
姓名
"
></el-input>
<el-input
v-model
.
number=
"listQuery.phone"
placeholder=
"请输入
手机号
"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"
4
"
>
<el-col
:span=
"
3
"
>
<el-form-item
label=
""
>
<el-select
class=
"filter-item"
v-model=
"listQuery.state"
placeholder=
"请输入状态"
>
<el-option
v-for=
"(item,index) in typeOptions"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
<el-select
class=
"filter-item"
v-model=
"listQuery.couponId"
placeholder=
"请选择优惠券标题"
>
<el-option
key=
""
label=
""
value=
""
>
</el-option>
<el-option
v-for=
"(item,index) in titleList"
:key=
"index"
:label=
"item.title"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
"金额"
>
<el-input
v-model
.
number=
"listQuery.
phone"
placeholder=
"请输入姓名
"
></el-input>
<el-input
v-model
.
number=
"listQuery.
usedAmount"
placeholder=
"请输入金额
"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
""
>
<el-select
class=
"filter-item"
v-model=
"listQuery.stat
e
"
placeholder=
"请输入状态"
>
<el-select
class=
"filter-item"
v-model=
"listQuery.stat
us
"
placeholder=
"请输入状态"
>
<el-option
v-for=
"(item,index) in typeOptions"
:key=
"index"
:label=
"item.name"
:value=
"item.val"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-button
class=
"filter-item"
type=
"primary"
v-waves
icon=
"search"
@
click=
"handleFilter"
>
搜索
</el-button>
<el-button
class=
"filter-item"
type=
"primary"
@
click=
"giveCunpon"
style=
"float: right;"
>
+ 发券
</el-button>
<!--
<el-button
class=
"filter-item"
type=
"primary"
style=
"float: right;"
>
+ 批量发券
</el-button>
-->
</el-row>
</el-form>
</div>
<el-table
:key=
'tableKey'
:data=
"list"
border
fit
highlight-current-row
style=
"width: 100%;"
>
<el-table-column
type=
"index"
align=
"center"
label=
"
姓名
"
width=
"200"
>
<el-table-column
type=
"index"
align=
"center"
label=
"
ID
"
width=
"200"
>
<template
scope=
"scope"
>
<span>
{{
scope
.
row
.
username
}}
</span>
<span>
{{
scope
.
row
.
id
}}
</span>
</
template
>
</el-table-column>
...
...
@@ -46,26 +49,31 @@
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"
金额
"
>
<el-table-column
align=
"center"
label=
"
优惠券标题
"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
amount
}}
</span>
<span>
{{
scope
.
row
.
title
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"
状态
"
>
<el-table-column
align=
"center"
label=
"
金额
"
>
<
template
scope=
"scope"
>
<span
v-if=
"scope.row.stauts==0"
>
未到帐
</span>
<span
v-if=
"scope.row.stauts==1"
>
已到账
</span>
<span>
{{
scope
.
row
.
usedAmount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"
申请
时间"
>
<el-table-column
align=
"center"
label=
"
领取
时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
crtTimeStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"到账时间"
>
<el-table-column
align=
"center"
label=
"过期时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
expireTimeStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"状态"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
finishTimeStr
}}
</span>
<span
v-if=
"scope.row.isUse==1"
>
已使用
</span>
<span
v-if=
"scope.row.isUse==0"
>
未使用
</span>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -75,6 +83,37 @@
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
></el-pagination>
</div>
</div>
<el-dialog
title=
"发券"
:visible
.
sync=
"giveDialogVisible"
>
<el-form
:model=
"formdata"
:rules=
"rules"
ref=
"form"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"手机号"
prop=
"phone"
>
<el-input
v-model=
"formdata.phone"
placeholder=
"请输入手机号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"选择优惠券"
prop=
"couponId"
>
<el-select
class=
"filter-item"
v-model=
"formdata.couponId"
placeholder=
"请选择优惠券"
>
<el-option
key=
""
label=
""
value=
""
>
</el-option>
<el-option
v-for=
"(item,index) in titleList"
:key=
"index"
:label=
"item.title"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"添加张数"
prop=
"couponNum"
>
<el-input
v-model=
"formdata.couponNum"
placeholder=
"请输入添加张数"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"add('form')"
>
确认添加
</el-button>
</div>
</el-dialog>
</div>
</template>
...
...
@@ -98,8 +137,10 @@
getToken
}
from
'utils/auth'
;
import
{
discountList
}
from
'api/purseManage'
;
getTitle
,
getCouponList
,
giveObj
}
from
'api/cunponManagements'
;
import
Element1
from
"../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
import
ElCol
from
"element-ui/packages/col/src/col"
;
...
...
@@ -113,19 +154,38 @@
},
data
()
{
return
{
titleList
:[],
rules
:{
phone
:
[
{
type
:
'string'
,
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
},
{
pattern
:
/^1
[
3456789
]\d{9}
$/
,
message
:
'手机号码错误'
}
],
couponNum
:
{
type
:
'string'
,
required
:
true
,
message
:
'请输入添加张数'
,
trigger
:
'blur'
},
couponId
:{
required
:
true
,
message
:
'请选择优惠券'
,
}
},
giveDialogVisible
:
false
,
typeOptions
:
[
{
"name"
:
'
全部
'
,
"val"
:
''
"name"
:
'
已使用
'
,
"val"
:
'
1
'
},
{
"name"
:
'未
到账
'
,
"name"
:
'未
使用
'
,
"val"
:
'0'
},
{
"name"
:
'已到账'
,
"val"
:
'1'
},
],
BASE_API
:
process
.
env
.
BASE_API
,
showLoadingBody
:
false
,
...
...
@@ -135,16 +195,23 @@
listQuery
:
{
page
:
1
,
limit
:
20
,
couponId
:
''
,
//优惠券id
phone
:
''
,
//手机号
use
rname
:
''
,
//姓名
stat
e
:
'
'
,
//状态
use
dAmount
:
''
,
//金额
stat
us
:
'0
'
,
//状态
},
inline
:
true
,
tableKey
:
0
tableKey
:
0
,
formdata
:{
phone
:
''
,
couponNum
:
''
,
couponId
:
''
}
}
},
created
()
{
this
.
getList
();
this
.
get_title
();
},
computed
:
{
...
mapGetters
([
...
...
@@ -152,12 +219,17 @@
])
},
methods
:
{
get_title
(){
getTitle
().
then
(
response
=>
{
this
.
titleList
=
response
.
data
;
})
},
/**
* 获取
提现
列表
* 获取列表
* */
getList
()
{
this
.
listLoading
=
true
;
discount
List
(
this
.
listQuery
).
then
(
response
=>
{
getCoupon
List
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
data
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
totalCount
))
{
...
...
@@ -165,7 +237,7 @@
totalCountRs
=
response
.
data
.
totalCount
;
listRs
.
map
(
function
(
item
){
item
.
crtTimeStr
=
timestamp2Date
(
item
.
crtTime
);
item
.
finishTimeStr
=
timestamp2Date
(
item
.
finish
Time
);
item
.
expireTimeStr
=
timestamp2Date
(
item
.
expire
Time
);
});
}
this
.
listLoading
=
false
;
...
...
@@ -191,6 +263,39 @@
handleCurrentChange
(
val
)
{
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
add
(
formName
)
{
var
that
=
this
;
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
giveObj
(
that
.
formdata
)
.
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
giveDialogVisible
=
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
});
}
});
}
else
{
return
false
;
}
});
},
giveCunpon
(){
this
.
giveDialogVisible
=
true
;
}
}
}
...
...
src/views/cunponManagements/cunponManagement.vue
View file @
69cc9de3
...
...
@@ -11,8 +11,8 @@
</el-col>
<el-col
:span=
"5"
>
<el-form-item>
<el-select
class=
"filter-item"
v-model=
"listQuery.
state
"
placeholder=
"类型"
>
<el-option
v-for=
"(item,index) in channelType"
:key=
"index"
:label=
"item.
name"
:value=
"item.val
"
>
</el-option>
<el-select
class=
"filter-item"
v-model=
"listQuery.
channel
"
placeholder=
"类型"
>
<el-option
v-for=
"(item,index) in channelType"
:key=
"index"
:label=
"item.
val"
:value=
"item.id
"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -40,19 +40,24 @@
<span
v-if=
"scope.row.channel==3"
>
营地
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"金额"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
usedAmount
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已领取"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
ge
t
}}
</span>
<span>
{{
scope
.
row
.
takeCoun
t
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"已使用"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
used
}}
</span>
<span>
{{
scope
.
row
.
used
Count
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"
申请
时间"
>
<el-table-column
align=
"center"
label=
"
创建
时间"
>
<
template
scope=
"scope"
>
<span>
{{
scope
.
row
.
time
}}
</span>
<span>
{{
scope
.
row
.
crtTimeStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
>
...
...
@@ -103,18 +108,17 @@
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠金额"
>
<el-input
v-model=
"formdata.used
_a
mount"
placeholder=
"请输入优惠金额"
:disabled=
"isUpdate"
></el-input>
<el-input
v-model=
"formdata.used
A
mount"
placeholder=
"请输入优惠金额"
:disabled=
"isUpdate"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠方式"
>
<el-select
class=
"filter-item"
v-model=
"formdata.type"
placeholder=
"请选择"
style=
"width:110px"
:disabled=
"isUpdate"
>
<el-option
:label=
"formdata.typeName"
:value=
"formdata.type"
></el-option>
<el-option
v-for=
"(item,index) in cunponType "
:key=
"index"
:label=
"item.val"
:value=
"item.id"
:disabled=
"item.id==2"
></el-option>
</el-select>
<span
v-if=
"formdata.type==1"
>
满
</span>
<el-input
v-model=
"formdata.
title
"
placeholder=
"请输入金额"
style=
"width:100px"
v-if=
"formdata.type==1"
:disabled=
"isUpdate"
></el-input>
<el-input
v-model=
"formdata.
withAmount
"
placeholder=
"请输入金额"
style=
"width:100px"
v-if=
"formdata.type==1"
:disabled=
"isUpdate"
></el-input>
<span
v-if=
"formdata.type==1"
>
可用
</span>
</el-form-item>
</el-col>
...
...
@@ -127,9 +131,9 @@
<el-radio-button
label=
"相对时效"
:disabled=
"formdata.valid_type_name=='绝对时效'&&isUpdate"
></el-radio-button>
</el-radio-group>
<div
style=
"display:inline-block"
v-show=
"formdata.valid_type_name=='绝对时效'"
>
<el-date-picker
v-model=
"formdata.validStartTimeStr"
type =
"date"
placeholder =
"开始时间"
:disabled=
"isUpdate"
></el-date-picker>
<el-date-picker
v-model=
"formdata.validStartTimeStr"
type =
"date"
placeholder =
"开始时间"
:disabled=
"isUpdate"
:picker-options=
"pickerOptionsStart"
></el-date-picker>
<span>
-
</span>
<el-date-picker
v-model=
"formdata.validEndTimeStr"
type =
"date"
placeholder =
"结束时间"
:disabled=
"isUpdate"
></el-date-picker>
<el-date-picker
v-model=
"formdata.validEndTimeStr"
type =
"date"
placeholder =
"结束时间"
:disabled=
"isUpdate"
:picker-options=
"pickerOptionsEnd1"
></el-date-picker>
</div>
<div
style=
"display:inline-block"
v-show=
"formdata.valid_type_name=='相对时效'"
>
<span>
领取后
</span>
...
...
@@ -176,7 +180,6 @@
<el-col
:span=
"12"
>
<el-form-item
label=
"优惠券类别"
>
<el-select
class=
"filter-item"
v-model=
"formdata.used"
placeholder=
"请选择"
:disabled=
"isUpdate"
>
<el-option
:label=
"formdata.usedName"
:value=
"formdata.used"
></el-option>
<el-option
v-for=
"(item,index) in usedType "
:key=
"index"
:label=
"item.val"
:value=
"item.id"
></el-option>
</el-select>
...
...
@@ -187,7 +190,6 @@
<el-col
:span=
"24"
>
<el-form-item
label=
"适用范围"
>
<el-select
class=
"filter-item"
v-model=
"formdata.channel"
placeholder=
"请选择"
:disabled=
"isUpdate"
>
<el-option
:label=
"formdata.channelName"
:value=
"formdata.channel"
></el-option>
<el-option
v-for=
"(item,index) in channelType "
:key=
"index"
:label=
"item.val"
:value=
"item.id"
></el-option>
</el-select>
...
...
@@ -230,7 +232,7 @@
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"每人限领次数"
>
<el-input
v-model=
"formdata.limit
_c
ollar"
placeholder=
"请输入限领次数"
></el-input>
<el-input
v-model=
"formdata.limit
C
ollar"
placeholder=
"请输入限领次数"
></el-input>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -256,7 +258,7 @@
newEast8Date
,
convertDate2Str
,
timestamp2Date
,
get
ymdTimeByDay
get
YMD
}
from
'utils/dateUtils'
;
import
{
mapGetters
}
from
'vuex'
;
...
...
@@ -264,7 +266,10 @@
getToken
}
from
'utils/auth'
;
import
{
cunponManagementList
cunponManagementList
,
delObj
,
getObj
,
addObj
}
from
'api/cunponManagements'
;
import
Element1
from
"../admin/menu/components/element"
;
import
ElRow
from
"element-ui/packages/row/src/row"
;
...
...
@@ -281,57 +286,57 @@
return
{
cunponType
:[
{
id
:
'1'
,
id
:
1
,
val
:
'满减卷'
},{
id
:
'2'
,
id
:
2
,
val
:
'叠加满减卷'
},{
id
:
'3'
,
id
:
3
,
val
:
'无门槛卷'
}
],
usedType
:[
{
id
:
'10'
,
id
:
10
,
val
:
'店铺优惠卷'
},
{
id
:
'11'
,
id
:
11
,
val
:
'新人店铺卷'
},
{
id
:
'20'
,
id
:
20
,
val
:
'商品优惠券'
},
{
id
:
'30'
,
id
:
30
,
val
:
'类目优惠券'
},
{
id
:
'60'
,
id
:
60
,
val
:
'平台优惠券'
},
{
id
:
'61'
,
id
:
61
,
val
:
'新人平台券'
}
],
channelType
:[
{
id
:
'0'
,
id
:
0
,
val
:
'全平台'
},
{
id
:
'1'
,
id
:
1
,
val
:
'租车'
},
{
id
:
'2'
,
id
:
2
,
val
:
'旅游'
},
{
id
:
'3'
,
id
:
3
,
val
:
'营地'
}
],
...
...
@@ -343,8 +348,8 @@
listQuery
:
{
page
:
1
,
limit
:
20
,
title
:
''
,
//
手机号
state
:
undefined
,
//状态
title
:
''
,
//
标题
channel
:
0
,
//状态
},
inline
:
true
,
tableKey
:
0
,
...
...
@@ -360,22 +365,7 @@
trigger
:
'blur'
},
},
list
:[
{
id
:
'1'
,
title
:
"123"
,
get
:
'1'
,
used
:
'10'
,
time
:
'2018-01-01'
,
visible2
:
false
,
cover
:
""
,
user_type_name
:
"普通用户"
,
type
:
1
,
channel
:
0
,
startTimeStr
:
''
,
endTimeStr
:
''
}
],
list
:[],
pickerOptionsStart
:
{
disabledDate
(
time
)
{
return
time
.
getTime
()
<
Date
.
now
()
-
8.64e7
;
...
...
@@ -396,7 +386,16 @@
return
time
.
getTime
()
<
beginDateVal
-
0
}
}
},
pickerOptionsEnd1
:
{
disabledDate
:
time
=>
{
const
beginDateVal
=
new
Date
(
this
.
formdata
.
validStartTimeStr
).
getTime
()
if
(
beginDateVal
)
{
return
time
.
getTime
()
<
beginDateVal
-
0
}
}
}
}
},
created
()
{
...
...
@@ -415,22 +414,21 @@
* 获取提现列表
* */
getList
()
{
// this.listLoading = true;
// cunponManagementList(this.listQuery).then(response => {
// let totalCountRs = undefined;
// let listRs = undefined;
// if (!this.$utils.isEmpty(response.data.data) && this.$utils.isInteger(response.data.totalCount)) {
// listRs = response.data.data;
// totalCountRs = response.data.totalCount;
// listRs.map(function(item){
// item.crtTimeStr = timestamp2Date(item.crtTime);
// item.finishTimeStr = timestamp2Date(item.finishTime);
// });
// }
// this.listLoading = false;
// this.list = listRs;
// this.total = totalCountRs;
// })
this
.
listLoading
=
true
;
cunponManagementList
(
this
.
listQuery
).
then
(
response
=>
{
let
totalCountRs
=
undefined
;
let
listRs
=
undefined
;
if
(
!
this
.
$utils
.
isEmpty
(
response
.
data
.
data
)
&&
this
.
$utils
.
isInteger
(
response
.
data
.
totalCount
))
{
listRs
=
response
.
data
.
data
;
totalCountRs
=
response
.
data
.
totalCount
;
listRs
.
map
(
function
(
item
){
item
.
crtTimeStr
=
timestamp2Date
(
item
.
crtTime
);
});
}
this
.
listLoading
=
false
;
this
.
list
=
listRs
;
this
.
total
=
totalCountRs
;
})
},
handleFilter
()
{
...
...
@@ -451,67 +449,47 @@
this
.
listQuery
.
page
=
val
;
this
.
getList
();
},
handleUpdate
(
item
){
handleUpdate
(
row
){
var
that
=
this
;
that
.
modalTitle
=
'优惠券编辑'
;
that
.
isUpdate
=
true
;
that
.
cleanForm
();
item
.
user_type_name
=
item
.
userType
==
0
?
'普通用户'
:
'会员用户'
;
item
.
valid_type_name
=
item
.
validType
==
1
?
'绝对时效'
:
'相对时效'
;
if
(
item
.
validStartTime
!=
''
){
item
.
validStartTimeStr
=
getymdTimeByDay
(
item
.
validStartTime
);
}
else
{
item
.
validStartTimeStr
=
''
;
}
if
(
item
.
validEndTime
!=
''
){
item
.
validEndTimeStr
=
getymdTimeByDay
(
item
.
validEndTime
);
}
else
{
item
.
validEndTimeStr
=
''
;
}
if
(
item
.
startTime
>
0
){
item
.
startTimeStr
=
getymdTimeByDay
(
item
.
startTime
);
}
else
{
item
.
startTimeStr
=
''
;
}
if
(
item
.
endTime
>
0
){
item
.
endTimeStr
=
getymdTimeByDay
(
item
.
endTime
);
}
else
{
item
.
endTimeStr
=
''
;
}
if
(
item
.
type
==
1
){
item
.
typeName
=
'满减券'
}
else
if
(
item
.
type
==
3
){
item
.
typeName
=
'无门槛券'
}
if
(
item
.
used
==
10
){
item
.
usedName
=
'店铺优惠券'
}
else
if
(
item
.
used
==
11
){
item
.
usedName
=
'新人店铺券'
}
else
if
(
item
.
used
==
20
){
item
.
usedName
=
'商品优惠券'
}
else
if
(
item
.
used
==
30
){
item
.
usedName
=
'类目优惠券'
}
else
if
(
item
.
used
==
60
){
item
.
usedName
=
'平台优惠券'
}
else
if
(
item
.
used
==
61
){
item
.
usedName
=
'新人平台券'
}
getObj
(
row
.
id
).
then
(
response
=>
{
console
.
log
(
response
)
var
item
=
response
.
data
;
item
.
user_type_name
=
item
.
userType
==
0
?
'普通用户'
:
'会员用户'
;
item
.
valid_type_name
=
item
.
validType
==
1
?
'绝对时效'
:
'相对时效'
;
//相对时效的时间
if
(
item
.
validStartTime
>
0
){
item
.
validStartTimeStr
=
getYMD
(
item
.
validStartTime
);
}
else
{
item
.
validStartTimeStr
=
''
;
}
if
(
item
.
validEndTime
>
0
){
item
.
validEndTimeStr
=
getYMD
(
item
.
validEndTime
);
}
else
{
item
.
validEndTimeStr
=
''
;
}
//高级设置,发放时间
if
(
item
.
startTime
>
0
){
item
.
startTimeStr
=
getYMD
(
item
.
startTime
);
}
else
{
item
.
startTimeStr
=
''
;
}
if
(
item
.
endTime
>
0
){
item
.
endTimeStr
=
getYMD
(
item
.
endTime
);
}
else
{
item
.
endTimeStr
=
''
;
}
if
(
item
.
channel
==
0
){
item
.
channelName
=
'全平台'
}
else
if
(
item
.
channel
==
1
){
item
.
channelName
=
'租车'
}
else
if
(
item
.
channel
==
2
){
item
.
channelName
=
'旅游'
}
else
if
(
item
.
channel
==
3
){
item
.
channelName
=
'营地'
}
item
.
startTimeName
=
item
.
startTime
==
0
?
'不限'
:
'自定义'
;
item
.
endTimeName
=
item
.
endTime
==
0
?
'不限'
:
'自定义'
;
item
.
cangive
=
'否'
;
that
.
formdata
=
item
;
console
.
log
(
that
.
formdata
)
that
.
editDialogVisible
=
true
;
item
.
startTimeName
=
item
.
startTime
==
0
?
'不限'
:
'自定义'
;
item
.
endTimeName
=
item
.
endTime
==
0
?
'不限'
:
'自定义'
;
item
.
cangive
=
'否'
;
that
.
formdata
=
item
;
that
.
editDialogVisible
=
true
;
})
},
addCunpon
(){
var
that
=
this
;
...
...
@@ -521,9 +499,18 @@
console
.
log
(
that
.
formdata
)
that
.
editDialogVisible
=
true
;
},
deleteHandler
(
item
){
item
.
visible2
=
false
deleteHandler
(
row
){
delObj
(
row
.
id
).
then
(()
=>
{
this
.
$notify
({
title
:
'成功'
,
message
:
'删除成功'
,
type
:
'success'
,
duration
:
2000
});
row
.
visible2
=
false
;
const
index
=
this
.
list
.
indexOf
(
row
);
this
.
list
.
splice
(
index
,
1
);
});
},
/**
* 创建
...
...
@@ -533,52 +520,48 @@
const
set
=
this
.
$refs
;
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
that
.
formdata
.
validStartTimeStr
!=
''
){
that
.
formdata
.
validStartTime
=
this
.
formdata
.
validStartTimeStr
.
getTime
();
}
else
{
that
.
formdata
.
validStartTime
=
''
}
if
(
that
.
formdata
.
validEndTimeStr
!=
''
){
that
.
formdata
.
validEndTime
=
this
.
formdata
.
validEndTimeStr
.
getTime
();
that
.
formdata
.
userType
=
that
.
formdata
.
user_type_name
==
'普通用户'
?
0
:
1
;
that
.
formdata
.
validType
=
that
.
formdata
.
valid_type_name
==
'绝对时效'
?
1
:
2
;
if
(
that
.
formdata
.
valid_type_name
==
'绝对时效'
){
that
.
formdata
.
validStartTime
=
new
Date
(
this
.
formdata
.
validStartTimeStr
).
getTime
();
that
.
formdata
.
validEndTime
=
new
Date
(
this
.
formdata
.
validEndTimeStr
).
getTime
();
}
else
{
that
.
formdata
.
validEndTime
=
''
that
.
formdata
.
validStartTime
=
0
;
that
.
formdata
.
validEndTime
=
0
;
}
if
(
that
.
formdata
.
startTime
Str
!=
'
'
){
that
.
formdata
.
startTime
=
this
.
formdata
.
startTimeStr
.
getTime
();
if
(
that
.
formdata
.
startTime
Name
==
'自定义
'
){
that
.
formdata
.
startTime
=
new
Date
(
this
.
formdata
.
startTimeStr
)
.
getTime
();
}
else
{
that
.
formdata
.
startTime
=
0
}
if
(
that
.
formdata
.
endTimeStr
!=
''
){
that
.
formdata
.
endTime
=
this
.
formdata
.
endTimeStr
.
getTime
();
if
(
that
.
formdata
.
endTimeName
==
'自定义'
){
that
.
formdata
.
endTime
=
new
Date
(
this
.
formdata
.
endTimeStr
).
getTime
();
}
else
{
that
.
formdata
.
endTime
=
0
}
that
.
formdata
.
userType
=
that
.
formdata
.
user_type_name
==
'普通用户'
?
0
:
1
console
.
log
(
that
.
formdata
)
// addBanner(this.form)
// .then(response => {
// if (response.status === 200) {
// this.bannerDialogVisible = false;
// this.getList();
// this.$notify({
// title: '成功',
// message: '创建成功',
// type: 'success',
// duration: 2000
// });
// this.getList();
// } else {
// this.$notify({
// title: '失败',
// message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
// type: 'error',
// duration: 2000
// });
// }
// });
addObj
(
that
.
formdata
)
.
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
editDialogVisible
=
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
});
}
});
}
else
{
return
false
;
}
...
...
@@ -588,33 +571,57 @@
* 编辑-更新
* */
update
(
formName
)
{
var
that
=
this
;
const
set
=
this
.
$refs
;
// set[formName].validate(valid => {
// if (valid) {
// editBanner(this.form).then(response => {
// if (response.status === 200) {
// this.bannerDialogVisible = false;
// this.getList();
// this.$notify({
// title: '成功',
// message: '编辑成功',
// type: 'success',
// duration: 2000
// });
// this.getList();
// } else {
// this.$notify({
// title: '失败',
// message: rsCode.msg[response.code] ? rsCode.msg[response.code] : '操作失败!',
// type: 'error',
// duration: 2000
// });
// }
// });
// } else {
// return false;
// }
// });
set
[
formName
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
formdata
.
userType
=
that
.
formdata
.
user_type_name
==
'普通用户'
?
0
:
1
;
that
.
formdata
.
validType
=
that
.
formdata
.
valid_type_name
==
'绝对时效'
?
1
:
2
;
if
(
that
.
formdata
.
valid_type_name
==
'绝对时效'
){
that
.
formdata
.
validStartTime
=
new
Date
(
that
.
formdata
.
validStartTimeStr
).
getTime
();
that
.
formdata
.
validEndTime
=
new
Date
(
that
.
formdata
.
validEndTimeStr
).
getTime
();
}
else
{
that
.
formdata
.
validStartTime
=
0
;
that
.
formdata
.
validEndTime
=
0
;
}
if
(
that
.
formdata
.
startTimeName
==
'自定义'
){
that
.
formdata
.
startTime
=
new
Date
(
that
.
formdata
.
startTimeStr
).
getTime
();
}
else
{
that
.
formdata
.
startTime
=
0
}
if
(
that
.
formdata
.
endTimeName
==
'自定义'
){
that
.
formdata
.
endTime
=
new
Date
(
that
.
formdata
.
endTimeStr
).
getTime
();
}
else
{
that
.
formdata
.
endTime
=
0
}
console
.
log
(
that
.
formdata
)
addObj
(
that
.
formdata
)
.
then
(
response
=>
{
if
(
response
.
status
===
200
)
{
this
.
editDialogVisible
=
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
});
}
});
}
else
{
return
false
;
}
});
},
/**
* 上传图片
...
...
@@ -652,21 +659,24 @@
this
.
formdata
=
{
title
:
''
,
user_type_name
:
"普通用户"
,
type
:
''
,
usedAmount
:
''
,
type
:
1
,
withAmount
:
''
,
valid_type_name
:
'绝对时效'
,
startTime
:
''
,
endTime
:
''
,
validStartTimeStr
:
''
,
validEndTimeStr
:
''
,
validDays
:
0
,
cangive
:
'否'
,
url
:
''
,
icon
:
''
,
used
:
''
,
channel
:
''
,
used
:
61
,
channel
:
0
,
startTimeName
:
'不限'
,
endTimeName
:
'不限'
,
validStartTimeStr
:
''
,
validEndTimeStr
:
''
,
startTimeStr
:
''
,
endTimeStr
:
''
,
quota
:
''
,
limitCollar
:
''
}
},
}
...
...
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