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
85640196
Commit
85640196
authored
Sep 21, 2020
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增页面
parent
980a6954
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1023 additions
and
8 deletions
+1023
-8
Index.vue
src/components/Index.vue
+5
-4
schoolPoster.vue
src/components/StoreDesign/schoolPoster.vue
+986
-0
CustomPage.vue
src/components/sallCenter/CustomPage.vue
+26
-4
index.js
src/router/index.js
+6
-0
No files found.
src/components/Index.vue
View file @
85640196
...
@@ -88,7 +88,7 @@
...
@@ -88,7 +88,7 @@
<el-table-column
prop=
"name"
label=
"商城名称"
width=
"155"
>
<el-table-column
prop=
"name"
label=
"商城名称"
width=
"155"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<p
style=
"color:#409EFF;cursor:pointer;text-decoration:underline;"
<p
style=
"color:#409EFF;cursor:pointer;text-decoration:underline;"
@
click=
"setMallBaseId(scope.row
.MallBaseId,scope.row.MallName
),goHomePage()"
title=
"点击进入商城"
>
@
click=
"setMallBaseId(scope.row),goHomePage()"
title=
"点击进入商城"
>
{{
scope
.
row
.
MallName
}}
</p>
{{
scope
.
row
.
MallName
}}
</p>
<p>
账号:
{{
scope
.
row
.
Account
}}
</p>
<p>
账号:
{{
scope
.
row
.
Account
}}
</p>
<p>
<p>
...
@@ -617,10 +617,11 @@
...
@@ -617,10 +617,11 @@
})
})
},
},
//点击商品名称设置setMallBaseId
//点击商品名称设置setMallBaseId
setMallBaseId
(
Id
,
Name
)
{
setMallBaseId
(
item
)
{
let
userInfo
=
this
.
getLocalStorage
();
let
userInfo
=
this
.
getLocalStorage
();
userInfo
.
MallBaseId
=
Id
;
userInfo
.
MallBaseId
=
item
.
MallBaseId
;
userInfo
.
MallName
=
Name
;
userInfo
.
MallName
=
item
.
MallName
;
userInfo
.
IsOpenSchool
=
item
.
IsOpenSchool
;
localStorage
.
mall_userInfo
=
JSON
.
stringify
(
userInfo
);
localStorage
.
mall_userInfo
=
JSON
.
stringify
(
userInfo
);
},
},
//修改密码
//修改密码
...
...
src/components/StoreDesign/schoolPoster.vue
0 → 100644
View file @
85640196
<
style
>
.customPoster
.custom_Header
{
padding
:
0
20px
;
height
:
56px
;
line-height
:
56px
;
background-color
:
#fff
;
margin-bottom
:
15px
;
}
.customPoster
.custom_Main
{
display
:
flex
;
}
.custom_mobile_box
{
width
:
400px
;
height
:
740px
;
padding
:
35px
11px
;
background-color
:
#fff
;
border-radius
:
30px
;
margin-right
:
20px
;
display
:
flex
;
flex-direction
:
column
;
}
.custom_bg_box
{
position
:
relative
;
border
:
1px
solid
#e2e3e3
;
width
:
750px
;
height
:
1334px
;
zoom
:
0.5
;
}
.custom_bg_pic
{
width
:
100%
;
height
:
100%
;
background-size
:
100%
100%
;
background-position
:
center
;
}
.custom_AppImage
{
background
:
url('../../assets/img/default_qr_code.png')
no-repeat
;
background-size
:
cover
;
background-position
:
center
center
;
position
:
absolute
;
}
.custom_formBody
{
padding
:
20px
35%
20px
20px
;
background-color
:
#fff
;
margin-bottom
:
20px
;
width
:
100%
;
height
:
100%
;
position
:
relative
;
min-width
:
640px
;
display
:
flex
;
flex-direction
:
column
;
}
.custom_component
{
width
:
100px
;
height
:
100px
;
cursor
:
pointer
;
position
:
relative
;
padding
:
10px
0
;
border
:
1px
solid
#e2e2e2
;
margin
:
15px
15
PX
0
0
;
border-radius
:
5px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
flex-direction
:
column
;
}
.ccustom_itemremove
{
position
:
absolute
;
top
:
0
;
right
:
0
;
cursor
:
pointer
;
width
:
28px
;
height
:
28px
;
}
.custom_bottom
{
border
:
1px
solid
#EBEEF5
;
background-color
:
#FFF
;
color
:
#303133
;
-webkit-transition
:
.3s
;
transition
:
.3s
;
border-radius
:
4px
;
margin-top
:
35px
;
}
.customShareBtn
{
position
:
absolute
!important
;
bottom
:
-52px
;
left
:
0
;
}
.customShareBtn
.el-button--small
{
padding
:
9px
25px
;
}
.Custom_active
{
border
:
1px
solid
#7BBDFC
;
}
.custom_headerImg
{
background
:
url('../../assets/img/storeDesign/default_head.png')
no-repeat
;
background-size
:
cover
;
background-position
:
center
center
;
border-radius
:
50%
;
position
:
absolute
;
}
.poster_bg_box
{
position
:
relative
;
border
:
2px
solid
#e2e3e3
;
width
:
750px
;
height
:
1334px
;
zoom
:
0.5
;
overflow
:
hidden
;
}
.customPoster
.poster_User
{
margin-top
:
96px
;
margin-bottom
:
64px
;
}
.poster_User
img
{
height
:
90px
;
width
:
90px
;
border-radius
:
50%
;
margin-left
:
24px
;
display
:
block
;
}
.poster_User
div
{
background
:
#f1f1f1
;
padding
:
0
24px
;
height
:
54px
;
color
:
#4b4b4b
;
margin-left
:
24px
;
border-radius
:
30px
;
}
.poster_goodImg
{
margin
:
0
auto
;
height
:
702px
;
width
:
702px
;
overflow
:
hidden
;
border-radius
:
16px
16px
0
0
;
}
.customPoster
.goodsone_bg
{
height
:
310px
;
margin
:
0
auto
;
width
:
702px
;
padding
:
0
28px
;
background
:
#ffffff
;
border-radius
:
0
0
16px
16px
;
}
.goodsone_bg
.goods-name
{
padding
:
28px
0
;
font-size
:
34px
;
color
:
#353535
;
}
.customPoster
.goods_price
{
padding-top
:
50px
;
color
:
#ff4544
;
}
.customPoster
.goods_remark
{
margin-top
:
28px
;
color
:
#999999
;
font-size
:
28px
;
}
.goodsone_bg
img
{
height
:
230px
;
width
:
230px
;
margin-left
:
auto
;
display
:
block
;
border-radius
:
50%
;
}
.custom_Second
{
height
:
750px
;
width
:
750px
;
overflow
:
hidden
;
}
.custom_SecondBG
{
background-image
:
url('../../assets/img/storeDesign/style-two-end.png')
;
background-repeat
:
no-repeat
;
background-size
:
100%
100%
;
height
:
600px
;
width
:
702px
;
position
:
relative
;
left
:
24px
;
top
:
-40px
;
padding
:
0
24px
;
}
.cuSecond_goodsName
{
font-size
:
34px
;
color
:
#353535
;
padding-top
:
40px
;
}
.customSecond_user
{
height
:
96px
;
width
:
96px
;
border-radius
:
50%
;
margin-left
:
24px
;
display
:
block
;
}
.CusSecondRemark
{
height
:
52px
;
width
:
100%
;
padding
:
0
24px
;
color
:
#353535
;
background-color
:
#f1f1f1
;
font-size
:
24px
;
border-radius
:
30px
;
margin-bottom
:
70px
;
}
.Second_qrcode
{
height
:
230px
;
width
:
230px
;
display
:
block
;
margin-left
:
auto
;
}
.three_User
img
{
height
:
97px
;
width
:
97px
;
border-radius
:
50%
;
margin-left
:
35px
;
display
:
block
;
}
.app-style-three
.three_User
div
:after
{
content
:
""
;
background-repeat
:
no-repeat
;
background-size
:
100%
100%
;
background-image
:
url('../../assets/img/storeDesign/three-love.png')
;
height
:
24px
;
width
:
24px
;
display
:
inline-block
;
margin-left
:
8px
;
}
.cusThree_name
{
font-size
:
34px
;
padding-top
:
28px
;
color
:
#353535
;
}
.cusThree_price
{
padding-top
:
28px
;
color
:
#ff4544
;
}
.cusThree_qrcode
{
width
:
702px
;
border-top
:
1px
solid
#c9c9c9
;
height
:
278px
;
margin
:
0
auto
;
margin-top
:
24px
;
}
.cusThree_qrcode
div
{
margin-top
:
20px
;
margin-left
:
24px
;
font-size
:
28px
;
color
:
#353535
;
}
.app-style-four
.user
{
margin-top
:
35px
;
margin-bottom
:
35px
;
}
.app-style-four
.user
img
{
height
:
90px
;
width
:
90px
;
border-radius
:
50%
;
margin-left
:
24px
;
display
:
block
;
}
.app-style-four
.user
div
{
background
:
#f1f1f1
;
padding
:
0
24px
;
height
:
54px
;
color
:
#4b4b4b
;
margin-left
:
24px
;
border-radius
:
30px
;
}
.app-style-four
.four-box
{
height
:
1150px
;
background-color
:
#FFFFFF
;
margin
:
0
auto
;
width
:
702px
;
border-radius
:
16px
;
padding
:
0
24px
;
}
.app-style-four
.goods-name
{
font-size
:
34px
;
padding-top
:
26px
;
color
:
#353535
;
}
.app-style-four
.price
{
padding-top
:
60px
;
color
:
#ff4544
;
}
.app-style-four
.goods-image
{
height
:
650px
;
width
:
650px
;
margin-top
:
60px
;
}
.app-style-four
.qrcode
img
{
height
:
150px
;
width
:
150px
;
margin-top
:
25px
;
}
.app-style-four
.qrcode
div
{
margin-top
:
22px
;
margin-bottom
:
26px
;
font-size
:
24px
;
color
:
#999999
;
}
.poster-style-box
{
cursor
:
pointer
;
display
:
inline-block
;
border
:
1px
solid
#E2E2E2
;
border-radius
:
3px
;
height
:
255px
;
width
:
160px
;
margin
:
5px
;
padding
:
0
5px
;
}
.activeCustomer
{
border
:
1px
solid
#409eff
!important
;
}
.custom_rightCheck
.el-radio
{
height
:
32px
;
line-height
:
32px
;
}
.custom_grid
{
flex-wrap
:
wrap
;
height
:
100px
;
width
:
100%
;
background
:
#E6F4FF
;
border
:
1px
solid
#b8b8b8
;
}
.poster-pic-box
{
cursor
:
pointer
;
display
:
inline-block
;
border
:
1px
solid
#E2E2E2
;
border-radius
:
3px
;
height
:
155px
;
width
:
112px
;
margin
:
5px
;
padding
:
0
5px
;
}
.customSecond_btmdiv
{
border-top
:
1px
solid
#E3E3E3
;
position
:
absolute
;
bottom
:
0
;
background-color
:
#ffffff
;
z-index
:
999
;
padding
:
10px
;
width
:
100%
;
}
</
style
>
<
template
>
<div
class=
"customPoster"
>
<div
class=
"custom_Header"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"分销海报"
name=
"1"
></el-tab-pane>
<el-tab-pane
label=
"商品海报"
name=
"2"
></el-tab-pane>
<!--
<el-tab-pane
label=
"专题海报"
name=
"3"
></el-tab-pane>
-->
</el-tabs>
</div>
<template
v-if=
"checkIndex==1"
>
<div
class=
"custom_Main"
>
<div
class=
"custom_mobile_box"
>
<div
class=
"custom_bg_box"
>
<div
class=
"custom_bg_pic"
:style=
"
{ backgroundImage:'url('+ShareMsg.PosterBgImg+')'}">
<div
class=
"custom_headerImg"
v-if=
"ShareMsg.IsShowHead==0"
:style=
"
{left:ShareMsg.HeadPaddingLeft+'px',
width:ShareMsg.HeadSize+'px',height:ShareMsg.HeadSize+'px',top:ShareMsg.HeadPaddingTop+'px'}">
</div>
</div>
<span
ref=
"nameSpan"
style=
"position:absolute;display:inline-block;"
v-if=
"ShareMsg.IsShowNick==0"
:style=
"
{left:ShareMsg.NickPaddingLeft+'px',
fontSize:ShareMsg.NickSize+'px',top:ShareMsg.NickPaddingTop+'px',color:ShareMsg.NickColor}">用户昵称
</span>
<div
class=
"custom_AppImage"
v-if=
"ShareMsg.IsShowQrCode==0"
:style=
"
{left:ShareMsg.QrCodePaddingLeft+'px',
width:ShareMsg.QrCodeSize+'px',height:ShareMsg.QrCodeSize+'px',top:ShareMsg.QrCodePaddingTop+'px',
'borderRadius':ShareMsg.QrCodeType==0?'50%':'0%'}">
</div>
</div>
</div>
<div
class=
"custom_formBody"
>
<div
style=
"margin-bottom:15px;"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"建议尺寸:750 * 1334"
placement=
"top"
>
<el-button
size=
"mini"
@
click=
"choicImg=true"
>
更换背景图
</el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"恢复默认图"
placement=
"top"
>
<el-button
size=
"mini"
@
click=
"ShareMsg.PosterBgImg=sharePosterDefaultImg"
>
恢复默认背景
</el-button>
</el-tooltip>
</div>
<div
flex=
"wrap:wrap"
>
<div
class=
"custom_component"
v-for=
"(item,index) in ShareTabs"
:key=
"index"
:class=
"
{'Custom_active':item.isActive==1}" @click="getChecked(item,index)">
<img
v-if=
"index==0"
src=
"../../assets/img/storeDesign/icon_head.png"
alt=
""
/>
<img
v-else-if=
"index==1"
src=
"../../assets/img/storeDesign/icon_name.png"
alt=
""
/>
<img
v-else
src=
"../../assets/img/storeDesign/icon_qr_code.png"
alt=
""
/>
<div>
{{
item
.
name
}}
</div>
<img
class=
"ccustom_itemremove"
v-if=
"item.isShow==0"
@
click
.
stop=
"deleteItem(item,index),isShowShareIndex=0"
src=
"../../assets/img/storeDesign/icon_delete.png"
alt=
""
/>
</div>
</div>
<div
class=
"custom_bottom"
>
<template
v-if=
"isShowShareIndex==1"
>
<div
class=
"el-card__header"
>
头像设置
</div>
<el-form
label-width=
"20%"
style=
"padding:20px;"
>
<el-form-item
label=
"大小"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.HeadSize"
@
change=
"getCodeMax(ShareMsg.HeadSize,0)"
:max=
"300"
show-input
>
</el-slider>
</el-form-item>
<el-form-item
label=
"上边距"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.HeadPaddingTop"
:max=
"headerMaxTop"
show-input
></el-slider>
</el-form-item>
<el-form-item
label=
"左边距"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.HeadPaddingLeft"
:max=
"headerMaxLeft"
show-input
></el-slider>
</el-form-item>
</el-form>
</
template
>
<
template
v-if=
"isShowShareIndex==2"
>
<div
class=
"el-card__header"
>
昵称设置
</div>
<el-form
label-width=
"20%"
style=
"padding:20px;"
>
<el-form-item
label=
"大小"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.NickSize"
@
change=
"getCodeMax(ShareMsg.NickSize,1)"
:max=
"80"
show-input
>
</el-slider>
</el-form-item>
<el-form-item
label=
"上边距"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.NickPaddingTop"
:max=
"nickNameTop"
show-input
></el-slider>
</el-form-item>
<el-form-item
label=
"左边距"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.NickPaddingLeft"
:max=
"nickNameLeft"
show-input
></el-slider>
</el-form-item>
<el-form-item
label=
"颜色"
size=
"small"
>
<el-color-picker
v-model=
"ShareMsg.NickColor"
></el-color-picker>
</el-form-item>
</el-form>
</
template
>
<
template
v-if=
"isShowShareIndex==3"
>
<div
class=
"el-card__header"
>
二维码设置
</div>
<el-form
label-width=
"20%"
style=
"padding:20px;"
>
<el-form-item
label=
"样式"
size=
"small"
>
<el-radio-group
v-model=
"ShareMsg.QrCodeType"
>
<el-radio
:label=
"0"
>
圆形
</el-radio>
<el-radio
:label=
"1"
>
方形
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"大小"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.QrCodeSize"
@
change=
"getCodeMax(ShareMsg.QrCodeSize,2)"
:max=
"300"
show-input
>
</el-slider>
</el-form-item>
<el-form-item
label=
"上边距"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.QrCodePaddingTop"
:max=
"maxTwocodeTop"
show-input
></el-slider>
</el-form-item>
<el-form-item
label=
"左边距"
size=
"small"
>
<el-slider
v-model=
"ShareMsg.QrCodePaddingLeft"
:max=
"maxTwocodeLeft"
show-input
></el-slider>
</el-form-item>
</el-form>
</
template
>
</div>
<div
class=
"customShareBtn"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"SetFenXiaoPoster()"
>
保存
</el-button>
</div>
</div>
</div>
</template>
<
template
v-else-if=
"checkIndex==2"
>
<div
class=
"custom_Main"
>
<div
class=
"custom_mobile_box"
>
<div
class=
"poster_bg_box"
>
<template
v-if=
"myPostStyle==1"
>
<div
flex=
"dir:left cross:center"
class=
"poster_User"
>
<img
src=
"../../assets/img/storeDesign/default_head.png"
alt=
""
/>
<div
flex=
"dir:left cross:center main-center"
>
用户昵称向您推荐一个好物
</div>
</div>
<div
class=
"poster_goodImg"
>
<PictureCheck
:GoodsImgCount=
"myImgStyle"
></PictureCheck>
</div>
<div
flex=
"dir:left cross:center"
class=
"goodsone_bg"
>
<div
flex=
"dir:top main:center"
>
<div
class=
"goods-name"
>
商品名称|商品名称
</div>
<div
flex=
"dir:left cross:bottom"
class=
"goods_price"
>
<div
style=
"font-size: 32px; line-height: 1;"
>
¥
</div>
<div
style=
"font-size: 56px; line-height: 1;"
>
160
</div>
</div>
<div
class=
"goods_remark"
>
长按识别小程序码进入
</div>
</div>
<img
src=
"../../assets/img/default_qr_code.png"
alt=
""
/>
</div>
</
template
>
<
template
v-else-if=
"myPostStyle==2"
>
<div
class=
"custom_Second"
>
<PictureCheck
:GoodsImgCount=
"myImgStyle"
></PictureCheck>
</div>
<div
class=
"custom_SecondBG"
>
<div
class=
"cuSecond_goodsName"
>
商品名称|商品名称
</div>
<div
flex=
"dir:left cross:bottom"
class=
"goods_price"
>
<div
style=
"font-size: 32px; line-height: 1;"
>
¥
</div>
<div
style=
"font-size: 56px; line-height: 1;"
>
160
</div>
</div>
<div
flex=
"dir:left cross:center"
style=
"margin-top: 90px;"
>
<div
flex=
"dir:top"
>
<div
flex=
"dir:left cross:center"
style=
"margin:96px 0 15px 0;"
>
<img
class=
"customSecond_user"
src=
"../../assets/img/storeDesign/default_head.png"
alt=
""
/>
<div
style=
"color:#353535;margin-left:26px;"
>
用户昵称
</div>
</div>
<div
flex=
"dir-left main:center cross:center"
class=
"CusSecondRemark"
>
<div>
长按识别小程序码进入
</div>
<img
src=
"../../assets/img/storeDesign/three-arrow.png"
alt=
""
>
</div>
</div>
<img
src=
"../../assets/img/default_qr_code.png"
alt=
""
class=
"Second_qrcode"
>
</div>
</div>
</
template
>
<
template
v-else-if=
"myPostStyle==3"
>
<div
class=
"app-style-three"
>
<div
flex=
"dir:left cross:center"
class=
"three_User"
style=
"margin:40px 0 38px 0;"
>
<img
src=
"../../assets/img/storeDesign/default_head.png"
>
<div
style=
"margin-left:30px;"
>
我看上了这款商品
<br>
帮我看看咋样啊~
<br>
比心
</div>
</div>
</div>
<div
style=
"width:680px;height:680px;margin:0 auto;"
>
<PictureCheck
:GoodsImgCount=
"myImgStyle"
></PictureCheck>
</div>
<div
flex=
"dir:top cross:center"
>
<div
class=
"cusThree_name"
>
商品名称|商品名称
</div>
<div
flex=
"dir:left cross:bottom"
class=
"cusThree_price"
>
<div
style=
"font-size: 32px; line-height: 1;"
>
¥
</div>
<div
style=
"font-size: 56px; line-height: 1;"
>
160
</div>
</div>
</div>
<div
flex=
"dir:left cross:center main:center"
class=
"cusThree_qrcode"
>
<img
src=
"../../assets/img/default_qr_code.png"
style=
"width:230px;height:230px;"
alt=
""
/>
<div>
长按识别小程序码 即可查看
</div>
</div>
</
template
>
<
template
v-else-if=
"myPostStyle==4"
>
<div
class=
"app-style-four"
>
<div
flex=
"dir:left cross:center"
class=
"user"
><img
src=
"../../assets/img/storeDesign/default_head.png"
>
<div
flex=
"dir:left cross:center main-center"
>
用户昵称向您推荐一个好物
</div>
</div>
<div
class=
"four-box"
>
<div
class=
"goods-name"
>
商品名称|商品名称
</div>
<div
flex=
"dir:left cross:bottom"
class=
"price"
>
<div
style=
"font-size: 32px; line-height: 1;"
>
¥
</div>
<div
style=
"font-size: 56px; line-height: 1;"
>
160
</div>
</div>
<div
class=
"goods-image"
>
<PictureCheck
:GoodsImgCount=
"myImgStyle"
></PictureCheck>
</div>
<div
flex=
"cross:center dir:top"
class=
"qrcode"
>
<img
src=
"../../assets/img/default_qr_code.png"
alt=
""
>
<div>
长按识别小程序码进入
</div>
</div>
</div>
</div>
</
template
>
</div>
</div>
<div
class=
"custom_formBody"
>
<div
class=
"custom_rightCheck"
style=
"padding:30px 0 50px;"
>
<el-form
label-width=
"100px"
>
<el-form-item
label=
"海报样式"
>
<el-checkbox-group
v-model=
"goodsPostersMsg.PosterStyleList"
style=
"width:345px;"
>
<div
class=
"poster-style-box"
:class=
"{'activeCustomer':getClass(0,1)}"
>
<el-checkbox
:label=
"1"
:key=
"1"
>
样式一
</el-checkbox>
<img
src=
"../../assets/img/storeDesign/check1.png"
@
click=
"getPost(0,1)"
alt=
""
>
</div>
<div
class=
"poster-style-box"
:class=
"{'activeCustomer':getClass(0,2)}"
>
<el-checkbox
:label=
"2"
:key=
"2"
>
样式二
</el-checkbox>
<img
src=
"../../assets/img/storeDesign/check2.png"
@
click=
"getPost(0,2)"
alt=
""
>
</div>
<div
class=
"poster-style-box"
:class=
"{'activeCustomer':getClass(0,3)}"
>
<el-checkbox
:label=
"3"
:key=
"3"
>
样式三
</el-checkbox>
<img
src=
"../../assets/img/storeDesign/check3.png"
@
click=
"getPost(0,3)"
alt=
""
>
</div>
<div
class=
"poster-style-box"
:class=
"{'activeCustomer':getClass(0,4)}"
>
<el-checkbox
:label=
"4"
:key=
"4"
>
样式四
</el-checkbox>
<img
src=
"../../assets/img/storeDesign/check4.png"
@
click=
"getPost(0,4)"
alt=
""
>
</div>
</el-checkbox-group>
</el-form-item>
<el-form-item
label=
"商品图数量"
>
<el-checkbox-group
v-model=
"goodsPostersMsg.GoodsImgCountList"
style=
"width:450px;"
>
<div
class=
"poster-pic-box"
:class=
"{'activeCustomer':getClass(1,1)}"
>
<el-checkbox
:label=
"1"
>
一张
</el-checkbox>
<div
flex=
"dir:left"
class=
"custom_grid"
>
<div
style=
"height: 50%; width: 100%;"
@
click
.
stop=
"getPost(1,1)"
></div>
</div>
</div>
<div
class=
"poster-pic-box"
:class=
"{'activeCustomer':getClass(1,2)}"
>
<el-checkbox
:label=
"2"
>
二张
</el-checkbox>
<div
flex=
"dir:left"
class=
"custom_grid"
@
click=
"getPost(1,2)"
>
<div
style=
"height: 50%; width: 100%; border-bottom: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 50%; width: 100%;"
></div>
</div>
</div>
<div
class=
"poster-pic-box"
:class=
"{'activeCustomer':getClass(1,3)}"
>
<el-checkbox
:label=
"3"
>
三张
</el-checkbox>
<div
flex=
"dir:left"
class=
"custom_grid"
@
click=
"getPost(1,3)"
>
<div
style=
"height: 50%; width: 100%; border-bottom: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 50%; width: 50%; border-right: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 50%; width: 50%;"
></div>
</div>
</div>
<div
class=
"poster-pic-box"
:class=
"{'activeCustomer':getClass(1,4)}"
>
<el-checkbox
:label=
"4"
>
四张
</el-checkbox>
<div
flex=
"dir:left"
class=
"custom_grid"
@
click=
"getPost(1,4)"
>
<div
style=
"height: 50%; width: 50%; border-right: 1px solid rgb(184, 184, 184); border-bottom: 1px solid rgb(184, 184, 184);"
>
</div>
<div
style=
"height: 50%; width: 50%; border-bottom: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 50%; width: 50%; border-right: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 50%; width: 50%;"
></div>
</div>
</div>
<div
class=
"poster-pic-box"
:class=
"{'activeCustomer':getClass(1,5)}"
>
<el-checkbox
:label=
"5"
>
五张
</el-checkbox>
<div
flex=
"dir:left"
class=
"custom_grid"
@
click=
"getPost(1,5)"
>
<div
style=
"height: 50%; width: 50%; border-right: 1px solid rgb(184, 184, 184); border-bottom: 1px solid rgb(184, 184, 184);"
>
</div>
<div
style=
"height: 33.3%; width: 50%; border-bottom: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 50%; width: 50%; border-right: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 16.6%; width: 50%; border-bottom: 1px solid rgb(184, 184, 184);"
></div>
<div
style=
"height: 33.3%; width: 50%;"
></div>
</div>
</div>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
<div
class=
"customSecond_btmdiv"
>
<el-button
size=
"small"
type=
"primary"
@
click=
"SetGoodPosterModule()"
>
保存
</el-button>
</div>
</div>
</div>
</template>
<
template
v-else
>
<thematicPosters></thematicPosters>
</
template
>
<!-- 选择图片文件 -->
<el-dialog
title=
"选择文件"
:visible
.
sync=
"choicImg"
width=
"1240px"
>
<ChooseImg
@
SelectId=
"SelectId"
></ChooseImg>
</el-dialog>
</div>
</template>
<
script
>
import
PictureCheck
from
"../common/PictureCheck.vue"
import
thematicPosters
from
"../StoreDesign/thematicPosters.vue"
import
ChooseImg
from
"@/components/global/ChooseImg.vue"
;
export
default
{
data
()
{
return
{
//选择背景图
choicImg
:
false
,
activeName
:
'1'
,
checkIndex
:
1
,
//二维码最大上边距
maxTwocodeTop
:
0
,
//二维码最大左边距
maxTwocodeLeft
:
0
,
//昵称最大上边距
nickNameTop
:
0
,
//昵称最大左边距
nickNameLeft
:
0
,
//头像最大上边距
headerMaxTop
:
0
,
//头像最大左边距
headerMaxLeft
:
0
,
//分销海报判断显示那一坨
isShowShareIndex
:
1
,
//分销默认背景图
sharePosterDefaultImg
:
this
.
domainManager
().
ImageUrl
+
'/Static/shareposterdefault.jpg'
,
ShareTabs
:
[{
isActive
:
1
,
isShow
:
1
,
name
:
'头像'
,
},
{
isActive
:
0
,
isShow
:
1
,
name
:
'昵称'
,
},
{
isActive
:
0
,
isShow
:
0
,
name
:
'二维码'
,
}],
//分销海报
ShareMsg
:
{
Id
:
0
,
TenantId
:
0
,
MallBaseId
:
0
,
PosterBgImg
:
""
,
//海报背景图
IsShowHead
:
0
,
//是否显示头像(0-显示,1-不显示)
HeadSize
:
0
,
//头像大小
HeadPaddingTop
:
0
,
//头像上间距
HeadPaddingLeft
:
0
,
//头像左间距
IsShowNick
:
0
,
//是否显示昵称(0-显示,1-不显示)
NickSize
:
0
,
//昵称大小
NickPaddingTop
:
0
,
//昵称上间距
NickColor
:
""
,
//昵称颜色
NickPaddingLeft
:
0
,
//昵称左间距
IsShowQrCode
:
0
,
//是否显示二维码(0-显示,1-不显示)
QrCodeSize
:
0
,
//二维码大小
QrCodePaddingTop
:
0
,
//二维码上间距
QrCodePaddingLeft
:
0
,
//二维码左间距
QrCodeType
:
0
,
//二维码形状(0-圆形,1-方形)
IsOpenSchool
:
1
,
//校园海报
},
//商品海报msg
goodsPostersMsg
:
{
Id
:
0
,
PosterStyle
:
''
,
//海报样式
GoodsImgCount
:
1
,
PosterStyleList
:
[],
GoodsImgCountList
:
[],
IsOpenSchool
:
1
,
//校园海报
},
//显示哪一个海报
myPostStyle
:
0
,
//显示图片张数
myImgStyle
:
0
};
},
created
()
{},
components
:
{
PictureCheck
,
thematicPosters
,
ChooseImg
},
methods
:
{
//切换
handleClick
(
tab
)
{
this
.
checkIndex
=
tab
.
name
;
},
getClass
(
type
,
num
)
{
if
(
type
==
0
)
{
if
(
this
.
goodsPostersMsg
.
PosterStyleList
.
indexOf
(
num
)
!=
-
1
)
{
return
true
}
else
{
return
false
}
}
else
{
if
(
this
.
goodsPostersMsg
.
GoodsImgCountList
.
indexOf
(
num
)
!=
-
1
)
{
return
true
}
else
{
return
false
}
}
},
getPost
(
type
,
num
)
{
if
(
type
==
0
)
{
this
.
myPostStyle
=
num
;
if
(
this
.
goodsPostersMsg
.
PosterStyleList
.
indexOf
(
num
)
!=
-
1
)
{
let
index1
=
this
.
goodsPostersMsg
.
PosterStyleList
.
indexOf
(
num
);
this
.
goodsPostersMsg
.
PosterStyleList
.
splice
(
index1
,
1
);
}
else
{
this
.
goodsPostersMsg
.
PosterStyleList
.
push
(
num
);
}
}
else
{
this
.
myImgStyle
=
num
;
if
(
this
.
goodsPostersMsg
.
GoodsImgCountList
.
indexOf
(
num
)
!=
-
1
)
{
let
index1
=
this
.
goodsPostersMsg
.
GoodsImgCountList
.
indexOf
(
num
);
this
.
goodsPostersMsg
.
GoodsImgCountList
.
splice
(
index1
,
1
);
}
else
{
this
.
goodsPostersMsg
.
GoodsImgCountList
.
push
(
num
);
}
}
},
//点击切换
getChecked
(
item
,
index
)
{
this
.
ShareTabs
.
forEach
(
x
=>
{
x
.
isActive
=
0
;
})
item
.
isActive
=
1
;
item
.
isShow
=
0
;
switch
(
index
)
{
case
0
:
this
.
ShareMsg
.
IsShowHead
=
item
.
isShow
;
break
;
case
1
:
this
.
ShareMsg
.
IsShowNick
=
item
.
isShow
;
break
;
case
2
:
this
.
ShareMsg
.
IsShowQrCode
=
item
.
isShow
;
break
;
}
this
.
isShowShareIndex
=
index
+
1
;
},
//删除选项
deleteItem
(
item
,
index
)
{
item
.
isShow
=
1
;
switch
(
index
)
{
case
0
:
this
.
ShareMsg
.
IsShowHead
=
item
.
isShow
;
break
;
case
1
:
this
.
ShareMsg
.
IsShowNick
=
item
.
isShow
;
break
;
case
2
:
this
.
ShareMsg
.
IsShowQrCode
=
item
.
isShow
;
break
;
}
},
//拉伸二维码尺寸动态设置最大值
getCodeMax
(
chicun
,
num
)
{
if
(
num
==
0
)
{
this
.
headerMaxTop
=
1334
-
chicun
;
this
.
headerMaxLeft
=
750
-
chicun
;
}
else
if
(
num
==
1
)
{
this
.
nickNameTop
=
1334
-
chicun
;
this
.
nickNameLeft
=
750
-
chicun
;
}
else
{
this
.
maxTwocodeTop
=
1334
-
chicun
;
this
.
maxTwocodeLeft
=
750
-
chicun
;
}
},
//获取分销海报
GetFenXiaoPoster
()
{
this
.
apipost
(
"/api/Tenant/GetFenXiaoPoster"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
jsonData
=
res
.
data
.
data
;
if
(
jsonData
)
{
this
.
ShareMsg
.
Id
=
jsonData
.
Id
;
this
.
ShareMsg
.
PosterBgImg
=
jsonData
.
PosterBgImg
;
this
.
ShareMsg
.
IsShowHead
=
jsonData
.
IsShowHead
;
this
.
ShareMsg
.
HeadSize
=
jsonData
.
HeadSize
;
this
.
ShareMsg
.
HeadPaddingTop
=
jsonData
.
HeadPaddingTop
;
this
.
ShareMsg
.
HeadPaddingLeft
=
jsonData
.
HeadPaddingLeft
;
this
.
ShareTabs
[
0
].
isShow
=
this
.
ShareMsg
.
IsShowHead
;
this
.
ShareMsg
.
IsShowNick
=
jsonData
.
IsShowNick
;
this
.
ShareMsg
.
NickSize
=
jsonData
.
NickSize
;
this
.
ShareMsg
.
NickPaddingTop
=
jsonData
.
NickPaddingTop
;
this
.
ShareMsg
.
NickPaddingLeft
=
jsonData
.
NickPaddingLeft
;
this
.
ShareMsg
.
NickColor
=
jsonData
.
NickColor
;
this
.
ShareTabs
[
1
].
isShow
=
this
.
ShareMsg
.
IsShowNick
;
this
.
ShareMsg
.
IsShowQrCode
=
jsonData
.
IsShowQrCode
;
this
.
ShareMsg
.
QrCodeSize
=
jsonData
.
QrCodeSize
;
this
.
ShareMsg
.
QrCodePaddingTop
=
jsonData
.
QrCodePaddingTop
;
this
.
ShareMsg
.
QrCodePaddingLeft
=
jsonData
.
QrCodePaddingLeft
;
this
.
ShareMsg
.
QrCodeSize
=
jsonData
.
QrCodeSize
;
this
.
ShareMsg
.
QrCodeType
=
jsonData
.
QrCodeType
;
this
.
ShareTabs
[
2
].
isShow
=
this
.
ShareMsg
.
IsShowQrCode
;
}
else
{
this
.
ShareMsg
.
PosterBgImg
=
this
.
sharePosterDefaultImg
;
this
.
ShareMsg
.
IsShowHead
=
1
;
this
.
ShareMsg
.
HeadSize
=
120
;
this
.
ShareMsg
.
HeadPaddingTop
=
20
;
this
.
ShareMsg
.
HeadPaddingLeft
=
20
;
this
.
ShareMsg
.
IsShowNick
=
1
;
this
.
ShareMsg
.
NickSize
=
40
;
this
.
ShareMsg
.
NickPaddingTop
=
60
;
this
.
ShareMsg
.
NickPaddingLeft
=
160
;
this
.
ShareMsg
.
NickColor
=
"rgb(0, 0, 0)"
;
this
.
ShareMsg
.
IsShowQrCode
=
0
;
this
.
ShareMsg
.
QrCodeSize
=
162
;
this
.
ShareMsg
.
QrCodePaddingTop
=
1022
;
this
.
ShareMsg
.
QrCodePaddingLeft
=
76
;
this
.
ShareMsg
.
QrCodeSize
=
162
;
this
.
ShareMsg
.
QrCodeType
=
0
;
}
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
//添加修改分销海报
SetFenXiaoPoster
()
{
this
.
apipost
(
"/api/Tenant/SetFenXiaoPoster"
,
this
.
ShareMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetFenXiaoPoster
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
//获取商品海报
GetGoodPoster
()
{
this
.
apipost
(
"/api/Tenant/GetGoodPoster"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
jsonData
=
res
.
data
.
data
;
if
(
jsonData
)
{
this
.
goodsPostersMsg
.
Id
=
jsonData
.
Id
;
this
.
goodsPostersMsg
.
PosterStyleList
=
jsonData
.
PosterStyleList
;
this
.
goodsPostersMsg
.
GoodsImgCountList
=
jsonData
.
GoodsImgCountList
;
if
(
jsonData
.
PosterStyleList
.
length
>
0
)
{
this
.
myPostStyle
=
jsonData
.
PosterStyleList
[
jsonData
.
PosterStyleList
.
length
-
1
];
}
if
(
this
.
goodsPostersMsg
.
GoodsImgCountList
.
length
>
0
)
{
this
.
myImgStyle
=
jsonData
.
GoodsImgCountList
[
jsonData
.
GoodsImgCountList
.
length
-
1
];
}
}
else
{
this
.
goodsPostersMsg
.
PosterStyle
=
''
;
this
.
goodsPostersMsg
.
GoodsImgCount
=
''
;
}
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
//添加修改商品海报
SetGoodPosterModule
()
{
this
.
goodsPostersMsg
.
PosterStyle
=
this
.
goodsPostersMsg
.
PosterStyleList
.
join
(
','
);
this
.
goodsPostersMsg
.
GoodsImgCount
=
this
.
goodsPostersMsg
.
GoodsImgCountList
.
join
(
','
);
this
.
apipost
(
"/api/Tenant/SetGoodPosterModule"
,
this
.
goodsPostersMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
GetGoodPoster
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
//选择图片
SelectId
(
msg
)
{
this
.
ShareMsg
.
PosterBgImg
=
this
.
getIconLink
(
msg
.
url
);
this
.
choicImg
=
false
;
},
},
mounted
()
{
this
.
maxTwocodeTop
=
1334
-
this
.
ShareMsg
.
QrCodeSize
;
this
.
maxTwocodeLeft
=
750
-
this
.
ShareMsg
.
QrCodeSize
;
this
.
nickNameTop
=
1334
-
this
.
ShareMsg
.
NickSize
;
this
.
nickNameLeft
=
750
-
this
.
ShareMsg
.
NickSize
;
this
.
headerMaxTop
=
1334
-
this
.
ShareMsg
.
HeadSize
;
this
.
headerMaxLeft
=
750
-
this
.
ShareMsg
.
HeadSize
;
this
.
GetFenXiaoPoster
();
this
.
GetGoodPoster
();
}
};
</
script
>
src/components/sallCenter/CustomPage.vue
View file @
85640196
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"PageName"
label=
"标题"
>
<el-table-column
prop=
"PageName"
label=
"标题"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"导航与模板"
prop=
"DetailsList"
width=
"
75
0"
>
<el-table-column
label=
"导航与模板"
prop=
"DetailsList"
width=
"
50
0"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<div
class=
"templat-list"
>
<div
class=
"templat-list"
>
<template
v-if=
"scope.row.DetailsList && scope.row.DetailsList.length>0"
<template
v-if=
"scope.row.DetailsList && scope.row.DetailsList.length>0"
...
@@ -34,14 +34,21 @@
...
@@ -34,14 +34,21 @@
</div>
</div>
</template>
</template>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"IsHome"
label=
"设为首页"
width=
"
8
0"
>
<el-table-column
prop=
"IsHome"
label=
"设为首页"
width=
"
15
0"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.IsHome"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
<el-switch
v-model=
"scope.row.IsHome"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
@
change=
"updateIsHome(scope.row)"
>
@
change=
"updateIsHome(scope.row)"
>
</el-switch>
</el-switch>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"IsUse"
label=
"禁用/启用"
width=
"85"
>
<el-table-column
prop=
"IsSchoolHomePage"
label=
"设为校园版首页"
width=
"180"
v-if=
"mall_userInfo.IsOpenSchool==1"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.IsSchoolHomePage"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
@
change=
"updateSchoolIsHome(scope.row)"
>
</el-switch>
</
template
>
</el-table-column>
<el-table-column
prop=
"IsUse"
label=
"禁用/启用"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.IsUse"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
<el-switch
v-model=
"scope.row.IsUse"
active-color=
"#409EFF"
:active-value=
"1"
:inactive-value=
"0"
@
change=
"updateIsUse(scope.row)"
>
@
change=
"updateIsUse(scope.row)"
>
...
@@ -150,13 +157,14 @@
...
@@ -150,13 +157,14 @@
DetailsList
:
[]
DetailsList
:
[]
},
},
total
:
0
,
total
:
0
,
mall_userInfo
:
{}
};
};
},
},
components
:
{
components
:
{
choiceModule
choiceModule
},
},
created
()
{
created
()
{
this
.
mall_userInfo
=
JSON
.
parse
(
localStorage
.
mall_userInfo
)
},
},
methods
:
{
methods
:
{
//选择模板
//选择模板
...
@@ -195,6 +203,20 @@
...
@@ -195,6 +203,20 @@
}
}
})
})
},
},
//更新是否为校园首页
updateSchoolIsHome
(
item
)
{
this
.
apipost
(
"/api/Template/SetMiniprogramPageSchoolIsHome"
,
{
Id
:
item
.
Id
,
IsSchoolHomePage
:
item
.
IsSchoolHomePage
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Info
(
res
.
data
.
message
);
}
})
},
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
this
.
getList
();
...
...
src/router/index.js
View file @
85640196
...
@@ -751,6 +751,12 @@ export default new Router({
...
@@ -751,6 +751,12 @@ export default new Router({
name
:
'customPoster'
,
name
:
'customPoster'
,
component
:
resolve
=>
require
([
'@/components/StoreDesign/customPoster'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/StoreDesign/customPoster'
],
resolve
),
},
},
//店铺管理 校园海报
{
path
:
'/schoolPoster'
,
name
:
'schoolPoster'
,
component
:
resolve
=>
require
([
'@/components/StoreDesign/schoolPoster'
],
resolve
),
},
//营销中心 插件中心
//营销中心 插件中心
{
{
path
:
'/pluginCenter'
,
path
:
'/pluginCenter'
,
...
...
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