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
5db16318
Commit
5db16318
authored
Dec 11, 2024
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
品牌列表
parent
6cd134dc
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
312 additions
and
140 deletions
+312
-140
pages.json
pages.json
+7
-1
header.vue
pages/components/header.vue
+1
-1
brandComponent.vue
pages/kotra/brand/brandComponent.vue
+61
-0
list.vue
pages/kotra/brand/list.vue
+170
-72
carrierElement.vue
pages/kotra/carrier/carrierElement.vue
+68
-64
list.vue
pages/kotra/carrier/list.vue
+5
-2
No files found.
pages.json
View file @
5db16318
...
@@ -740,7 +740,13 @@
...
@@ -740,7 +740,13 @@
{
{
"path"
:
"baomingorder"
//报名订单
"path"
:
"baomingorder"
//报名订单
},
{
},
{
"path"
:
"brand/list"
//品牌列表
"path"
:
"brand/list"
,
//品牌列表
"style"
:
{
"navigationStyle"
:
"custom"
},
"globalStyle"
:
{
"navigationStyle"
:
"custom"
}
},
{
},
{
"path"
:
"brand/detail"
//品牌详情
"path"
:
"brand/detail"
//品牌详情
//
"enablePullDownRefresh"
:
true
,
//
"enablePullDownRefresh"
:
true
,
...
...
pages/components/header.vue
View file @
5db16318
...
@@ -53,6 +53,6 @@ export default {
...
@@ -53,6 +53,6 @@ export default {
position
:
relative
;
position
:
relative
;
}
}
.carrHeader
{
.carrHeader
{
padding-top
:
8
8
rpx
;
padding-top
:
4
8
rpx
;
}
}
</
style
>
</
style
>
\ No newline at end of file
pages/kotra/brand/brandComponent.vue
0 → 100644
View file @
5db16318
<
template
>
<u-row
gutter=
"24"
>
<u-col
span=
"6"
v-for=
"(x, i) in g"
:key=
"i"
>
<view
class=
"good_study_two"
@
click=
"openGood(x.ID)"
:style=
"
{ borderRadius: '20rpx' }"
>
<view
class=
"img-box"
>
<view
class=
"img-show"
>
<image
style=
"
width: 100%;
height: 100%;
border-radius: 20rpx 20rpx 0 0;
"
mode=
"aspectFill"
:src=
"x.BannerList[0]"
/>
</view>
</view>
<view
class=
"good-info"
>
<view
class=
"good-name"
>
{{
x
.
BrandName
}}
</view>
<view
class=
"good-price-info"
>
<span
class=
"price"
>
{{
x
.
CategoryName
}}
</span>
</view>
</view>
</view>
</u-col>
</u-row>
</
template
>
<
script
>
export
default
{
props
:[
'g'
],
data
()
{
return
{
replace
:
null
}
},
onLoad
(
options
)
{
},
mounted
()
{
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
this
.
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
},
methods
:{
openGood
(
id
)
{
return
if
(
this
.
replace
.
state
==
'1'
){
uni
.
navigateTo
({
url
:
"/pages/kotra/brand/detail?id="
+
id
,
});
}
else
{
}
},
}
}
</
script
>
\ No newline at end of file
pages/kotra/brand/list.vue
View file @
5db16318
...
@@ -6,78 +6,116 @@
...
@@ -6,78 +6,116 @@
overflow: 'hidden',
overflow: 'hidden',
}"
}"
>
>
<view
style=
"padding: 5px 10px"
>
<view
class=
"brandHeadBgBox"
<u-search
:style=
"
{'background': TenantId!=18?`linear-gradient(-3deg, #eff8ff, #c6e6ff)`:''}">
placeholder=
"搜索品牌名称"
<headers
:title=
"replace.state=='1'?'品牌列表':'企业列表'"
></headers>
:focus=
"false"
<view
v-if=
"TenantId==18"
style=
"padding: 5px 10px"
>
:show-action=
"false"
<u-search
:clearabled=
"true"
placeholder=
"搜索品牌名称"
radius=
"40"
:focus=
"false"
v-model=
"msg.BrandName"
:show-action=
"false"
@
search=
"searchHandler"
:clearabled=
"true"
@
custom=
"searchHandler"
radius=
"40"
bg-color=
"#FFF"
v-model=
"msg.BrandName"
></u-search>
@
search=
"searchHandler"
</view>
@
custom=
"searchHandler"
<view
style=
"display: flex; align-items: center"
>
bg-color=
"#FFF"
<view
style=
"flex: 1; overflow: hidden"
>
></u-search>
<u-tabs
bg-color=
"#f6f6f6"
:is-scroll=
"true"
name=
"ClassName"
:list=
"typeList"
:active-color=
"mainColor"
:current=
"active"
@
change=
"changeHandler"
:show-bar=
"true"
: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;"
>
<view
v-else
class=
"brandSearch"
style=
"padding: 5px 10px;margin-top: 6rpx;"
>
<u-icon
name=
"filter-o"
color=
"#111"
size=
"42"
></u-icon>
<view
class=
"brandSearch-right"
>
</div>
-->
<input
v-model=
"msg.BrandName"
</view>
:placeholder=
"`搜索$
{replace.state=='1'?'品牌':'企业'}名称`"
<view
class=
"carrierScreen"
>
@input="ResetQuery">
</input>
<view
</view>
class=
"statusBox"
</view>
v-if=
"msg.IsInChengdu == 0"
<template
v-if=
"TenantId==18"
>
@
click=
"changeFirstStoreTest(-1)"
<view
style=
"display: flex; align-items: center"
>
>
<view
style=
"flex: 1; overflow: hidden"
>
未在成都落地
<u-tabs
</view>
bg-color=
"#f6f6f6"
<view
:is-scroll=
"true"
class=
"statusBox2"
name=
"ClassName"
v-if=
"msg.IsInChengdu == -1"
:list=
"typeList"
@
click=
"changeFirstStoreTest(0)"
:active-color=
"mainColor"
>
:current=
"active"
未在成都落地
@
change=
"changeHandler"
</view>
:show-bar=
"true"
</view>
:activeFontSize=
"34"
<view
class=
"screenBox"
v-if=
"PrizeList.length > 0"
>
:bold=
"true"
<view
height=
"100"
v-for=
"(item, index) in PrizeList"
duration=
"0"
:key=
"index"
font-size=
"28"
class=
"screenBoxItem"
></u-tabs>
@
click=
"chooseYear(item)"
</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
class=
"brandScreen"
>
<view
<view
class=
"screenBoxItemYear"
class=
"statusBox"
:class=
"
{ activeYear: item.Id == msg.PrizeId }"
v-if=
"msg.IsInChengdu == 0"
>
{{
item
.
YearInfo
}}
</view
@
click=
"changeFirstStoreTest(-1)"
><view
class=
"screenBoxItemName"
:class=
"
{ activeName: item.Id == msg.PrizeId }"
>
{{
item
.
Name
}}
</view
>
>
未在成都落地
</view>
<view
class=
"statusBox2"
v-if=
"msg.IsInChengdu == -1"
@
click=
"changeFirstStoreTest(0)"
>
未在成都落地
</view>
</view>
<view
class=
"screenBox"
v-if=
"PrizeList.length > 0"
>
<view
v-for=
"(item, index) in PrizeList"
:key=
"index"
class=
"screenBoxItem"
@
click=
"chooseYear(item)"
>
<view
class=
"screenBoxItemYear"
:class=
"
{ activeYear: item.Id == msg.PrizeId }"
>
{{
item
.
YearInfo
}}
</view
><view
class=
"screenBoxItemName"
:class=
"
{ activeName: item.Id == msg.PrizeId }"
>
{{
item
.
Name
}}
</view
>
</view>
</view>
</
template
>
<view
v-else
style=
"display: flex; align-items: center;padding: 28rpx 0;"
>
<view
style=
"flex: 1; overflow: hidden;padding-left: 32rpx;"
class=
"brandTabBox"
>
<u-tabs
bg-color=
"none"
:is-scroll=
"true"
name=
"ClassName"
:list=
"typeList"
:active-color=
"mainColor"
inactive-color=
"#000000"
:active-item-style=
"activeItemStyleBrand"
:current=
"active"
@
change=
"changeHandler"
:show-bar=
"false"
:activeFontSize=
"23"
:bold=
"true"
height=
"45"
duration=
"0"
font-size=
"23"
gutter=
"29"
></u-tabs>
</view>
</view>
</view>
</view>
</view>
<u-empty
v-if=
"g.length == 0"
text=
"暂无内容"
mode=
"list"
></u-empty>
<u-empty
v-if=
"g.length == 0"
text=
"暂无内容"
mode=
"list"
></u-empty>
<view
<view
style=
"height: calc(100% - 1
27
px); padding: 2px 10px"
style=
"height: calc(100% - 1
92
px); padding: 2px 10px"
v-if=
"g.length > 0"
v-if=
"g.length > 0"
>
>
<scroll-view
<scroll-view
...
@@ -85,9 +123,9 @@
...
@@ -85,9 +123,9 @@
:enable-back-to-top=
"true"
:enable-back-to-top=
"true"
:enable-flex=
"true"
:enable-flex=
"true"
@
scrolltolower=
"lower"
@
scrolltolower=
"lower"
style=
"height: 100%; padding-bottom: 0px"
style=
"height: 100%; padding-bottom: 0px
;padding-top: 20rpx;
"
>
>
<u-row
gutter=
"24"
>
<u-row
v-if=
"TenantId==18"
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"
class=
"good_study_two"
...
@@ -124,6 +162,9 @@
...
@@ -124,6 +162,9 @@
</u-col>
</u-col>
</u-row>
</u-row>
<
template
v-else
>
<brandComponent
v-if=
"g&&g.length>0"
:g=
"g"
></brandComponent>
</
template
>
<u-loadmore
<u-loadmore
:status=
"status"
:status=
"status"
:load-text=
"loadText"
:load-text=
"loadText"
...
@@ -143,10 +184,14 @@
...
@@ -143,10 +184,14 @@
<
script
>
<
script
>
import
auth
from
"@/components/auth/index.vue"
;
import
auth
from
"@/components/auth/index.vue"
;
import
tabbars
from
"@/components/tabbar/index"
;
import
tabbars
from
"@/components/tabbar/index"
;
import
headers
from
"@/pages/components/header"
;
import
brandComponent
from
"./brandComponent"
;
export
default
{
export
default
{
components
:
{
components
:
{
tabbars
,
tabbars
,
auth
auth
,
headers
,
brandComponent
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -171,7 +216,8 @@ export default {
...
@@ -171,7 +216,8 @@ export default {
XinFeng
:
-
1
,
XinFeng
:
-
1
,
BrandClassId
:
0
,
BrandClassId
:
0
,
PrizeId
:
0
,
//
PrizeId
:
0
,
//
IsInChengdu
:
-
1
,
//是否已在成都落地
IsInChengdu
:
-
1
,
//是否已在成都落地
BrandEnterpriseType
:
null
,
},
},
loadText
:
{
loadText
:
{
loadmore
:
"轻轻上拉,加载更多"
,
loadmore
:
"轻轻上拉,加载更多"
,
...
@@ -183,6 +229,21 @@ export default {
...
@@ -183,6 +229,21 @@ export default {
g
:
[],
g
:
[],
contentHeight
:
0
,
contentHeight
:
0
,
PrizeList
:
[],
//首店年份列表
PrizeList
:
[],
//首店年份列表
activeItemStyleBrand
:{
"font-size"
:
"23rpx"
,
"font-family"
:
"PingFang SC"
,
"font-weight"
:
"Bold"
,
color
:
"#017EDF"
,
"border"
:
"1rpx solid #017EDF"
,
"border-radius"
:
"10rpx"
,
"height"
:
"50rpx"
,
"line-height"
:
"45rpx"
,
"padding"
:
"0 22rpx"
,
"background"
:
"#FFF"
},
TenantId
:
18
,
replace
:
null
,
secondary
:
null
,
};
};
},
},
onShareTimeline
()
{
onShareTimeline
()
{
...
@@ -244,6 +305,11 @@ export default {
...
@@ -244,6 +305,11 @@ export default {
};
};
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
this
.
TenantId
=
uid
.
TenantId
this
.
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
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
;
}
}
...
@@ -284,10 +350,14 @@ export default {
...
@@ -284,10 +350,14 @@ export default {
this
.
showAuth
=
false
this
.
showAuth
=
false
},
},
GetBrandClassList
()
{
GetBrandClassList
()
{
let
BrandCategory
=
''
if
(
this
.
TenantId
!=
18
)
BrandCategory
=
this
.
replace
.
state
==
'1'
?
3
:
4
this
.
request2
(
this
.
request2
(
{
{
url
:
"/api/AppletTrade/GetBrandClassList"
,
url
:
"/api/AppletTrade/GetBrandClassList"
,
data
:
{},
data
:
{
BrandCategory
},
},
},
(
res
)
=>
{
(
res
)
=>
{
if
(
res
.
resultCode
==
1
)
{
if
(
res
.
resultCode
==
1
)
{
...
@@ -313,10 +383,20 @@ export default {
...
@@ -313,10 +383,20 @@ export default {
);
);
this
.
init
();
this
.
init
();
},
},
ResetQuery
(){
this
.
g
=
[]
this
.
msg
.
pageIndex
=
1
this
.
init
()
},
init
()
{
init
()
{
let
url
=
"/api/AppletTrade/GetBrandPageList"
if
(
this
.
TenantId
!=
18
&&
this
.
replace
.
state
){
if
(
this
.
replace
.
state
==
'1'
)
url
=
"/api/AppletTrade/GetBrandEnterprisePageList"
else
url
=
"/api/AppletTrade/GetEnterpriseServicesPageList"
}
this
.
request2
(
this
.
request2
(
{
{
url
:
"/api/AppletTrade/GetBrandPageList"
,
url
:
url
,
data
:
this
.
msg
,
data
:
this
.
msg
,
},
},
(
res
)
=>
{
(
res
)
=>
{
...
@@ -401,6 +481,24 @@ export default {
...
@@ -401,6 +481,24 @@ export default {
</
script
>
</
script
>
<
style
>
<
style
>
.brandSearch-right
>
input
::placeholder
{
color
:
#95AAB9
;
}
.brandSearch-right
{
font-size
:
27
rpx
;
font-weight
:
100
;
}
.brandSearch
{
height
:
76
rpx
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
z-index
:
101
;
margin
:
0
32
rpx
;
background
:
#EEF7FF
;
border-radius
:
18
rpx
;
position
:
relative
;
}
.good_study_two
{
.good_study_two
{
position
:
relative
;
position
:
relative
;
margin-bottom
:
12px
;
margin-bottom
:
12px
;
...
@@ -560,7 +658,7 @@ export default {
...
@@ -560,7 +658,7 @@ export default {
top
:
0
;
top
:
0
;
left
:
0
;
left
:
0
;
}
}
.
carrier
Screen
{
.
brand
Screen
{
height
:
50
rpx
;
height
:
50
rpx
;
margin
:
20
rpx
0
;
margin
:
20
rpx
0
;
display
:
flex
;
display
:
flex
;
...
...
pages/kotra/carrier/carrierElement.vue
View file @
5db16318
<
template
>
<
template
>
<view>
<view
v-for=
"(item, index) in dataList"
:key=
"index"
>
<view
v-for=
"(item, index) in dataList"
:key=
"index"
>
<div
<div
class=
"good_study_one"
class=
"good_study_one"
@
click=
"openGood(item.ID, item.CategoryName)"
@
click=
"openGood(item.ID, item.CategoryName)"
:style=
"
{
:style=
"
{
borderRadius: '15px',
borderRadius: '15px',
}"
}"
>
>
<view
class=
"carriertag"
v-if=
"item.IsChengDu||item.IsChengDu>=0"
>
<view
class=
"carriertag"
v-if=
"item.IsChengDu||item.IsChengDu>=0"
>
<view
class=
"carriertagsub1"
>
{{
item
.
IsChengDu
?
'成都'
:
'宜宾'
}}
</view>
<view
class=
"carriertagsub1"
>
{{
item
.
IsChengDu
?
'成都'
:
'宜宾'
}}
</view>
</view>
<view
class=
"img-box"
>
<view
class=
"img-show"
>
<image
style=
"
width: 100%;
height: 100%;
border-radius: 10rpx 10rpx 0 0;
"
mode=
"aspectFill"
:src=
"item.BannerList[0]"
/>
</view>
</view>
<view
class=
"img-box"
>
</view>
<view
class=
"img-show"
>
<div
class=
"good-info"
>
<image
<div
class=
"good-name"
>
<div
class=
"span-name"
style=
"display: flex"
>
<div
class=
"span-name-sub"
>
{{
item
.
CarrierName
}}
</div>
</div>
<div
class=
"span-type"
>
{{
item
.
CategoryName
}}
<text
v-if=
"item.OpeningStatus == 0"
style=
"
style=
"
width: 100%;
font-size: 24rpx;
height: 100%;
font-family: PingFang SC;
border-radius: 10rpx 10rpx 0 0;
font-weight: 500;
color: #f70027;
margin-left: 10rpx;
"
"
mode=
"aspectFill"
>
即将开业
</text
:src=
"item.BannerList[0]"
>
/>
<text
</view>
v-if=
"item.OpeningStatus == 1"
</view>
style=
"
<div
class=
"good-info"
>
font-size: 24rpx;
<div
class=
"good-name"
>
font-family: PingFang SC;
<div
class=
"span-name"
style=
"display: flex"
>
font-weight: 500;
<div
class=
"span-name-sub"
>
{{
item
.
CarrierName
}}
</div>
color: #111111;
</div>
margin-left: 10rpx;
<div
class=
"span-type"
>
"
{{
item
.
CategoryName
}}
>
已开业
</text
<text
>
v-if=
"item.OpeningStatus == 0"
style=
"
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #f70027;
margin-left: 10rpx;
"
>
即将开业
</text
>
<text
v-if=
"item.OpeningStatus == 1"
style=
"
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #111111;
margin-left: 10rpx;
"
>
已开业
</text
>
</div>
</div>
<div
class=
"good-price-info"
>
<u-icon
name=
"location"
color=
"#999"
size=
"24"
></u-icon>
<span
class=
"price"
style=
"margin-left: 5px"
>
{{
item
.
Address
}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"good-price-info"
>
<u-icon
name=
"location"
color=
"#999"
size=
"24"
></u-icon>
<span
class=
"price"
style=
"margin-left: 5px"
>
{{
item
.
Address
}}
</span>
</div>
</div>
</div>
</view>
</div>
</view>
</view>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
...
@@ -73,20 +75,22 @@
...
@@ -73,20 +75,22 @@
}
}
},
},
onLoad
(
options
)
{
onLoad
(
options
)
{
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
this
.
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
},
},
mounted
()
{
mounted
()
{
let
uid
=
uni
.
getStorageSync
(
"mall_UserInfo"
)
this
.
replace
=
uni
.
getStorageSync
(
'replace_page_index'
)
},
},
methods
:{
methods
:{
openGood
(
id
,
type
)
{
openGood
(
id
,
type
)
{
if
(
this
.
replace
.
state
==
'1'
){
if
(
this
.
replace
.
state
==
'1'
){
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"/pages/kotra/carrier/detail_carrier?id="
+
id
+
"&&type="
+
type
,
url
:
"/pages/kotra/carrier/detail_carrier?id="
+
id
+
"&&type="
+
type
,
});
});
}
else
{
}
else
{
uni
.
navigateTo
({
url
:
"/pages/kotra/carrier/detail_building?id="
+
id
+
"&&type="
+
type
,
});
}
}
},
},
}
}
...
...
pages/kotra/carrier/list.vue
View file @
5db16318
...
@@ -127,7 +127,7 @@
...
@@ -127,7 +127,7 @@
mode=
"list"
mode=
"list"
class=
"noBox"
class=
"noBox"
></u-empty>
></u-empty>
<view
style=
"height: calc(100% -
20
1px)"
v-if=
"dataList&&dataList.length > 0"
>
<view
style=
"height: calc(100% -
19
1px)"
v-if=
"dataList&&dataList.length > 0"
>
<scroll-view
<scroll-view
:scroll-y=
"true"
:scroll-y=
"true"
:enable-back-to-top=
"true"
:enable-back-to-top=
"true"
...
@@ -209,7 +209,10 @@
...
@@ -209,7 +209,10 @@
</div>
</div>
</view>
</view>
</
template
>
</
template
>
<carrierElement
v-else
:dataList=
"dataList"
></carrierElement>
<
template
v-else
>
<carrierElement
v-if=
"dataList&&dataList.length>0"
:dataList=
"dataList"
></carrierElement>
</
template
>
<u-loadmore
<u-loadmore
:status=
"status"
:status=
"status"
:load-text=
"loadText"
:load-text=
"loadText"
...
...
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