Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
groupPurchase-miniapp
Project
Project
Details
Activity
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
彭佳妮(贵阳日报)
groupPurchase-miniapp
Commits
985f8f73
Commit
985f8f73
authored
Aug 20, 2024
by
石建新(贵阳日报)
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.platform.xinhuaapp.com/pengjiani/groupPurchase-miniapp
parents
35b4040b
ace70b4e
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
256 additions
and
182 deletions
+256
-182
.env.development
.env.development
+2
-2
FoodDetails.vue
src/Components/index/FoodDetails.vue
+1
-1
ShopCard.vue
src/Components/index/ShopCard.vue
+5
-2
building.vue
src/pages/assistingAgriculture/index/building.vue
+1
-5
index.vue
src/pages/assistingAgriculture/index/index.vue
+43
-13
presale.vue
src/pages/assistingAgriculture/index/presale.vue
+16
-15
index.vue
src/pages/index/index.vue
+33
-22
listFood.vue
src/pages/index/listFood.vue
+122
-109
loading.vue
src/pages/index/loading.vue
+4
-4
detail.vue
src/pages/order/detail.vue
+20
-3
order.vue
src/pages/order/order.vue
+2
-2
detail.vue
src/pages/storeEntry/detail.vue
+3
-0
ticket.vue
src/pages/ticket/ticket.vue
+2
-2
vite.config.ts
vite.config.ts
+2
-2
No files found.
.env.development
View file @
985f8f73
...
@@ -5,7 +5,7 @@ VITE_APP_ENV = 'development'
...
@@ -5,7 +5,7 @@ VITE_APP_ENV = 'development'
VITE_APP_BASE_URL = '/api'
VITE_APP_BASE_URL = '/api'
# 照片url路径 (开发环境)
# 照片url路径 (开发环境)
#
VITE_APP_IMG_URL = 'http://file.rhhzkj.com:8080'
VITE_APP_IMG_URL = 'http://file.rhhzkj.com:8080'
# 照片url路径(正式环境)
# 照片url路径(正式环境)
VITE_APP_IMG_URL = 'https://file.rddyz.com'
#
VITE_APP_IMG_URL = 'https://file.rddyz.com'
src/Components/index/FoodDetails.vue
View file @
985f8f73
<
template
>
<
template
>
<view
@
tap=
"toShop(item.shopId)"
class=
"card"
v-for=
"item in cardData"
:key=
"item.shopId"
>
<view
@
tap=
"toShop(item.shopId)"
class=
"card"
v-for=
"item in cardData"
:key=
"item.shopId"
>
<image
class=
"img"
:src=
"item.shopLogo"
mode=
"
aspect
Fill"
/>
<image
class=
"img"
:src=
"item.shopLogo"
mode=
"
scaleTo
Fill"
/>
<view
class=
"right"
>
<view
class=
"right"
>
<text
class=
"text"
>
{{
item
.
shopName
}}
</text>
<text
class=
"text"
>
{{
item
.
shopName
}}
</text>
<view
class=
"twoBxo"
>
<view
class=
"twoBxo"
>
...
...
src/Components/index/ShopCard.vue
View file @
985f8f73
<
template
>
<
template
>
<view
class=
"card"
>
<view
class=
"card"
>
<view
class=
"head"
>
<view
class=
"head"
>
<image
class=
"imgBg"
:src=
"shopCardData.shopLogo"
mode=
"
aspect
Fill"
/>
<image
class=
"imgBg"
:src=
"shopCardData.shopLogo"
mode=
"
scaleTo
Fill"
/>
<view
class=
"containerBox"
>
<view
class=
"containerBox"
>
<image
class=
"img"
:src=
"shopCardData.shopLogo"
mode=
"
aspect
Fill"
/>
<image
class=
"img"
:src=
"shopCardData.shopLogo"
mode=
"
scaleTo
Fill"
/>
<view
class=
"right"
>
<view
class=
"right"
>
<text
class=
"text"
>
{{
shopCardData
.
shopName
}}
</text>
<text
class=
"text"
>
{{
shopCardData
.
shopName
}}
</text>
<view
class=
"twoBxo"
>
<view
class=
"twoBxo"
>
...
@@ -159,6 +159,7 @@ const topFoodDetails = (id) => {
...
@@ -159,6 +159,7 @@ const topFoodDetails = (id) => {
margin-top
:
10rpx
;
margin-top
:
10rpx
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
flex-wrap
:
wrap
;
view
{
view
{
margin-right
:
8rpx
;
margin-right
:
8rpx
;
display
:
inline-block
;
display
:
inline-block
;
...
@@ -168,6 +169,8 @@ const topFoodDetails = (id) => {
...
@@ -168,6 +169,8 @@ const topFoodDetails = (id) => {
font-size
:
18rpx
;
font-size
:
18rpx
;
color
:
#767676
;
color
:
#767676
;
background
:
linear-gradient
(
90deg
,
#fcdbdb
0%
,
rgba
(
255
,
255
,
255
,
0
)
98%
);
background
:
linear-gradient
(
90deg
,
#fcdbdb
0%
,
rgba
(
255
,
255
,
255
,
0
)
98%
);
margin-bottom
:
5rpx
;
flex-shrink
:
0
;
}
}
}
}
}
}
...
...
src/pages/assistingAgriculture/index/building.vue
View file @
985f8f73
...
@@ -258,7 +258,7 @@ const choice = (index, item) => {
...
@@ -258,7 +258,7 @@ const choice = (index, item) => {
// 跳转预售
// 跳转预售
const
toPresale
=
()
=>
{
const
toPresale
=
()
=>
{
xma
.
navigateTo
({
xma
.
navigateTo
({
url
:
`/pages/assistingAgriculture/index/presale?categoryId=
3273
`
,
url
:
`/pages/assistingAgriculture/index/presale?categoryId=
9
`
,
});
});
};
};
// 处理content
// 处理content
...
@@ -290,10 +290,6 @@ function toCart() {
...
@@ -290,10 +290,6 @@ function toCart() {
page
{
page
{
background
:
#f3f3f3
;
background
:
#f3f3f3
;
}
}
.container
{
position
:
relative
;
left
:
0rpx
;
}
.top
{
.top
{
width
:
750rpx
;
width
:
750rpx
;
height
:
128rpx
;
height
:
128rpx
;
...
...
src/pages/assistingAgriculture/index/index.vue
View file @
985f8f73
...
@@ -34,18 +34,23 @@
...
@@ -34,18 +34,23 @@
height=
"220"
height=
"220"
imageMode=
"aspectFill"
imageMode=
"aspectFill"
></wd-swiper>
></wd-swiper>
<view
class=
"env"
>
<text
class=
"env-info"
>
贵阳市农业农村局 贵阳日报传媒集团联合打造
</text>
</view>
</view>
</view>
<view
class=
"sort"
>
<view
class=
"sort"
>
<view
style=
"display: flex; flex-direction: row"
>
<view
style=
"display: flex; flex-direction: row"
>
<view
<scroll-view
class=
"box-red"
scroll-x=
"true"
@
scroll=
"scroll"
>
class=
"borderClass"
<view
@
click=
"toBuilding(item)"
class=
"borderClass"
v-for=
"(item, index) in sortList"
@
click=
"toBuilding(item)"
:key=
"index"
v-for=
"(item, index) in sortList"
>
:key=
"index"
<image
mode=
"aspectFill"
:src=
"item.icon"
style=
"width: 96rpx; height: 96rpx"
/>
>
<view
class=
"sort-text"
>
{{
item
.
categoryName
}}
</view>
<image
mode=
"aspectFill"
:src=
"item.icon"
style=
"width: 96rpx; height: 96rpx"
/>
</view>
<view
class=
"sort-text"
>
{{
item
.
categoryName
}}
</view>
</view>
</scroll-view>
</view>
</view>
</view>
</view>
<view
class=
"product-page"
v-for=
"(item, index) in list"
:key=
"index"
>
<view
class=
"product-page"
v-for=
"(item, index) in list"
:key=
"index"
>
...
@@ -109,7 +114,7 @@ const getList = () => {
...
@@ -109,7 +114,7 @@ const getList = () => {
res
.
data
.
forEach
((
item
)
=>
{
res
.
data
.
forEach
((
item
)
=>
{
item
.
icon
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
item
.
icon
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
});
});
sortList
.
value
=
res
.
data
.
splice
(
0
,
4
)
;
sortList
.
value
=
res
.
data
;
});
});
};
};
// 筑农严选首页-分类预售商品列表
// 筑农严选首页-分类预售商品列表
...
@@ -145,12 +150,12 @@ const onChange = (e) => {
...
@@ -145,12 +150,12 @@ const onChange = (e) => {
// console.log(e);
// console.log(e);
};
};
const
toBuilding
=
(
item
)
=>
{
const
toBuilding
=
(
item
)
=>
{
if
(
item
.
category
Name
===
'筑农严选
'
)
{
if
(
item
.
category
Id
===
'10
'
)
{
// 跳转到筑农严选
// 跳转到筑农严选
xma
.
navigateTo
({
xma
.
navigateTo
({
url
:
`/pages/assistingAgriculture/index/building?categoryId=
${
item
.
categoryId
}
`
,
url
:
`/pages/assistingAgriculture/index/building?categoryId=
${
item
.
categoryId
}
`
,
});
});
}
else
if
(
item
.
category
Name
===
'乡村旅居
'
)
{
}
else
if
(
item
.
category
Id
===
'8
'
)
{
// 跳转到乡村旅居
// 跳转到乡村旅居
xma
.
navigateTo
({
xma
.
navigateTo
({
url
:
`/pages/assistingAgriculture/RuralTravel/RuralTravel?categoryId=
${
item
.
categoryId
}
`
,
url
:
`/pages/assistingAgriculture/RuralTravel/RuralTravel?categoryId=
${
item
.
categoryId
}
`
,
...
@@ -205,11 +210,23 @@ page {
...
@@ -205,11 +210,23 @@ page {
height
:
186rpx
;
height
:
186rpx
;
background
:
linear-gradient
(
180deg
,
#82ce8b
-39%
,
#ffffff
36%
);
background
:
linear-gradient
(
180deg
,
#82ce8b
-39%
,
#ffffff
36%
);
}
}
.box-red
{
white-space
:
nowrap
;
width
:
100%
;
::-webkit-scrollbar
{
display
:
none
;
width
:
0
;
height
:
0
;
color
:
transparent
;
}
background-color
:
transparent
;
}
.borderClass
{
.borderClass
{
width
:
96rpx
;
width
:
96rpx
;
height
:
96rpx
;
height
:
96rpx
;
margin
-left
:
75
rpx
;
margin
:
0
36
rpx
;
margin-top
:
22rpx
;
margin-top
:
22rpx
;
display
:
inline-block
;
}
}
.sort-text
{
.sort-text
{
font-size
:
24rpx
;
font-size
:
24rpx
;
...
@@ -315,4 +332,17 @@ page {
...
@@ -315,4 +332,17 @@ page {
color
:
#ffffff
;
color
:
#ffffff
;
}
}
}
}
.env
{
width
:
750rpx
;
height
:
48rpx
;
background
:
linear-gradient
(
94deg
,
#82ce8b
0%
,
rgba
(
255
,
255
,
255
,
0
)
97%
);
position
:
absolute
;
margin-top
:
-60rpx
;
z-index
:
999
;
.env-info
{
font-size
:
28rpx
;
color
:
#ffffff
;
margin-left
:
20rpx
;
}
}
</
style
>
</
style
>
src/pages/assistingAgriculture/index/presale.vue
View file @
985f8f73
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
<view
style=
"display: flex; flex-direction: row"
>
<view
style=
"display: flex; flex-direction: row"
>
<view
<view
class=
"borderClass"
class=
"borderClass"
@
tap=
"chooseTab(index, item.categoryId)"
@
tap=
"choose
B
Tab(index, item.categoryId)"
v-for=
"(item, index) in sortList"
v-for=
"(item, index) in sortList"
:key=
"index"
:key=
"index"
>
>
...
@@ -45,19 +45,19 @@
...
@@ -45,19 +45,19 @@
</view>
</view>
</view>
</view>
<view>
<view>
<
view
>
<
!--
<view>
--
>
<scroll-view
class=
"tabs"
show-scrollbar=
"false"
scroll-x
:scroll-with-animation=
"true"
>
<!--
<scroll-view
class=
"tabs"
show-scrollbar=
"false"
scroll-x
:scroll-with-animation=
"true"
>
--
>
<text
<!--
<text-->
@
tap=
"chooseBTab(index, item.categoryId)"
<!-- @tap="chooseBTab(index, item.categoryId)"-->
v-for=
"(item, index) in tabsData"
<!-- v-for="(item, index) in tabsData"-->
:key=
"index"
<!-- :key="index"-->
class=
"text"
<!-- class="text"-->
:class=
"light === index ? 'light' : ''"
<!-- :class="light === index ? 'light' : ''"-->
>
<!-- >--
>
{{
item
.
categoryName
}}
<!--
{{
item
.
categoryName
}}
-->
</text
>
<!--
</text>
--
>
</scroll-view
>
<!--
</scroll-view>
--
>
<
/view
>
<
!--
</view>
--
>
<view
class=
"tab-list"
v-for=
"(item, index) in buyList"
:key=
"index"
@
tap=
"toDetail(item)"
>
<view
class=
"tab-list"
v-for=
"(item, index) in buyList"
:key=
"index"
@
tap=
"toDetail(item)"
>
<img
<img
class=
"buy-list"
class=
"buy-list"
...
@@ -163,6 +163,7 @@ onMounted(async () => {
...
@@ -163,6 +163,7 @@ onMounted(async () => {
getPresale
();
getPresale
();
presaleSortList
();
presaleSortList
();
getshoppingCartListFn
();
getshoppingCartListFn
();
chooseBTab
(
0
,
'3444'
);
});
});
// 搜索
// 搜索
const
toSearch
=
()
=>
{
const
toSearch
=
()
=>
{
...
@@ -224,7 +225,7 @@ const chooseBTab = (index, categoryId) => {
...
@@ -224,7 +225,7 @@ const chooseBTab = (index, categoryId) => {
});
});
buyList
.
value
=
res
.
data
.
records
;
buyList
.
value
=
res
.
data
.
records
;
});
});
light
.
value
=
index
;
//
light.value = index;
};
};
// 筑农首页-分类查询商品列表
// 筑农首页-分类查询商品列表
...
...
src/pages/index/index.vue
View file @
985f8f73
...
@@ -38,22 +38,25 @@
...
@@ -38,22 +38,25 @@
<!-- 红包 -->
<!-- 红包 -->
<view
class=
"redEnvelope"
>
<view
class=
"redEnvelope"
>
<view
class=
"title"
>
今日福利
</view>
<view
class=
"title"
>
今日福利
</view>
<scroll-view
class=
"box-red"
scroll-x=
"true"
@
scroll=
"scroll"
>
<!--
<scroll-view
class=
"box-red"
scroll-x=
"true"
@
scroll=
"scroll"
>
-->
<view
class=
"redBagBox"
v-for=
"(item, index) in coupon"
:key=
"index"
>
<view
class=
"box-red"
>
<view
class=
"redBagBox"
v-for=
"(item, index) in coupon"
:key=
"index"
@
tap=
"receive(item)"
>
<view
class=
"content"
>
<view
class=
"content"
>
<text
class=
"textO"
>
{{
item
.
activityName
}}
</text>
<text
class=
"textO"
>
{{
item
.
activityName
}}
</text>
<text
class=
"textW"
>
¥
{{
item
.
discountValue
}}
</text>
<text
class=
"textW"
>
¥
{{
item
.
discountValue
}}
</text>
<text
class=
"textO"
>
满
{{
item
.
thresholdAmount
}}
减
{{
item
.
discountValue
}}
</text>
</view>
</view>
<view
v-if=
"item.numState === 0"
class=
"textF"
@
tap=
"receive(item)"
>
领取
</view>
<view
v-if=
"item.numState === 0"
class=
"textF"
>
领取
</view>
<view
v-else
class=
"textF"
@
tap=
"toUse(item)"
>
去使用
</view>
<view
v-else
class=
"textF"
@
tap=
"toUse(item)"
>
去使用
</view>
</view>
</view>
</scroll-view>
</view>
<image
<!--
</scroll-view>
-->
<!--
<image
@
tap=
"toCoupon"
@
tap=
"toCoupon"
class=
"discount"
class=
"discount"
src=
"../../static/index/discount.png"
src=
"../../static/index/discount.png"
mode=
"widthFix"
mode=
"widthFix"
/>
/>
-->
</view>
</view>
<!-- 贵阳老味道 -->
<!-- 贵阳老味道 -->
<!--
<view
class=
"guiyang"
></view>
-->
<!--
<view
class=
"guiyang"
></view>
-->
...
@@ -65,7 +68,7 @@
...
@@ -65,7 +68,7 @@
@
change=
"onChange"
@
change=
"onChange"
customClass=
"guiyang"
customClass=
"guiyang"
height=
"136rpx"
height=
"136rpx"
imageMode=
"
aspectFit
"
imageMode=
"
scaleToFill
"
></wd-swiper>
></wd-swiper>
<!-- 附近人气美食 -->
<!-- 附近人气美食 -->
<view
class=
"nearby"
>
<view
class=
"nearby"
>
...
@@ -87,7 +90,7 @@
...
@@ -87,7 +90,7 @@
:key=
"index"
:key=
"index"
>
>
<!--
<image
class=
"img"
src=
"../../static/index/eatFood.png"
mode=
"widthFix"
/>
-->
<!--
<image
class=
"img"
src=
"../../static/index/eatFood.png"
mode=
"widthFix"
/>
-->
<image
class=
"img"
:src=
"item.shopLogo"
mode=
"
aspect
Fill"
/>
<image
class=
"img"
:src=
"item.shopLogo"
mode=
"
scaleTo
Fill"
/>
<text
class=
"one"
>
{{
item
.
shopName
}}
</text>
<text
class=
"one"
>
{{
item
.
shopName
}}
</text>
<view
class=
"price"
>
<view
class=
"price"
>
<text
class=
"two"
>
{{
item
.
grade
}}
推荐
</text>
<text
class=
"two"
>
{{
item
.
grade
}}
推荐
</text>
...
@@ -273,7 +276,7 @@ const toSearch = (res) => {
...
@@ -273,7 +276,7 @@ const toSearch = (res) => {
// 获取优惠券
// 获取优惠券
const
getCouponMainList
=
()
=>
{
const
getCouponMainList
=
()
=>
{
couponMainList
().
then
((
res
)
=>
{
couponMainList
().
then
((
res
)
=>
{
coupon
.
value
=
res
.
data
.
records
.
slice
(
0
,
10
);
coupon
.
value
=
res
.
data
.
records
.
slice
(
0
,
4
);
});
});
};
};
// 领取优惠券
// 领取优惠券
...
@@ -281,19 +284,27 @@ const receive = (data) => {
...
@@ -281,19 +284,27 @@ const receive = (data) => {
if
(
data
.
couponType
===
'mch'
&&
data
.
numState
===
0
)
{
if
(
data
.
couponType
===
'mch'
&&
data
.
numState
===
0
)
{
receiveCoupon
([
data
.
couponYzfId
]).
then
((
res
)
=>
{
receiveCoupon
([
data
.
couponYzfId
]).
then
((
res
)
=>
{
data
.
numState
=
1
;
data
.
numState
=
1
;
xma
.
showToast
({
xma
.
navigateTo
({
title
:
'领取成功!'
,
url
:
`/pages/ticket/detail?shopId=
${
data
.
activityCode
}
`
,
icon
:
'none'
,
});
});
});
});
}
else
if
(
data
.
couponType
===
'mch'
&&
data
.
numState
===
1
)
{
xma
.
navigateTo
({
url
:
`/pages/ticket/detail?shopId=
${
data
.
activityCode
}
`
,
});
}
else
if
(
data
.
couponType
===
'yzf'
)
{
xma
.
showToast
({
title
:
'请前往或下载翼支付APP领取或使用'
,
icon
:
'none'
,
});
}
}
};
};
// TO优惠券详情
// TO优惠券详情
const
toCoupon
=
()
=>
{
//
const toCoupon = () => {
xma
.
navigateTo
({
//
xma.navigateTo({
url
:
'/pages/index/coupon'
,
//
url: '/pages/index/coupon',
});
//
});
};
//
};
// 获取分类
// 获取分类
const
getClassification
=
()
=>
{
const
getClassification
=
()
=>
{
groupBuyList
().
then
((
res
)
=>
{
groupBuyList
().
then
((
res
)
=>
{
...
@@ -654,7 +665,7 @@ page {
...
@@ -654,7 +665,7 @@ page {
.title
{
.title
{
font-family
:
YouSheBiaoTiHei
,
YouSheBiaoTiHei
;
font-family
:
YouSheBiaoTiHei
,
YouSheBiaoTiHei
;
font-weight
:
bold
;
font-weight
:
bold
;
font-size
:
2
8
rpx
;
font-size
:
2
6
rpx
;
color
:
#3d3d3d
;
color
:
#3d3d3d
;
line-height
:
28rpx
;
line-height
:
28rpx
;
text-shadow
:
2px
2px
0px
rgba
(
255
,
255
,
255
,
0
.36
);
text-shadow
:
2px
2px
0px
rgba
(
255
,
255
,
255
,
0
.36
);
...
@@ -664,9 +675,9 @@ page {
...
@@ -664,9 +675,9 @@ page {
.box-red
{
.box-red
{
padding
:
10rpx
0
0
20rpx
;
padding
:
10rpx
0
0
20rpx
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
w
hite-space
:
nowrap
;
w
idth
:
100%
;
width
:
80%
;
display
:
flex
;
z-index
:
-1
;
justify-content
:
space-evenly
;
.redBagBox
{
.redBagBox
{
margin-right
:
8rpx
;
margin-right
:
8rpx
;
width
:
124rpx
;
width
:
124rpx
;
...
@@ -687,7 +698,7 @@ page {
...
@@ -687,7 +698,7 @@ page {
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
.textO
{
.textO
{
width
:
1
24
rpx
;
width
:
1
00
rpx
;
font-size
:
12rpx
;
font-size
:
12rpx
;
color
:
#fa5151
;
color
:
#fa5151
;
text-align
:
center
;
text-align
:
center
;
...
...
src/pages/index/listFood.vue
View file @
985f8f73
...
@@ -7,40 +7,40 @@
...
@@ -7,40 +7,40 @@
:title=
"title"
:title=
"title"
:showTitle=
"true"
:showTitle=
"true"
></search>
></search>
<view
class=
"head"
>
<!--
<view
class=
"head"
>
-->
<view
class=
"top"
:style=
"
{ backgroundImage: topBg }">
</view>
<view
class=
"top"
:style=
"
{ backgroundImage: topBg }">
</view>
<view
class=
"bootom"
>
<view
class=
"bootom"
:style=
"
{ top }">
<view
class=
"bootom-top"
>
<view
class=
"bootom-top"
>
<view
class=
"option"
@
tap=
"locationFiltering(0)"
>
<view
class=
"option"
@
tap=
"locationFiltering(0)"
>
<text
:class=
"
{ rotate: rotate }">全部烧烤烤肉
</text>
<text
:class=
"
{ rotate: rotate }">全部烧烤烤肉
</text>
<wd-icon
<wd-icon
:class=
"
{ rotate: rotate }"
:class=
"
{ rotate: rotate }"
name="fill-arrow-down"
name="fill-arrow-down"
size="24rpx"
size="24rpx"
class="icon"
class="icon"
>
</wd-icon>
>
</wd-icon>
</view>
</view>
<view
class=
"option"
@
tap=
"locationFiltering(1)"
>
<view
class=
"option"
@
tap=
"locationFiltering(1)"
>
<text
:class=
"
{ rotate: rotate2 }">附近
</text>
<text
:class=
"
{ rotate: rotate2 }">附近
</text>
<wd-icon
<wd-icon
:class=
"
{ rotate: rotate2 }"
:class=
"
{ rotate: rotate2 }"
name="fill-arrow-down"
name="fill-arrow-down"
size="24rpx"
size="24rpx"
class="icon"
class="icon"
>
</wd-icon>
>
</wd-icon>
</view>
</view>
<view
class=
"option"
@
tap=
"locationFiltering(2)"
>
<view
class=
"option"
@
tap=
"locationFiltering(2)"
>
<text
:class=
"
{ rotate: rotate3 }">智能排序
</text>
<text
:class=
"
{ rotate: rotate3 }">智能排序
</text>
<wd-icon
<wd-icon
:class=
"
{ rotate: rotate3 }"
:class=
"
{ rotate: rotate3 }"
name="fill-arrow-down"
name="fill-arrow-down"
size="24rpx"
size="24rpx"
class="icon"
class="icon"
>
</wd-icon>
>
</wd-icon>
</view>
</view>
</view>
<!-- 标签 -->
</view>
<!--
<view
class=
"bootom-bottom"
>
<!-- 标签 -->
<!--
<view
class=
"bootom-bottom"
>
<view
<view
@
tap=
"choice(index)"
@
tap=
"choice(index)"
class=
"item"
class=
"item"
...
@@ -51,20 +51,20 @@
...
@@ -51,20 +51,20 @@
{{
item
}}
{{
item
}}
</view>
</view>
</view>
-->
</view>
-->
<!-- 美食类别 -->
<!-- 美食类别 -->
<Classification
v-show=
"rotate"
:category=
"categoryData"
@
foodCategory=
"foodCategory"
/>
<Classification
v-show=
"rotate"
:category=
"categoryData"
@
foodCategory=
"foodCategory"
/>
<!-- 附近筛选 -->
<!-- 附近筛选 -->
<Position
<Position
v-show=
"rotate2"
v-show=
"rotate2"
@
nearby=
"nearby"
@
nearby=
"nearby"
@
popular=
"popular"
@
popular=
"popular"
@
region=
"region"
@
region=
"region"
@
refresh=
"refresh"
@
refresh=
"refresh"
/>
/>
<!-- 排序筛选 -->
<!-- 排序筛选 -->
<Sort
v-show=
"rotate3"
@
sortParams=
"sortParams"
/>
<Sort
v-show=
"rotate3"
@
sortParams=
"sortParams"
/>
</view>
</view>
</view>
<!--
</view>
-->
<FoodDetails
:cardData=
"cardData"
/>
<FoodDetails
:cardData=
"cardData"
/>
<wd-status-tip
image=
"content"
tip=
"暂无内容"
v-if=
"cardData.length === 0"
/>
<wd-status-tip
image=
"content"
tip=
"暂无内容"
v-if=
"cardData.length === 0"
/>
<view
<view
...
@@ -98,6 +98,7 @@ const cardData = ref([]);
...
@@ -98,6 +98,7 @@ const cardData = ref([]);
const
backgroundBox
=
ref
(
''
);
const
backgroundBox
=
ref
(
''
);
const
backIcon
=
ref
(
'white'
);
const
backIcon
=
ref
(
'white'
);
const
title
=
ref
(
''
);
const
title
=
ref
(
''
);
const
top
=
ref
(
null
);
let
total
;
let
total
;
const
paramsId
=
{
const
paramsId
=
{
parentId
:
null
,
parentId
:
null
,
...
@@ -116,11 +117,20 @@ onLoad((options) => {
...
@@ -116,11 +117,20 @@ onLoad((options) => {
const
{
categoryId
,
place
}
=
options
;
const
{
categoryId
,
place
}
=
options
;
paramsId
.
parentId
=
categoryId
;
paramsId
.
parentId
=
categoryId
;
getByParentIdData
();
getByParentIdData
();
getTop
();
getByType
({
place
}).
then
((
res
)
=>
{
getByType
({
place
}).
then
((
res
)
=>
{
topBg
.
value
=
`url(
${
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
res
.
data
[
0
].
imgUrl
}
)`
;
topBg
.
value
=
`url(
${
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
res
.
data
[
0
].
imgUrl
}
)`
;
});
});
});
});
// 获取位置板块贴合高度
const
getTop
=
()
=>
{
xma
.
xh
.
getMenuButtonBoundingClientRect
({
success
(
res
)
{
top
.
value
=
(
res
.
top
+
res
.
bottom
)
/
2
+
25
+
'px'
;
},
});
};
const
refresh
=
()
=>
{
const
refresh
=
()
=>
{
delete
listParams
.
distance
;
delete
listParams
.
distance
;
delete
listParams
.
area
;
delete
listParams
.
area
;
...
@@ -272,75 +282,78 @@ onPullDownRefresh(() => {
...
@@ -272,75 +282,78 @@ onPullDownRefresh(() => {
page
{
page
{
background
:
#f3f3f3
;
background
:
#f3f3f3
;
}
}
.head
{
// .head {
width
:
100%
;
// width: 100%;
margin-bottom
:
10rpx
;
// margin-bottom: 10rpx;
// height: 480rpx;
// height: 480rpx;
.top
{
.top
{
height
:
356rpx
;
height
:
356rpx
;
// background: url('../../static/index/taste.png');
// background: url('../../static/index/taste.png');
background-size
:
100%
100%
;
background-size
:
100%
100%
;
.icon
{
.icon
{
font-size
:
28rpx
;
font-size
:
28rpx
;
margin-top
:
70rpx
;
margin-top
:
70rpx
;
margin-left
:
40rpx
;
margin-left
:
40rpx
;
color
:
white
;
color
:
white
;
}
}
}
.bootom
{
}
// height: 124rpx;
.bootom
{
height
:
80rpx
;
// height: 124rpx;
height
:
80rpx
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
border-radius
:
6rpx
;
background
:
#ffffff
;
position
:
sticky
;
margin-bottom
:
10rpx
;
z-index
:
9999
;
// top: 100px;
.bootom-top
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
space-around
;
padding
:
0
20rpx
;
border-radius
:
6rpx
;
justify-content
:
space-between
;
background
:
#ffffff
;
.option
{
position
:
relative
;
text
{
.bootom-top
{
font-size
:
24rpx
;
display
:
flex
;
color
:
#343434
;
align-items
:
center
;
padding
:
0
20rpx
;
justify-content
:
space-between
;
.option
{
text
{
font-size
:
24rpx
;
color
:
#343434
;
}
.red
{
color
:
#fa5151
;
}
.icon
{
color
:
#d8d8d8
;
transform
:
rotate
(
-180deg
);
transition
:
all
0
.3s
linear
;
}
.rotate
{
transform
:
rotate
(
0deg
);
transition
:
all
0
.3s
linear
;
color
:
#fa5151
;
}
}
}
}
.red
{
.bootom-bottom
{
color
:
#fa5151
;
display
:
flex
;
}
align-items
:
center
;
.icon
{
padding-left
:
40rpx
;
color
:
#d8d8d8
;
.item
{
transform
:
rotate
(
-180deg
);
height
:
36rpx
;
transition
:
all
0
.3s
linear
;
width
:
96rpx
;
border-radius
:
6rpx
;
font-size
:
20rpx
;
text-align
:
center
;
line-height
:
36rpx
;
color
:
#abaaaa
;
background
:
#eeeeee
;
margin-right
:
20rpx
;
}
}
.light
{
.rotate
{
color
:
#ff7c00
;
transform
:
rotate
(
0deg
);
background
:
#ffdcbb
;
transition
:
all
0
.3s
linear
;
color
:
#fa5151
;
}
}
}
}
}
}
.bootom-bottom
{
display
:
flex
;
align-items
:
center
;
padding-left
:
40rpx
;
.item
{
height
:
36rpx
;
width
:
96rpx
;
border-radius
:
6rpx
;
font-size
:
20rpx
;
text-align
:
center
;
line-height
:
36rpx
;
color
:
#abaaaa
;
background
:
#eeeeee
;
margin-right
:
20rpx
;
}
.light
{
color
:
#ff7c00
;
background
:
#ffdcbb
;
}
}
}
}
// }
</
style
>
</
style
>
src/pages/index/loading.vue
View file @
985f8f73
...
@@ -10,8 +10,8 @@ import { getTokenUser } from '../../api/index';
...
@@ -10,8 +10,8 @@ import { getTokenUser } from '../../api/index';
import
{
getToken
}
from
'../../utils/auth'
;
import
{
getToken
}
from
'../../utils/auth'
;
onLoad
(
async
(
options
)
=>
{
onLoad
(
async
(
options
)
=>
{
//
await signIn();
await
signIn
();
if
(
!
getToken
())
await
signIn2
();
//
if (!getToken()) await signIn2();
const
{
type
}
=
options
;
const
{
type
}
=
options
;
switch
(
type
)
{
switch
(
type
)
{
case
'0'
:
case
'0'
:
...
@@ -21,11 +21,11 @@ onLoad(async (options) => {
...
@@ -21,11 +21,11 @@ onLoad(async (options) => {
xma
.
reLaunch
({
url
:
'/pages/index/index'
});
xma
.
reLaunch
({
url
:
'/pages/index/index'
});
break
;
break
;
case
'2'
:
case
'2'
:
xma
.
reLaunch
({
url
:
'/pages/assistingAgriculture/RuralTravel/RuralTravel?categoryId=
326
8'
});
xma
.
reLaunch
({
url
:
'/pages/assistingAgriculture/RuralTravel/RuralTravel?categoryId=8'
});
break
;
break
;
case
'3'
:
case
'3'
:
xma
.
reLaunch
({
xma
.
reLaunch
({
url
:
'/pages/assistingAgriculture/index/building?categoryId=
3266
'
,
url
:
'/pages/assistingAgriculture/index/building?categoryId=
10
'
,
});
});
break
;
break
;
default
:
default
:
...
...
src/pages/order/detail.vue
View file @
985f8f73
...
@@ -408,10 +408,27 @@ const handleRefund = (item) => {
...
@@ -408,10 +408,27 @@ const handleRefund = (item) => {
});
});
};
};
/**
* 再来一单 商品类型,0-普通商品,5-团购,6-套餐,7-预售,8-售券 9-景点,10-旅游路线
*/
const
anotherOrder
=
()
=>
{
const
anotherOrder
=
()
=>
{
xma
.
navigateTo
({
// xma.navigateTo({
url
:
`/pages/shop/confirmOrder?prodId=
${
orderDetail
.
value
.
orderItems
[
0
].
prodId
}
&skuId=
${
orderDetail
.
value
.
orderItems
[
0
].
skuId
}
`
,
// url: `/pages/shop/confirmOrder?prodId=${orderDetail.value.orderItems[0].prodId}&skuId=${orderDetail.value.orderItems[0].skuId}`,
});
// });
switch
(
orderDetail
.
value
.
baseOrder
.
prodType
)
{
case
5
:
xma
.
navigateTo
({
url
:
`/pages/packageDetails/packageDetails?prodId=
${
orderDetail
.
value
.
orderItems
[
0
].
prodId
}
`
,
});
break
;
case
10
:
xma
.
navigateTo
({
url
:
`/pages/assistingAgriculture/RouteDetails/RouteDetails?prodId=
${
orderDetail
.
value
.
orderItems
[
0
].
prodId
}
&shopId=
${
orderDetail
.
value
.
baseOrder
.
shopId
}
`
,
});
break
;
default
:
break
;
}
};
};
const
toProdDetail
=
()
=>
{
const
toProdDetail
=
()
=>
{
...
...
src/pages/order/order.vue
View file @
985f8f73
...
@@ -196,8 +196,8 @@ const fileDomain = import.meta.env.VITE_APP_IMG_URL;
...
@@ -196,8 +196,8 @@ const fileDomain = import.meta.env.VITE_APP_IMG_URL;
const
stateList
=
ref
({});
const
stateList
=
ref
({});
const
orderDic
=
ref
();
const
orderDic
=
ref
();
onLoad
(
async
(
options
)
=>
{
onLoad
(
async
(
options
)
=>
{
//
await signIn();
await
signIn
();
if
(
!
getToken
())
await
signIn2
();
//
if (!getToken()) await signIn2();
if
(
!
getOrderDic
())
await
orderStatus
();
if
(
!
getOrderDic
())
await
orderStatus
();
orderDic
.
value
=
getOrderDic
();
orderDic
.
value
=
getOrderDic
();
orderDic
.
value
.
baseOrder
[
0
].
value
=
'all'
;
orderDic
.
value
.
baseOrder
[
0
].
value
=
'all'
;
...
...
src/pages/storeEntry/detail.vue
View file @
985f8f73
...
@@ -161,6 +161,9 @@
...
@@ -161,6 +161,9 @@
label-width=
"100px"
label-width=
"100px"
v-model=
"formData.intro"
v-model=
"formData.intro"
prop=
"intro"
prop=
"intro"
auto-height
show-word-limit
:maxlength=
"120"
/>
/>
<wd-button
type=
"error"
width=
"80%"
class=
"submitBTN"
@
tap=
"submitData"
>
提交
</wd-button>
<wd-button
type=
"error"
width=
"80%"
class=
"submitBTN"
@
tap=
"submitData"
>
提交
</wd-button>
...
...
src/pages/ticket/ticket.vue
View file @
985f8f73
...
@@ -131,8 +131,8 @@ const fileDomain = import.meta.env.VITE_APP_IMG_URL;
...
@@ -131,8 +131,8 @@ const fileDomain = import.meta.env.VITE_APP_IMG_URL;
const
contentHeight
=
ref
(
'88rpx'
);
const
contentHeight
=
ref
(
'88rpx'
);
onLoad
(
async
()
=>
{
onLoad
(
async
()
=>
{
//
await signIn();
await
signIn
();
if
(
!
getToken
())
await
signIn2
();
//
if (!getToken()) await signIn2();
xma
.
xh
.
getMenuButtonBoundingClientRect
({
xma
.
xh
.
getMenuButtonBoundingClientRect
({
success
(
res
)
{
success
(
res
)
{
contentHeight
.
value
=
res
.
bottom
*
2
+
10
+
'rpx'
;
// 左边界坐标,单位:px
contentHeight
.
value
=
res
.
bottom
*
2
+
10
+
'rpx'
;
// 左边界坐标,单位:px
...
...
vite.config.ts
View file @
985f8f73
...
@@ -41,8 +41,8 @@ export default defineConfig({
...
@@ -41,8 +41,8 @@ export default defineConfig({
// 代理配置
// 代理配置
proxy
:
{
proxy
:
{
'/api'
:
{
'/api'
:
{
//
target: 'http://test.rhhzkj.com:8080',
target
:
'http://test.rhhzkj.com:8080'
,
target
:
'https://api.rddyz.com'
,
//
target: 'https://api.rddyz.com',
changeOrigin
:
true
,
changeOrigin
:
true
,
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
api/
,
''
),
rewrite
:
(
path
)
=>
path
.
replace
(
/^
\/
api/
,
''
),
},
},
...
...
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