Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mallapp
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
viitto
mallapp
Commits
b402c7de
Commit
b402c7de
authored
Aug 17, 2020
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复部分样式
parent
2d95d6d1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
2162 additions
and
731 deletions
+2162
-731
index.vue
components/pingtuan/index.vue
+98
-0
style1.vue
components/pingtuan/style1.vue
+184
-0
style2.vue
components/pingtuan/style2.vue
+202
-0
style3.vue
components/pingtuan/style3.vue
+208
-0
style4.vue
components/pingtuan/style4.vue
+182
-0
style5.vue
components/pingtuan/style5.vue
+196
-0
style6.vue
components/pingtuan/style6.vue
+169
-0
index.vue
components/quicknav/index.vue
+18
-20
index.vue
components/search/index.vue
+0
-1
index.vue
components/tabbar/index.vue
+24
-10
goods.vue
pages/goods/goods.vue
+790
-689
index.vue
pages/index/index.vue
+91
-11
tuangood.vue
pages/pintuan/tuangood.vue
+0
-0
No files found.
components/pingtuan/index.vue
0 → 100644
View file @
b402c7de
<
template
>
<view
class=
"goods-box"
>
<view>
<!-- 只是商品 -->
<template>
<!--一行一个-->
<style
1
v-if=
"goods.listStyle == 1"
:goods-info=
"goods"
:good-list=
"currentList"
></style1>
<!--一行两个-->
<style
2
v-if=
"goods.listStyle == 2"
:goods-info=
"goods"
:good-list=
"currentList"
></style2>
<!--一行三个-->
<style
3
v-if=
"goods.listStyle == 3"
:goods-info=
"goods"
:good-list=
"currentList"
></style3>
<!--左右滚动-->
<style
5
v-if=
"goods.listStyle == 0"
:goods-info=
"goods"
:good-list=
"currentList"
></style5>
<!--列表模式-->
<style
6
v-if=
"goods.listStyle == -1"
:goods-info=
"goods"
:good-list=
"currentList"
></style6>
</
template
>
</view>
</view>
</template>
<
script
>
import
style1
from
'./style1'
;
import
style2
from
'./style2'
;
import
style3
from
'./style3'
;
import
style4
from
'./style4'
;
import
style5
from
'./style5'
;
import
style6
from
'./style6'
;
import
sidebar
from
'../sidebar/index'
;
export
default
{
props
:
[
'goods'
],
components
:
{
style1
,
style2
,
style3
,
style4
,
style5
,
style6
,
sidebar
},
data
()
{
return
{
mainColor
:
''
,
activeKey
:
0
,
currentList
:
[]
};
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
if
(
this
.
goods
.
showCat
)
{
this
.
currentList
=
this
.
goods
.
catList
[
0
].
goodsList
;
}
else
{
this
.
currentList
=
this
.
goods
.
list
;
}
},
methods
:
{
tabChangeHandler
(
i
)
{
this
.
currentList
=
this
.
goods
.
catList
[
i
].
goodsList
;
this
.
activeKey
=
i
;
}
}
};
</
script
>
<
style
>
.style4View
{
display
:
inline-block
;
width
:
100%
;
padding-left
:
80px
;
box-sizing
:
border-box
;
}
.goods-box
{
/* margin: 20rpx 0; */
}
.goods-box
.tips
{
z-index
:
50
!important
;
}
.goods-box.flex
{
display
:
flex
;
}
.goods-box.flex
.left-slider
{
width
:
80px
;
position
:
absolute
;
}
.goods-box.flex
.right-slider
{
flex
:
1
;
width
:
1
rpx
;
}
.defaultz
.van-sticky
{
z-index
:
1
!important
;
}
.goods-box
.van-tabs__scroll
{
background
:
none
;
}
.goods-box
._div
{
width
:
100%
;
}
</
style
>
components/pingtuan/style1.vue
0 → 100644
View file @
b402c7de
<
template
>
<div
:style=
"
{
'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}"
>
<div
v-for=
"(item, gli) in goodList"
:key=
"gli"
class=
"good-one"
@
click=
"openGood(item)"
:style=
"
{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
}"
>
<div
class=
"tips"
v-if=
"goodsInfo.showGoodsTag||goodsInfo.customizeGoodsTag"
>
<image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width: 100%;"
/>
</div>
<image
style=
"width: calc(100vw - 24px); height: 66vw;"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
v-if=
"goodsInfo.goodsCoverProportion == '3-2'"
/>
<image
style=
"
width: calc(100vw - 24px);
height: 100vw;
border-radius: 10rpx 10rpx 0 0;
"
v-if=
"goodsInfo.goodsCoverProportion == '1-1'"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/>
<div
class=
"good-info"
>
<div
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</div>
<div
class=
"good-price-info"
>
<span
class=
"price"
:style=
"
{ color: mainColor }">
<text
style=
"font-size:13px;margin-right:5px"
>
¥
</text>
<text>
{{
item
.
pintuanPrice
}}
</text>
</span>
<span
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
<u-icon
name=
"add-o"
size=
"40"
:color=
"mainColor"
v-else-if=
"goodsInfo.buyBtn == 'add'"
/>
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"btnStyle"
:plain=
"goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape=
"goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else
>
{{
goodsInfo
.
buyBtnText
}}
</u-button>
</span>
</div>
</div>
</div>
<good-sku
v-if=
"showSku"
:option-type=
"2"
borderRadius=
"20"
v-model=
"showSku"
:good=
"sku"
></good-sku>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</div>
</
template
>
<
script
>
import
goodSku
from
"../goods/goodsku"
;
import
auth
from
"@/components/auth/index.vue"
;
export
default
{
components
:
{
goodSku
,
auth
,
},
props
:
[
"goodList"
,
"goodsInfo"
],
data
()
{
return
{
mainColor
:
""
,
activeKey
:
0
,
showSku
:
false
,
sku
:
{},
showAuth
:
false
,
u
:
{},
btnStyle
:
{},
};
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
this
.
btnStyle
=
{
backgroundColor
:
this
.
goodsInfo
.
buttonColor
??
this
.
mainColor
,
color
:
this
.
goodsInfo
.
buyBtnStyle
==
2
||
this
.
goodsInfo
.
buyBtnStyle
==
4
?
this
.
goodsInfo
.
buttonColor
:
"#FFF"
,
};
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
"/pages/goods/goods?GoodsId="
+
item
.
id
});
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
if
(
!
this
.
u
)
{
this
.
u
=
{
nickName
:
"未登录"
,
avatarUrl
:
""
,
};
this
.
showAuth
=
true
;
}
else
{
this
.
showSku
=
true
;
}
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
// this.showAuth = false;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
},
};
</
script
>
<
style
>
.good-one
{
margin
:
12px
;
position
:
relative
;
border
:
1
rpx
solid
transparent
;
border-radius
:
10
rpx
;
padding-bottom
:
10
rpx
;
overflow
:
hidden
;
}
.good-one
.tips
{
width
:
64
rpx
;
height
:
64
rpx
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
4
;
}
.good-one
.guding
{
position
:
relative
;
}
.good-one
.guding
.img-box
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
top
:
0
;
}
.good-one
.good-info
{
padding
:
12
rpx
;
padding-bottom
:
0
;
margin-top
:
-5px
;
}
.good-one
.good-info
.good-name
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
margin-bottom
:
13px
;
}
.good-one
.good-info
.good-price-info
{
display
:
flex
;
}
.good-one
.good-info
.good-price-info
.price
{
color
:
#ff4544
;
font-size
:
14px
;
flex
:
1
;
}
.good-one
.good-info
.good-price-info
.buy
{
width
:
24px
;
text-align
:
right
;
flex
:
1
;
}
</
style
>
components/pingtuan/style2.vue
0 → 100644
View file @
b402c7de
<
template
>
<view
style=
"padding: 12px; padding-bottom: 0;"
:style=
"
{
'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}"
>
<u-row
gutter=
"24"
>
<u-col
span=
"6"
v-for=
"(item, gli) in goodList"
:key=
"gli"
>
<view
class=
"good-two"
@
click=
"openGood(item)"
:style=
"
{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
}"
>
<view
class=
"tips"
v-if=
"goodsInfo.showGoodsTag||goodsInfo.customizeGoodsTag"
>
<image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width:100%"
/>
</view>
<view
class=
"img-box"
>
<view
class=
"img-show"
>
<image
style=
"
width: 100%;
height: 100%;
border-radius: 10rpx 10rpx 0 0;
"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/>
</view>
</view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
<text
style=
"font-size:13px;margin-right:5px"
>
¥
</text>
<text>
{{
item
.
pintuanPrice
}}
</text>
</view>
<view
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
<u-icon
name=
"add-o"
size=
"40"
:color=
"mainColor"
v-else-if=
"goodsInfo.buyBtn == 'add'"
/>
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"
`backgroundColor:$
{goodsInfo.buttonColor},color:${
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'
}`
"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else
>
{{
goodsInfo
.
buyBtnText
}}
</u-button>
</view>
</view>
</view>
</view>
</u-col>
</u-row>
<good-sku
v-if=
"showSku"
borderRadius=
"20"
v-model=
"showSku"
:good=
"sku"
:option-type=
"2"
></good-sku>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</
template
>
<
script
>
import
goodSku
from
"../goods/goodsku"
;
import
auth
from
"@/components/auth/index.vue"
;
export
default
{
components
:
{
goodSku
,
auth
,
},
props
:
[
"goodList"
,
"goodsInfo"
],
data
()
{
return
{
mainColor
:
""
,
activeKey
:
0
,
showSku
:
false
,
sku
:
{},
showAuth
:
false
,
u
:
{},
};
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
"/pages/goods/goods?GoodsId="
+
item
.
id
});
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
if
(
!
this
.
u
)
{
this
.
u
=
{
nickName
:
"未登录"
,
avatarUrl
:
""
,
};
this
.
showAuth
=
true
;
}
else
{
this
.
showSku
=
true
;
}
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
// this.showAuth = false;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
},
};
</
script
>
<
style
>
.good-two
{
position
:
relative
;
margin-bottom
:
12px
;
border
:
1
rpx
solid
transparent
;
border-radius
:
10
rpx
;
overflow
:
hidden
;
padding-bottom
:
10
rpx
;
}
.good-two
.tips
{
width
:
64
rpx
;
height
:
64
rpx
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
4
;
}
.good-two
.img-box
{
width
:
100%
;
height
:
0
;
padding-top
:
100%
;
position
:
relative
;
}
.good-two
.img-box
.img-show
{
position
:
absolute
;
left
:
0
;
top
:
0
;
bottom
:
0
;
right
:
0
;
width
:
100%
;
height
:
100%
;
overflow
:
hidden
;
}
.good-two
.guding
{
position
:
relative
;
}
.good-two
.guding
.img-box
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
top
:
0
;
}
.good-two
.good-info
{
padding
:
6
rpx
;
margin-top
:
-5px
;
padding-bottom
:
0
;
}
.good-two
.good-info
.good-name
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
margin
:
3px
0
;
font-size
:
13px
;
height
:
37px
;
}
.good-two
.good-info
.good-price-info
{
display
:
flex
;
}
.good-two
.good-info
.good-price-info
.price
{
color
:
#ff4544
;
flex
:
1
;
font-size
:
14px
;
}
.good-two
.good-info
.good-price-info
.buy
{
width
:
24px
;
text-align
:
right
;
}
</
style
>
components/pingtuan/style3.vue
0 → 100644
View file @
b402c7de
<
template
>
<div
style=
"padding: 12px; padding-bottom: 0;"
:style=
"
{
'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}"
>
<u-row
gutter=
"24"
>
<u-col
span=
"4"
v-for=
"(item, gli) in goodList"
:key=
"gli"
>
<div
class=
"good-three"
@
click=
"openGood(item)"
:style=
"
{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
}"
>
<div
class=
"tips"
v-if=
"goodsInfo.showGoodsTag||goodsInfo.customizeGoodsTag"
>
<image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width:100%"
/>
</div>
<div
class=
"img-box"
>
<div
class=
"img-show"
>
<image
style=
"
width: 100%;
height: 100%;
border-radius: 10rpx 10rpx 0 0;
"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/>
</div>
</div>
<div
class=
"good-info"
>
<div
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</div>
<div
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
<text
style=
"font-size:13px;margin-right:5px"
>
¥
</text>
<text>
{{
item
.
pintuanPrice
}}
</text>
</view>
<view
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
<u-icon
name=
"add-o"
size=
"40"
:color=
"mainColor"
v-else-if=
"goodsInfo.buyBtn == 'add'"
/>
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"
`backgroundColor:$
{goodsInfo.buttonColor},color:${
goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'
}`
"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else
>
{{
goodsInfo
.
buyBtnText
}}
</u-button>
</view>
</div>
</div>
</div>
</u-col>
</u-row>
<good-sku
v-if=
"showSku"
borderRadius=
"20"
v-model=
"showSku"
:good=
"sku"
:option-type=
"2"
></good-sku>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</div>
</
template
>
<
script
>
import
goodSku
from
"../goods/goodsku"
;
import
auth
from
"@/components/auth/index.vue"
;
export
default
{
components
:
{
goodSku
,
auth
,
},
props
:
[
"goodList"
,
"goodsInfo"
],
data
()
{
return
{
mainColor
:
""
,
activeKey
:
0
,
showSku
:
false
,
sku
:
{},
showAuth
:
false
,
u
:
{},
};
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
"/pages/goods/goods?GoodsId="
+
item
.
id
});
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
if
(
!
this
.
u
)
{
this
.
u
=
{
nickName
:
"未登录"
,
avatarUrl
:
""
,
};
this
.
showAuth
=
true
;
}
else
{
this
.
showSku
=
true
;
}
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
"mall_UserInfo"
);
// this.showAuth = false;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
},
},
};
</
script
>
<
style
>
.good-three
{
position
:
relative
;
margin-bottom
:
12px
;
border
:
1
rpx
solid
transparent
;
border-radius
:
10
rpx
;
overflow
:
hidden
;
padding-bottom
:
5px
;
}
.good-three
.tips
{
width
:
64
rpx
;
height
:
64
rpx
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
4
;
}
.good-three
.img-box
{
width
:
100%
;
height
:
0
;
padding-top
:
100%
;
position
:
relative
;
}
.good-three
.img-box
.img-show
{
position
:
absolute
;
left
:
0
;
top
:
0
;
bottom
:
0
;
right
:
0
;
width
:
100%
;
height
:
100%
;
overflow
:
hidden
;
}
.good-three
.guding
{
position
:
relative
;
}
.good-three
.guding
.img-box
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
top
:
0
;
}
.good-three
.good-info
{
padding
:
6
rpx
;
margin-top
:
-5px
;
padding-bottom
:
0
;
}
.good-three
.good-info
.good-name
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
margin
:
3px
0
;
font-size
:
13px
;
word-break
:
break-all
;
height
:
37px
;
}
.good-three
.good-info
.good-price-info
{
display
:
flex
;
justify-items
:
center
;
align-items
:
center
;
}
.good-three
.good-info
.good-price-info
.price
{
color
:
#ff4544
;
flex
:
1
;
font-size
:
14px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.good-three
.good-info
.good-price-info
.buy
{
width
:
24px
;
text-align
:
right
;
}
</
style
>
components/pingtuan/style4.vue
0 → 100644
View file @
b402c7de
<
template
>
<view
style=
"padding: 12px; padding-bottom: 0;width:100%;min-height:450rpx;"
:style=
"
{
'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}"
>
<view
class=
"good-four"
v-for=
"(item, gli) in goodList"
:key=
"gli"
@
click=
"openGood(item)"
:style=
"
{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
}"
>
<view
class=
"tips"
v-if=
"goodsInfo.showGoodsTag||goodsInfo.customizeGoodsTag"
><image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width: 100%;"
/></view>
<view
class=
"img-box"
><image
style=
"width: 100%; height: 100%;"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/></view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
<text
style=
"font-size:13px;margin-right:5px"
>
¥
</text>
<text>
{{
item
.
pintuanPrice
}}
</text>
</view>
<view
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
<u-icon
name=
"add-o"
size=
"40"
:color=
"mainColor"
v-else-if=
"goodsInfo.buyBtn == 'add'"
/>
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"
`backgroundColor:$
{goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else
>
{{
goodsInfo
.
buyBtnText
}}
</u-button>
</view>
</view>
</view>
</view>
<good-sku
v-if=
"showSku"
:option-type=
"2"
borderRadius=
"20"
v-model=
"showSku"
:good=
"sku"
></good-sku>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</
template
>
<
script
>
import
goodSku
from
'../goods/goodsku'
;
import
auth
from
'@/components/auth/index.vue'
;
export
default
{
components
:
{
goodSku
,
auth
},
props
:
[
'goodList'
,
'goodsInfo'
],
data
()
{
return
{
mainColor
:
''
,
activeKey
:
0
,
showSku
:
false
,
sku
:
{},
showAuth
:
false
,
u
:
{}
};
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
this
.
u
=
uni
.
getStorageSync
(
'mall_UserInfo'
);
if
(
!
this
.
u
)
{
this
.
u
=
{
nickName
:
'未登录'
,
avatarUrl
:
''
};
this
.
showAuth
=
true
;
}
else
{
this
.
showSku
=
true
;
}
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
'mall_UserInfo'
);
// this.showAuth = false;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
}
//格式化价格添加.00
// getPrice(value){
// var html,_val;
// value =Number(value).toFixed(2);
// if(value==0){
// value=0;
// return html = "¥0";
// }else if(value.split('.')[1].substring(1)==0){
// value = Number(value).toFixed(2);
// }
// _val = value.split('.');
// return html = '¥'+_val[0]+'.'+_val[1];
// }
}
};
</
script
>
<
style
>
.good-four
{
position
:
relative
;
margin-bottom
:
14px
;
display
:
flex
;
height
:
102px
;
border
:
1
rpx
solid
transparent
;
border-radius
:
10
rpx
;
box-sizing
:
border-box
;
padding
:
0
1px
1px
0
;
overflow
:
hidden
;
}
.good-four
.tips
{
width
:
64
rpx
;
height
:
64
rpx
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
4
;
}
.good-four
.img-box
{
width
:
100px
;
height
:
100px
;
}
.good-four
.good-info
{
padding
:
12px
;
flex
:
1
;
width
:
1
rpx
;
border
:
10
rpx
;
padding-bottom
:
0
;
display
:
flex
;
flex-direction
:
column
;
/* width:20%; */
}
.good-four
.good-info
.good-name
{
font-size
:
13px
;
height
:
34px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
}
.good-four
.good-info
.good-price-info
{
display
:
flex
;
justify-items
:
center
;
align-items
:
flex-end
;
height
:
22px
;
flex
:
1
;
padding-bottom
:
10
rpx
;
}
.good-four
.good-info
.good-price-info
.price
{
color
:
#ff4544
;
flex
:
1
;
font-size
:
14px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.good-four
.good-info
.good-price-info
.buy
{
width
:
24px
;
text-align
:
right
;
}
</
style
>
components/pingtuan/style5.vue
0 → 100644
View file @
b402c7de
<
template
>
<view
class=
"her-scoller"
:style=
"
{
'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}"
>
<view
class=
"good-five"
@
click=
"openGood(item)"
v-for=
"(item, gli) in goodList"
:key=
"gli"
:style=
"
{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
}"
>
<view
class=
"tips"
v-if=
"goodsInfo.showGoodsTag||goodsInfo.customizeGoodsTag"
><image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width:100%"
/></view>
<view
class=
"img-box"
>
<view
class=
"img-show"
>
<image
style=
"width: 100%; height: 100%; border-radius: 10rpx 10rpx 0 0;"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/>
</view>
</view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
<text
style=
"font-size:13px;margin-right:5px"
>
¥
</text>
<text>
{{
item
.
pintuanPrice
}}
</text>
</view>
<view
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
<u-icon
name=
"add-o"
size=
"40"
:color=
"mainColor"
v-else-if=
"goodsInfo.buyBtn == 'add'"
/>
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"
`backgroundColor:$
{goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else
>
{{
goodsInfo
.
buyBtnText
}}
</u-button>
</view>
</view>
</view>
</view>
<good-sku
v-if=
"showSku"
:option-type=
"2"
borderRadius=
"20"
v-model=
"showSku"
:good=
"sku"
></good-sku>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</
template
>
<
script
>
import
goodSku
from
'../goods/goodsku'
;
import
auth
from
'@/components/auth/index.vue'
;
export
default
{
components
:
{
goodSku
,
auth
},
props
:
[
'goodList'
,
'goodsInfo'
],
data
()
{
return
{
mainColor
:
''
,
activeKey
:
0
,
showSku
:
false
,
sku
:
{},
showAuth
:
false
,
u
:
{}
};
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
this
.
u
=
uni
.
getStorageSync
(
'mall_UserInfo'
);
if
(
!
this
.
u
)
{
this
.
u
=
{
nickName
:
'未登录'
,
avatarUrl
:
''
};
this
.
showAuth
=
true
;
}
else
{
this
.
showSku
=
true
;
}
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
'mall_UserInfo'
);
// this.showAuth = false;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
}
}
};
</
script
>
<
style
>
.her-scoller
{
overflow-x
:
auto
!important
;
padding
:
12px
;
display
:
flex
;
white-space
:
nowrap
;
}
/* .her-scoller::after {
clear: both;
content: " ";
display: block;
} */
.her-scoller
.good-five
{
position
:
relative
;
margin-right
:
12px
;
width
:
30%
;
border
:
1
rpx
solid
transparent
;
border-radius
:
10
rpx
;
padding-bottom
:
10
rpx
;
/* float: left; */
}
.her-scoller
.good-five
.tips
{
width
:
64
rpx
;
height
:
64
rpx
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
4
;
}
.her-scoller
.good-five
.img-box
{
width
:
100%
;
height
:
0
;
padding-top
:
100%
;
position
:
relative
;
}
.her-scoller
.good-five
.img-box
.img-show
{
position
:
absolute
;
left
:
0
;
top
:
0
;
bottom
:
0
;
right
:
0
;
width
:
100%
;
height
:
100%
;
overflow
:
hidden
;
z-index
:
2
;
}
.her-scoller
.good-five
.guding
{
position
:
relative
;
}
.her-scoller
.good-five
.guding
.img-box
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
top
:
0
;
}
.her-scoller
.good-five
.good-info
{
padding
:
6
rpx
;
padding-bottom
:
0
;
}
.her-scoller
.good-five
.good-info
.good-name
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
block
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
margin-bottom
:
4
rpx
;
font-size
:
13px
;
width
:
100%
;
}
.her-scoller
.good-five
.good-info
.good-price-info
{
display
:
flex
;
justify-items
:
center
;
align-items
:
center
;
}
.her-scoller
.good-five
.good-info
.good-price-info
.price
{
color
:
#ff4544
;
flex
:
1
;
font-size
:
14px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.her-scoller
.good-five
.good-info
.good-price-info
.buy
{
width
:
24px
;
text-align
:
right
;
}
</
style
>
components/pingtuan/style6.vue
0 → 100644
View file @
b402c7de
<
template
>
<view
style=
"padding: 12px; padding-bottom: 0;width:100%;"
:style=
"
{
'background-color': goodsInfo.backgroundColor,
'background-image': goodsInfo.backgroundPicUrl,
'border-color': goodsInfo.goodsStyle == 2 ? 'rgb(226, 226, 226)' : ''
}"
>
<view
class=
"good-four"
v-for=
"(item, gli) in goodList"
:key=
"gli"
@
click=
"openGood(item)"
:style=
"
{
border: goodsInfo.goodsStyle == 2 ? '1px solid rgb(226, 226, 226)' : '',
background: goodsInfo.goodsStyle == 1 || goodsInfo.goodsStyle == 2 ? '#FFF' : ''
}"
>
<view
class=
"tips"
v-if=
"goodsInfo.showGoodsTag||goodsInfo.customizeGoodsTag"
><image
:src=
"goodsInfo.goodsTagPicUrl"
mode=
"widthFix"
style=
"width: 100%;"
/></view>
<view
class=
"img-box"
><image
style=
"width: 100%; height: 100%;"
:mode=
"goodsInfo.fill == 1 ? 'aspectFill' : 'aspectFit'"
:src=
"item.picUrl"
/></view>
<view
class=
"good-info"
>
<view
class=
"good-name"
v-if=
"goodsInfo.showGoodsName"
>
{{
item
.
name
}}
</view>
<view
class=
"good-price-info"
>
<view
class=
"price"
:style=
"
{ color: mainColor }">
<text
style=
"font-size:13px;margin-right:5px"
>
¥
</text>
<text>
{{
item
.
pintuanPrice
}}
</text>
</view>
<view
class=
"buy"
v-if=
"goodsInfo.showBuyBtn"
@
click
.
stop=
"showSkuHandler(item)"
>
<u-icon
name=
"cart-o"
size=
"40"
:color=
"mainColor"
v-if=
"goodsInfo.buyBtn == 'cart'"
/>
<u-icon
name=
"add-o"
size=
"40"
:color=
"mainColor"
v-else-if=
"goodsInfo.buyBtn == 'add'"
/>
<u-button
type=
"primary"
size=
"mini"
:ripple=
"true"
:color=
"goodsInfo.buttonColor"
:custom-style=
"
`backgroundColor:$
{goodsInfo.buttonColor},color:${goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4 ? goodsInfo.buttonColor : '#FFF'}`
"
:plain="goodsInfo.buyBtnStyle == 2 || goodsInfo.buyBtnStyle == 4"
:shape="goodsInfo.buyBtnStyle == 3 || goodsInfo.buyBtnStyle == 4 ? 'circle' : 'square'"
v-else
>
{{
goodsInfo
.
buyBtnText
}}
</u-button>
</view>
</view>
</view>
</view>
<good-sku
v-if=
"showSku"
borderRadius=
"20"
v-model=
"showSku"
:good=
"sku"
:option-type=
"2"
></good-sku>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</view>
</
template
>
<
script
>
import
goodSku
from
'../goods/goodsku'
;
import
auth
from
'@/components/auth/index.vue'
;
export
default
{
components
:
{
goodSku
,
auth
},
props
:
[
'goodList'
,
'goodsInfo'
],
data
()
{
return
{
mainColor
:
''
,
activeKey
:
0
,
showSku
:
false
,
sku
:
{},
showAuth
:
false
,
u
:
{}
};
},
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
methods
:
{
openGood
(
item
)
{
uni
.
navigateTo
({
url
:
'/pages/goods/goods?GoodsId='
+
item
.
id
});
},
showSkuHandler
(
g
)
{
this
.
sku
=
g
;
this
.
u
=
uni
.
getStorageSync
(
'mall_UserInfo'
);
if
(
!
this
.
u
)
{
this
.
u
=
{
nickName
:
'未登录'
,
avatarUrl
:
''
};
this
.
showAuth
=
true
;
}
else
{
this
.
showSku
=
true
;
}
},
reloadUserinfo
()
{
this
.
u
=
uni
.
getStorageSync
(
'mall_UserInfo'
);
// this.showAuth = false;
},
//关闭登录窗口
gbAuth
()
{
this
.
showAuth
=
false
;
}
}
};
</
script
>
<
style
>
.good-four
{
position
:
relative
;
margin-bottom
:
14px
;
display
:
flex
;
height
:
102px
;
border
:
1
rpx
solid
transparent
;
border-radius
:
10
rpx
;
box-sizing
:
border-box
;
padding
:
0
1px
1px
0
;
overflow
:
hidden
;
}
.good-four
.tips
{
width
:
64
rpx
;
height
:
64
rpx
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
4
;
}
.good-four
.img-box
{
width
:
100px
;
height
:
100px
;
}
.good-four
.good-info
{
padding
:
12px
;
flex
:
1
;
width
:
1
rpx
;
border
:
10
rpx
;
padding-bottom
:
0
;
display
:
flex
;
flex-direction
:
column
;
/* width:20%; */
}
.good-four
.good-info
.good-name
{
font-size
:
13px
;
height
:
34px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-line-clamp
:
2
;
-webkit-box-orient
:
vertical
;
}
.good-four
.good-info
.good-price-info
{
display
:
flex
;
justify-items
:
center
;
align-items
:
flex-end
;
height
:
22px
;
flex
:
1
;
padding-bottom
:
10
rpx
;
}
.good-four
.good-info
.good-price-info
.price
{
color
:
#ff4544
;
flex
:
1
;
font-size
:
14px
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
}
.good-four
.good-info
.good-price-info
.buy
{
width
:
24px
;
text-align
:
right
;
}
</
style
>
components/quicknav/index.vue
View file @
b402c7de
<
template
>
<
div
class=
"quicknav"
>
<
div
class=
"box"
v-if=
"showNavs"
>
<
div
class=
"nav-item"
v-if=
"navs.home.opened"
@
click=
"goHome"
>
<
view
class=
"quicknav"
>
<
view
class=
"box"
v-if=
"showNavs"
>
<
view
class=
"nav-item"
v-if=
"navs.home.opened"
@
click=
"goHome"
>
<img
:src=
"navs.home.picUrl"
/>
</
div
>
</
view
>
<button
class=
"nav-item"
v-if=
"navs.customerService.opened"
...
...
@@ -13,12 +13,12 @@
>
<img
:src=
"navs.customerService.picUrl"
/>
</button>
<
div
class=
"nav-item"
v-if=
"navs.tel.opened"
@
click=
"goPhone(navs.tel.number)"
>
<
view
class=
"nav-item"
v-if=
"navs.tel.opened"
@
click=
"goPhone(navs.tel.number)"
>
<img
:src=
"navs.tel.picUrl"
/>
</
div
>
<
div
class=
"nav-item"
v-if=
"navs.web.opened"
@
click=
"goUrl(navs.web.url)"
>
</
view
>
<
view
class=
"nav-item"
v-if=
"navs.web.opened"
@
click=
"goUrl(navs.web.url)"
>
<img
:src=
"navs.web.picUrl"
/>
</
div
>
</
view
>
<navigator
v-if=
"navs.mApp.opened"
target=
"miniProgram"
...
...
@@ -30,25 +30,25 @@
>
<img
:src=
"navs.mApp.picUrl"
/>
</navigator>
<
div
<
view
class=
"nav-item"
v-if=
"navs.mapNav.opened"
@
click=
"goLocation(navs.mapNav.location)"
>
<img
:src=
"navs.mapNav.picUrl"
/>
</
div
>
<
div
</
view
>
<
view
class=
"nav-item"
v-if=
"navs.customize.opened"
@
click=
"goLink(navs.customize.link_url)"
>
<img
:src=
"navs.customize.picUrl"
/>
</
div
>
</
div
>
<
div
class=
"nav-item"
v-if=
"showArrow"
@
click=
"changeShow"
>
</
view
>
</
view
>
<
view
class=
"nav-item"
v-if=
"showArrow"
@
click=
"changeShow"
>
<img
:src=
"arrowImg"
/>
</
div
>
</
div
>
</
view
>
</
view
>
</
template
>
<
script
>
...
...
@@ -69,7 +69,7 @@ export default {
this
.
currentParent
=
`/
${
this
.
$parent
.
$mp
.
page
.
route
}
`
;
},
methods
:
{
changeShow
(
e
)
{
changeShow
()
{
this
.
showNavs
=
!
this
.
showNavs
;
this
.
arrowImg
=
this
.
showNavs
?
this
.
navs
.
openedPicUrl
...
...
@@ -78,9 +78,7 @@ export default {
goHome
()
{
let
t
=
getCurrentPages
();
let
crtPath
=
"/"
+
t
[
t
.
length
-
1
].
route
;
if
(
crtPath
!=
"/pages/index/index"
)
{
uni
.
redirectTo
({
url
:
"/pages/index/index"
});
}
uni
.
redirectTo
({
url
:
"/pages/index/index"
});
},
goLink
(
url
)
{
if
(
url
&&
url
.
length
>
0
)
{
...
...
components/search/index.vue
View file @
b402c7de
...
...
@@ -16,7 +16,6 @@
:input-align=
"styleStr.textPosition"
:value=
"val"
:bg-color=
"styleStr.color"
:disabled=
"true"
:text-color=
"styleStr.textColor"
:radius=
"styleStr.radius"
:show-action=
"false"
...
...
components/tabbar/index.vue
View file @
b402c7de
...
...
@@ -144,8 +144,11 @@ export default {
crtPath
:
""
,
};
},
created
()
{},
created
()
{
console
.
log
(
'A join...'
)
},
mounted
()
{
console
.
log
(
'B join...'
)
this
.
flagTypeInfo
=
this
.
$uiConfig
.
is_bang
;
let
tempSystem
=
uni
.
getSystemInfoSync
();
this
.
platforms
=
tempSystem
.
platform
;
...
...
@@ -158,17 +161,27 @@ export default {
}
// #endif
});
if
(
uni
.
getStorageSync
(
"navs"
)){
this
.
navs
=
uni
.
getStorageSync
(
"navs"
)??[];
}
else
{
setTimeout
(()
=>
{
this
.
navs
=
uni
.
getStorageSync
(
"navs"
)??[];
this
.
activeHandler
();
},
3000
)
}
if
(
uni
.
getStorageSync
(
"navs"
)){
this
.
navs
=
uni
.
getStorageSync
(
"navs"
)??[];
}
else
{
setTimeout
(()
=>
{
this
.
navs
=
uni
.
getStorageSync
(
"navs"
)??[];
this
.
activeHandler
();
},
3000
)
}
this
.
activeHandler
();
},
// activated(){
// if(uni.getStorageSync("navs")){
// this.navs = uni.getStorageSync("navs")??[];
// }else{
// setTimeout(()=>{
// this.navs = uni.getStorageSync("navs")??[];
// this.activeHandler();
// },3000)
// }
// this.activeHandler();
// },
methods
:
{
activeHandler
()
{
let
t
=
getCurrentPages
();
...
...
@@ -181,6 +194,7 @@ export default {
queryString
=
"?"
+
queryString
.
substring
(
1
,
queryString
.
length
)
}
this
.
crtPath
=
"/"
+
t
[
t
.
length
-
1
].
route
+
queryString
;
console
.
log
(
this
.
crtPath
)
this
.
navs
.
forEach
((
x
,
i
)
=>
{
if
(
x
.
url
==
this
.
crtPath
)
{
this
.
active
=
i
;
...
...
pages/goods/goods.vue
View file @
b402c7de
This diff is collapsed.
Click to expand it.
pages/index/index.vue
View file @
b402c7de
...
...
@@ -48,6 +48,7 @@
<checkform
v-if=
"d.id == 'form'"
:forms=
"d.data"
:key=
"di"
></checkform>
<addialog
v-if=
"d.id == 'modal' && d.data.opened"
:ads=
"d.data"
:key=
"di"
></addialog>
<quicknav
v-if=
"d.id == 'quick-nav' && d.data.navSwitch == 1"
:navs=
"d.data"
:key=
"di"
></quicknav>
<pingtuan
v-if=
"d.id == 'pintuan'"
:goods=
"d.data"
:key=
"di"
></pingtuan>
</
template
>
</view>
</template>
...
...
@@ -99,6 +100,7 @@ import checkform from "@/components/checkform/index";
import
addialog
from
"@/components/addialog/index"
;
import
quicknav
from
"@/components/quicknav/index"
;
import
coupon
from
"@/components/coupons/coupons"
;
import
pingtuan
from
"@/components/pingtuan/index"
;
export
default
{
data
()
{
return
{
...
...
@@ -140,6 +142,7 @@ export default {
addialog
,
quicknav
,
coupon
,
pingtuan
,
},
onLoad
(
options
)
{
console
.
log
(
options
,
"option"
);
...
...
@@ -157,8 +160,27 @@ export default {
this
.
contentHeight
=
this
.
$utils
.
calcContentHeight
(
c
);
if
(
options
&&
options
.
page_id
)
{
this
.
pageId
=
options
.
page_id
;
this
.
showtabs
=
false
;
this
.
contentHeight
=
this
.
$utils
.
calcContentHeight
();
let
queryString
=
""
;
for
(
var
k
in
options
)
{
queryString
+=
`&
${
k
}
=
${
options
[
k
]}
`
;
}
if
(
queryString
!=
""
)
{
queryString
=
"/pages/index/index?"
+
queryString
.
substring
(
1
,
queryString
.
length
);
}
let
p
=
0
;
if
(
uni
.
getStorageSync
(
"navs"
))
{
uni
.
getStorageSync
(
"navs"
).
forEach
(
x
=>
{
if
(
x
.
url
==
queryString
)
{
p
=
1
;
}
})
}
if
(
p
==
0
)
{
this
.
showtabs
=
false
;
this
.
contentHeight
=
this
.
$utils
.
calcContentHeight
();
}
}
if
(
options
&&
options
.
custom_params
)
{
let
custom_params
=
JSON
.
parse
(
decodeURIComponent
(
options
.
custom_params
));
...
...
@@ -181,16 +203,16 @@ export default {
withShareTicket
:
true
,
menus
:
[
"shareAppMessage"
,
"shareTimeline"
],
});
if
(
uni
.
getStorageSync
(
'mall_UserInfo'
))
{
let
uid
=
uni
.
getStorageSync
(
'mall_UserInfo'
).
UserId
if
(
uni
.
getStorageSync
(
"mall_UserInfo"
))
{
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
).
UserId
;
wx
.
getUserInfo
({
success
:
function
(
res
)
{
let
msg
=
{
Id
:
uid
,
AliasName
:
res
.
userInfo
.
nickName
,
Photo
:
res
.
userInfo
.
avatarUrl
}
that
.
updateuserinfo
(
msg
)
let
msg
=
{
Id
:
uid
,
AliasName
:
res
.
userInfo
.
nickName
,
Photo
:
res
.
userInfo
.
avatarUrl
,
}
;
that
.
updateuserinfo
(
msg
)
;
},
});
}
...
...
@@ -253,7 +275,7 @@ export default {
},
methods
:
{
updateuserinfo
(
msg
){
updateuserinfo
(
msg
)
{
this
.
request2
(
{
url
:
"/api/MemberUser/SetMemberPhoto"
,
...
...
@@ -413,6 +435,64 @@ export default {
y
.
templateBg
=
{
titleColor
:
"#000"
};
}
});
this
.
myPageData
.
home_pages
.
navs
[
0
].
template
.
data
.
push
({
id
:
"pintuan"
,
permission_key
:
"pintuan"
,
data
:
{
buttonColor
:
"#ff4544"
,
list
:
[
{
id
:
179402
,
name
:
"日本POLA宝丽黑BA限定小礼盒(黑ba水20ml +黑ba乳液15ml +黑ba面霜5g +黑ba唇颊膏2g)"
,
picUrl
:
"https://cdnimg.iotweixin.com/uploads/mall1285/20200506/904171cab7db2201f6f35c0ca5bb0a93.png"
,
price
:
"388.00"
,
peopleNum
:
2
,
pintuanPrice
:
"348.00"
,
},
{
id
:
178355
,
name
:
"日本珂润(Curel)润浸保湿 滋养乳霜 40g 敏感肌专用 神经酰胺护理 抵抗外部刺激"
,
picUrl
:
"https://cdnimg.iotweixin.com/uploads/mall1285/20200503/979653726a7bc1df0e24464f94b404bd.jpg"
,
price
:
"180.00"
,
peopleNum
:
2
,
pintuanPrice
:
"180.00"
,
},
{
id
:
178352
,
name
:
"500g 干羊肚菌 干货 煲汤菌 菌中之王 包邮"
,
picUrl
:
"https://cdnimg.iotweixin.com/uploads/mall1285/20200311/358dd9acf5dafd3cab2c05be3354400c.png"
,
price
:
"780.00"
,
peopleNum
:
3
,
pintuanPrice
:
"680.00"
,
},
],
listStyle
:
1
,
textStyle
:
1
,
fill
:
1
,
goodsCoverProportion
:
"1-1"
,
goodsStyle
:
1
,
showGoodsName
:
true
,
showBuyBtn
:
true
,
buyBtnStyle
:
1
,
buyBtnText
:
"去拼团"
,
showGoodsTag
:
false
,
customizeGoodsTag
:
false
,
goodsTagPicUrl
:
""
,
showImg
:
false
,
backgroundColor
:
"#fff"
,
backgroundPicUrl
:
""
,
position
:
5
,
mode
:
1
,
backgroundHeight
:
100
,
backgroundWidth
:
100
,
borderBackground
:
"#ffffff"
,
},
});
},
getReceive
()
{
//分享进入调取领券接口
...
...
pages/pintuan/tuangood.vue
0 → 100644
View file @
b402c7de
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