1.新疆大屏新需求
This commit is contained in:
2025-09-19 18:34:40 +08:00
parent 1714ff19f5
commit a97d9c64aa
41 changed files with 1121 additions and 217 deletions
+79 -8
View File
@@ -63,27 +63,50 @@
</div>
</div>
<div class="hospital-list" :class="[themeType]" v-if="showHospitalList">
<div class="hospital-item" v-for="(item, index) in hospitalList" :key="index" @click.stop="showDrivingLine(item)">
<div>{{ item?.name }}</div>
<div>相距{{ item?.distance }}</div>
<div>驾车大约{{ item?.driveTime }}</div>
<div class="hospital-list" :class="[themeType]" v-if="showMapBottom">
<!-- <div class="hospital-item" v-for="(item, index) in hospitalList" :key="index" @click.stop="showDrivingLine(item)">-->
<!-- <div>{{ item?.name }}</div>-->
<!-- <div>相距{{ item?.distance }}</div>-->
<!-- <div>驾车大约{{ item?.driveTime }}</div>-->
<!-- </div>-->
<div class="map-bottom">
<div>
<div class="title">关爱联络员</div>
<template v-if="mapBottomInfo?.careLiaisonName && mapBottomInfo?.careLiaisonPhone">
<div>{{ mapBottomInfo?.careLiaisonName }}</div>
<div>{{ mapBottomInfo?.careLiaisonPhone }}</div>
</template>
<template v-else>
<div class="no-data"> 该员工暂未设置关爱联络员 <img :src="pointPng" alt="" /></div>
</template>
</div>
<div>
<div class="title">急救人员</div>
<template v-if="mapBottomInfo?.lifeguardName && mapBottomInfo?.lifeguardPhone">
<div>{{ mapBottomInfo?.lifeguardName }}</div>
<div>{{ mapBottomInfo?.lifeguardPhone }}</div>
</template>
<template v-else>
<div class="no-data"> 该员工暂未设置急救人员 <img :src="pointPng" alt="" /></div>
</template>
</div>
</div>
</div>
</div>
</template>
<script setup lang="ts">
import { nextTick, onMounted, ref, watch } from 'vue';
import { infoContent, infoContent1, legendList, tabList } from '/@/views/indexSun/indexSun.ts';
import { infoContent, infoContent1, infoContent4, legendList, tabList } from '/@/views/indexSun/indexSun.ts';
import { message } from 'ant-design-vue';
import { innerLineLight, outerLineOption } from '/@/assets/mapUtils/mapConstant.ts';
import { Map } from '/@/assets/mapUtils/map.ts';
import { aircraft, getKmStr, getTimeStr, mapApiSwitch, TabType } from '/@/components/xianMap/xianMapHooks.ts';
import { getKmStr, getTimeStr, mapApiSwitch } from '/@/components/xianMap/xianMapHooks.ts';
import { useDetailStore } from '/@/store/modules/detailData.ts';
import $bus from '/@/utils/bus.ts';
import { earlyWarning } from '/@/utils/busConstant.ts';
import { useTheme } from '/@/hooks/theme/useTheme.ts';
import { RedoOutlined } from '@ant-design/icons-vue';
import pointPng from '/@/assets/indexSun/point.png';
const { themeType } = useTheme();
const list = ref(tabList);
@@ -116,6 +139,14 @@
return [];
},
},
mapBottomInfo: {
type: Object,
default: () => {},
},
showMapBottom: {
type: Boolean,
default: () => false,
},
});
const useDetail = useDetailStore();
const showRoutePanel = ref(false);
@@ -297,8 +328,10 @@
},
},
async (val) => {
if (val.type == '2') {
if (val.type == '3') {
Map.createInfoModal({ option: val, content: infoContent(val) });
} else if (val.type == '4') {
Map.createInfoModal({ option: val, content: infoContent4(val) });
} else {
Map.createInfoModal({ option: val, content: infoContent1(val) });
}
@@ -569,6 +602,13 @@
flex-direction: column;
justify-content: space-around;
.top-left-a-right {
width: 48px;
height: 2px;
background: linear-gradient(90deg, #02fafc 0%, rgba(2, 250, 252, 0) 100%);
border-radius: 1px;
}
.modal-item {
display: flex;
justify-content: space-between;
@@ -724,4 +764,35 @@
:deep(.amap-sug-result) {
background: #002e64 !important;
}
.map-bottom {
border-radius: 10px;
background: #073148;
width: 570px;
height: 100px;
padding: 5px 0;
display: flex;
line-height: 30px;
> div {
width: 50%;
text-align: center;
}
.title {
color: #45ffa1;
}
.no-data {
display: flex;
flex: 1;
justify-content: center;
align-items: center;
height: 60px;
line-height: 60px;
img {
width: 20px;
height: 20px;
}
}
}
</style>