Browse Source

上传

master
前端-胡立永 5 months ago
parent
commit
3da8e11bd1
7 changed files with 153 additions and 28 deletions
  1. +45
    -20
      components/tourGuide/locations.vue
  2. +3
    -5
      pages_order/auth/wxLogin.vue
  3. +12
    -0
      pages_order/auth/wxUserInfo.vue
  4. +1
    -0
      pages_order/order/orderSubscribe.vue
  5. +70
    -3
      pages_order/service/situation.vue
  6. BIN
      static/image/logo.png
  7. +22
    -0
      store/store.js

+ 45
- 20
components/tourGuide/locations.vue View File

@ -11,17 +11,9 @@
:scale="scale"
@markertap="markertap"
id="mapId"
@callouttap='callouttap'>
@callouttap="callouttap">
</map>
<uv-tabs :list="areaList"
:activeStyle="{color : '#B12026', fontWeight : 600}"
lineColor="#B12026"
lineHeight="8rpx"
lineWidth="50rpx"
keyName="areaName"
:current="currentArea"
@click="clickTabs"></uv-tabs>
<view class="tabs">
<view class=""
@ -33,6 +25,15 @@
</view>
</view>
<uv-tabs :list="areaList"
:activeStyle="{color : '#B12026', fontWeight : 600}"
lineColor="#B12026"
lineHeight="8rpx"
lineWidth="50rpx"
keyName="areaName"
:current="currentArea"
@click="clickTabs"></uv-tabs>
<!-- '文化遗产', '找厕所', '找美食', '找民宿' -->
<!-- v-if="spotGuideIndex != 1" -->
@ -50,14 +51,14 @@
<view class="tips">
{{ spotGuide.length }}个遗产点
</view>
<view class="btn">
<!-- <view class="btn">
<image src="/static/image/tourGuide/a.png"
mode=""></image>
<text class=""
@click="textToSpeech(area.areaBrief)">
语音讲解
</text>
</view>
</view> -->
</view>
<view class="controls">
@ -111,13 +112,13 @@
@click.stop="openLocation(item)"
src="/static/image/tourGuide/f.png" mode=""></image>
</view>
<view
<!-- <view
v-if="item.categoryId == 0"
class="f">
<image
@click.stop="textToSpeech"
src="/static/image/tourGuide/a.png" mode=""></image>
</view>
</view> -->
</view>
</view>
</view>
@ -205,12 +206,31 @@
},
//
markertap(e) {
console.log("===你点击了标记点===", e)
let spot = this.spotGuideMarkers[e.markerId]
uni.openLocation({
latitude: spot.latitude,
longitude: spot.longitude,
})
console.log("markertap===你点击了标记点===", e)
// let spot = this.spotGuideMarkers[e.markerId]
// uni.openLocation({
// latitude: spot.latitude,
// longitude: spot.longitude,
// })
// BYCLICK
// ALWAYS
// this.$store.commit('setDisplay',
// this.spotGuideMarkers[e.markerId].id)
// this.$forceUpdate()
// this.spotGuideMarkers.forEach((n, i) => {
// if(i == e.markerId){
// //
// n.callout.display = 'ALWAYS'
// }else{
// //
// n.callout.display = 'BYCLICK'
// }
// })
},
openLocation(n){
uni.openLocation({
@ -220,7 +240,12 @@
},
//
callouttap(e) {
console.log('地图点击事件', e)
console.log('callouttap地图点击事件', e)
let spot = this.spotGuideMarkers[e.markerId]
uni.openLocation({
latitude: spot.latitude,
longitude: spot.longitude,
})
},
toUrl(item){
if(item.categoryId == 0){


+ 3
- 5
pages_order/auth/wxLogin.vue View File

@ -1,7 +1,7 @@
<template>
<view class="login">
<view class="logo">
<!-- <image src="/static/image/login/logo.png" mode=""></image> -->
<image src="/static/image/logo.png" mode=""></image>
</view>
<view class="title">
欢迎使用遗产里的景徳镇
@ -91,11 +91,9 @@
.logo{
height: 140rpx;
width: 140rpx;
background-color: #ddd;
border-radius: 30rpx;
image{
width: 80rpx;
height: 80rpx;
width: 100%;
height: 100%;
}
margin-bottom: 20rpx;
}


+ 12
- 0
pages_order/auth/wxUserInfo.vue View File

@ -1,5 +1,8 @@
<template>
<view class="login">
<view class="logo">
<image src="/static/image/logo.png" mode=""></image>
</view>
<view class="title">
遗产里的景徳镇
</view>
@ -95,6 +98,15 @@
justify-content: center;
align-items: center;
height: 80vh;
.logo{
height: 140rpx;
width: 140rpx;
image{
width: 100%;
height: 100%;
}
margin-bottom: 20rpx;
}
.title {
line-height: 45rpx;


+ 1
- 0
pages_order/order/orderSubscribe.vue View File

@ -122,6 +122,7 @@
:date="selectDate"
confirmColor="#B12026"
:clearDate="false"
:startDate="$dayjs().format('YYYY-MM-DD') "
ref="calendars" @confirm="confirmDate" />


+ 70
- 3
pages_order/service/situation.vue View File

@ -24,8 +24,11 @@
{{ list[0].areaBrief }}
</view>
</view>
<view class="qg-top"></view>
<view class="qg-bottom"></view>
</view>
<view class="situation-imgs-two"
<!-- <view class="situation-imgs-two"
v-if="list[1].id"
@click="toUrl(list[1].id)">
<image :src="list[1].areaImage" mode="aspectFill"/>
@ -37,11 +40,14 @@
{{ list[1].areaBrief }}
</view>
</view>
</view>
<view class="qg-top"></view>
<view class="qg-bottom"></view>
</view> -->
<view class="situation-imgs-four">
<view
v-for="(item,index) in list"
v-if="index > 1"
v-if="index > 0"
@click="toUrl(item.id)"
:key="index">
<image :src="item.areaImage" mode="aspectFill"/>
@ -53,6 +59,8 @@
{{ item.areaBrief }}
</view>
</view>
<view class="qg-top"></view>
<view class="qg-bottom"></view>
</view>
</view>
</view>
@ -111,10 +119,67 @@
<style scoped lang="scss">
.situation {
--qg : 60rpx;
image{
width: 100%;
height: 100%;
}
.qg-top{
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
display: flex;
justify-content: space-between;
&::after{
content: '';
display: block;
width: var(--qg);
height: var(--qg);
background-color: $uni-bg-color;
border-radius: 50%;
transform: translate(50%, -50%);
}
&::before{
content: '';
display: block;
width: var(--qg);
height: var(--qg);
background-color: $uni-bg-color;
border-radius: 50%;
transform: translate(-50%, -50%);
}
}
.qg-bottom{
position: absolute;
bottom: 0;
left: 0;
width: 100%;
overflow: hidden;
display: flex;
justify-content: space-between;
&::after{
content: '';
display: block;
width: var(--qg);
height: var(--qg);
background-color: $uni-bg-color;
border-radius: 50%;
transform: translate(50%, 50%);
}
&::before{
content: '';
display: block;
width: var(--qg);
height: var(--qg);
background-color: $uni-bg-color;
border-radius: 50%;
transform: translate(-50%, 50%);
}
}
.situation-imgs {
width: 92%;
margin-top: 20rpx;
@ -136,6 +201,7 @@
}
.situation-imgs-two {
position: relative;
margin-top: 20rpx;
height: 300rpx;
position: relative;
@ -156,6 +222,7 @@
flex-wrap: wrap;
justify-content: space-between;
>view {
position: relative;
margin-top: 20rpx;
width: 48%;
height: 260rpx;


BIN
static/image/logo.png View File

Before After
Width: 148  |  Height: 148  |  Size: 14 KiB

+ 22
- 0
store/store.js View File

@ -62,6 +62,15 @@ const store = new Vuex.Store({
height: 28 ,//图标icon 高度
iconPath: `/static/image/tourGuide/${n.categoryId}.png`, //图标
id: index,
callout: { //自定义标记点上方的气泡窗口 点击有效
content: n.spotName, //文本
color: '#000', //文字颜色
fontSize: 13, //文本大小
borderRadius: 13, //边框圆角
padding: '10',
bgColor: '#fff', //背景颜色
display: 'ALWAYS', //隐藏
},
})
})
@ -86,6 +95,18 @@ const store = new Vuex.Store({
})
})
},
// 设置气泡显示与隐藏
setDisplay(state, id){
state.spotList.forEach((n, index) => {
if(n.id == id){
// 显示气泡
n.display = 'ALWAYS'
}else{
// 隐藏气泡
n.display = 'BYCLICK'
}
})
},
// 导览页面设置当前选择的菜单,0-景点 1-美食店铺 2-民宿 3-厕所
setSpotGuideIndex(state, index){
state.spotGuideIndex = index
@ -121,6 +142,7 @@ const store = new Vuex.Store({
res.result.records.forEach(n => {
if(n.spotLatitude && n.spotLongitude){
n.distance = 0
n.display = 'BYCLICK'
spot.push(n)
}
})


Loading…
Cancel
Save