Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
F
fenxiao_h5-dz
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张志伟
fenxiao_h5-dz
提交
873578d7
提交
873578d7
编写于
5月 07, 2024
作者:
zhangzhiwei
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
.
上级
c295a9c7
变更
5
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
138 行增加
和
114 行删除
+138
-114
_index.js
src/api/_index.js
+5
-0
_index.ts
src/api/_index.ts
+5
-0
intelligent.vue
src/pages/index/intelligent.vue
+125
-111
userInfo.vue
src/pages/index/userInfo.vue
+3
-3
car_search.png
src/static/img/car_search.png
+0
-0
未找到文件。
src/api/_index.js
浏览文件 @
873578d7
import
request
from
"@/common/request"
;
export
default
{
dzResource
()
{
return
request
({
url
:
"/api/product/dzResource"
,
});
},
indexModule
()
{
return
request
({
url
:
"/api/index/module"
,
...
...
src/api/_index.ts
浏览文件 @
873578d7
import
request
from
"@/common/request"
;
export
default
{
dzResource
()
{
return
request
({
url
:
"/api/product/dzResource"
,
});
},
indexModule
()
{
return
request
({
url
:
"/api/index/module"
,
...
...
src/pages/index/intelligent.vue
浏览文件 @
873578d7
...
...
@@ -7,15 +7,17 @@
</view>
</van-sticky>
<div
class=
"main"
>
<van-sidebar
style=
"width:180rpx;"
class=
"sidebar"
v-model=
"categoryIndex"
@
change=
"onChange"
>
<van-sidebar-item
v-for=
"(item,index) in categoryList"
:key=
"index
"
:title=
"item.name"
/>
<van-sidebar
style=
"width:180rpx;"
class=
"sidebar"
v-model=
"categoryIndex"
>
<van-sidebar-item
@
click=
"onChange(item.id)"
v-for=
"(item,index) in categoryList"
:key=
"item.id
"
:title=
"item.name"
/>
</van-sidebar>
<div
class=
"right-content"
>
<div
class=
"card-shop"
v-for=
"item in 10"
>
<van-list
v-if=
"inited"
:loading=
"good.loading"
:finished=
"good.finished"
finished-text=
"没有更多了"
offset=
"10"
@
load=
"onGoodLoad"
>
<div
class=
"card-shop"
v-for=
"item in good.list"
>
<van-row>
<van-col
span=
"8"
style=
"border-bottom-left-radius: 80px;"
>
<view
class=
"image-container
"
>
<van-image
fit=
"cover"
lazy-load
src=
"https://img.edsmall.com/ROOT/ETao/gl/busiImage/166d3cd3-fe6d-44b7-9e2d-cb6d7ad6b0a6.pn
g"
<view
class=
"image-container"
@
click=
"goto(`/pages/good/detail?skuId=$
{item.skuId}
&
spuId=${item.spuId}`)
">
<van-image
fit=
"cover"
lazy-load
:src=
"item.mainIm
g"
loading-icon=
"https://img.edsmall.com/ROOT/ETao/fenxiao/h5/default1.png"
/>
</view>
</van-col>
...
...
@@ -23,33 +25,35 @@
<view
style=
"padding: 15rpx;background: #ffffff"
>
<text
class=
"text-s ellipsis line_over2"
style=
"text-align: left;background: #ffffff;line-height: 36rpx"
>
魅泰 MTTCB095白-05A套餐 成套灯具 现代风格魅泰 MTTCB095白-05A套餐 成套灯具 现代风格MTTCB095白-05A套餐 成套灯具 现代风格
{{
item
.
title
}}
</text>
</view>
<view
style=
"display: flex;background: #ffffff;padding: 15rpx;margin-top: 20rpx"
class=
"text01"
>
<view
style=
"display: flex;justify-content: space-between;align-items: center"
>
<view
style=
"display: flex;background: #ffffff;padding: 15rpx;margin-top: 10rpx"
class=
"text01"
>
<view
class=
"text-orange text-ss"
>
¥
<text
class=
"text-bold text-l"
>
898
</text>
<text
class=
"text-bold text-l"
>
{{
item
.
salePrice
}}
</text>
</view>
<view
class=
"text-ss"
style=
"margin-left: 16rpx"
>
<text
class=
"text-gray text-ss line-through"
>
¥888
</text>
<text
class=
"text-gray text-ss line-through"
>
¥
{{
item
.
productPrice
}}
</text>
</view>
<view
style=
"width: 80rpx"
>
</view>
<view
style=
"text-align: right
"
>
<view
@
click=
"check(item)
"
>
<img
src=
"../../static/img/car_search.png"
style=
"width: 1.8rem;margin-top: -5px
"
alt=
""
>
style=
"width: 1.8rem
"
alt=
""
>
</view>
</view>
</van-col>
</van-row>
</div>
</van-list>
</div>
</div>
</div>
</
template
>
<
script
lang=
"ts"
>
import
{
Dialog
}
from
"vant"
;
import
{
PageUtils
}
from
'@/utils/utils'
;
import
{
Toast
}
from
'vant'
;
import
api
from
"@/api"
;
...
...
@@ -57,15 +61,25 @@
export
default
{
setup
()
{
const
state
=
reactive
({
loading
:
{
cartAdd
:
false
,
productFav
:
false
,
brandFav
:
false
,
share
:
false
},
})
const
that
=
reactive
({
categoryList
:
[{
name
:
"智能艺术灯"
,
type
:
'menuId'
},
{
name
:
"智能筒射灯"
,
type
:
'styleName'
},
{
name
:
"智能磁吸灯"
,
type
:
'material'
},
{
name
:
"智能橱柜灯"
,
type
:
'money'
},
{
name
:
"智能灯带"
,
type
:
'zone'
},
{
name
:
"智能光源"
,
type
:
'brandId'
},
{
name
:
"智能面板"
,
type
:
'space'
},
{
name
:
"萌光套餐"
,
type
:
'color'
},
{
name
:
"萌光智选"
,
type
:
'colo1r'
},
{
name
:
"智选服务"
,
type
:
'col12or'
}],
list
:
[],
inited
:
false
,
temMuneId
:
null
,
good
:
{
loading
:
false
,
finished
:
false
,
fail
:
false
,
page
:
0
,
list
:
[]
as
any
},
categoryList
:
[],
categoryIndex
:
0
,
dataList
:
{},
toGoodList
:
(
search
)
=>
{
...
...
@@ -73,6 +87,38 @@
url
:
`/pages/goodList/index?
${
that
.
categoryList
[
that
.
categoryIndex
].
type
}
=
${
search
}
`
,
});
},
goto
(
url
)
{
url
&&
uni
.
navigateTo
({
url
})
},
cartAdd
(
data
)
{
if
(
state
.
loading
.
cartAdd
)
return
state
.
loading
.
cartAdd
=
true
api
.
cartAdd
({
skuId
:
data
.
skuId
,
link
:
uni
.
getStorageSync
(
'subdomain'
),
productQty
:
1
,
// B端去除起订量限制 skuData.value.moq
}).
then
(()
=>
{
Toast
.
success
(
'加入购物车'
)
}).
finally
(()
=>
{
state
.
loading
.
cartAdd
=
false
})
},
check
(
item
)
{
const
{
token
}
=
uni
.
getStorageSync
(
"user"
)
||
{};
if
(
token
)
{
that
.
cartAdd
(
item
)
}
else
{
Dialog
.
confirm
({
message
:
'您尚未登录,请前往登录'
,
title
:
"提示"
,
cancelButtonText
:
'取消'
}).
then
(()
=>
{
uni
.
navigateTo
({
url
:
'/pages/login/login'
})
});
}
},
changeLi
:
(
e
)
=>
{
let
topH1
=
document
.
getElementById
(
e
)
topH1
.
scrollIntoView
({
...
...
@@ -82,87 +128,55 @@
goBack
()
{
PageUtils
.
goBack
()
},
changeName
:
(
name
)
=>
{
switch
(
name
)
{
case
'TTT'
:
return
'淘淘淘专区'
break
;
case
'VIP'
:
return
'PLUS'
break
;
case
'XIAN_LIANG'
:
return
'限量专区'
break
;
case
'XIAO_E'
:
return
'小E专区'
break
;
case
'YAN_XUAN'
:
return
'严选专区'
break
;
case
'YOU_XUAN'
:
return
'优选专区'
break
;
case
'XIN_P'
:
return
'新品专区'
break
;
case
'AUTONOM_HD'
:
return
'活动专区'
onGoodLoad
()
{
if
(
that
.
good
.
loading
||
that
.
good
.
fail
)
return
that
.
good
.
loading
=
true
that
.
good
.
page
+=
1
api
.
productList
({
menuId
:
that
.
temMuneId
,
pageNum
:
that
.
good
.
page
,
sortType
:
0
,
pageSize
:
20
,
link
:
uni
.
getStorageSync
(
"subdomain"
)
}).
then
((
data
:
any
)
=>
{
if
(
!
data
)
return
if
(
!
data
||!
data
.
hasNextPage
){
that
.
good
.
finished
=
true
}
that
.
good
.
list
.
push
(...
data
.
list
)
})
.
catch
(()
=>
{
that
.
good
.
fail
=
true
})
.
finally
(()
=>
{
that
.
good
.
loading
=
false
})
},
getBanner
:
()
=>
{
api
.
sortAndSearch
({
link
:
uni
.
getStorageSync
(
"subdomain"
)
}).
then
((
res
:
any
)
=>
{
that
.
dataList
=
res
that
.
list
=
res
.
type
api
.
dzResource
().
then
((
res
:
any
)
=>
{
that
.
categoryList
=
res
.
benDiMenu
if
(
res
.
benDiMenu
&&
res
.
benDiMenu
.
length
>
0
){
that
.
getList
(
res
.
benDiMenu
[
0
].
id
)
that
.
temMuneId
=
res
.
benDiMenu
[
0
].
id
}
})
},
getList
(
menuId
)
{
api
.
productList
({
sortType
:
0
,
menuId
:
menuId
,
pageNum
:
1
,
pageSize
:
20
,
link
:
uni
.
getStorageSync
(
"subdomain"
)
?
uni
.
getStorageSync
(
"subdomain"
)
:
'alisa'
}).
then
((
data
:
any
)
=>
{
that
.
good
.
list
=
data
.
list
})
},
onChange
:
(
e
)
=>
{
switch
(
e
)
{
case
0
:
that
.
list
=
[]
setTimeout
(()
=>
{
that
.
list
=
that
.
dataList
.
type
},
0
)
return
break
;
case
1
:
return
that
.
list
=
that
.
dataList
.
style
break
;
case
2
:
return
that
.
list
=
that
.
dataList
.
material
break
;
case
3
:
return
that
.
list
=
that
.
dataList
.
price
break
;
case
4
:
that
.
list
=
[]
for
(
let
k
in
that
.
dataList
.
zone
)
{
that
.
dataList
.
zone
[
k
].
resource
[
0
].
id
=
that
.
dataList
.
zone
[
k
].
id
that
.
dataList
.
zone
[
k
].
resource
[
0
].
name
=
k
that
.
list
.
push
(
that
.
dataList
.
zone
[
k
].
resource
[
0
])
}
break
;
case
5
:
Toast
.
loading
({
duration
:
300
,
message
:
'加载中...'
,
forbidClick
:
true
,
loadingType
:
'spinner'
,
});
setTimeout
(()
=>
{
return
that
.
list
=
that
.
dataList
.
brand
},
200
)
break
;
case
6
:
return
that
.
list
=
that
.
dataList
.
room
break
;
case
7
:
return
that
.
list
=
that
.
dataList
.
color
break
;
}
that
.
good
.
page
=
1
that
.
good
.
list
=
[]
that
.
getList
(
e
)
}
});
onMounted
(()
=>
{
that
.
getBanner
()
setTimeout
(()
=>
{
that
.
inited
=
true
},
500
)
})
const
refState
=
toRefs
(
that
)
return
{
...
...
src/pages/index/userInfo.vue
浏览文件 @
873578d7
...
...
@@ -21,9 +21,9 @@ border: 1rpx solid #EBA926;color: #EBA926;padding: 2rpx 10rpx" @click="goPhoneBt
<van-row
gutter=
"12"
class=
"pd-h-px-10"
style=
"padding-top: 26rpx"
>
<view
style=
"color: #666666;font-size: 26rpx;letter-spacing: 1rpx;margin-top: 6rpx"
><van-icon
name=
"location-o"
/>
浙江省杭州市杭州市莫干山路1418-66号3幢12层 1203 室
</view>
</van-row>
<v
an-row
gutter=
"12"
class=
"pd-h-px-10"
style=
"padding-top: 40rpx
"
>
<van-button
style=
"width:
10
0%"
icon=
"photo-o"
type=
"primary"
@
click=
"goto('/pages/index/userCard')"
>
店铺海报
</van-button>
</v
an-ro
w>
<v
iew
class=
"pd-h-px-10"
style=
"padding-top: 40rpx;text-align: center
"
>
<van-button
style=
"width:
9
0%"
icon=
"photo-o"
type=
"primary"
@
click=
"goto('/pages/index/userCard')"
>
店铺海报
</van-button>
</v
ie
w>
</view>
</view>
</
template
>
...
...
src/static/img/car_search.png
查看替换文件 @
c295a9c7
浏览文件 @
873578d7
6.3 KB
|
W:
|
H:
1.3 KB
|
W:
|
H:
2-up
Swipe
Onion skin
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录