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
07d7344f
Commit
07d7344f
authored
May 12, 2026
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
11
parent
f6a43580
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1634 additions
and
1904 deletions
+1634
-1904
index.vue
components/rubik/index.vue
+115
-118
index.vue
components/tabbar/index.vue
+15
-12
tradeIndex.vue
components/tradeActivity/tradeIndex.vue
+1
-6
index.vue
pages/index/index.vue
+59
-51
brandComponent.vue
pages/kotra/brand/brandComponent.vue
+79
-85
detail_brand.vue
pages/kotra/brand/detail_brand.vue
+2
-4
detail_new.vue
pages/kotra/brand/detail_new.vue
+628
-793
list.vue
pages/kotra/brand/list.vue
+17
-16
list.vue
pages/kotra/carrier/list.vue
+718
-819
No files found.
components/rubik/index.vue
View file @
07d7344f
<
template
>
<
template
>
<view
<view
class=
"ad-box"
:class=
"
{'ad-box-full':ad.list[0].link[0].PageName == 'full'}"
class=
"ad-box"
:style="{ height: ad.height == 'auto' ? 'auto' : ad.height + 'rpx',padding:marginStyle,backgroundColor:ad.background }">
:class=
"
{'ad-box-full':ad.list[0].link[0].PageName == 'full'}"
<view
class=
"ad-chi"
v-for=
"(item, index) in adtemp"
:key=
"index"
:style=
"[item.formatStyle]"
:style="{ height: ad.height == 'auto' ? 'auto' : ad.height + 'rpx',padding:marginStyle,backgroundColor:ad.background }"
>
<view
class=
"ad-chi"
v-for=
"(item, index) in adtemp"
:key=
"index"
:style=
"[item.formatStyle]"
:class=
"
{'ad-full-height':item.link[0].PageName == 'full'}"
:class=
"
{'ad-full-height':item.link[0].PageName == 'full'}"
@click="clickHandler(item.link[0].new_link_url)"
@click="clickHandler(item.link[0].new_link_url)">
>
<button
open-type=
"contact"
v-if=
"item.link[0].new_link_url=='contact'"
></button>
<button
open-type=
"contact"
v-if=
"item.link[0].new_link_url=='contact'"
></button>
<img
:src=
"item.pic_url"
style=
"margin-bottom:-4px"
mode=
"widthFix"
/>
<img
:src=
"item.pic_url"
style=
"margin-bottom:-4px"
mode=
"widthFix"
/>
</view>
</view>
<view
class=
"hots"
v-for=
"(x, i) in hotspots"
:key=
"i"
:style=
"[x.formatStyle]"
@
click=
"clickHots(x.link)"
>
</view>
<view
class=
"hots"
v-for=
"(x, i) in hotspots"
:key=
"i"
:style=
"[x.formatStyle]"
@
click=
"clickHots(x.link)"
>
</view>
<!--
<view
@
click=
"jumper()"
>
跳转
</view>
-->
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
[
"ad"
],
props
:
[
"ad"
],
data
()
{
data
()
{
return
{
return
{
adtemp
:
[],
adtemp
:
[],
marginStyle
:
""
,
marginStyle
:
""
,
hotspots
:
[],
hotspots
:
[],
showContact
:
false
showContact
:
false
}
}
},
},
created
()
{
created
()
{
console
.
log
(
this
.
ad
)
this
.
ad
.
list
.
forEach
((
x
)
=>
{
this
.
ad
.
list
.
forEach
((
x
)
=>
{
x
.
formatStyle
=
{
x
.
formatStyle
=
{
width
:
x
.
width
,
width
:
x
.
width
,
...
@@ -49,15 +38,16 @@ export default {
...
@@ -49,15 +38,16 @@ export default {
if
(
this
.
ad
.
height
==
"auto"
)
{
if
(
this
.
ad
.
height
==
"auto"
)
{
x
.
formatStyle
.
position
=
"unset"
;
x
.
formatStyle
.
position
=
"unset"
;
}
}
this
.
marginStyle
=
`
${
this
.
ad
.
top
??
0
}
px
$
{
this
.
ad
.
right
??
0
}
px
$
{
this
.
ad
.
bottom
??
0
}
px
$
{
this
.
ad
.
left
??
0
}
px
`
this
.
marginStyle
=
`
${
this
.
ad
.
top
??
0
}
px
$
{
this
.
ad
.
right
??
0
}
px
$
{
this
.
ad
.
bottom
??
0
}
px
$
{
this
.
ad
.
left
??
0
}
px
`
this.adtemp.push(x)
this.adtemp.push(x)
});
});
this.ad.hotspot.forEach(x=>
{
this.ad.hotspot.forEach(x =>
{
x.formatStyle=
{
x.formatStyle =
{
left:x.left+
'rpx',
left: x.left +
'rpx',
top:x.top+
'rpx',
top: x.top +
'rpx',
height:x.height+
'rpx',
height: x.height +
'rpx',
width:x.width+
'rpx'
width: x.width +
'rpx'
}
}
this.hotspots.push(x)
this.hotspots.push(x)
})
})
...
@@ -71,9 +61,9 @@ export default {
...
@@ -71,9 +61,9 @@ export default {
});
});
},
},
clickHandler(url) {
clickHandler(url) {
if(url=='contact')
{
if (url == 'contact')
{
return
return
}
else if (url && url.length > 0) {
}
else if (url && url.length > 0) {
uni.navigateTo({
uni.navigateTo({
url: url,
url: url,
});
});
...
@@ -87,39 +77,46 @@ export default {
...
@@ -87,39 +77,46 @@ export default {
}
}
},
},
},
},
};
};
</
script
>
</
script
>
<
style
>
<
style
>
.ad-box
{
.ad-box
{
position
:
relative
;
position
:
relative
;
width
:
100%
;
width
:
100%
;
}
}
.ad-box
.hots
{
.ad-box
.hots
{
position
:
absolute
;
position
:
absolute
;
z-index
:
2
;
z-index
:
2
;
}
}
.ad-box
.ad-chi
{
.ad-box
.ad-chi
{
position
:
absolute
;
position
:
absolute
;
}
}
.ad-box
.ad-chi
img
{
.ad-box
.ad-chi
img
{
width
:
100%
;
width
:
100%
;
}
}
.ad-box
.ad-chi
button
{
.ad-box
.ad-chi
button
{
position
:
absolute
;
position
:
absolute
;
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
opacity
:
0
;
opacity
:
0
;
z-index
:
2
;
z-index
:
2
;
}
}
.ad-box-full
{
.ad-box-full
{
position
:
absolute
;
position
:
absolute
;
top
:
0
;
top
:
0
;
bottom
:
0
;
bottom
:
0
;
left
:
0
;
left
:
0
;
right
:
0
;
right
:
0
;
}
}
.ad-full-height
,
.ad-full-height
image
{
.ad-full-height
,
.ad-full-height
image
{
height
:
100%
!important
;
height
:
100%
!important
;
}
}
</
style
>
</
style
>
\ No newline at end of file
components/tabbar/index.vue
View file @
07d7344f
...
@@ -117,22 +117,28 @@
...
@@ -117,22 +117,28 @@
<
template
>
<
template
>
<view>
<view>
<view
v-if=
"isShowIcon === 1"
>
<view
v-if=
"isShowIcon === 1"
>
<view
class=
"tabbarMain"
style=
"border-radius: 50rpx;"
:class=
"[flagTypeInfo ? 'tabbarMainIphone' : '']"
:style=
"
{'position':'fixed','left':'0','right':'0','padding-bottom':paddingBottom + 'rpx'}"
<view
class=
"tabbarMain"
style=
"border-radius: 50rpx;"
:class=
"[flagTypeInfo ? 'tabbarMainIphone' : '']"
:style=
"
{'position':'fixed','left':'0','right':'0','padding-bottom':paddingBottom + 'rpx'}"
v-if="navs
&&
navs.length > 0">
v-if="navs
&&
navs.length > 0">
<view
class=
"tabBtnMina"
mode=
""
>
<view
class=
"tabBtnMina"
mode=
""
>
<view
class=
"itmMain"
v-for=
"(x, i) in navs"
:key=
"i"
@
click
.
stop=
"goUrl(x.url)"
>
<view
class=
"itmMain"
v-for=
"(x, i) in navs"
:key=
"i"
@
click
.
stop=
"goUrl(x.url)"
>
<image
class=
"imgse"
:fade-show=
"false"
v-if=
"active != i"
mode=
"heightFix"
:src=
"x.icon"
></image>
<image
class=
"imgse"
:fade-show=
"false"
v-if=
"active != i"
mode=
"heightFix"
:src=
"x.icon"
>
<image
class=
"imgse"
:fade-show=
"false"
v-if=
"active === i"
mode=
"heightFix"
:src=
"x.active_icon"
></image>
</image>
<text
class=
"txtBtn"
:style=
"
{ color: active == i ? x.active_color : x.color }">
{{
x
.
text
}}
</text>
<image
class=
"imgse"
:fade-show=
"false"
v-if=
"active === i"
mode=
"heightFix"
:src=
"x.active_icon"
></image>
<text
class=
"txtBtn"
:style=
"
{ color: active == i ? x.active_color : x.color }">
{{
x
.
text
}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view
v-if=
"isShowIcon === 0"
>
<view
v-if=
"isShowIcon === 0"
>
<view
class=
"tabbarMain"
:class=
"[flagTypeInfo ? 'tabbarMainIphone' : '']"
:style=
"
{'padding-bottom':'64upx'}" v-if="navs
&&
navs.length > 0">
<view
class=
"tabbarMain"
:class=
"[flagTypeInfo ? 'tabbarMainIphone' : '']"
:style=
"
{'padding-bottom':'64upx'}" v-if="navs
&&
navs.length > 0">
<view
class=
"tabBtnMina"
:class=
"[flagTypeInfo ? 'tabBtnMinaIphone' : '']"
mode=
""
>
<view
class=
"tabBtnMina"
:class=
"[flagTypeInfo ? 'tabBtnMinaIphone' : '']"
mode=
""
>
<view
class=
"itmMain"
v-for=
"(x, i) in navs"
:key=
"i"
@
click
.
stop=
"goUrl(x.url)"
>
<view
class=
"itmMain"
v-for=
"(x, i) in navs"
:key=
"i"
@
click
.
stop=
"goUrl(x.url)"
>
<text
class=
"txtBtn2"
:class=
"
{ activeTxtBtn2: active == i }" :style="{ color: active == i ? x.active_color : x.color }">
{{
x
.
text
}}
</text>
<text
class=
"txtBtn2"
:class=
"
{ activeTxtBtn2: active == i }"
:style="{ color: active == i ? x.active_color : x.color }">
{{
x
.
text
}}
</text>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -210,7 +216,6 @@
...
@@ -210,7 +216,6 @@
queryString
=
"?"
+
queryString
.
substring
(
1
,
queryString
.
length
);
queryString
=
"?"
+
queryString
.
substring
(
1
,
queryString
.
length
);
}
}
this
.
crtPath
=
"/"
+
t
[
t
.
length
-
1
].
route
+
queryString
;
this
.
crtPath
=
"/"
+
t
[
t
.
length
-
1
].
route
+
queryString
;
console
.
log
(
this
.
crtPath
);
this
.
navs
.
forEach
((
x
,
i
)
=>
{
this
.
navs
.
forEach
((
x
,
i
)
=>
{
if
(
x
.
url
==
this
.
crtPath
)
{
if
(
x
.
url
==
this
.
crtPath
)
{
this
.
active
=
i
;
this
.
active
=
i
;
...
@@ -219,11 +224,9 @@
...
@@ -219,11 +224,9 @@
},
},
goUrl
(
url
)
{
goUrl
(
url
)
{
const
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
const
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
if
(
url
==
'/pages/index/index'
&&
replace
&&
replace
.
url
)
{
if
(
url
==
'/pages/index/index'
&&
replace
&&
replace
.
url
){
url
=
replace
.
url
url
=
replace
.
url
}
}
console
.
log
(
url
,
replace
)
if
(
this
.
crtPath
!=
url
)
{
if
(
this
.
crtPath
!=
url
)
{
uni
.
redirectTo
({
uni
.
redirectTo
({
url
:
url
,
url
:
url
,
...
...
components/tradeActivity/tradeIndex.vue
View file @
07d7344f
...
@@ -59,9 +59,7 @@
...
@@ -59,9 +59,7 @@
</view>
</view>
<view
class=
"waterfall-item-body"
>
<view
class=
"waterfall-item-body"
>
<view
class=
"waterfall-item-name"
>
{{
item
.
DataName
}}
</view>
<view
class=
"waterfall-item-name"
>
{{
item
.
DataName
}}
</view>
<view
class=
"waterfall-item-meta"
>
<text
class=
"waterfall-item-arrow"
>
查看详情 ›
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -85,9 +83,6 @@
...
@@ -85,9 +83,6 @@
</view>
</view>
<view
class=
"waterfall-item-body"
>
<view
class=
"waterfall-item-body"
>
<view
class=
"waterfall-item-name"
>
{{
item
.
DataName
}}
</view>
<view
class=
"waterfall-item-name"
>
{{
item
.
DataName
}}
</view>
<view
class=
"waterfall-item-meta"
>
<text
class=
"waterfall-item-arrow"
>
查看详情 ›
</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
...
...
pages/index/index.vue
View file @
07d7344f
...
@@ -7,7 +7,8 @@
...
@@ -7,7 +7,8 @@
</view>
</view>
</image>
</image>
</view>
</view>
<view
v-if=
"myPageData.home_pages"
v-show=
"showStart == false"
:style=
"[myPageData.home_pages.navs[active].templateBg]"
>
<view
v-if=
"myPageData.home_pages"
v-show=
"showStart == false"
:style=
"[myPageData.home_pages.navs[active].templateBg]"
>
<view
class=
"content"
style=
"min-height: 100vh;"
:style=
"
{
<view
class=
"content"
style=
"min-height: 100vh;"
:style=
"
{
'padding-bottom': showtabs == true ? boxpaddingbottom + 'px' : 0,
'padding-bottom': showtabs == true ? boxpaddingbottom + 'px' : 0,
paddingTop: noTitle?o:pagePaddingBottom
paddingTop: noTitle?o:pagePaddingBottom
...
@@ -29,16 +30,18 @@
...
@@ -29,16 +30,18 @@
<u-icon
name=
"arrow-left"
size=
"44"
></u-icon>
<u-icon
name=
"arrow-left"
size=
"44"
></u-icon>
</view>
</view>
</view>
</view>
<u-tabs
v-if=
"myPageData.home_pages && myPageData.home_pages.navs.length > 1"
name=
"name"
:list=
"myPageData.home_pages.navs"
<u-tabs
v-if=
"myPageData.home_pages && myPageData.home_pages.navs.length > 1"
name=
"name"
:is-scroll=
"true"
:active-color=
"mainColor"
:current=
"active"
:bar-width=
"80"
:font-size=
"32"
:bold=
"fals
e"
:list=
"myPageData.home_pages.navs"
:is-scroll=
"true"
:active-color=
"mainColor"
:current=
"activ
e"
@
change=
"changeHandler"
></u-tabs>
:bar-width=
"80"
:font-size=
"32"
:bold=
"false"
@
change=
"changeHandler"
></u-tabs>
<template
v-for=
"(item, i) in myPageData.home_pages.navs"
>
<template
v-for=
"(item, i) in myPageData.home_pages.navs"
>
<view
:key=
"i"
v-if=
"active == i"
:class=
"
{'flex-column':noTitle}">
<view
:key=
"i"
v-if=
"active == i"
:class=
"
{'flex-column':noTitle}">
<template
v-for=
"(d, di) in item.template.data"
>
<template
v-for=
"(d, di) in item.template.data"
>
<search
v-if=
"d.id == 'search' && isNavPosition == 0"
:style-str=
"d.data"
:key=
"di"
></search>
<search
v-if=
"d.id == 'search' && isNavPosition == 0"
:style-str=
"d.data"
:key=
"di"
>
</search>
<swiper
v-if=
"d.id == 'banner'"
:swipers=
"d.data"
:key=
"di"
></swiper>
<swiper
v-if=
"d.id == 'banner'"
:swipers=
"d.data"
:key=
"di"
></swiper>
<empty
v-if=
"d.id == 'empty'"
:block=
"d.data"
:key=
"di"
></empty>
<empty
v-if=
"d.id == 'empty'"
:block=
"d.data"
:key=
"di"
></empty>
<rubik
v-if=
"d.id == 'rubik'"
:ad=
"d.data"
:key=
"di"
:class=
"
{'full-col':d.data.list[0].link[0].PageName == 'full'}">
</rubik>
<rubik
v-if=
"d.id == 'rubik'"
:ad=
"d.data"
:key=
"di"
:class=
"
{'full-col':d.data.list[0].link[0].PageName == 'full'}">
</rubik>
<goods
v-if=
"d.id == 'goods'"
:goods=
"d.data"
:key=
"di"
></goods>
<goods
v-if=
"d.id == 'goods'"
:goods=
"d.data"
:key=
"di"
></goods>
<notice
v-if=
"d.id == 'notice'"
:notice=
"d.data"
:key=
"di"
></notice>
<notice
v-if=
"d.id == 'notice'"
:notice=
"d.data"
:key=
"di"
></notice>
<gridnav
v-if=
"d.id == 'nav'"
:navs=
"d.data"
:key=
"di"
></gridnav>
<gridnav
v-if=
"d.id == 'nav'"
:navs=
"d.data"
:key=
"di"
></gridnav>
...
@@ -54,7 +57,8 @@
...
@@ -54,7 +57,8 @@
<mapi
v-if=
"d.id == 'map'"
:mapi=
"d.data"
:key=
"di"
></mapi>
<mapi
v-if=
"d.id == 'map'"
:mapi=
"d.data"
:key=
"di"
></mapi>
<checkform
v-if=
"d.id == 'form'"
:forms=
"d.data"
:key=
"di"
></checkform>
<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>
<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>
<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>
-->
<!--
<pingtuan
v-if=
"d.id == 'pintuan'"
:goods=
"d.data"
:key=
"di"
></pingtuan>
-->
<shopinfo
v-if=
"d.id == 'shop-info'"
:ad=
"d.data"
:key=
"di"
ref=
"son"
></shopinfo>
<shopinfo
v-if=
"d.id == 'shop-info'"
:ad=
"d.data"
:key=
"di"
ref=
"son"
></shopinfo>
<guide
v-if=
"d.id == 'drive-guide'"
:info=
"d.data"
ref=
"city"
></guide>
<guide
v-if=
"d.id == 'drive-guide'"
:info=
"d.data"
ref=
"city"
></guide>
...
@@ -68,7 +72,8 @@
...
@@ -68,7 +72,8 @@
<!-- 线下服务商品 -->
<!-- 线下服务商品 -->
<sindex
v-if=
"d.id == 'storeGoods'"
:goods=
"d.data"
:key=
"di"
></sindex>
<sindex
v-if=
"d.id == 'storeGoods'"
:goods=
"d.data"
:key=
"di"
></sindex>
<!-- 老师列表 -->
<!-- 老师列表 -->
<educationteacher
v-if=
"d.id == 'educationteacher'"
:goods=
"d.data"
:key=
"di"
></educationteacher>
<educationteacher
v-if=
"d.id == 'educationteacher'"
:goods=
"d.data"
:key=
"di"
>
</educationteacher>
<!--导航栏-->
<!--导航栏-->
<navpage
v-if=
"d.id == 'nav-page'"
:navs=
"d.data"
:key=
"di"
></navpage>
<navpage
v-if=
"d.id == 'nav-page'"
:navs=
"d.data"
:key=
"di"
></navpage>
<!-- 相亲的人物模板 -->
<!-- 相亲的人物模板 -->
...
@@ -76,32 +81,31 @@
...
@@ -76,32 +81,31 @@
<!-- 相亲活动 -->
<!-- 相亲活动 -->
<miaiactivitytype
v-if=
"d.id == 'miaiactivitytype'"
:goods=
"d.data"
></miaiactivitytype>
<miaiactivitytype
v-if=
"d.id == 'miaiactivitytype'"
:goods=
"d.data"
></miaiactivitytype>
<!-- 相亲活动自定义 -->
<!-- 相亲活动自定义 -->
<miaiactivityCustom
v-if=
"d.id == 'miaiactivityCustom'"
:goods=
"d.data"
></miaiactivityCustom>
<miaiactivityCustom
v-if=
"d.id == 'miaiactivityCustom'"
:goods=
"d.data"
>
</miaiactivityCustom>
<!-- 瀑布流组件 -->
<!-- 瀑布流组件 -->
<Pubu
v-if=
"d.id == 'blindDatePPPlus'"
:dataObj=
"d.data"
@
refresh=
"refreshPage"
></Pubu>
<Pubu
v-if=
"d.id == 'blindDatePPPlus'"
:dataObj=
"d.data"
@
refresh=
"refreshPage"
></Pubu>
<!-- 首店活动插件 -->
<!-- 首店活动插件 -->
<tradeActivity
v-if=
"d.id == 'tradeActivity'"
:dataObj=
"d.data"
:pagePaddingBottom=
"pagePaddingBottom"
@
refresh=
"refreshPage"
<tradeActivity
v-if=
"d.id == 'tradeActivity'"
:dataObj=
"d.data"
ref=
"tradeActive"
></tradeActivity>
:pagePaddingBottom=
"pagePaddingBottom"
@
refresh=
"refreshPage"
ref=
"tradeActive"
>
</tradeActivity>
<!--首店首页数据插件-->
<!--首店首页数据插件-->
<tradeIndex
v-if=
"d.id == 'tradeIndex'"
@
refresh=
"refreshPage"
></tradeIndex>
<tradeIndex
v-if=
"d.id == 'tradeIndex'"
@
refresh=
"refreshPage"
></tradeIndex>
</
template
>
</
template
>
</view>
</view>
</template>
</template>
<view
class=
"contract_nav"
v-if=
"GetMiniAppId().MallBaseId==5"
>
<view
class=
"contract_nav"
v-if=
"GetMiniAppId().MallBaseId==5"
>
<button
class=
"Ma_nav-item"
show-message-card=
"true"
:send-message-path=
"currentParent"
open-type=
"contact"
>
<button
class=
"Ma_nav-item"
show-message-card=
"true"
:send-message-path=
"currentParent"
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1644833656000_313.png"
/>
open-type=
"contact"
>
<img
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1644833656000_313.png"
/>
</button>
</button>
</view>
</view>
<view
v-if=
"showtabs == true"
>
<view
v-if=
"showtabs == true"
>
<tabbar
></tabbar>
<tabbar></tabbar>
</view>
</view>
<view
class=
"tips_t"
<view
class=
"tips_t"
v-if=
"
v-if=
"add_show == 1 &&JSON.stringify(setting) != '{}' &&setting.add_app_text != null"
:style=
"{
add_show == 1 &&
JSON.stringify(setting) != '{}' &&
setting.add_app_text != null
"
:style=
"{
'border-radius': setting.add_app_bg_radius + 'rpx',
'border-radius': setting.add_app_bg_radius + 'rpx',
opacity: setting.add_app_bg_transparency / 100,
opacity: setting.add_app_bg_transparency / 100,
top: pagePaddingBottom,
top: pagePaddingBottom,
...
@@ -111,12 +115,14 @@
...
@@ -111,12 +115,14 @@
<Text
style=
"color: #fff"
>
{{ setting.add_app_text }}
</Text>
<Text
style=
"color: #fff"
>
{{ setting.add_app_text }}
</Text>
<view
class=
"triangle-up"
:style=
"{ top: pagePaddingBottom }"
></view>
<view
class=
"triangle-up"
:style=
"{ top: pagePaddingBottom }"
></view>
</view>
</view>
<coupon
v-if=
"showCoupons"
:coupon-message=
"couponMessage"
:cform=
"ComeFrom"
@
goLook=
"goLook"
@
closeBtn=
"closeBtn"
></coupon>
<coupon
v-if=
"showCoupons"
:coupon-message=
"couponMessage"
:cform=
"ComeFrom"
@
goLook=
"goLook"
@
closeBtn=
"closeBtn"
></coupon>
<
template
v-if=
"setting&&setting.is_show_auth==1"
>
<
template
v-if=
"setting&&setting.is_show_auth==1"
>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
<auth
v-if=
"showAuth"
@
changeuserinfo=
"reloadUserinfo"
@
gbAuth=
"gbAuth"
></auth>
</
template
>
</
template
>
<official-account></official-account>
<official-account></official-account>
<orderPopup
v-if=
"showorder"
:orderPopupdata=
"orderPopupdata"
@
gosalesvolume=
"gosalesvolume"
@
closeBtn=
"closeBtn_order"
></orderPopup>
<orderPopup
v-if=
"showorder"
:orderPopupdata=
"orderPopupdata"
@
gosalesvolume=
"gosalesvolume"
@
closeBtn=
"closeBtn_order"
></orderPopup>
</view>
</view>
</view>
</view>
</view>
</view>
...
@@ -204,7 +210,7 @@
...
@@ -204,7 +210,7 @@
page_idt
:
0
,
//首页组件分享参数
page_idt
:
0
,
//首页组件分享参数
boxpaddingbottom
:
0
,
//底部的高度
boxpaddingbottom
:
0
,
//底部的高度
currentParent
:
''
,
currentParent
:
''
,
noTitle
:
false
noTitle
:
false
};
};
},
},
components
:
{
components
:
{
...
@@ -358,17 +364,17 @@
...
@@ -358,17 +364,17 @@
if
(
options
&&
options
.
type
)
{
if
(
options
&&
options
.
type
)
{
this
.
carrierType
=
options
.
type
;
this
.
carrierType
=
options
.
type
;
}
}
if
(
options
&&
options
.
setnav
){
if
(
options
&&
options
.
setnav
)
{
let
current_url
=
"/"
+
this
.
currentParent
+
'?'
let
current_url
=
"/"
+
this
.
currentParent
+
'?'
for
(
let
key
in
options
)
{
for
(
let
key
in
options
)
{
current_url
+=
key
+
'='
+
options
[
key
]
+
'&'
;
current_url
+=
key
+
'='
+
options
[
key
]
+
'&'
;
}
}
current_url
=
current_url
.
slice
(
0
,
-
1
);
current_url
=
current_url
.
slice
(
0
,
-
1
);
const
replacePageData
=
{
const
replacePageData
=
{
url
:
current_url
,
url
:
current_url
,
state
:
options
.
setnav
state
:
options
.
setnav
}
}
uni
.
setStorageSync
(
"replace_page_index"
,
replacePageData
)
uni
.
setStorageSync
(
"replace_page_index"
,
replacePageData
)
}
}
// #ifdef MP-WEIXIN
// #ifdef MP-WEIXIN
...
@@ -613,7 +619,7 @@
...
@@ -613,7 +619,7 @@
}
}
},
},
methods
:
{
methods
:
{
SetMemberBindCustomer
(){
SetMemberBindCustomer
()
{
let
that
=
this
;
let
that
=
this
;
that
.
request2
({
that
.
request2
({
url
:
"/api/MemberUser/SetMemberBindCustomer"
,
url
:
"/api/MemberUser/SetMemberBindCustomer"
,
...
@@ -626,7 +632,7 @@
...
@@ -626,7 +632,7 @@
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
uni
.
removeStorageSync
(
'jzTravelOpenId'
);
uni
.
removeStorageSync
(
'jzTravelOpenId'
);
}
}
},(
err
)
=>
{
},
(
err
)
=>
{
// uni.showToast({
// uni.showToast({
// title: err.message,
// title: err.message,
// icon: "none",
// icon: "none",
...
@@ -1108,9 +1114,9 @@
...
@@ -1108,9 +1114,9 @@
res
.
data
.
mall
.
setting
.
mallStyle
.
pricecolor
;
res
.
data
.
mall
.
setting
.
mallStyle
.
pricecolor
;
}
}
this
.
indexPageData
=
res
.
data
.
home_pages
.
navs
[
0
].
template
.
data
;
this
.
indexPageData
=
res
.
data
.
home_pages
.
navs
[
0
].
template
.
data
;
if
(
!
res
.
data
.
home_pages
.
is_show_bottom_nav
)
{
if
(
!
res
.
data
.
home_pages
.
is_show_bottom_nav
)
{
this
.
showtabs
=
false
;
this
.
showtabs
=
false
;
}
else
{
}
else
{
this
.
showtabs
=
true
;
this
.
showtabs
=
true
;
}
}
this
.
noTitle
=
res
.
data
.
home_pages
.
is_noshow_title
this
.
noTitle
=
res
.
data
.
home_pages
.
is_noshow_title
...
@@ -1591,13 +1597,15 @@
...
@@ -1591,13 +1597,15 @@
width
:
80px
;
width
:
80px
;
height
:
80px
;
height
:
80px
;
}
}
.content
.flex-column
{
.content
.flex-column
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
width
:
100%
;
width
:
100%
;
min-height
:
100vh
;
min-height
:
100vh
;
}
}
.content
.flex-column
.full-col
{
.content
.flex-column
.full-col
{
flex
:
1
;
flex
:
1
;
height
:
1px
;
height
:
1px
;
position
:
relative
;
position
:
relative
;
...
...
pages/kotra/brand/brandComponent.vue
View file @
07d7344f
<
template
>
<
template
>
<u-row
gutter=
"24"
>
<u-row
gutter=
"24"
>
<u-col
span=
"6"
v-for=
"(x, i) in g"
:key=
"i"
>
<u-col
span=
"6"
v-for=
"(x, i) in g"
:key=
"i"
>
<view
<view
class=
"good_study_two"
@
click=
"openGood(x.ID,x.MallBaseId)"
:style=
"
{ borderRadius: '20rpx' }">
class=
"good_study_two"
@
click=
"openGood(x.ID,x.MallBaseId)"
:style=
"
{ borderRadius: '20rpx' }"
>
<view
class=
"img-box"
>
<view
class=
"img-box"
>
<view
class=
"img-show"
>
<view
class=
"img-show"
>
<image
<image
style=
"
style=
"
width: 100%;
width: 100%;
height: 100%;
height: 100%;
border-radius: 20rpx 20rpx 0 0;
border-radius: 20rpx 20rpx 0 0;
"
"
mode=
"aspectFill"
:src=
"x.BannerList[0]"
/>
mode=
"aspectFill"
:src=
"x.BannerList[0]"
/>
<!--
<view
class=
"imgNum"
v-if=
"x.AreaRequirement>0||x.EndAreaRequirement>0||x.ShopNum>0"
>
<!--
<view
class=
"imgNum"
v-if=
"x.AreaRequirement>0||x.EndAreaRequirement>0||x.ShopNum>0"
>
<span
class=
"imgN"
style=
"margin-bottom: 10rpx;"
<span
class=
"imgN"
style=
"margin-bottom: 10rpx;"
:style=
"
{'text-align':!x.ShopNum||x.ShopNum==''?'right':'left'}">
:style=
"
{'text-align':!x.ShopNum||x.ShopNum==''?'right':'left'}">
...
@@ -47,10 +39,10 @@
...
@@ -47,10 +39,10 @@
</template>
</template>
<
script
>
<
script
>
export
default
{
export
default
{
props
:
[
'g'
],
props
:
[
'g'
],
data
()
{
data
()
{
return
{
return
{
u
:
{},
u
:
{},
replace
:
null
replace
:
null
}
}
},
},
...
@@ -62,19 +54,19 @@
...
@@ -62,19 +54,19 @@
this
.
u
=
use
this
.
u
=
use
this
.
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
this
.
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
},
},
methods
:
{
methods
:
{
openGood
(
id
,
MallBaseId
)
{
openGood
(
id
,
MallBaseId
)
{
if
(
MallBaseId
==
8
)
{
if
(
MallBaseId
==
8
)
{
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"/pages/kotra/brand/detail?id="
+
id
,
url
:
"/pages/kotra/brand/detail?id="
+
id
,
});
});
return
return
}
}
if
(
this
.
replace
.
state
==
'1'
)
{
if
(
this
.
replace
.
state
==
'1'
)
{
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"/pages/kotra/brand/detail_brand?id="
+
id
,
url
:
"/pages/kotra/brand/detail_brand?id="
+
id
,
});
});
}
else
{
}
else
{
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"/pages/kotra/brand/detail_company?id="
+
id
,
url
:
"/pages/kotra/brand/detail_company?id="
+
id
,
});
});
...
@@ -84,10 +76,11 @@
...
@@ -84,10 +76,11 @@
}
}
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.img-show
{
.img-show
{
position
:
relative
;
position
:
relative
;
}
}
.imgNum
{
.imgNum
{
width
:
100%
;
width
:
100%
;
position
:
absolute
;
position
:
absolute
;
bottom
:
0
;
bottom
:
0
;
...
@@ -98,13 +91,14 @@
...
@@ -98,13 +91,14 @@
justify-content
:
space-between
;
justify-content
:
space-between
;
color
:
#fff
;
color
:
#fff
;
font-size
:
20
rpx
;
font-size
:
20
rpx
;
background
:
rgba
(
23
,
23
,
23
,
0.4
);
background
:
rgba
(
23
,
23
,
23
,
0.4
);
}
}
.imgN
{
.imgN
{
flex
:
1
;
flex
:
1
;
}
}
.imgN
:nth-child
(
2
)
{
text-align
:
right
;
}
.imgN
:nth-child
(
2
)
{
text-align
:
right
;
}
</
style
>
</
style
>
\ No newline at end of file
pages/kotra/brand/detail_brand.vue
View file @
07d7344f
...
@@ -209,8 +209,7 @@
...
@@ -209,8 +209,7 @@
"&id="
+
"&id="
+
this
.
ID
,
this
.
ID
,
imageUrl
:
this
.
details
.
BannerList
&&
this
.
details
.
BannerList
.
length
>
0
?
imageUrl
:
this
.
details
.
BannerList
&&
this
.
details
.
BannerList
.
length
>
0
?
this
.
details
.
BannerList
[
0
]
:
this
.
details
.
BannerList
[
0
]
:
""
,
""
,
};
};
},
},
onShareAppMessage
(
res
)
{
onShareAppMessage
(
res
)
{
...
@@ -237,8 +236,7 @@
...
@@ -237,8 +236,7 @@
title
:
this
.
details
.
FullBrandName
?
this
.
details
.
FullBrandName
:
""
,
title
:
this
.
details
.
FullBrandName
?
this
.
details
.
FullBrandName
:
""
,
path
:
"/pages/kotra/brand/detail_brand?id="
+
this
.
ID
,
path
:
"/pages/kotra/brand/detail_brand?id="
+
this
.
ID
,
imageUrl
:
this
.
details
.
BannerList
&&
this
.
details
.
BannerList
.
length
>
0
?
imageUrl
:
this
.
details
.
BannerList
&&
this
.
details
.
BannerList
.
length
>
0
?
this
.
details
.
BannerList
[
0
]
:
this
.
details
.
BannerList
[
0
]
:
""
,
""
,
};
};
},
},
methods
:
{
methods
:
{
...
...
pages/kotra/brand/detail_new.vue
View file @
07d7344f
This diff is collapsed.
Click to expand it.
pages/kotra/brand/list.vue
View file @
07d7344f
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
:style=
"
{'background': TenantId!=18?`linear-gradient(-3deg, #eff8ff, #c6e6ff)`:''}">
:style=
"
{'background': TenantId!=18?`linear-gradient(-3deg, #eff8ff, #c6e6ff)`:''}">
<headers
:title=
"replace.state=='1'?'品牌列表':'企业列表'"
></headers>
<headers
:title=
"replace.state=='1'?'品牌列表':'企业列表'"
></headers>
<view
v-if=
"TenantId==18"
style=
"padding: 5px 10px"
>
<view
v-if=
"TenantId==18"
style=
"padding: 5px 10px"
>
<u-search
placeholder=
"搜索
品牌
名称"
:focus=
"false"
:show-action=
"false"
:clearabled=
"true"
radius=
"40"
<u-search
placeholder=
"搜索名称"
:focus=
"false"
:show-action=
"false"
:clearabled=
"true"
radius=
"40"
v-model=
"msg.BrandName"
@
search=
"searchHandler"
@
custom=
"searchHandler"
v-model=
"msg.BrandName"
@
search=
"searchHandler"
@
custom=
"searchHandler"
bg-color=
"#FFF"
></u-search>
bg-color=
"#FFF"
></u-search>
</view>
</view>
...
@@ -41,9 +41,6 @@
...
@@ -41,9 +41,6 @@
:active-color=
"mainColor"
:current=
"active"
@
change=
"changeHandler"
:show-bar=
"true"
:active-color=
"mainColor"
:current=
"active"
@
change=
"changeHandler"
:show-bar=
"true"
:activeFontSize=
"34"
:bold=
"true"
height=
"100"
duration=
"0"
font-size=
"28"
></u-tabs>
:activeFontSize=
"34"
:bold=
"true"
height=
"100"
duration=
"0"
font-size=
"28"
></u-tabs>
</view>
</view>
<!--
<div
style=
"width: 64rpx;height: 48rpx;display: table-cell; vertical-align: middle;text-align: right;"
>
<u-icon
name=
"filter-o"
color=
"#111"
size=
"42"
></u-icon>
</div>
-->
</view>
</view>
<view
class=
"brandScreen"
>
<view
class=
"brandScreen"
>
<view
class=
"statusBox"
v-if=
"msg.IsInChengdu == 0"
@
click=
"changeFirstStoreTest(-1)"
>
<view
class=
"statusBox"
v-if=
"msg.IsInChengdu == 0"
@
click=
"changeFirstStoreTest(-1)"
>
...
@@ -57,9 +54,11 @@
...
@@ -57,9 +54,11 @@
<view
v-for=
"(item, index) in PrizeList"
:key=
"index"
class=
"screenBoxItem"
<view
v-for=
"(item, index) in PrizeList"
:key=
"index"
class=
"screenBoxItem"
@
click=
"chooseYear(item)"
>
@
click=
"chooseYear(item)"
>
<view
class=
"screenBoxItemYear"
:class=
"
{ activeYear: item.Id == msg.PrizeId }">
<view
class=
"screenBoxItemYear"
:class=
"
{ activeYear: item.Id == msg.PrizeId }">
{{
item
.
YearInfo
}}
</view>
{{
item
.
YearInfo
}}
</view>
<view
class=
"screenBoxItemName"
:class=
"
{ activeName: item.Id == msg.PrizeId }">
<view
class=
"screenBoxItemName"
:class=
"
{ activeName: item.Id == msg.PrizeId }">
{{
item
.
Name
}}
</view>
{{
item
.
Name
}}
</view>
</view>
</view>
</view>
</view>
</
template
>
</
template
>
...
@@ -229,7 +228,9 @@
...
@@ -229,7 +228,9 @@
"background"
:
"#FFF"
"background"
:
"#FFF"
},
},
TenantId
:
null
,
TenantId
:
null
,
replace
:
null
,
replace
:
{
state
:
"1"
,
//1-品牌,2-企业服务
},
secondary
:
null
,
secondary
:
null
,
GetYBConfig
:
null
,
GetYBConfig
:
null
,
iscpswjselectall
:
0
,
iscpswjselectall
:
0
,
...
@@ -298,10 +299,11 @@
...
@@ -298,10 +299,11 @@
this
.
iscpswjselectall
=
uni
.
getStorageSync
(
"basedata"
).
iscpswjselectall
this
.
iscpswjselectall
=
uni
.
getStorageSync
(
"basedata"
).
iscpswjselectall
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
this
.
TenantId
=
uid
.
TenantId
this
.
TenantId
=
uid
.
TenantId
// this.msg.TenantId = uid.TenantId
let
tempReplace
=
uni
.
getStorageSync
(
'replace_page_index'
)
this
.
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
if
(
tempReplace
&&
tempReplace
.
state
)
{
this
.
replace
.
state
=
tempReplace
.
state
;
}
this
.
msg
.
BrandEnterpriseType
=
this
.
replace
.
state
==
'1'
?
1
:
2
this
.
msg
.
BrandEnterpriseType
=
this
.
replace
.
state
==
'1'
?
1
:
2
if
(
options
&&
options
.
id
)
{
if
(
options
&&
options
.
id
)
{
this
.
msg
.
BrandClassId
=
options
.
id
;
this
.
msg
.
BrandClassId
=
options
.
id
;
}
}
...
@@ -316,12 +318,9 @@
...
@@ -316,12 +318,9 @@
this
.
GetBrandClassList
();
this
.
GetBrandClassList
();
this
.
getPrizeList
();
this
.
getPrizeList
();
// }
// }
},
},
created
()
{
created
()
{
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
this
.
mainColor
=
this
.
$uiConfig
.
mainColor
;
},
},
mounted
()
{
mounted
()
{
uni
.
setNavigationBarTitle
({
uni
.
setNavigationBarTitle
({
...
@@ -436,8 +435,11 @@
...
@@ -436,8 +435,11 @@
init
()
{
init
()
{
let
url
=
"/api/AppletTrade/GetBrandPageList"
let
url
=
"/api/AppletTrade/GetBrandPageList"
if
(
this
.
TenantId
!=
18
&&
this
.
replace
.
state
)
{
if
(
this
.
TenantId
!=
18
&&
this
.
replace
.
state
)
{
if
(
this
.
replace
.
state
==
'1'
)
url
=
"/api/AppletTrade/GetAllBrandEnterprisePageList"
if
(
this
.
replace
.
state
==
'1'
)
{
else
url
=
"/api/AppletTrade/GetEnterpriseServicesPageList"
url
=
"/api/AppletTrade/GetAllBrandEnterprisePageList"
}
else
{
url
=
"/api/AppletTrade/GetEnterpriseServicesPageList"
}
}
}
this
.
request2
({
this
.
request2
({
url
:
url
,
url
:
url
,
...
@@ -489,7 +491,6 @@
...
@@ -489,7 +491,6 @@
this
.
g
=
[];
this
.
g
=
[];
this
.
init
();
this
.
init
();
// }
// }
},
},
getPrizeList
()
{
getPrizeList
()
{
this
.
request2
({
this
.
request2
({
...
...
pages/kotra/carrier/list.vue
View file @
07d7344f
This diff is collapsed.
Click to expand it.
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