|
|
@@ -14,23 +14,28 @@
|
|
|
</div>
|
|
|
<div id="amap" />
|
|
|
<div id="panel"></div>
|
|
|
- <!-- <div style="position: absolute; top: 0; left: 0; z-index: 1000"> -->
|
|
|
- <!-- <wx-open-launch-weapp appid="wx0bc995dace29b2ba" path="pages/banner/index"> -->
|
|
|
- <!-- <wx-open-launch-weapp appid="wx4cbb8e9d0a6fface">
|
|
|
+ <div style="position: absolute; top: 0; left: 0; z-index: 1000">
|
|
|
+ <!-- <wx-open-launch-weapp appid="wx0bc995dace29b2ba" path="pages/banner/index"> -->
|
|
|
+ <!-- <wx-open-launch-weapp appid="wx4cbb8e9d0a6fface">
|
|
|
<component :is="'script'" type="text/wxtag-template">
|
|
|
<button class="btn">打开小程序</button>
|
|
|
</component>
|
|
|
</wx-open-launch-weapp>
|
|
|
- <button @click="goLocation()">导航1</button> -->
|
|
|
- <!-- <button @click="goLocation(2)">导航2</button>
|
|
|
- <button @click="goLocation(3)">导航3</button> -->
|
|
|
- <!-- <button @click="openApp">打开小程序</button> -->
|
|
|
- <!-- <button @click="switchView(1)">切换视图1</button>
|
|
|
- <button @click="switchView(2)">切换视图2</button> -->
|
|
|
- <!-- </div> -->
|
|
|
+ <button @click="goLocation()">导航1</button>
|
|
|
+ <button @click="goLocation(2)">导航2</button>
|
|
|
+ <button @click="goLocation(3)">导航3</button>
|
|
|
+ <button @click="openApp">打开小程序</button>
|
|
|
+ <button @click="switchView(1)">切换视图1</button>
|
|
|
+ <button @click="switchView(2)">切换视图2</button>-->
|
|
|
+ <!-- <button @click="test()">拉起</button> -->
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="open-line" @click="showLineList = true"></div>
|
|
|
+ <div class="open-chat" @click="switchChat()"></div>
|
|
|
|
|
|
<div class="chat-box" :class="{ show: showChat }">
|
|
|
- <div class="chat-tab" @click="switchChat()">
|
|
|
+ <div class="icon" @click="switchChat()"></div>
|
|
|
+ <!-- <div class="chat-tab" @click="switchChat()">
|
|
|
<div>
|
|
|
<div>
|
|
|
<div class="logo"></div>
|
|
|
@@ -39,7 +44,7 @@
|
|
|
|
|
|
<div class="icon"></div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<div class="chat-content">
|
|
|
<!-- <div class="answer-list"></div> -->
|
|
|
|
|
|
@@ -62,7 +67,16 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+
|
|
|
+ <div class="line-layer" @click="showLineList = false" v-if="showLineList">
|
|
|
+ <div class="line-box">
|
|
|
+ <div class="line-list">
|
|
|
+ <div class="list-item" @click.stop="goLine(i)" v-for="i in 4"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
+
|
|
|
<Dialog v-if="dialogData" :dialogData="dialogData" @close="dialogData = null" />
|
|
|
</template>
|
|
|
|
|
|
@@ -76,13 +90,17 @@ import Dialog from "./dialog.vue";
|
|
|
import Header from "@/components/header/index.vue";
|
|
|
import "swiper/css/swiper.css";
|
|
|
import { mapData, typeData } from "./data.js";
|
|
|
-
|
|
|
+import tagIcon from "@/assets/images/tagIcon.png";
|
|
|
import MarkdownIt from "markdown-it";
|
|
|
-import { mapStores } from "pinia";
|
|
|
+// import { mapStores } from "pinia";
|
|
|
+import router from "@/router";
|
|
|
const md = new MarkdownIt();
|
|
|
const scrollRef = ref(null);
|
|
|
// console.error(mapData);
|
|
|
-
|
|
|
+const showLineList = ref(false);
|
|
|
+const goLine = (id) => {
|
|
|
+ router.replace(`/line/${id}`);
|
|
|
+};
|
|
|
const messages = ref([]);
|
|
|
if (sessionStorage.getItem("messages")) {
|
|
|
messages.value = JSON.parse(sessionStorage.getItem("messages"));
|
|
|
@@ -96,7 +114,27 @@ const chat = ref({ content: "", role: "user" });
|
|
|
let AMap = null;
|
|
|
let map = null;
|
|
|
let imageLayer = null;
|
|
|
-
|
|
|
+const test = () => {
|
|
|
+ let item = markers.find((i) => i.getExtData().id == 1);
|
|
|
+ let data = item.getExtData();
|
|
|
+ var infoWindow = new AMap.InfoWindow({
|
|
|
+ content: `<div class="map-window">
|
|
|
+ <div class="img-box"><img src="./static/image/全部/${data.images[0]}"></div></div>`, // 设置弹窗内容为自定义的HTML元素
|
|
|
+ offset: new AMap.Pixel(0, -30), // 设置弹窗偏移量,可根据需要调整
|
|
|
+ });
|
|
|
+ // infoWindow.open(map, e.target.getPosition());
|
|
|
+ infoWindow.open(map, item.getPosition());
|
|
|
+};
|
|
|
+function getMarkerByPosition(position) {
|
|
|
+ var markers = map.getOverlays(); // 获取地图上的所有覆盖物,包括 Marker
|
|
|
+ for (var i = 0; i < markers.length; i++) {
|
|
|
+ if (AMap.isPointInArea(position, markers[i].getPosition())) {
|
|
|
+ // 检查位置是否匹配
|
|
|
+ return markers[i]; // 返回找到的 Marker
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return null; // 如果没有找到,返回 null
|
|
|
+}
|
|
|
const showDialog = ref(false);
|
|
|
const tabType = ref(1);
|
|
|
let openaiA = new OpenAI({
|
|
|
@@ -201,21 +239,38 @@ const switchChat = () => {
|
|
|
showChat.value = !showChat.value;
|
|
|
};
|
|
|
|
|
|
+// var infoWindow = new AMap.InfoWindow({
|
|
|
+// content: "<div style='padding: 5.0025px;'>这里是你要显示的内容</div>", // 可以是HTML字符串
|
|
|
+// offset: new AMap.Pixel(0, -30), // 偏移量设置
|
|
|
+// });
|
|
|
const hanlderMakerEvent = (e) => {
|
|
|
console.log("click", e.target.getExtData());
|
|
|
// showDialog.value = true;
|
|
|
let data = e.target.getExtData();
|
|
|
dialogData.value = data;
|
|
|
+ // console.error(e);
|
|
|
+ // infoWindow.open(map, marker.getPosition());
|
|
|
+ // var infoWindow = new AMap.InfoWindow({
|
|
|
+ // content: `<div class="map-window">
|
|
|
+ // <div class="img-box"><img src="./static/image/全部/${data.images[0]}"></div></div>`, // 设置弹窗内容为自定义的HTML元素
|
|
|
+ // offset: new AMap.Pixel(0, -30), // 设置弹窗偏移量,可根据需要调整
|
|
|
+ // });
|
|
|
+ // infoWindow.open(map, e.target.getPosition());
|
|
|
+ // console.error(infoWindow);
|
|
|
};
|
|
|
let markers = [];
|
|
|
const setMarker = () => {
|
|
|
let data = mapData.filter((item) => item.type == tabType.value);
|
|
|
let scale = 0.2;
|
|
|
+ const markerContent = `<div class="custom-content-marker">
|
|
|
+ <div class="title">sdasdas</div>
|
|
|
+ <div class="icon"></div>
|
|
|
+ </div>`;
|
|
|
for (let i = 0; i < data.length; i++) {
|
|
|
- let iconW = 50;
|
|
|
- let iconH = 50;
|
|
|
+ let iconW = 41;
|
|
|
+ let iconH = 57;
|
|
|
let customIcon = null;
|
|
|
- let offset = [0, 0];
|
|
|
+ let offset = [new AMap.Pixel(0, 0)];
|
|
|
if (data[i].iconSize) {
|
|
|
iconW = (data[i].iconSize[0] - 0) * scale;
|
|
|
iconH = (data[i].iconSize[1] - 0) * scale;
|
|
|
@@ -225,17 +280,14 @@ const setMarker = () => {
|
|
|
imageSize: new AMap.Size(iconW, iconH),
|
|
|
});
|
|
|
offset = new AMap.Pixel(-(iconW / 2), -(iconH / 2));
|
|
|
- // const markerContent = `<div class="custom-content-marker">
|
|
|
- // <img src="//a.amap.com/jsapi_demos/static/demo-center/icons/dir-via-marker.png">
|
|
|
- // <div class="close-btn" onclick="clearMarker()">X</div>
|
|
|
- // </div>`;
|
|
|
} else {
|
|
|
- // customIcon = new AMap.Icon({
|
|
|
- // size: new AMap.Size(iconW, iconH),
|
|
|
- // // image: `./static/image/景点地标切图/${data[i].name}.png`,
|
|
|
- // // imageSize: new AMap.Size(iconW, iconH),
|
|
|
- // });
|
|
|
- offset = 0;
|
|
|
+ offset = new AMap.Pixel(-(iconW / 2), -(iconH / 2));
|
|
|
+ customIcon = new AMap.Icon({
|
|
|
+ size: new AMap.Size(iconW, iconH),
|
|
|
+ image: tagIcon,
|
|
|
+ imageSize: new AMap.Size(iconW, iconH),
|
|
|
+ });
|
|
|
+ // customIcon = markerContent;
|
|
|
}
|
|
|
|
|
|
let pos = data[i].location.split(",");
|
|
|
@@ -244,11 +296,21 @@ const setMarker = () => {
|
|
|
// position: new AMap.LngLat(106.837106, 29.712762),
|
|
|
|
|
|
position: new AMap.LngLat(pos[0], pos[1]),
|
|
|
- // content: markerContent, //将 html 传给 content
|
|
|
offset: offset,
|
|
|
+ // content: !data[i].iconSize ? markerContent : null, //将 html 传给 content
|
|
|
+ label: !data[i].iconSize
|
|
|
+ ? {
|
|
|
+ // Marker标签
|
|
|
+ direction: "top",
|
|
|
+ content: extData.name, // 标签内容
|
|
|
+ offset: new AMap.Pixel(0, -5), // 标签偏移量,可根据需要调整
|
|
|
+ }
|
|
|
+ : null,
|
|
|
+ // icon: data[i].iconSize ? customIcon : null, //添加 icon 图标 URL
|
|
|
icon: customIcon, //添加 icon 图标 URL
|
|
|
// title: data[i].name,
|
|
|
zooms: [9, 20], // 设置可见级别,[最小级别,最大级别]
|
|
|
+ id: `marker_${data[i].id}`,
|
|
|
extData: {
|
|
|
//自定义数据
|
|
|
...extData,
|
|
|
@@ -319,7 +381,7 @@ const setMarkerCluster = () => {
|
|
|
map, // 地图实例
|
|
|
pointers, // 海量点数据,数据中需包含经纬度信息字段 lnglat
|
|
|
{
|
|
|
- gridSize: 100,
|
|
|
+ gridSize: 30,
|
|
|
clusterByZoomChange: true,
|
|
|
// styles: {
|
|
|
// // url: `./static/image/景点地标切图/${data.name}.png`,
|
|
|
@@ -354,8 +416,20 @@ const setMarkerCluster = () => {
|
|
|
},
|
|
|
}
|
|
|
);
|
|
|
+
|
|
|
cluster.on("click", (e) => {
|
|
|
- console.error(e);
|
|
|
+ if (e.clusterData.length == 1) {
|
|
|
+ dialogData.value = e.clusterData[0].info;
|
|
|
+ } else {
|
|
|
+ // console.error(map.getZoom());
|
|
|
+ setTimeout(() => {
|
|
|
+ // map.setZoomAndCenter(map.getZoom() + 2);
|
|
|
+ let center = e.clusterData[0].info.location.split(",");
|
|
|
+ console.error(center);
|
|
|
+ map.setZoomAndCenter(map.getZoom() + 2, center, false, 300);
|
|
|
+ }, 0);
|
|
|
+ // console.error(map.getZoom());
|
|
|
+ }
|
|
|
});
|
|
|
};
|
|
|
const goLocation = (index) => {
|
|
|
@@ -372,10 +446,10 @@ const initMap = async () => {
|
|
|
securityJsCode: "2d0885f937e5fa6d093830e1765f593d",
|
|
|
};
|
|
|
const _AMap = await AMapLoader.load({
|
|
|
- key: "655ac083de961ed970f2be4ba23b3c9f", //玉骑账号
|
|
|
- // key: "b19c9847b3775cd993c5a8a71c5fa1a0",
|
|
|
+ // key: "655ac083de961ed970f2be4ba23b3c9f", //玉骑账号
|
|
|
+ key: "b19c9847b3775cd993c5a8a71c5fa1a0",
|
|
|
version: "2.0",
|
|
|
- plugins: ["AMap.MoveAnimation", "AMap.ImageLayer", "AMap.TileLayer", "AMap.Geolocation", "AMap.DistrictSearch", "AMap.Driving", "AMap.Walking", "AMap.MarkerCluster"],
|
|
|
+ plugins: ["AMap.MoveAnimation", "AMap.ImageLayer", "AMap.TileLayer", "AMap.Geolocation", "AMap.DistrictSearch", "AMap.Driving", "AMap.Walking", "AMap.MarkerCluster", "AMap.InfoWindow"],
|
|
|
});
|
|
|
AMap = _AMap;
|
|
|
|
|
|
@@ -396,7 +470,7 @@ const initMap = async () => {
|
|
|
});
|
|
|
map = new AMap.Map("amap", {
|
|
|
viewMode: "2D",
|
|
|
- // mapStyle: "amap://styles/76c9ffde986e653b6c8dc2bba6a9186e", //设置地图的显示样式
|
|
|
+ mapStyle: "amap://styles/76c9ffde986e653b6c8dc2bba6a9186e", //设置地图的显示样式
|
|
|
labels: true,
|
|
|
zoom: 10, // 地图显示的缩放级别
|
|
|
zooms: [8, 18],
|
|
|
@@ -554,7 +628,7 @@ const initMap = async () => {
|
|
|
console.error("click");
|
|
|
});
|
|
|
map.on("zoomchange", () => {
|
|
|
- // console.log("当前缩放级别:", map.getZoom());
|
|
|
+ console.log("当前缩放级别:", map.getZoom());
|
|
|
// if (map.getZoom() < 10 || map.getZoom() > 15) {
|
|
|
// map.remove(tilerLayer);
|
|
|
// } else {
|
|
|
@@ -591,8 +665,10 @@ const initMap = async () => {
|
|
|
const addImageLayer = () => {
|
|
|
imageLayer = new AMap.ImageLayer({
|
|
|
bounds: new AMap.Bounds(
|
|
|
- [112.327252, 29.848416], // 左下 手绘图左下相对于地图的经纬度
|
|
|
- [114.158561, 28.41688] // 右上 手绘图右上相对于地图的经纬度
|
|
|
+ // [112.327252, 29.848416], // 左下 手绘图左下相对于地图的经纬度
|
|
|
+ // [114.158561, 28.41688] // 右上 手绘图右上相对于地图的经纬度
|
|
|
+ [112.319302, 29.848272], // 左下 手绘图左下相对于地图的经纬度
|
|
|
+ [114.159538, 28.396902] // 右上 手绘图右上相对于地图的经纬度
|
|
|
),
|
|
|
// url为手绘图地址
|
|
|
// url: "https://amappc.cn-hangzhou.oss-pub.aliyun-inc.com/lbs/static/img/dongwuyuan.jpg",
|
|
|
@@ -600,7 +676,7 @@ const addImageLayer = () => {
|
|
|
|
|
|
zIndex: 10,
|
|
|
clickable: true,
|
|
|
- zooms: [0, 20], // 设置可见级别,[最小级别,最大级别]
|
|
|
+ zooms: [0, 16], // 设置可见级别,[最小级别,最大级别]
|
|
|
});
|
|
|
};
|
|
|
|
|
|
@@ -804,14 +880,33 @@ onMounted(() => {
|
|
|
<style lang="scss" scoped>
|
|
|
.map-box {
|
|
|
width: 100%;
|
|
|
- height: 100vh;
|
|
|
+ height: 100%;
|
|
|
+ .open-line {
|
|
|
+ width: 1.72rem;
|
|
|
+ height: 1.64rem;
|
|
|
+ background: url("@/assets/images/ywxlBtn.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ position: absolute;
|
|
|
+ bottom: .8rem;
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ }
|
|
|
+ .open-chat {
|
|
|
+ width: 1.3333rem;
|
|
|
+ height: 1.3333rem;
|
|
|
+ background: url("@/assets/images/deepseekBtn.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ position: absolute;
|
|
|
+ bottom: .9867rem;
|
|
|
+ right: .4267rem;
|
|
|
+ }
|
|
|
.tab-bar {
|
|
|
width: 100%;
|
|
|
- height: 87.9975px;
|
|
|
+ height: 1.1733rem;
|
|
|
background: url("@/assets/images/tabBg.png") no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
position: absolute;
|
|
|
- top: 80.0025px;
|
|
|
+ top: 1.0667rem;
|
|
|
left: 0;
|
|
|
z-index: 10;
|
|
|
overflow-x: hidden;
|
|
|
@@ -819,43 +914,61 @@ onMounted(() => {
|
|
|
align-items: center;
|
|
|
.swiper-container {
|
|
|
width: 100%;
|
|
|
- padding: 0 30px;
|
|
|
+ padding: 0 .4rem;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
.swiper-wrapper {
|
|
|
display: flex;
|
|
|
- align-items: center;
|
|
|
+ align-items: flex-end;
|
|
|
+
|
|
|
.swiper-slide {
|
|
|
background: rgba(255, 255, 255, 0.6);
|
|
|
- // min-height: 42px;
|
|
|
+ // min-height: .56rem;
|
|
|
width: auto;
|
|
|
height: auto;
|
|
|
font-weight: bold;
|
|
|
- color: rgba(56, 56, 56, 0.8);
|
|
|
+ color: #fff;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- border-radius: 12px;
|
|
|
- padding: 12px;
|
|
|
+ border-radius: .16rem;
|
|
|
+ padding: 0 .2133rem;
|
|
|
+ background: url("@/assets/images/tabNormal.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ height: .8267rem;
|
|
|
+ font-size: .3467rem;
|
|
|
&.active {
|
|
|
- background: #50c4b2;
|
|
|
- color: #fff;
|
|
|
+ // background: #50c4b2;
|
|
|
+ // color: #fff;
|
|
|
+ height: 1.24rem;
|
|
|
+
|
|
|
+ color: #883f45;
|
|
|
+ text-shadow: 0px 2.0025px 3px #be8500;
|
|
|
+ background: url("@/assets/images/tabActive.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-end;
|
|
|
+ padding-bottom: .2rem;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
#amap {
|
|
|
- height: 100vh;
|
|
|
+ height: 100%;
|
|
|
}
|
|
|
.chat-box {
|
|
|
- width: 660px;
|
|
|
+ width: 9.6rem;
|
|
|
+ height: 12.1467rem;
|
|
|
position: fixed;
|
|
|
+ background: url("@/assets/images/chatBg.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
bottom: 0;
|
|
|
left: 50%;
|
|
|
- transform: translate(-50%, 83%);
|
|
|
+ transform: translate(-50%, 100%);
|
|
|
z-index: 10;
|
|
|
transition: all 0.3s linear;
|
|
|
+ padding-top: 2.1333rem;
|
|
|
&.show {
|
|
|
transform: translate(-50%, 0);
|
|
|
|
|
|
@@ -866,104 +979,114 @@ onMounted(() => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .chat-tab {
|
|
|
- width: 660px;
|
|
|
- height: 129.9975px;
|
|
|
- background: url("@/assets/images/chatTab.png") no-repeat;
|
|
|
+ .icon {
|
|
|
+ width: .6133rem;
|
|
|
+ height: .5867rem;
|
|
|
+ background: url("@/assets/images/slideIcon.png") no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
+ margin-left: .6rem;
|
|
|
+ position: absolute;
|
|
|
+ right: 1.4533rem;
|
|
|
+ top: 1.2rem;
|
|
|
+ }
|
|
|
+ .chat-tab {
|
|
|
+ width: 8.8rem;
|
|
|
+ height: 1.7333rem;
|
|
|
+ // background: url("@/assets/images/chatTab.png") no-repeat;
|
|
|
+ // background-size: 100% 100%;
|
|
|
position: relative;
|
|
|
- margin-bottom: 30px;
|
|
|
+ margin-bottom: .4rem;
|
|
|
|
|
|
> div {
|
|
|
width: 100%;
|
|
|
- height: 114px;
|
|
|
+ height: 1.52rem;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: space-between;
|
|
|
- padding-right: 60px;
|
|
|
+ padding-right: .8rem;
|
|
|
> div {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: flex-start;
|
|
|
.logo {
|
|
|
- width: 207px;
|
|
|
- height: 207px;
|
|
|
+ width: 2.76rem;
|
|
|
+ height: 2.76rem;
|
|
|
background: url("@/assets/images/deepseek.png") no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
margin-top: -4%;
|
|
|
- margin-left: 60px;
|
|
|
+ margin-left: .8rem;
|
|
|
// position: absolute;
|
|
|
- // left: 60px;
|
|
|
+ // left: .8rem;
|
|
|
// top: -52%;
|
|
|
}
|
|
|
.text {
|
|
|
// margin-top: -1.5%;
|
|
|
- font-size: 20.0025px;
|
|
|
+ font-size: .2667rem;
|
|
|
color: rgba(0, 0, 0, 0.6);
|
|
|
- line-height: 69.9975px;
|
|
|
+ line-height: .9333rem;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.icon {
|
|
|
- width: 42px;
|
|
|
- height: 42px;
|
|
|
+ width: .56rem;
|
|
|
+ height: .56rem;
|
|
|
background: url("@/assets/images/slideIcon.png") no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
- margin-left: 45px;
|
|
|
+ margin-left: .6rem;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.chat-content {
|
|
|
width: 100%;
|
|
|
- height: 732px;
|
|
|
- background: url("@/assets/images/chatBg.png") no-repeat;
|
|
|
- background-size: 100% 100%;
|
|
|
- margin-bottom: 39.9975px;
|
|
|
- padding: 22.5px 15px 99.9975px 60px;
|
|
|
+ height: 9.76rem;
|
|
|
+ // background: url("@/assets/images/chatBg.png") no-repeat;
|
|
|
+ // background-size: 100% 100%;
|
|
|
+ margin-bottom: .5333rem;
|
|
|
+ padding: .6667rem .8rem 1.3333rem 1.2rem;
|
|
|
position: relative;
|
|
|
|
|
|
.ipt-box {
|
|
|
width: 100%;
|
|
|
- height: 53.0025px;
|
|
|
+ height: .7067rem;
|
|
|
position: absolute;
|
|
|
- bottom: 39.9975px;
|
|
|
+ bottom: .5333rem;
|
|
|
left: 50%;
|
|
|
transform: translateX(-50%);
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
.chat-text {
|
|
|
- width: 471.9975px;
|
|
|
+ width: 6.2933rem;
|
|
|
height: 100%;
|
|
|
background: #fff;
|
|
|
- border-radius: 26.0025px;
|
|
|
+ border-radius: .16rem;
|
|
|
overflow: hidden;
|
|
|
-
|
|
|
+ border: .9975px solid #adadad;
|
|
|
input {
|
|
|
border: none;
|
|
|
outline: none;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
- font-size: 20.0025px;
|
|
|
- padding: 0 39.9975px;
|
|
|
- line-height: 53.0025px;
|
|
|
+ font-size: .2667rem;
|
|
|
+ padding: 0 .5333rem;
|
|
|
+ line-height: .7067rem;
|
|
|
}
|
|
|
}
|
|
|
.send-btn {
|
|
|
- width: 53.0025px;
|
|
|
- height: 53.0025px;
|
|
|
+ width: .7067rem;
|
|
|
+ height: .7067rem;
|
|
|
background: url("@/assets/images/sendBtn.png") no-repeat;
|
|
|
background-size: 100% 100%;
|
|
|
- margin-left: 12px;
|
|
|
+ margin-left: .16rem;
|
|
|
}
|
|
|
}
|
|
|
.chat-msg {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
font-weight: 400;
|
|
|
- font-size: 24.9975px;
|
|
|
- line-height: 35.0025px;
|
|
|
- padding-right: 45px;
|
|
|
+ font-size: .3333rem;
|
|
|
+ line-height: .4667rem;
|
|
|
+ padding-right: .2667rem;
|
|
|
overflow-y: auto;
|
|
|
.default-question {
|
|
|
// display: flex;
|
|
|
@@ -972,12 +1095,14 @@ onMounted(() => {
|
|
|
|
|
|
.quest-item {
|
|
|
display: inline;
|
|
|
- background: #fff;
|
|
|
- padding: 9.9975px;
|
|
|
- border-radius: 8.0025px;
|
|
|
- font-size: 20.0025px;
|
|
|
- margin: 0 9.9975px 9.9975px 0;
|
|
|
- line-height: 60px;
|
|
|
+ background: #d9d9d9;
|
|
|
+ border: .9975px solid #dddddd;
|
|
|
+ padding: .1333rem;
|
|
|
+ color: rgba(0, 0, 0, 0.7);
|
|
|
+ border-radius: .16rem;
|
|
|
+ font-size: .2667rem;
|
|
|
+ margin: 0 .1333rem .1333rem 0;
|
|
|
+ line-height: .8rem;
|
|
|
}
|
|
|
}
|
|
|
> div {
|
|
|
@@ -987,58 +1112,80 @@ onMounted(() => {
|
|
|
color: #ffffff;
|
|
|
|
|
|
> div {
|
|
|
- max-width: 410.0025px;
|
|
|
+ max-width: 5.4667rem;
|
|
|
display: inline-block;
|
|
|
float: right;
|
|
|
background: #4d6bfe;
|
|
|
- padding: 9.9975px 39.9975px;
|
|
|
- border-radius: 18px;
|
|
|
- margin-top: 30px;
|
|
|
+ padding: .1333rem .5333rem;
|
|
|
+ border-radius: .24rem;
|
|
|
+ margin-top: .4rem;
|
|
|
}
|
|
|
}
|
|
|
.reply {
|
|
|
- border-radius: 18px;
|
|
|
+ border-radius: .24rem;
|
|
|
color: #000;
|
|
|
> div {
|
|
|
- max-width: 410.0025px;
|
|
|
+ max-width: 5.4667rem;
|
|
|
display: inline-block;
|
|
|
float: left;
|
|
|
background: #fff;
|
|
|
- padding: 9.9975px 39.9975px;
|
|
|
- border-radius: 18px;
|
|
|
- margin-top: 30px;
|
|
|
+ padding: .1333rem .5333rem;
|
|
|
+ border-radius: .24rem;
|
|
|
+ margin-top: .4rem;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-</style>
|
|
|
-<style lang="scss">
|
|
|
-.custom-content-marker {
|
|
|
- position: relative;
|
|
|
- width: 0.3333rem;
|
|
|
- height: 0.4533rem;
|
|
|
-}
|
|
|
-
|
|
|
-.custom-content-marker img {
|
|
|
+.line-layer {
|
|
|
+ position: absolute;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
+ background: rgba(0, 0, 0, 0.5);
|
|
|
+ z-index: 1000;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ .line-box {
|
|
|
+ width: 100%;
|
|
|
+ height: 8.8133rem;
|
|
|
+ background: url("@/assets/images/mapLineBg.png") no-repeat;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ .line-list {
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100% - 2rem);
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ padding: .1333rem .6667rem;
|
|
|
+ overflow-y: auto;
|
|
|
+ .list-item {
|
|
|
+ width: 100%;
|
|
|
+ height: 2.64rem;
|
|
|
+ background: yellow;
|
|
|
+ margin-bottom: .24rem;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
-.custom-content-marker .close-btn {
|
|
|
- position: absolute;
|
|
|
- top: -0.08rem;
|
|
|
- right: -0.1067rem;
|
|
|
- width: 0.2rem;
|
|
|
- height: 0.2rem;
|
|
|
- font-size: 0.16rem;
|
|
|
- background: #ccc;
|
|
|
- border-radius: 50%;
|
|
|
- color: #fff;
|
|
|
- text-align: center;
|
|
|
- line-height: 0.2rem;
|
|
|
- box-shadow: -0.0133rem 0.0133rem 0.0133rem rgba(10, 10, 10, 0.2);
|
|
|
+</style>
|
|
|
+<style lang="scss">
|
|
|
+.map-box {
|
|
|
+ .amap-marker-label {
|
|
|
+ height: .5333rem;
|
|
|
+ line-height: .5333rem;
|
|
|
+ font-size: .2667rem;
|
|
|
+ border: .0625rem solid #fff;
|
|
|
+ background: #e49246;
|
|
|
+ color: #fff;
|
|
|
+ padding: 0 .2667rem;
|
|
|
+ border-radius: 1.375rem;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
}
|
|
|
.amap-icon {
|
|
|
img {
|
|
|
@@ -1046,4 +1193,19 @@ onMounted(() => {
|
|
|
height: 100%;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.map-window {
|
|
|
+ width: 6.4rem;
|
|
|
+ height: 4.6667rem;
|
|
|
+
|
|
|
+ .img-box {
|
|
|
+ width: 100%;
|
|
|
+ height: 3.7333rem;
|
|
|
+ img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ object-fit: cover;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|