Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
ElectricitySheep
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
黄媛媛
ElectricitySheep
Commits
b8d664b8
Commit
b8d664b8
authored
May 08, 2020
by
zhangjianguo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
卡卷 积分 优惠券
parent
0938ab3f
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
1599 additions
and
12 deletions
+1599
-12
send.png
src/assets/img/setup/send.png
+0
-0
IntegralRecord.vue
src/components/sallCenter/IntegralRecord.vue
+270
-0
addCardTicket.vue
src/components/sallCenter/addCardTicket.vue
+242
-0
addCoupon.vue
src/components/sallCenter/addCoupon.vue
+320
-0
autorelease.vue
src/components/sallCenter/autorelease.vue
+15
-0
balanceBudget.vue
src/components/sallCenter/balanceBudget.vue
+3
-0
cardTicketList.vue
src/components/sallCenter/cardTicketList.vue
+211
-0
couponManage.vue
src/components/sallCenter/couponManage.vue
+236
-0
integralSetting.vue
src/components/sallCenter/integralSetting.vue
+99
-0
rechargeManage.vue
src/components/sallCenter/rechargeManage.vue
+3
-3
rechargeSet.vue
src/components/sallCenter/rechargeSet.vue
+199
-0
basicSetUp.vue
src/components/setup/basicSetUp.vue
+1
-9
No files found.
src/assets/img/setup/send.png
0 → 100644
View file @
b8d664b8
1.67 KB
src/components/sallCenter/IntegralRecord.vue
0 → 100644
View file @
b8d664b8
<
template
>
<div
class=
"IntegralRecord"
>
<div
class=
"el-card__header"
>
<span>
积分记录
</span>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<el-button
type=
"primary"
class=
"el-button--small"
@
click=
"dialogVisible=true"
>
导出全部
</el-button>
</div>
</div>
<div
class=
"content"
>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<div
class=
"block"
>
<el-date-picker
style=
"padding: 3px 10px;width: 380px;height: 32px"
v-model=
"value"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
value-format=
"yyyy-MM-dd"
@
change=
"change"
align=
"right"
>
</el-date-picker>
<div
class=
"searchInput"
style=
"width:250px"
>
<el-input
style=
"display:inline-block;width:225px;height:30px"
placeholder=
"请输入昵称搜索"
v-model=
"msg.MemberName"
size=
"small"
clearable
>
</el-input>
<span
@
click=
"getList"
class=
"el-icon-search"
style=
"color:#979dad;font-size:14px;position:relative;top:1px"
></span>
</div>
</div>
</div>
</div>
<div
style=
"padding: 20px;background: #fff;margin-top: 10px"
>
<el-table
:data=
"tableData"
header-cell-class-name=
"headClass"
style=
"width: 1707px;"
border
>
<el-table-column
prop=
"Id"
label=
"ID"
width=
"80"
>
</el-table-column>
<el-table-column
prop=
"MemberName"
label=
"昵称"
width=
"384"
>
</el-table-column>
<el-table-column
label=
"收支情况(元)"
width=
"180"
>
<template
slot-scope=
"scope"
>
<div
:class=
"scope.row.RecordTypeStr=='+' ? 'just':'negative'"
style=
"font-size: 18px"
>
{{
scope
.
row
.
RecordTypeStr
}}{{
scope
.
row
.
Integral
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"Description"
label=
"说明"
width=
"500"
>
</el-table-column>
<el-table-column
prop=
"Remarks"
label=
"备注"
width=
"383"
>
</el-table-column>
<el-table-column
prop=
"CreateDate"
label=
"充值时间"
>
</el-table-column>
</el-table>
<el-pagination
style=
"text-align:right"
background
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"count"
>
</el-pagination>
</div>
<!-- 选择导出信息 -->
<el-dialog
title=
"选择导出信息"
:visible
.
sync=
"dialogVisible"
width=
"960px"
>
<el-form
style=
"border: 1px solid #F0F2F7;"
:model=
"addMsg"
ref=
"addMsg"
label-width=
"100px"
>
<div
style=
"box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;"
>
<el-checkbox
:indeterminate=
"isIndeterminate"
v-model=
"checkAll"
@
change=
"handleCheckAllChange"
>
全选
</el-checkbox>
</div>
<div
style=
"margin: 15px 0;"
></div>
<div
style=
"padding: 10px 25px 20px;"
>
<el-checkbox-group
v-model=
"checkedCities"
@
change=
"handleCheckedCitiesChange"
>
<el-checkbox
style=
"margin-bottom:10px"
v-for=
"city in cities"
:label=
"city.Id"
:key=
"city.Name"
>
{{city.Name}}
</el-checkbox>
</el-checkbox-group>
</div>
</el-form>
<div
style=
"text-align:right;margin-top:20px"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"Export"
>
导出
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
name
:
"IntegralRecord"
,
data
(){
return
{
value
:
''
,
msg
:{
pageIndex
:
1
,
pageSize
:
20
,
MemberName
:
''
,
StartDate
:
''
,
EndDate
:
''
,
},
tableData
:[],
count
:
0
,
loading
:
false
,
dialogVisible
:
false
,
checkAll
:
false
,
checkedCities
:
[],
isIndeterminate
:
true
,
cities
:
[],
cityOptions
:
[],
addMsg
:{},
}
},
created
(){
this
.
getDateList
()
this
.
getDown
();
},
methods
:{
getDateList
(){
if
(
this
.
value
!=
''
){
this
.
msg
.
StartDate
=
this
.
value
[
0
];
this
.
msg
.
EndDate
=
this
.
value
[
1
];
}
this
.
loading
=
true
;
this
.
apipost
(
"/api/Integral/GetRechargeRulesPage"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
count
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
getDown
(){
this
.
cityOptions
=
[];
this
.
apipost
(
"/api/Integral/GetIntegralExportEnumList"
,{},
res
=>
{
this
.
cities
=
res
.
data
.
data
;
let
data
=
res
.
data
.
data
;
data
.
forEach
(
item
=>
{
this
.
cityOptions
.
push
(
item
.
Id
)
})
})
},
Export
(){
let
msg
=
{
MemberName
:
this
.
msg
.
MemberName
,
StartDate
:
this
.
msg
.
StartDate
,
EndDate
:
this
.
msg
.
EndDate
,
ExcelEnumIds
:
this
.
checkedCities
}
msg
=
JSON
.
parse
(
JSON
.
stringify
(
msg
));
this
.
JavaGetLocalFile
(
"/api/Integral/GetDistributorRemitListToExcel"
,
msg
,
"积分记录.xls"
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getDateList
();
},
change
(
val
){
if
(
val
==
null
){
this
.
value
=
''
;
this
.
msg
.
StartDate
=
''
;
this
.
msg
.
EndDate
=
''
;
}
this
.
getDateList
();
},
handleCheckAllChange
(
val
)
{
this
.
checkedCities
=
val
?
this
.
cityOptions
:
[];
this
.
isIndeterminate
=
false
;
},
handleCheckedCitiesChange
(
value
)
{
let
checkedCount
=
value
.
length
;
this
.
checkAll
=
checkedCount
===
this
.
cities
.
length
;
this
.
isIndeterminate
=
checkedCount
>
0
&&
checkedCount
<
this
.
cities
.
length
;
},
getList
(){
this
.
getDateList
();
}
}
}
</
script
>
<
style
>
.IntegralRecord
.el-card__header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
background
:
#fff
;
padding
:
18px
20px
;
}
.IntegralRecord
.el-button--small
{
padding
:
9px
15px
;
}
.IntegralRecord
.content
.searchInput
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
margin-left
:
20px
;
}
.IntegralRecord
.content
.searchInput
.el-input__inner
{
border
:
none
;
outline
:
none
;
height
:
30px
;
line-height
:
30px
;
}
.IntegralRecord
.content
.searchInput
{
line-height
:
normal
;
display
:
inline-table
;
border-collapse
:
separate
;
border-spacing
:
0
;
width
:
250px
;
margin-right
:
20px
;
}
.IntegralRecord
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
15px
;
box-sizing
:
border-box
;
}
.IntegralRecord
.el-icon-date
{
line-height
:
24px
;
}
.IntegralRecord
.el-range-separator
{
line-height
:
24px
;
}
.IntegralRecord
.just
{
color
:
rgb
(
104
,
207
,
61
)
}
.IntegralRecord
.negative
{
color
:
red
}
.IntegralRecord
.el-input__icon
{
line-height
:
24px
;
}
</
style
>
src/components/sallCenter/addCardTicket.vue
0 → 100644
View file @
b8d664b8
<
template
>
<div
class=
"addCardTicket"
>
<div
class=
"form-box"
style=
"margin-top: 0"
>
<div>
<span
style=
"color: rgb(64, 158, 255);cursor: pointer;margin-left: 20px"
@
click=
"cancel"
>
卡券
</span>
<span
style=
"margin: 0 5px;color: #C0C4CC;"
>
/
</span>
<span>
卡券编辑
</span>
</div>
</div>
<div
id=
"pane-first"
>
<div
class=
"form-box"
>
<el-form
:model=
"msg"
style=
"padding:0 50px;"
:rules=
"rules"
ref=
"msg"
label-width=
"130px"
>
<el-form-item
label=
"卡券名称"
prop=
"Name"
class=
"is-required"
>
<el-input
v-model=
"msg.Name"
class=
"el-input--small"
/>
</el-form-item>
<el-form-item
label=
"卡券图标"
prop=
"CouponIco"
class=
"is-required"
>
<button
class=
"el-button el-button--default el-button--small"
@
click=
"openChangeDig()"
>
选择图标
</button>
<div
class=
"img_yuan inputM_l"
>
<img
v-if=
"msg.CouponIco=='' || msg.CouponIco==null"
src=
"../../assets/img/setup/default_img.png"
alt=
""
>
<img
v-else
:src=
"msg.CouponIco"
alt=
""
>
</div>
</el-form-item>
<el-form-item
label=
"卡券有效期"
class=
"is-required"
>
<el-radio-group
v-model=
"msg.IndateType"
>
<el-radio
:label=
"1"
>
领取后N天内有效
</el-radio>
<el-radio
:label=
"2"
>
时间段
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"有效天数"
prop=
"IndateDay"
class=
"is-required"
v-if=
"msg.IndateType==1"
>
<el-input
v-model=
"msg.IndateDay"
class=
"el-input--small"
step=
"1"
min=
"0"
onkeyup=
"this.value= this.value.match(/\d+(\d
{0,2})?/) ? this.value.match(/\d+(\d{0,2})?/)[0] : ''"/>
</el-form-item>
<el-form-item
label=
"有效期范围"
prop=
"value"
class=
"is-required"
v-if=
"msg.IndateType==2"
>
<el-date-picker
style=
"padding: 3px 10px;width: 450px;height: 32px"
v-model=
"msg.value"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
value-format=
"yyyy-MM-dd HH:mm:ss"
align=
"right"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"核销总次数"
prop=
"HeXiao"
class=
"is-required"
>
<el-input
v-model=
"msg.HeXiao"
class=
"el-input--small"
placeholder=
"请输入整数"
step=
"1"
min=
"0"
onkeyup=
"this.value= this.value.match(/\d+(\d
{0,2})?/) ? this.value.match(/\d+(\d{0,2})?/)[0] : ''"/>
<span
style=
"color: rgb(201, 201, 201);"
>
注:50≥核销总次数≥1
</span>
</el-form-item>
<el-form-item
label=
"可发放数量"
prop=
"TotalNum"
class=
"is-required"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"卡券可发放数量,-1表示不限制发放数量"
placement=
"top"
style=
"position: absolute;left: -16px;top:13px"
>
<i
class=
"el-tooltip el-icon-info"
></i>
</el-tooltip>
<el-input
v-model=
"msg.TotalNum"
class=
"el-input--small"
:disabled=
"checked"
step=
"1"
min=
"0"
onkeyup=
"this.value= this.value.match(/\d+(\d
{0,2})?/) ? this.value.match(/\d+(\d{0,2})?/)[0] : ''"/>
<el-checkbox
v-model=
"checked"
@
change=
"checked==true? msg.TotalNum=-1:msg.TotalNum=0"
>
无限制
</el-checkbox>
</el-form-item>
<el-form-item
label=
"卡券描述"
prop=
"Describe"
class=
"is-required"
>
<el-input
type=
"textarea"
:rows=
"2"
placeholder=
"请输入卡券描述"
v-model=
"msg.Describe"
>
</el-input>
</el-form-item>
</el-form>
</div>
<el-button
type=
"primary"
style=
"margin: 12px 0 "
@
click=
"preserve('msg')"
v-loading=
"loading"
>
保存
</el-button>
<el-button
style=
"margin: 12px 0 "
@
click=
"cancel"
>
取消
</el-button>
</div>
<!-- 选择文件 -->
<el-dialog
title=
"选择文件"
:visible
.
sync=
"changeState"
width=
"1240px"
>
<ChooseImg
@
SelectId=
"SelectId"
ref=
"mychild"
></ChooseImg>
</el-dialog>
</div>
</
template
>
<
script
>
import
ChooseImg
from
"@/components/global/ChooseImg.vue"
;
export
default
{
name
:
"addCardTicket"
,
components
:
{
ChooseImg
,
},
data
(){
return
{
msg
:{
ID
:
0
,
Name
:
''
,
CouponIco
:
''
,
IndateType
:
1
,
IndateDay
:
''
,
HeXiao
:
''
,
TotalNum
:
-
1
,
Describe
:
''
,
StartDate
:
''
,
EndDate
:
''
,
value
:
''
,
},
checked
:
true
,
loading
:
false
,
rules
:{
Name
:[
{
required
:
true
,
message
:
"请输入卡券名称"
,
trigger
:
"blur"
}
],
CouponIco
:[
{
required
:
true
,
message
:
"请选择卡券图标"
,
trigger
:
"blur"
}
],
IndateDay
:[
{
required
:
true
,
message
:
"请输入有效天数"
,
trigger
:
"blur"
}
],
HeXiao
:[
{
required
:
true
,
message
:
"请输入可核销总次数"
,
trigger
:
"blur"
}
],
TotalNum
:[
{
required
:
true
,
message
:
"请输入可发放数量"
,
trigger
:
"blur"
}
],
Describe
:[
{
required
:
true
,
message
:
"请输入卡券描述"
,
trigger
:
"blur"
}
],
value
:[
{
type
:
'array'
,
required
:
true
,
message
:
'请输入有效天数'
,
trigger
:
'change'
}
]
},
changeState
:
false
}
},
created
(){
if
(
this
.
$route
.
query
.
ID
){
this
.
getCouponDetail
(
this
.
$route
.
query
.
ID
)
}
},
methods
:{
getCouponDetail
(
ID
){
this
.
apipost
(
"/api/Coupon/GetCouponDetail"
,{
'ID'
:
ID
}
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
=
res
.
data
.
data
this
.
msg
.
value
=
''
if
(
res
.
data
.
data
.
IndateType
==
2
){
this
.
msg
.
value
.
push
(
res
.
data
.
data
.
StartDate
)
this
.
msg
.
value
.
push
(
res
.
data
.
data
.
EndDate
)
}
if
(
res
.
data
.
data
.
TotalNum
!=-
1
){
this
.
checked
=
false
}
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
cancel
(){
this
.
$router
.
go
(
-
1
)
},
preserve
(
formName
){
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
msg
.
IndateType
==
2
){
this
.
msg
.
StartDate
=
this
.
msg
.
value
[
0
];
this
.
msg
.
EndDate
=
this
.
msg
.
value
[
1
];
this
.
msg
.
IndateDay
=
0
}
// delete this.msg.value
this
.
loading
=
true
this
.
apipost
(
"/api/Coupon/AddOrUpdateCoupon"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$router
.
go
(
-
1
);
//返回上一层
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
}
else
{
return
false
;
}
});
},
openChangeDig
(){
this
.
changeState
=
true
;
setTimeout
(()
=>
{
this
.
$refs
.
mychild
.
InitData
();
},
10
)
},
SelectId
(
msg
){
this
.
changeState
=
false
;
this
.
msg
.
CouponIco
=
"http://viitto-1301420277.cos.ap-chengdu.myqcloud.com"
+
msg
.
url
;
},
}
}
</
script
>
<
style
>
.addCardTicket
.form-box
{
background
:
#fff
;
padding
:
20px
50%
20px
0
;
margin-top
:
10px
;
}
.addCardTicket
.el-input--small
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
}
.addCardTicket
.img_yuan
{
width
:
80px
;
height
:
80px
;
margin-top
:
5px
;
position
:
relative
;
}
.addCardTicket
.img_yuan
img
{
width
:
100%
;
height
:
100%
;
}
.addCardTicket
.el-date-editor
.el-range__icon
{
line-height
:
24px
;
}
.addCardTicket
.el-date-editor
.el-range-separator
{
line-height
:
24px
;
}
.addCardTicket
.el-date-editor
.el-range__close-icon
{
line-height
:
24px
;
}
.addCardTicket
.el-form-item__label
{
padding
:
0
17px
0
0
;
}
</
style
>
src/components/sallCenter/addCoupon.vue
0 → 100644
View file @
b8d664b8
This diff is collapsed.
Click to expand it.
src/components/sallCenter/autorelease.vue
0 → 100644
View file @
b8d664b8
<
template
>
<div
class=
"autorelease"
>
发放
</div>
</
template
>
<
script
>
export
default
{
name
:
"autorelease"
}
</
script
>
<
style
scoped
>
</
style
>
src/components/sallCenter/balanceBudget.vue
View file @
b8d664b8
...
@@ -256,4 +256,7 @@
...
@@ -256,4 +256,7 @@
.balanceBudget
.el-range-separator
{
.balanceBudget
.el-range-separator
{
line-height
:
24px
;
line-height
:
24px
;
}
}
.balanceBudget
.el-input__icon
{
line-height
:
24px
;
}
</
style
>
</
style
>
src/components/sallCenter/cardTicketList.vue
0 → 100644
View file @
b8d664b8
<
template
>
<div
class=
"cardTicketList"
>
<div
class=
"el-card__header"
>
<span>
卡券列表
</span>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<el-button
type=
"primary"
class=
"el-button--small"
@
click=
"addRecharge"
>
添加卡券
</el-button>
</div>
</div>
<div
class=
"content"
>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<div
class=
"block"
>
<div
class=
"searchInput"
style=
"width:250px"
>
<el-input
style=
"display:inline-block;width:225px;height:30px"
placeholder=
"请输入卡券名称搜索"
v-model=
"msg.Name"
size=
"small"
clearable
>
</el-input>
<span
@
click=
"getList"
class=
"el-icon-search"
style=
"color:#979dad;font-size:14px;position:relative;top:1px"
></span>
</div>
</div>
</div>
</div>
<div
style=
"padding: 20px;background: #fff;"
>
<el-table
:data=
"tableData"
header-cell-class-name=
"headClass"
style=
"width: 1707px;"
border
>
<el-table-column
prop=
"ID"
label=
"ID"
width=
"60"
>
</el-table-column>
<el-table-column
prop=
"Name"
label=
"卡券名称"
width=
"767"
>
</el-table-column>
<el-table-column
prop=
"HeXiao"
label=
"核销总次数"
width=
"100"
>
</el-table-column>
<el-table-column
label=
"卡券图标"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div
:style=
"
{backgroundImage:'url(' + scope.row.CouponIco + ')',backgroundSize:'cover'}" style="width: 50px;height: 50px;border-radius: 4px">
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"有效期"
width=
"320"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.IndateType==1"
>
领取后
{{
scope
.
row
.
IndateDay
}}
天内有效
</div>
<div
v-if=
"scope.row.IndateType==2"
>
开始时间:
{{
scope
.
row
.
StartDate
}}
</div>
<div
v-if=
"scope.row.IndateType==2"
>
结束时间:
{{
scope
.
row
.
EndDate
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"CreateDate"
label=
"添加日期"
width=
"180"
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"编辑"
placement=
"top"
>
<img
src=
"../../assets/img/setup/edit.png"
alt=
""
class=
"imgstyle"
@
click=
"Edit(scope.row)"
>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top"
>
<img
src=
"../../assets/img/setup/del.png"
alt=
""
class=
"imgstyle"
@
click=
"delete_b(scope.row)"
>
</el-tooltip>
</
template
>
</el-table-column>
</el-table>
<el-pagination
style=
"text-align:right"
background
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"count"
>
</el-pagination>
</div>
</div>
</template>
<
script
>
export
default
{
name
:
"cardTicketList"
,
data
(){
return
{
msg
:{
pageIndex
:
1
,
pageSize
:
20
,
Name
:
''
,
},
tableData
:[],
count
:
0
,
loading
:
false
}
},
created
(){
this
.
getDateList
();
},
methods
:{
getDateList
(){
this
.
loading
=
true
;
this
.
apipost
(
"/api/Coupon/GetCouponPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
count
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
addRecharge
(){
this
.
$router
.
push
(
'/addCardTicket'
);
},
Edit
(
row
){
this
.
$router
.
push
({
name
:
'addCardTicket'
,
query
:
{
ID
:
row
.
ID
,
blank
:
"y"
}
});
},
delete_b
(
row
){
let
that
=
this
;
that
.
Confirm
(
"是否删除?"
,
function
()
{
that
.
apipost
(
"/api/Coupon/DelRules"
,
{
Id
:
row
.
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getDateList
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
);
});
},
SetUp
(){
this
.
$router
.
push
(
'/rechargeSet'
);
},
getList
(){
this
.
getDateList
()
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getDateList
();
},
},
}
</
script
>
<
style
>
.cardTicketList
.el-card__header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
background
:
#fff
;
}
.cardTicketList
.el-button--small
{
padding
:
9px
15px
;
}
.cardTicketList
.content
.searchInput
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
margin-left
:
20px
;
}
.cardTicketList
.content
.searchInput
.el-input__inner
{
border
:
none
;
outline
:
none
;
height
:
30px
;
line-height
:
30px
;
}
.cardTicketList
.content
.searchInput
{
line-height
:
normal
;
display
:
inline-table
;
border-collapse
:
separate
;
border-spacing
:
0
;
width
:
250px
;
}
.cardTicketList
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
15px
;
box-sizing
:
border-box
;
}
</
style
>
src/components/sallCenter/couponManage.vue
0 → 100644
View file @
b8d664b8
<
template
>
<div
class=
"couponManage"
>
<div
class=
"el-card__header"
>
<span>
优惠券管理
</span>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<el-button
type=
"primary"
class=
"el-button--small"
@
click=
"addRecharge"
>
新增
</el-button>
</div>
</div>
<div
class=
"content"
>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<div
class=
"block"
>
<div
class=
"searchInput"
style=
"width:250px"
>
<el-input
style=
"display:inline-block;width:225px;height:30px"
placeholder=
"请输入优惠券名称搜索"
v-model=
"msg.Name"
size=
"small"
clearable
>
</el-input>
<span
@
click=
"getList"
class=
"el-icon-search"
style=
"color:#979dad;font-size:14px;position:relative;top:1px"
></span>
</div>
</div>
</div>
</div>
<div
style=
"padding: 20px;background: #fff;"
>
<el-table
:data=
"tableData"
header-cell-class-name=
"headClass"
style=
"width: 1707px;"
border
>
<el-table-column
prop=
"ID"
label=
"ID"
width=
"100"
>
</el-table-column>
<el-table-column
prop=
"Name"
label=
"优惠券名称"
width=
"647"
>
</el-table-column>
<el-table-column
prop=
"MinConsumePrice"
label=
"最低消费金额(元)"
width=
"100"
>
</el-table-column>
<el-table-column
label=
"优惠方式"
width=
"150"
>
<template
slot-scope=
"scope"
>
<div
>
优惠:
{{
scope
.
row
.
DiscountsPrice
}}
元
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"UseTypeStr"
label=
"使用范围"
width=
"120"
>
</el-table-column>
<el-table-column
label=
"有效时间"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.IndateType==1"
>
领取后
{{
scope
.
row
.
IndateDay
}}
天内有效
</div>
<div
v-if=
"scope.row.IndateType==2"
>
开始时间:
{{
scope
.
row
.
StartDate
}}
</div>
<div
v-if=
"scope.row.IndateType==2"
>
结束时间:
{{
scope
.
row
.
EndDate
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"数量"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<div>
总数量:
{{
scope
.
row
.
TotalNum
==-
1
?
'无限制领取'
:
scope
.
row
.
TotalNum
}}
</div>
<div
v-if=
"scope.row.TotalNum !=-1"
>
剩余发放数:
{{
scope
.
row
.
ResidueNum
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"加入领券中心 "
width=
"80"
>
<!--PickupType-->
<
template
slot-scope=
"scope"
>
<el-switch
:active-value=
"2"
:inactive-value=
"1"
v-model=
"scope.row.PickupType"
>
</el-switch>
</
template
>
</el-table-column>
<el-table-column
fixed=
"right"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"发放优惠券"
placement=
"top"
>
<img
src=
"../../assets/img/setup/send.png"
alt=
""
class=
"imgstyle"
@
click=
"Edit(scope.row)"
>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"编辑"
placement=
"top"
>
<img
src=
"../../assets/img/setup/edit.png"
alt=
""
class=
"imgstyle"
@
click=
"Edit(scope.row)"
>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top"
>
<img
src=
"../../assets/img/setup/del.png"
alt=
""
class=
"imgstyle"
@
click=
"delete_b(scope.row)"
>
</el-tooltip>
</
template
>
</el-table-column>
</el-table>
<el-pagination
style=
"text-align:right"
background
@
current-change=
"handleCurrentChange"
:page-size=
"msg.pageSize"
layout=
"prev, pager, next"
:total=
"count"
>
</el-pagination>
</div>
</div>
</template>
<
script
>
export
default
{
name
:
"couponManage"
,
data
(){
return
{
msg
:{
pageIndex
:
1
,
pageSize
:
20
,
Name
:
''
,
},
tableData
:[],
count
:
0
,
loading
:
false
}
},
created
(){
this
.
getDateList
();
},
methods
:{
getDateList
(){
this
.
loading
=
true
;
this
.
apipost
(
"/api/Coupon/GetDiscountCouponPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
tableData
=
res
.
data
.
data
.
pageData
;
this
.
count
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
addRecharge
(){
this
.
$router
.
push
(
'/addCoupon'
);
},
Edit
(
row
){
this
.
$router
.
push
({
name
:
'addCardTicket'
,
query
:
{
ID
:
row
.
ID
,
blank
:
"y"
}
});
},
delete_b
(
row
){
let
that
=
this
;
that
.
Confirm
(
"是否删除?"
,
function
()
{
that
.
apipost
(
"/api/Coupon/DelRules"
,
{
Id
:
row
.
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getDateList
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
);
});
},
SetUp
(){
this
.
$router
.
push
(
'/rechargeSet'
);
},
getList
(){
this
.
getDateList
()
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getDateList
();
},
},
}
</
script
>
<
style
>
.couponManage
.el-card__header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
background
:
#fff
;
}
.couponManage
.el-button--small
{
padding
:
9px
15px
;
}
.couponManage
.content
.searchInput
{
border
:
1px
solid
#DCDFE6
;
border-radius
:
4px
;
margin-left
:
20px
;
}
.couponManage
.content
.searchInput
.el-input__inner
{
border
:
none
;
outline
:
none
;
height
:
30px
;
line-height
:
30px
;
}
.couponManage
.content
.searchInput
{
line-height
:
normal
;
display
:
inline-table
;
border-collapse
:
separate
;
border-spacing
:
0
;
width
:
250px
;
}
.couponManage
.content
{
background
:
#fff
;
margin-top
:
10px
;
padding
:
15px
;
box-sizing
:
border-box
;
}
</
style
>
src/components/sallCenter/integralSetting.vue
0 → 100644
View file @
b8d664b8
<
template
>
<div
class=
"integralSetting"
>
<div
class=
"el-card__header"
>
<span>
用户积分设置
</span>
</div>
<div
class=
"form-box"
>
<el-form
:model=
"msg"
style=
"padding:0 50px;"
ref=
"msg"
label-width=
"170px"
>
<el-form-item
label=
"用户积分"
>
<el-input
v-model=
"msg.IntegralNum"
class=
"el-input--small"
step=
"1"
min=
"0"
onkeyup=
"this.value= this.value.match(/\d+(\.\d
{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''" >
<template
slot=
"append"
>
积分抵扣1元
</
template
>
</el-input>
</el-form-item>
<el-form-item
label=
"用户积分使用规则"
>
<el-input
type=
"textarea"
:rows=
"2"
v-model=
"msg.Explain"
>
</el-input>
</el-form-item>
</el-form>
</div>
<el-button
type=
"primary"
style=
"margin: 12px 0 "
@
click=
"preserve()"
:loading=
"loading"
>
保存
</el-button>
</div>
</template>
<
script
>
export
default
{
name
:
"integralSetting"
,
data
(){
return
{
msg
:{
ID
:
0
,
IntegralNum
:
0
,
Explain
:
''
,
}
}
},
created
(){
this
.
getIntegralSettingsList
()
},
methods
:{
getIntegralSettingsList
(){
this
.
apipost
(
"/api/Integral//GetIntegralSettingsList"
,{}
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
.
ID
=
res
.
data
.
data
.
ID
this
.
msg
.
IntegralNum
=
res
.
data
.
data
.
IntegralNum
this
.
msg
.
Explain
=
res
.
data
.
data
.
Explain
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
preserve
(){
this
.
apipost
(
"/api/Integral//AddOrUpdateIntegralSettings"
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
}
}
}
</
script
>
<
style
scoped
>
.integralSetting
.el-card__header
{
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
justify-content
:
space-between
;
background
:
#fff
;
padding
:
18px
20px
;
}
.integralSetting
.el-button--small
{
padding
:
9px
15px
;
}
.integralSetting
.form-box
{
padding
:
20px
0
;
background-color
:
#fff
;
margin-bottom
:
20px
;
padding-right
:
50%
;
}
.integralSetting
.el-input__inner
{
height
:
32px
;
line-height
:
32px
}
.integralSetting
.el-input--small
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
}
</
style
>
src/components/sallCenter/rechargeManage.vue
View file @
b8d664b8
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<span>
充值管理
</span>
<span>
充值管理
</span>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<div
style=
"display: flex;flex-direction: row;align-items: center"
>
<el-button
type=
"primary"
class=
"el-button--small"
@
click=
"addRecharge"
>
添加充值方案
</el-button>
<el-button
type=
"primary"
class=
"el-button--small"
@
click=
"addRecharge"
>
添加充值方案
</el-button>
<el-button
type=
"primary"
class=
"el-button--small"
@
click=
"
add
"
>
设置
</el-button>
<el-button
type=
"primary"
class=
"el-button--small"
@
click=
"
SetUp
"
>
设置
</el-button>
</div>
</div>
</div>
</div>
<div
class=
"content"
>
<div
class=
"content"
>
...
@@ -151,8 +151,8 @@
...
@@ -151,8 +151,8 @@
);
);
});
});
},
},
add
(){
SetUp
(){
this
.
$router
.
push
(
'/rechargeSet'
);
},
},
getList
(){
getList
(){
this
.
getDateList
()
this
.
getDateList
()
...
...
src/components/sallCenter/rechargeSet.vue
0 → 100644
View file @
b8d664b8
<
template
>
<div
class=
"rechargeSet"
>
<div
class=
"form-box"
style=
"margin-top: 0"
>
<div>
<span
style=
"color: rgb(64, 158, 255);cursor: pointer;margin-left: 20px"
@
click=
"cancel"
>
充值管理
</span>
<span
style=
"margin: 0 5px;color: #C0C4CC;"
>
/
</span>
<span>
设置
</span>
</div>
</div>
<div
class=
"form-box"
>
<el-form
:model=
"msg"
style=
"padding:0 50px;"
ref=
"msg"
label-width=
"160px"
>
<el-form-item
label=
"开启余额功能"
>
<el-switch
style=
"margin-left: 10px"
:active-value=
"1"
:inactive-value=
"0"
v-model=
"msg.IsOpenBalance"
active-text=
""
inactive-text=
""
>
</el-switch>
</el-form-item>
<el-form-item
label=
"是否开放自定义金额"
>
<el-switch
style=
"margin-left: 10px"
:active-value=
"1"
:inactive-value=
"0"
v-model=
"msg.IsExploitMoney"
active-text=
""
inactive-text=
""
>
</el-switch>
</el-form-item>
<el-form-item
label=
"背景图片"
>
<button
class=
"el-button el-button--default el-button--small inputM_l"
@
click=
"openChangeDig(1)"
>
选择图标
</button>
<div
class=
"img_yuan inputM_l"
>
<img
v-if=
"msg.BackImg=='' || msg.BackImg==null"
src=
"../../assets/img/setup/default_img.png"
alt=
""
>
<img
v-else
:src=
"msg.BackImg"
alt=
""
>
</div>
</el-form-item>
<el-form-item
label=
"广告图片"
>
<button
class=
"el-button el-button--default el-button--small inputM_l"
@
click=
"openChangeDig(2)"
>
选择图标
</button>
<div
class=
"img_yuan inputM_l"
>
<img
v-if=
"msg.AdvertisingImg=='' || msg.AdvertisingImg==null"
src=
"../../assets/img/setup/default_img.png"
alt=
""
>
<img
v-else
:src=
"msg.AdvertisingImg"
alt=
""
>
</div>
</el-form-item>
<el-form-item
label=
"跳转链接"
>
<el-input
placeholder=
"请输入内容"
v-model=
"msg.AdvertisingLink"
:disabled=
"true"
>
<el-button
slot=
"append"
@
click=
"isShowLink=true"
style=
"background: white"
>
选择链接
</el-button>
</el-input>
</el-form-item>
<el-form-item
label=
"充值说明图标"
>
<button
class=
"el-button el-button--default el-button--small inputM_l"
@
click=
"openChangeDig(3)"
>
选择图标
</button>
<div
class=
"img_yuan inputM_l"
>
<img
v-if=
"msg.ExplainIco=='' || msg.ExplainIco==null"
src=
"../../assets/img/setup/default_img.png"
alt=
""
>
<img
v-else
:src=
"msg.ExplainIco"
alt=
""
>
</div>
</el-form-item>
<el-form-item
label=
"充值说明"
>
<el-input
type=
"textarea"
:rows=
"2"
v-model=
"msg.Explain"
>
</el-input>
</el-form-item>
</el-form>
</div>
<el-button
type=
"primary"
style=
"margin: 12px 0 "
@
click=
"preserve()"
:loading=
"loading"
>
提交
</el-button>
<!-- 选择文件 -->
<el-dialog
title=
"选择文件"
:visible
.
sync=
"changeState"
width=
"1240px"
>
<ChooseImg
@
SelectId=
"SelectId"
ref=
"mychild"
></ChooseImg>
</el-dialog>
<!-- 选择链接 -->
<el-dialog
title=
"选择链接"
:visible
.
sync=
"isShowLink"
width=
"800px"
>
<chooseMeun
ref=
"chooseMeun"
></chooseMeun>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"isShowLink=false"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"danger"
@
click=
"getChoiceLink()"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
ChooseImg
from
"@/components/global/ChooseImg.vue"
;
import
chooseMeun
from
"../common/chooseMeun.vue"
;
export
default
{
name
:
"rechargeSet"
,
components
:
{
ChooseImg
,
chooseMeun
},
data
(){
return
{
msg
:{
IsOpenBalance
:
0
,
IsExploitMoney
:
0
,
BackImg
:
''
,
AdvertisingImg
:
''
,
AdvertisingLink
:
''
,
ExplainIco
:
''
,
Explain
:
''
,
},
loading
:
false
,
Choiceimg
:
0
,
changeState
:
false
,
isShowLink
:
false
}
},
created
(){
this
.
getRechargeSettingsList
()
},
methods
:{
getRechargeSettingsList
(){
this
.
apipost
(
"/api/Recharge/GetRechargeSettingsList"
,{}
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
msg
=
res
.
data
.
data
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
cancel
(){
this
.
$router
.
go
(
-
1
)
},
preserve
(){
this
.
apipost
(
"/api/Recharge/AddOrUpdateRechargeSettings"
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
$router
.
go
(
-
1
)
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
openChangeDig
(
data
){
this
.
Choiceimg
=
data
this
.
changeState
=
true
;
setTimeout
(()
=>
{
this
.
$refs
.
mychild
.
InitData
();
},
10
)
},
SelectId
(
msg
){
this
.
changeState
=
false
;
if
(
this
.
Choiceimg
==
1
){
this
.
msg
.
BackImg
=
"http://viitto-1301420277.cos.ap-chengdu.myqcloud.com"
+
msg
.
url
;
}
else
if
(
this
.
Choiceimg
==
2
){
this
.
msg
.
AdvertisingImg
=
"http://viitto-1301420277.cos.ap-chengdu.myqcloud.com"
+
msg
.
url
;
}
else
if
(
this
.
Choiceimg
==
3
){
this
.
msg
.
ExplainIco
=
"http://viitto-1301420277.cos.ap-chengdu.myqcloud.com"
+
msg
.
url
;
}
},
//获取选择链接
getChoiceLink
(){
//调用子组件方法
var
obj
=
this
.
$refs
.
chooseMeun
.
getChooseMenu
();
this
.
msg
.
AdvertisingLink
=
obj
.
PageUrl
;
this
.
isShowLink
=
false
;
},
}
}
</
script
>
<
style
scoped
>
.rechargeSet
.form-box
{
padding
:
20px
0
;
background-color
:
#fff
;
margin-bottom
:
20px
;
padding-right
:
50%
;
}
.rechargeSet
.el-input__inner
{
height
:
32px
;
line-height
:
32px
}
.rechargeSet
.img_yuan
{
width
:
80px
;
height
:
80px
;
margin-top
:
5px
;
position
:
relative
;
}
.rechargeSet
.img_yuan
img
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/components/setup/basicSetUp.vue
View file @
b8d664b8
...
@@ -798,16 +798,8 @@
...
@@ -798,16 +798,8 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"跳转链接"
>
<el-form-item
label=
"跳转链接"
>
<!--<el-row :gutter="0">-->
<!--<el-col class="userinfo" :span="18" >-->
<!--<el-input v-model="msg.TurnLink" :disabled="true"></el-input>-->
<!--</el-col>-->
<!--<el-col class="userinfo" :span="6" >-->
<!--<el-button type="info" plain>选择链接</el-button>-->
<!--</el-col>-->
<!--</el-row>-->
<el-input
placeholder=
"请输入内容"
v-model=
"msg.TurnLink"
:disabled=
"true"
>
<el-input
placeholder=
"请输入内容"
v-model=
"msg.TurnLink"
:disabled=
"true"
>
<el-button
slot=
"append"
@
click=
"isShowLink=true"
>
选择链接
</el-button>
<el-button
slot=
"append"
@
click=
"isShowLink=true"
style=
"background: white"
>
选择链接
</el-button>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
""
>
<el-form-item
label=
""
>
...
...
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