1.应急事件显示信息过长,精简一下。
2.救护车图标配色调整
3.医院图标增大一点,显示图标及应急求助时的推荐图标
4.急救弹窗添加呼吸效果
5.急救路线搜索框,控制只搜索新疆境内
6.咨询大屏也要监听事件并弹出弹窗
This commit is contained in:
2025-10-31 17:51:22 +08:00
parent f44e372210
commit f617922cd3
18 changed files with 480 additions and 190 deletions
+53 -32
View File
@@ -1,5 +1,5 @@
<template>
<div class="sun-screen-box">
<div class="sun-screen-box" ref="pageRef">
<login-out-button out-url="login" />
<div class="sun-screen-title">
<div class="sun-title-left">
@@ -70,9 +70,9 @@
</div>
<PhoneDialog ref="phoneDialogRef" :title="phoneDialogTitle" :useForm="true" :setting="setting" :phoneType="phoneType" />
<!-- 健康监测弹窗 -->
<EmployeeDialog ref="employeeDialogRef" :record="socketData" @confirm-help="confirmHelp" />
<EmployeeDialog ref="employeeDialogRef" :record="socketData" @confirm-help="confirmHelp" :get-container="() => pageRef" />
<!-- 应急、120弹窗 -->
<EmergencyDialog ref="emergencyDialogRef" :record="socketData1" @confirm-help="confirmHelp" />
<EmergencyDialog ref="emergencyDialogRef" :record="socketData1" @confirm-help="confirmHelp" :get-container="() => pageRef" />
<IndexModal
ref="indexModalRef"
:api="modalApi"
@@ -163,6 +163,7 @@
const phoneDialogTitle = ref('呼入电话');
const phoneDialogRef = ref();
const indexModalRef = ref();
const pageRef = ref();
const indexModalTitle = ref();
const indexColumn: any = ref([]);
const setting = getSettings(DataType.xian);
@@ -199,6 +200,11 @@
const centerInfo = getAuthCache('centerInfo');
centerId.value = centerInfo.id;
document.title = centerInfo.screenTitle || '健康服务中心';
if (sessionStorage.getItem('socketData')) {
confirmHelp(JSON.parse(sessionStorage.getItem('socketData')));
sessionStorage.removeItem('socketData');
}
});
const getTime = () => {
@@ -323,11 +329,6 @@
});
}
// 健康监测工具报警
let socketUrl = handleSocketUrl(basicPath, getCenterInfo?.id);
const { socketData, setSocketData, closeSocket } = useSocket(socketUrl);
const employeeDialogRef = ref();
function openEmergencyOpen() {
setSocketData1({
userId: '1942871719583739905',
@@ -408,11 +409,16 @@
employeeDialogRef.value.openDialog();
}
setTimeout(() => {
// employeeDialogOpen();
// openEmergencyOpen();
// yunZOpen();
}, 5000);
// setTimeout(() => {
// employeeDialogOpen();
// openEmergencyOpen();
// yunZOpen();
// }, 5000);
// 健康监测工具报警
let socketUrl = handleSocketUrl(basicPath, getCenterInfo?.id);
const { socketData, setSocketData, closeSocket } = useSocket(socketUrl);
const employeeDialogRef = ref();
watch(socketData, (nVal) => {
if (nVal) {
@@ -428,6 +434,7 @@
let socketUrl1 = handleSocketUrl(emergencyPath, getCenterInfo?.id);
const { socketData: socketData1, setSocketData: setSocketData1, closeSocket: closeSocket1 } = useSocket(socketUrl1, false);
const emergencyDialogRef = ref(); //紧急求助
watch(socketData1, (nVal) => {
if (nVal) {
setCount();
@@ -459,25 +466,14 @@
Map.removeOverlayGroup();
try {
hospitalList.value = data.hospitalList;
// showHospitalList.value = true;
//用户的坐标信息
let point = [data.lon, data.lat];
centerMapRef.value.setStartPosition(data);
// if (data.hospitalList && data.hospitalList.length > 0) {
// try {
const a = ((await getHospitalList(data.hospitalList, point)) as any) || [];
hospitalList.value = a.sort((a: any, b: any) => a.distance - b.distance);
// showHospitalList.value = true;
// } catch (error) {
// console.log('获取医院列表时出错:', error);
// }
// } else {
// console.log('没有医院list');
// }
// showMapBottom.value = true;
const arr = await Map.createOverlay1(
[...hospitalList.value, { latitude: data.lat, longitude: data.lon }],
hospitalList.value.concat([{ latitude: data.lat, longitude: data.lon }]),
{
content: (val: any) => {
return `<div style="
@@ -490,13 +486,8 @@
},
},
async (val) => {
if (val.type == '3') {
Map.createInfoModal({ option: val, content: infoContentSpecial(val) }, false);
} else if (val.type == '4') {
Map.createInfoModal({ option: val, content: infoContentSpecial(val) }, false);
} else {
Map.createInfoModal({ option: val, content: infoContentSpecial(val) }, false);
}
if (Map.mapDriverOrWalkLoading) return;
Map.createInfoModal({ option: val, content: infoContentSpecial(val) }, false);
const end = await Map.getAddressByPoint([val.lon, val.lat]);
if (!data?.address) {
data['address'] = await Map.getAddressByPoint([data.lon, data.lat]);
@@ -875,4 +866,34 @@
top: 15px;
right: 15px;
}
:deep(.emergency-dialog) {
position: relative;
&::before {
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background:
linear-gradient(to top, transparent calc(100% - 15px), #a0440f 100%),
linear-gradient(to bottom, transparent calc(100% - 15px), #a0440f 100%),
linear-gradient(to left, transparent calc(100% - 15px), #a0440f 100%),
linear-gradient(to right, transparent calc(100% - 15px), #a0440f 100%);
animation: borderFlash 2s ease-in-out infinite;
}
@keyframes borderFlash {
0% {
opacity: 1;
}
50% {
opacity: 0.5;
}
100% {
opacity: 1;
}
}
}
</style>