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
35d88294
Commit
35d88294
authored
Aug 15, 2024
by
石建新(贵阳日报)
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.platform.xinhuaapp.com/pengjiani/groupPurchase-miniapp
parents
c740f522
24376157
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
329 additions
and
145 deletions
+329
-145
fab.vue
src/Components/fab/fab.vue
+48
-6
village.js
src/api/assistingAgriculture/village.js
+8
-0
Search.vue
src/components/index/Search.vue
+1
-1
pages.json
src/pages.json
+8
-8
RouteDetails.vue
src/pages/assistingAgriculture/RouteDetails/RouteDetails.vue
+9
-1
RuralTravel.vue
src/pages/assistingAgriculture/RuralTravel/RuralTravel.vue
+131
-30
index.vue
src/pages/assistingAgriculture/album/index.vue
+1
-4
cart.vue
src/pages/assistingAgriculture/cart/cart.vue
+1
-0
index.vue
src/pages/assistingAgriculture/commentList/index.vue
+10
-12
comment.vue
src/pages/assistingAgriculture/detail/comment.vue
+1
-1
detail.vue
src/pages/assistingAgriculture/detail/detail.vue
+9
-27
building.vue
src/pages/assistingAgriculture/index/building.vue
+3
-3
index.vue
src/pages/assistingAgriculture/index/index.vue
+1
-1
presale.vue
src/pages/assistingAgriculture/index/presale.vue
+4
-3
detail.vue
src/pages/assistingAgriculture/order/detail.vue
+5
-5
coupon.vue
src/pages/index/coupon.vue
+2
-11
index.vue
src/pages/index/index.vue
+3
-3
listFood.vue
src/pages/index/listFood.vue
+23
-3
order.vue
src/pages/order/order.vue
+3
-3
refund.vue
src/pages/order/refund.vue
+1
-1
detail.vue
src/pages/storeEntry/detail.vue
+23
-17
index.vue
src/pages/storeEntry/index.vue
+1
-1
detail.vue
src/pages/ticket/detail.vue
+2
-2
ticket.vue
src/pages/ticket/ticket.vue
+26
-2
gwc.png
src/static/index/gwc.png
+0
-0
yarn.lock
yarn.lock
+5
-0
No files found.
src/Components/fab/fab.vue
View file @
35d88294
...
...
@@ -7,18 +7,57 @@
:draggable=
"true"
inactiveIcon=
"a-controlplatform"
>
<view
class=
"custom-button"
@
click=
"go('/pages/ticket/ticket')"
>
<image
class=
"fab-icon"
src=
"../../static/index/coupon.png"
></image>
<text
class=
"fab-text"
>
优惠券
</text>
<!-- 助农总入口 -->
<view
v-if=
"position === '0'"
class=
"outer-view"
>
<view
class=
"custom-button"
@
click=
"go('/pages/order/order')"
>
<image
class=
"fab-icon"
src=
"../../static/index/order.png"
></image>
<text
class=
"fab-text"
>
订单
</text>
</view>
</view>
<view
class=
"custom-button"
@
click=
"go('/pages/order/order')"
>
<image
class=
"fab-icon"
src=
"../../static/index/order.png"
></image>
<text
class=
"fab-text"
>
订单
</text>
<!-- 团购 -->
<view
v-if=
"position === '1'"
class=
"outer-view"
>
<view
class=
"custom-button"
@
click=
"go('/pages/ticket/ticket')"
>
<image
class=
"fab-icon"
src=
"../../static/index/coupon.png"
></image>
<text
class=
"fab-text"
>
优惠券
</text>
</view>
<view
class=
"custom-button"
@
click=
"go('/pages/order/order')"
>
<image
class=
"fab-icon"
src=
"../../static/index/order.png"
></image>
<text
class=
"fab-text"
>
订单
</text>
</view>
</view>
<!-- 预售主页 -->
<view
v-if=
"position === '2'"
class=
"outer-view"
>
<view
class=
"custom-button"
@
click=
"go('/pages/order/order')"
>
<image
class=
"fab-icon"
src=
"../../static/index/order.png"
></image>
<text
class=
"fab-text"
>
订单
</text>
</view>
<view
class=
"custom-button"
@
click=
"go('/pages/assistingAgriculture/cart/cart')"
>
<image
class=
"fab-icon"
src=
"../../static/index/gwc.png"
></image>
<text
class=
"fab-text"
>
购物车
</text>
</view>
</view>
<!-- 旅居主页 -->
<view
v-if=
"position === '3'"
class=
"outer-view"
>
<view
class=
"custom-button"
@
click=
"go('/pages/order/order')"
>
<image
class=
"fab-icon"
src=
"../../static/index/order.png"
></image>
<text
class=
"fab-text"
>
订单
</text>
</view>
</view>
</wd-fab>
</
template
>
<
script
setup
>
const
props
=
defineProps
({
// 悬浮按钮
position
:
{
type
:
String
,
default
:
'1'
,
},
cartCount
:
{
type
:
Number
,
default
:
0
,
},
});
// 前往个人中心
const
go
=
(
url
)
=>
{
xma
.
navigateTo
({
...
...
@@ -28,6 +67,9 @@ const go = (url) => {
</
script
>
<
style
lang=
"scss"
scoped
>
.outer-view
{
display
:
flex
;
}
.custom-button
{
min-width
:
auto
;
box-sizing
:
border-box
;
...
...
src/api/assistingAgriculture/village.js
View file @
35d88294
...
...
@@ -40,3 +40,11 @@ export function screeningConditions(data) {
data
,
});
}
// 视频
export
function
streamList
(
data
)
{
return
request
({
url
:
`/sgyrdd/znprod/tour/streamList`
,
method
:
'GET'
,
data
,
});
}
src/components/index/Search.vue
View file @
35d88294
...
...
@@ -75,7 +75,7 @@ const back = () => {
};
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
scoped
>
.searchComponent
{
position
:
sticky
;
top
:
0
;
...
...
src/pages.json
View file @
35d88294
...
...
@@ -174,7 +174,10 @@
{
"path"
:
"pages/assistingAgriculture/detail/detail"
,
"style"
:
{
"navigationBarTitleText"
:
"详情页"
"navigationBarTitleText"
:
"商品详情"
,
"navigationBarBackgroundColor"
:
"#ffffff"
,
"navigationStyle"
:
"custom"
,
"onReachBottomDistance"
:
50
,
}
},
{
...
...
@@ -186,9 +189,7 @@
{
"path"
:
"pages/assistingAgriculture/album/index"
,
"style"
:
{
"navigationBarTitleText"
:
"用户相册"
,
"navigationBarBackgroundColor"
:
"#ffffff"
,
"navigationStyle"
:
""
"navigationBarTitleText"
:
"用户相册"
}
},
{
...
...
@@ -196,7 +197,7 @@
"style"
:
{
"navigationBarTitleText"
:
"购物车"
,
"navigationBarBackgroundColor"
:
"#ffffff"
,
"navigationStyle"
:
""
"navigationStyle"
:
"
custom
"
}
},
{
...
...
@@ -211,7 +212,7 @@
"path"
:
"pages/assistingAgriculture/RuralTravel/RuralTravel"
,
"style"
:
{
"navigationBarTitleText"
:
"乡村旅居"
,
"enablePullDownRefresh"
:
true
,
"enablePullDownRefresh"
:
true
}
},
{
...
...
@@ -266,4 +267,4 @@
"globalStyle"
:
{
"navigationStyle"
:
"custom"
}
}
\ No newline at end of file
}
src/pages/assistingAgriculture/RouteDetails/RouteDetails.vue
View file @
35d88294
<
template
>
<div
class=
"route-details"
>
<Search></Search>
<scroll-view
class=
"container"
scroll-y
>
<
img
class=
"back-img"
src=
"/static/assistingAgriculture/assets/left.png"
@
tap=
"back"
/
>
<
!--
<img
class=
"back-img"
src=
"/static/assistingAgriculture/assets/left.png"
@
tap=
"back"
/>
--
>
<!-- 轮播 -->
<div
class=
"banner"
>
<!-- -->
...
...
@@ -595,6 +596,13 @@ uni-page-body {
background-color
:
#eaf9f1
;
}
.route-details
{
.searchComponent
{
z-index
:
55
;
width
:
100%
;
position
:
fixed
;
top
:
0
;
left
:
0
;
}
height
:
100%
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/pages/assistingAgriculture/RuralTravel/RuralTravel.vue
View file @
35d88294
...
...
@@ -54,11 +54,23 @@
src=
"/static/assistingAgriculture/rural/dayTOur.png"
style=
"width: 32rpx; height: 32rpx"
/>
<img
class=
"spe-img"
src=
"/static/assistingAgriculture/rural/img5.png"
style=
"width: 306rpx; height: 204rpx"
/>
<video
:class=
"
{ 'no-progress-bar': !isFullScreen }"
:show-fullscreen-btn="true"
:show-play-btn="true"
:show-enter-play-btn="true"
class="spe-img1"
id="videoId"
:src="videoList[0].videoUrl"
@error="videoErrorCallback"
@play="play"
@fullscreenchange="handleFullscreenChange"
>
</video>
<!--
<img-->
<!-- class="spe-img"-->
<!-- src="/static/assistingAgriculture/rural/img5.png"-->
<!-- style="width: 306rpx; height: 204rpx"-->
<!-- />-->
</view>
</view>
<view
class=
"hot-way"
>
...
...
@@ -164,20 +176,23 @@
{{
tag
.
labelName
}}
</wd-tag>
</view>
<view
class=
"detail-score"
>
<text
class=
"score"
>
{{
item
.
score
}}
分
</text>
<text
class=
"num"
>
月销
{{
item
.
monthSoldNum
}}
</text>
</view>
<view
class=
"venue"
>
<text
class=
"place"
>
{{
item
.
tripArea
}}
出发
</text>
<text
class=
"price"
>
¥
{{
item
.
price
}}
</text>
<view
class=
"all-info"
>
<view
class=
"detail-score"
>
<text
class=
"score"
>
{{
item
.
score
}}
分
</text>
<text
class=
"num"
>
月销
{{
item
.
monthSoldNum
}}
</text>
</view>
<view
class=
"venue"
>
<text
class=
"place"
>
{{
item
.
tripArea
}}
出发
</text>
<text
class=
"price"
>
¥
{{
item
.
price
}}
</text>
</view>
</view>
</view>
</view>
</view>
<view
v-if=
"!hasMoreData"
class=
"no-more-data"
>
没有更多了
</view>
</view>
</view>
<fab
/>
<fab
position=
"3"
/>
</view>
</
template
>
...
...
@@ -187,14 +202,15 @@ import Sort from '../../../components/assistingAgriculture/index/Sort.vue';
import
DepartureDate
from
'../../../components/assistingAgriculture/index/DepartureDate.vue'
;
import
ScenicSpots
from
'../../../components/assistingAgriculture/index/ScenicSpots.vue'
;
import
Screen
from
'../../../components/assistingAgriculture/index/Screen.vue'
;
import
{
getPopularList
,
getProdList
,
getTour
}
from
'@/api/assistingAgriculture/village'
;
import
{
getPopularList
,
getProdList
,
getTour
,
streamList
,
}
from
'@/api/assistingAgriculture/village'
;
import
{
getPresaleList
}
from
'@/api/assistingAgriculture/building'
;
import
{
onMounted
,
ref
}
from
'vue'
;
import
fab
from
'../../../components/fab/fab.vue'
;
onMounted
(
async
()
=>
{
getProd
();
getPopular
();
});
const
rotate
=
ref
(
false
);
const
rotate2
=
ref
(
false
);
const
rotate3
=
ref
(
false
);
...
...
@@ -215,7 +231,8 @@ const scenicSpotsRef = ref(null);
const
screenRef
=
ref
(
null
);
const
backgroundBox
=
ref
(
''
);
const
border
=
ref
(
''
);
const
videoList
=
ref
([]);
const
isFullScreen
=
ref
(
false
);
const
locationFiltering
=
(
index
)
=>
{
switch
(
index
)
{
case
0
:
...
...
@@ -252,6 +269,12 @@ const locationFiltering = (index) => {
forPeopleList
.
value
=
[];
}
};
const
videoContext
=
ref
(
null
);
onMounted
(
async
()
=>
{
getProd
();
getPopular
();
getStreamList
();
});
onPullDownRefresh
(()
=>
{
keyword
.
value
=
''
;
getProd
();
...
...
@@ -268,6 +291,37 @@ const getPopular = () => {
popularRouterData
.
value
=
res
.
data
.
records
;
});
};
// 查询视频列表
const
getStreamList
=
()
=>
{
streamList
().
then
((
res
)
=>
{
res
.
data
.
forEach
((
item
)
=>
{
item
.
videoUrl
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
'/pig/'
+
item
.
videoUrl
;
});
videoList
.
value
=
res
.
data
;
console
.
log
(
videoList
.
value
,
121
);
});
};
// 播放时进入全屏
function
play
(
index
)
{
const
videoContext
=
uni
.
createVideoContext
(
'videoId'
);
videoContext
.
requestFullScreen
();
}
// 退出全屏时暂停
function
fullscreenchange
(
e
)
{
if
(
!
e
.
detail
.
fullScreen
)
{
uni
.
createVideoContext
(
'videoId'
).
pause
();
}
}
function
handleFullscreenChange
(
event
)
{
isFullScreen
.
value
=
!
isFullScreen
.
value
;
}
// //退出全屏时停止
// function fullscreenchange (e){
// if(!e.detail.fullScreen){
// videoContext.stop()
// }
// };
// 智能排序
const
sortParams
=
(
sortMode
)
=>
{
sortType
.
value
=
sortMode
;
...
...
@@ -285,11 +339,6 @@ const dataParams = (item, datePart) => {
}
};
// 景点
// const placeParams = (item) => {
// console.log(item, 222);
// attractionIdList.value = item.id;
// getProd();
// };
const
placeParams
=
(
item
)
=>
{
const
ids
=
item
.
map
((
i
)
=>
i
.
id
);
const
arr
=
ids
.
join
(
','
);
...
...
@@ -318,16 +367,15 @@ const screenParams = (selectedItems, type) => {
}
};
// 搜索
// 搜索
const
toSearch
=
()
=>
{
xma
.
navigateTo
({
url
:
'/pages/assistingAgriculture/searchPage/searchPage?prodTypes=10'
});
};
const
currentPage
=
ref
(
1
);
// 查询列表
const
getProd
=
(
searchKeyword
=
''
)
=>
{
const
params
=
{
current
:
1
,
size
:
10
,
current
:
currentPage
.
value
,
size
:
3
,
...(
sortType
.
value
&&
{
sortType
:
sortType
.
value
.
sortMode
}),
...(
attractionIdList
.
value
&&
attractionIdList
.
value
.
length
>
0
&&
...
...
@@ -350,9 +398,25 @@ const getProd = (searchKeyword = '') => {
item
.
img
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
+
item
.
pic
;
item
.
serveList
=
item
.
serviceList
.
slice
(
0
,
3
);
});
cardList
.
value
=
res
.
data
.
records
;
if
(
currentPage
.
value
===
1
)
{
cardList
.
value
=
res
.
data
.
records
;
}
else
{
cardList
.
value
=
cardList
.
value
.
concat
(
res
.
data
.
records
);
}
// 判断是否还有更多数据
if
(
res
.
data
.
records
.
length
<
params
.
size
)
{
hasMoreData
.
value
=
false
;
// 没有更多数据
}
});
};
// 页面滚动到底部触发加载更多
onReachBottom
(()
=>
{
if
(
hasMoreData
.
value
)
{
currentPage
.
value
++
;
getProd
();
}
});
const
hasMoreData
=
ref
(
true
);
const
resetParams
=
()
=>
{
if
(
sortRef
.
value
||
departureDateRef
.
value
||
scenicSpotsRef
.
value
||
screenRef
.
value
)
{
sortType
.
value
=
null
;
...
...
@@ -595,6 +659,10 @@ page {
font-weight
:
normal
;
line-height
:
30rpx
;
color
:
#666666
;
height
:
30rpx
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.tag
.wd-tag
{
margin-right
:
10px
;
...
...
@@ -609,10 +677,12 @@ page {
color
:
#0974f5
;
}
.price
{
position
:
absolute
;
font-size
:
28rpx
;
font-weight
:
bold
;
line-height
:
28rpx
;
color
:
#fa5151
;
margin-left
:
300rpx
;
}
.venue
{
display
:
flex
;
...
...
@@ -627,7 +697,7 @@ page {
}
.tag
{
margin-top
:
10rpx
;
width
:
4
00rpx
;
width
:
6
00rpx
;
}
.detail-score
{
margin-top
:
30rpx
;
...
...
@@ -653,4 +723,35 @@ page {
color
:
#ffffff
;
}
}
.all-info
{
position
:
absolute
;
margin-top
:
140rpx
;
}
.wrapper
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
height
:
100%
;
}
.block
{
width
:
120px
;
height
:
120px
;
background-color
:
#fff
;
}
uni-video
{
width
:
300rpx
;
height
:
200rpx
;
top
:
10rpx
;
left
:
20rpx
;
border-radius
:
16rpx
;
}
::v-deep
.uni-video-controls
{
margin
:
0
;
}
.no-more-data
{
text-align
:
center
;
padding
:
20rpx
;
color
:
#999
;
}
</
style
>
src/pages/assistingAgriculture/album/index.vue
View file @
35d88294
<
template
>
<div
class=
"album"
>
<Search
backgroundBox=
"white"
title=
"用户相册"
:showTitle=
"true"
></Search>
<scroll-view
class=
"content"
@
scrolltolower=
"scrolltolower"
scroll-y
>
<!--
<div
class=
"filter-box"
>
<div
class=
"active"
>
全部
</div>
<div
v-for=
"(v, i) in filterList"
:key=
"i"
>
{{
v
.
text
}}
(
{{
v
.
value
}}
)
</div>
</div>
-->
<div
class=
"card-wrap"
>
<card
:photoData=
"photoData"
/>
</div>
...
...
src/pages/assistingAgriculture/cart/cart.vue
View file @
35d88294
<
template
>
<Search
title=
"购物车"
showTitle
backgroundBox=
"#fff"
></Search>
<div
class=
"cart-wrap"
>
<div
class=
"shop"
v-for=
"(shop, i) in cartList"
:key=
"i"
>
<div
class=
"flex-align-center shop-info"
>
...
...
src/pages/assistingAgriculture/commentList/index.vue
View file @
35d88294
<
template
>
<div
class=
"comment-list"
>
<div
class=
"top-bar flex-align-center"
>
<
!--
<
div
class=
"top-bar flex-align-center"
>
<wd-icon
name=
"thin-arrow-left"
@
tap=
"back"
></wd-icon>
<wd-search
@
search=
"search"
hide-cancel
placeholder=
"点评关键词/特色"
placeholder-left
/>
</div>
</div>
-->
<Search
backgroundBox=
"white"
>
<wd-search
@
search=
"search"
hide-cancel
placeholder=
"点评关键词/特色"
placeholder-left
/>
</Search>
<scroll-view
@
scrolltolower=
"scrolltolower"
class=
"content"
:scroll-y=
"true"
>
<div
class=
"filter-box"
>
<div
class=
"score-sort flex-between"
>
...
...
@@ -189,16 +192,11 @@ uni-page-body {
background-color
:
#f3f3f3
;
display
:
flex
;
flex-direction
:
column
;
.top-bar
{
padding
:
16rpx
40rpx
;
font-size
:
28rpx
;
background
:
#fff
;
.wd-search
{
width
:
492rpx
;
height
:
56rpx
;
padding
:
0
;
margin-left
:
20rpx
;
}
.wd-search
{
width
:
492rpx
;
height
:
56rpx
;
padding
:
0
;
margin-left
:
50rpx
;
}
.content
{
height
:
132rpx
;
...
...
src/pages/assistingAgriculture/detail/comment.vue
View file @
35d88294
...
...
@@ -326,7 +326,7 @@ page {
}
.searchBoxs
{
width
:
4
8
0rpx
;
width
:
4
2
0rpx
;
height
:
56rpx
;
background
:
#f3f3f3
;
border-radius
:
28rpx
28rpx
28rpx
28rpx
;
...
...
src/pages/assistingAgriculture/detail/detail.vue
View file @
35d88294
...
...
@@ -3,12 +3,11 @@
<!-- 顶部搜索框-->
<view
class=
"top"
>
<view
class=
"top"
>
<Search
background=
"rgba(255, 255, 255, 0.8)"
backIcon=
"black"
iconSrc=
"/static/assistingAgriculture/assets/blackLeft.png"
placeholderText=
"请输入要搜索的内容"
></Search>
<Search
style=
"z-index: 99; width: 100%"
:type=
"2"
backgroundBox=
"#fff"
>
<view
style=
"width: 100%; text-align: center; font-size: 36rpx; font-weight: bold"
>
商品详情
</view>
</Search>
</view>
</view>
<!-- 图片-->
...
...
@@ -56,7 +55,7 @@
<view
class=
"bottom"
style=
"display: flex; flex-direction: row"
>
<view
class=
"borderClass"
@
tap=
"toStore"
>
<img
src=
"/static/assistingAgriculture/detail/
img7
.png"
src=
"/static/assistingAgriculture/detail/
home
.png"
style=
"width: 40rpx; height: 40rpx"
/>
<view
class=
"sort-text"
>
店铺
</view>
...
...
@@ -71,7 +70,7 @@
<view
class=
"borderClass"
@
tap=
"toCart"
>
<wd-badge
:modelValue=
"subscript"
>
<img
src=
"/static/assistingAgriculture/detail/car.png"
src=
"/static/assistingAgriculture/detail/car
Img
.png"
style=
"width: 40rpx; height: 40rpx"
/>
</wd-badge>
...
...
@@ -97,7 +96,6 @@
</
template
>
<
script
setup
>
import
Search
from
'../../../components/assistingAgriculture/index/Search.vue'
;
import
{
ref
}
from
'vue'
;
import
{
onShow
}
from
'@dcloudio/uni-app'
;
import
{
...
...
@@ -237,18 +235,6 @@ function toSettle() {
page
{
background-color
:
#f3f3f3
;
}
.container
{
position
:
relative
;
left
:
0rpx
;
top
:
-45rpx
;
opacity
:
1
;
}
.top
{
width
:
750rpx
;
height
:
128rpx
;
margin-top
:
40rpx
;
background
:
#ffffff
;
}
.nav
{
width
:
750rpx
;
}
...
...
@@ -438,13 +424,13 @@ page {
}
.detail-bottom
{
width
:
750rpx
;
height
:
216
rpx
;
height
:
140
rpx
;
border-radius
:
16rpx
16px
0rpx
0rpx
;
background
:
#ffffff
;
box-shadow
:
0rpx
-8rpx
20rpx
0rpx
rgba
(
0
,
0
,
0
,
0
.12
);
z-index
:
10
;
position
:
fixed
;
top
:
88
%
;
top
:
91
%
;
}
.sort
{
width
:
750rpx
;
...
...
@@ -470,8 +456,4 @@ page {
margin-top
:
-90rpx
;
margin-left
:
400rpx
;
}
::v-deep
.icon
{
width
:
56rpx
;
height
:
56rpx
;
}
</
style
>
src/pages/assistingAgriculture/index/building.vue
View file @
35d88294
...
...
@@ -134,7 +134,7 @@
</view>
</view>
<!-- 购物车悬浮按钮 -->
<view
class=
"cart-floating"
@
tap=
"toCart"
>
<
!--
<
view
class=
"cart-floating"
@
tap=
"toCart"
>
<wd-badge
:modelValue=
"subscript"
>
<img
class=
"shop-car"
...
...
@@ -142,8 +142,8 @@
style=
"width: 40rpx; height: 40rpx"
/>
</wd-badge>
</view>
<fab
/>
</view>
-->
<fab
position=
"2"
/>
</view>
</
template
>
...
...
src/pages/assistingAgriculture/index/index.vue
View file @
35d88294
...
...
@@ -74,7 +74,7 @@
</view>
</view>
</view>
<fab
/>
<fab
position=
"0"
/>
</view>
</
template
>
...
...
src/pages/assistingAgriculture/index/presale.vue
View file @
35d88294
...
...
@@ -128,7 +128,7 @@
</view>
</view>
<!-- 购物车悬浮按钮 -->
<view
class=
"cart-floating"
@
tap=
"toCart"
>
<
!--
<
view
class=
"cart-floating"
@
tap=
"toCart"
>
<wd-badge
:modelValue=
"subscript"
>
<img
class=
"shop-car"
...
...
@@ -136,7 +136,8 @@
style=
"width: 40rpx; height: 40rpx"
/>
</wd-badge>
</view>
</view>
-->
<fab
position=
"2"
/>
</
template
>
<
script
setup
>
...
...
@@ -150,7 +151,7 @@ import {
getStrictSelection
,
}
from
'../../../api/assistingAgriculture/building'
;
import
{
getshoppingCartList
}
from
'@/api/packageDetail'
;
import
fab
from
'../../../components/fab/fab.vue'
;
const
swiperList
=
ref
([]);
const
current
=
ref
(
0
);
// 轮播图数据
...
...
src/pages/assistingAgriculture/order/detail.vue
View file @
35d88294
...
...
@@ -9,7 +9,7 @@
></web-view>
<!--
<view
style=
"height: 600rpx; background-color: aquamarine"
></view>
-->
<view
class=
"content"
v-if=
"orderDetail"
>
<view
class=
"info"
>
<view
class=
"info"
:style=
"
{ 'padding-top': logisticsDetail ? '30rpx' : '60rpx' }"
>
<view
class=
"top"
v-if=
"logisticsDetail"
>
<view
class=
"left"
>
<image
...
...
@@ -711,7 +711,7 @@ page {
background
:
#f12a2a
;
border-radius
:
50%
;
position
:
absolute
;
top
:
6
rpx
;
top
:
-14
rpx
;
z-index
:
1
;
}
...
...
@@ -721,7 +721,7 @@ page {
background
:
#ffd5d5
;
border-radius
:
50%
;
position
:
absolute
;
top
:
6
rpx
;
top
:
-14
rpx
;
z-index
:
1
;
}
...
...
@@ -729,8 +729,8 @@ page {
height
:
100%
;
width
:
2rpx
;
background-color
:
#ffd5d5
;
position
:
absolute
;
top
:
6rpx
;
//
position: absolute;
//
top: 6rpx;
}
}
...
...
src/pages/index/coupon.vue
View file @
35d88294
<
template
>
<view
class=
"container"
>
<
wd-icon
name=
"thin-arrow-left"
class=
"icon"
@
tap=
"back"
></wd-icon
>
<
Search
title=
"优惠券"
:showTitle=
"true"
backgroundBox=
"white"
></Search
>
<scroll-view
class=
"tabs"
scroll-x=
"true"
@
scroll=
"scroll"
>
<text
@
tap=
"choice(index, item.value)"
...
...
@@ -145,18 +145,10 @@ page {
}
.container
{
position
:
relative
;
.icon
{
font-size
:
28rpx
;
margin-right
:
40rpx
;
position
:
absolute
;
left
:
30rpx
;
top
:
37rpx
;
z-index
:
999
;
}
.tabs
{
white-space
:
nowrap
;
padding
:
0
30rpx
;
padding-left
:
80rpx
;
//
padding-left: 80rpx;
box-sizing
:
border-box
;
height
:
100rpx
;
line-height
:
100rpx
;
...
...
@@ -167,7 +159,6 @@ page {
position
:
sticky
;
top
:
0
;
z-index
:
99
;
.tab
{
display
:
inline-block
;
margin-right
:
40rpx
;
...
...
src/pages/index/index.vue
View file @
35d88294
...
...
@@ -149,7 +149,7 @@
<!-- 美食卡片 -->
<FoodDetails
:cardData=
"cardData1"
/>
<!-- 营销模块 -->
<
Marketing
/
>
<
!--
<Marketing
/>
--
>
<!-- 美食卡片 -->
<FoodDetails
:cardData=
"cardData2"
/>
<view
...
...
@@ -807,8 +807,8 @@ page {
box-shadow
:
0rpx
4rpx
16rpx
0rpx
rgba
(
0
,
0
,
0
,
0
.08
);
margin
:
0
auto
;
margin-top
:
10rpx
;
position
:
sticky
;
top
:
0
;
//
position: sticky;
//
top: 0;
z-index
:
99
;
uni-scroll-view
.
uni-scroll-view
:
:-
webkit-scrollbar
{
/* 隐藏滚动条,但依旧具备可以滚动的功能 */
...
...
src/pages/index/listFood.vue
View file @
35d88294
<
template
>
<view
class=
"container"
>
<search
:backIcon=
"backIcon"
style=
"position: fixed; top: 0; width: 100%"
:backgroundBox=
"backgroundBox"
:title=
"title"
:showTitle=
"true"
></search>
<view
class=
"head"
>
<view
class=
"top"
:style=
"
{ backgroundImage: topBg }">
<wd-icon
name=
"thin-arrow-left"
class=
"icon"
@
tap=
"back"
></wd-icon>
</view>
<view
class=
"top"
:style=
"
{ backgroundImage: topBg }">
</view>
<view
class=
"bootom"
>
<view
class=
"bootom-top"
>
<view
class=
"option"
@
tap=
"locationFiltering(0)"
>
...
...
@@ -88,6 +93,9 @@ const topBg = ref(null);
const
categoryData
=
ref
([]);
const
show
=
ref
(
false
);
const
cardData
=
ref
([]);
const
backgroundBox
=
ref
(
''
);
const
backIcon
=
ref
(
'white'
);
const
title
=
ref
(
''
);
let
total
;
const
paramsId
=
{
parentId
:
null
,
...
...
@@ -240,6 +248,18 @@ const locationFiltering = (index) => {
break
;
}
};
// 监听页面滚动
onPageScroll
((
e
)
=>
{
if
(
e
.
scrollTop
>
20
)
{
backgroundBox
.
value
=
'#fff'
;
backIcon
.
value
=
''
;
title
.
value
=
'美食'
;
}
else
{
backgroundBox
.
value
=
''
;
backIcon
.
value
=
'white'
;
title
.
value
=
''
;
}
});
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/pages/order/order.vue
View file @
35d88294
...
...
@@ -556,12 +556,12 @@ const anotherOrder = (item) => {
});
break
;
case
7
:
xma
.
redirect
To
({
xma
.
navigate
To
({
url
:
`/pages/assistingAgriculture/detail/detail?prodId=
${
item
.
orderItems
[
0
].
prodId
}
`
,
});
break
;
case
10
:
xma
.
redirect
To
({
xma
.
navigate
To
({
url
:
`/pages/assistingAgriculture/RouteDetails/RouteDetails?prodId=
${
item
.
orderItems
[
0
].
prodId
}
&shopId=
${
item
.
shopId
}
`
,
});
break
;
...
...
@@ -709,7 +709,7 @@ page {
gap
:
14rpx
;
}
.searchBoxs
{
width
:
4
92
rpx
;
width
:
4
20
rpx
;
height
:
66rpx
;
background
:
#f3f3f3
;
border-radius
:
33rpx
;
...
...
src/pages/order/refund.vue
View file @
35d88294
<
template
>
<view
class=
"container"
>
<!--
<Header
title=
"售后/退款"
></Header>
-->
<Search
title=
"售后/退款"
backgroundBox=
"white"
:
type=
"2
"
></Search>
<Search
title=
"售后/退款"
backgroundBox=
"white"
:
showTitle=
"true
"
></Search>
<view
class=
"content"
v-if=
"orderDetail"
>
<view
class=
"content-box"
>
<view
class=
"content-item"
>
...
...
src/pages/storeEntry/detail.vue
View file @
35d88294
...
...
@@ -139,7 +139,7 @@
:file-list=
"testFileList[item.areaId]"
image-mode=
"aspectFill"
:action=
"action"
@
change=
"handleCategoyChange($event, item.areaId
, item.areaName
)"
@
change=
"handleCategoyChange($event, item.areaId)"
:limit=
"1"
class=
"img1"
:header=
"headers"
...
...
@@ -167,6 +167,7 @@
v-model=
"show"
position=
"bottom"
custom-style=
"height:500px;overflow:auto;"
safe-area-inset-bottom=
"true"
@
close=
"handleClose"
>
<view
class=
"hcontent"
>
...
...
@@ -293,7 +294,6 @@ const beforeRemove = ({ file, fileList, resolve }) => {
*/
const
processingImageAddresses
=
(
fileList
)
=>
{
const
data
=
fileList
.
value
.
map
((
item
)
=>
{
console
.
log
(
JSON
.
parse
(
item
.
response
));
return
JSON
.
parse
(
item
.
response
).
data
.
url
;
});
return
data
.
join
(
','
);
...
...
@@ -305,28 +305,26 @@ const processingImageAddresses1 = (fileList) => {
return
data
.
join
(
','
);
};
const
categoryShopsList
=
ref
({});
// 新增经营资质上传
const
testFileList
=
ref
([]);
const
handleCategoyChange
=
({
fileList
:
files
},
valId
,
valName
)
=>
{
const
handleCategoyChange
=
({
fileList
:
files
},
valId
)
=>
{
testFileList
.
value
[
valId
]
=
files
;
// 资质上传图片
// 资质清空图片
choosedShopInfo
.
value
.
forEach
((
item
)
=>
{
if
(
item
.
areaId
===
valId
)
{
choosedShopInfo
.
value
.
forEach
((
item
)
=>
{
if
(
item
.
areaId
===
valId
)
{
item
.
qualifications
=
files
.
length
===
0
?
''
:
processingImageAddresses1
(
testFileList
.
value
[
valId
]);
}
});
item
.
qualifications
=
files
.
length
===
0
?
''
:
processingImageAddresses1
(
testFileList
.
value
[
valId
]);
}
});
console
.
log
(
'在删除或上传资质图片时'
);
console
.
log
(
choosedShopInfo
.
value
);
// 修改本地存储的值
try
{
xma
.
setStorageSync
(
'storage_choosedShopInfo'
,
JSON
.
stringify
(
choosedShopInfo
.
value
));
}
catch
(
e
)
{
console
.
log
(
e
);
}
};
// 店铺logo门头上传
...
...
@@ -391,7 +389,17 @@ onLoad((options) => {
}
getShopCategoryFun
();
});
onUnload
(()
=>
{
try
{
const
value
=
xma
.
getStorageSync
(
'storage_choosedShopInfo'
);
if
(
value
&&
JSON
.
parse
(
value
).
length
>
0
)
{
console
.
log
(
'hhh'
);
xma
.
removeStorageSync
(
'storage_choosedShopInfo'
);
}
}
catch
(
e
)
{
// error
}
});
// 获取店铺入驻分类(弹窗tree)
const
getShopCategoryFun
=
async
()
=>
{
const
res
=
await
sgyrShopCategory
();
...
...
@@ -483,9 +491,7 @@ const getShopInfoByIdFun = async (data) => {
// 店铺分类:点击左侧团购、助农tab,添加active样式,清空选择的店铺类型数组
const
setActiveCategory
=
(
index
)
=>
{
console
.
log
(
index
);
categoryActiveIndex
.
value
=
index
;
choosedShopArr
.
value
=
[];
};
// 店铺分类是否显示
...
...
@@ -679,7 +685,7 @@ const submitData = () => {
});
}
try
{
xma
.
setStorageSync
(
'storage_choosedShopInfo'
,
{}
);
xma
.
removeStorageSync
(
'storage_choosedShopInfo'
);
xma
.
showToast
({
title
:
'修改成功'
,
icon
:
'success'
,
...
...
src/pages/storeEntry/index.vue
View file @
35d88294
...
...
@@ -123,7 +123,7 @@ const deleteShop = (shopId) => {
min-height
:
calc
(
100vh
-
160rpx
);
.content
{
// padding-top: 88rpx;
// padding-top: 88rpx;
.listcon
{
margin-top
:
10px
;
...
...
src/pages/ticket/detail.vue
View file @
35d88294
...
...
@@ -2,7 +2,7 @@
<view
class=
"container"
>
<!--
<Header
:title=
"shopDetail.shopName"
></Header>
-->
<Search
:title=
"shopDetail.shopName"
backgroundBox=
"white"
:showTitle=
"true"
></Search>
<view
class=
"content"
>
<view
class=
"content
1
"
>
<view
class=
"shop"
>
<image
:src=
"fileDomain + shopDetail.shopLogo"
class=
"logo"
mode=
"aspectFill"
></image>
<view
class=
"info"
>
...
...
@@ -339,7 +339,7 @@ page {
.container
{
width
:
375
*
2rpx
;
margin
:
0
auto
;
.content
{
.content
1
{
display
:
flex
;
flex-direction
:
column
;
padding
:
20rpx
26rpx
26rpx
;
...
...
src/pages/ticket/ticket.vue
View file @
35d88294
...
...
@@ -121,10 +121,21 @@
<
script
setup
>
import
{
myCouponListApi
,
userCouponStatisticsApi
}
from
'@/api/ticket'
;
import
{
signIn
}
from
'@/utils/signIn'
;
import
Header
from
'@/pages/order/components/Header/index.vue'
;
import
testJson
from
'@/static/json/test.json'
;
import
{
getTokenUser
}
from
'@/api/index'
;
import
{
getToken
}
from
'@/utils/auth'
;
const
fileDomain
=
import
.
meta
.
env
.
VITE_APP_IMG_URL
;
onLoad
(
async
()
=>
{
if
(
!
getToken
())
await
signIn
();
// if (!getToken()) await signIn2();
getStatistics
();
getCouponList
();
});
// 优惠券状态 0:失效 2:已使用,3-未使用
const
iconUrl
=
ref
({
0
:
'@/static/ticket/past-icon.png'
,
...
...
@@ -173,7 +184,6 @@ const getStatistics = async () => {
discountAmount
.
value
=
res
.
data
;
}
};
getStatistics
();
/**
* 获取用户优惠券列表
...
...
@@ -213,7 +223,21 @@ const getCouponList = async () => {
// state.value = 'finished';
xma
.
hideLoading
();
};
getCouponList
();
// 登录
const
signIn2
=
()
=>
{
xma
.
showLoading
({
title
:
'加载中'
,
mask
:
true
,
});
return
getTokenUser
(
testJson
).
then
((
res
)
=>
{
const
token
=
res
.
data
.
access_token
;
const
userInfo
=
res
.
data
.
user_info
;
xma
.
setStorageSync
(
'Authorization'
,
token
);
xma
.
setStorageSync
(
'userInfo'
,
userInfo
);
console
.
log
(
'登录...'
);
});
};
// 下拉刷新
onPullDownRefresh
(()
=>
{
...
...
src/static/index/gwc.png
0 → 100644
View file @
35d88294
1.76 KB
yarn.lock
View file @
35d88294
...
...
@@ -6198,6 +6198,11 @@ xinhua-sdk@*:
resolved "https://registry.npmmirror.com/xinhua-sdk/-/xinhua-sdk-1.6.1.tgz"
integrity sha512-Pjhwgn6lme5MxA6EcXQLD7ZEZMUZWJ714yLJCOkwEW96Yr0oS2JItnJA4NNYUP2hQBqQLc9SAUrOn9QOpFcQdw==
xinhua-sdk@^1.8.0:
version "1.8.0"
resolved "https://registry.npmmirror.com/xinhua-sdk/-/xinhua-sdk-1.8.0.tgz#a67fd21ed76f4489935cb5b4b0c9b8fde544da6b"
integrity sha512-5aXpi+zql1d+ojaERMtcgGZHsVEJAyKRctQJ8RlixPRa0jttBTTIaZaMXUzJtLxlnB82n4uhX/oJ8TNb65TbPA==
xml-name-validator@^4.0.0:
version "4.0.0"
resolved "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz"
...
...
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