1
0
forked from dyf/dyf-vue-ui

控制中心添加670的控制,大屏页面问题

This commit is contained in:
liub
2025-09-30 12:08:50 +08:00
parent af45e3fda3
commit 4aac36cd4c
6 changed files with 61 additions and 54 deletions

View File

@ -6,10 +6,10 @@ VITE_APP_ENV = 'development'
# 开发环境
#VITE_APP_BASE_API = 'https://fuyuanshen.com/backend'
VITE_APP_BASE_API = 'https://www.cnxhyc.com/jq'
# VITE_APP_BASE_API = 'https://www.cnxhyc.com/jq'
VITE_APP_BASE_API = 'http://192.168.110.56:8000'
#代永飞接口
#VITE_APP_BASE_API = 'http://192.168.2.23:8000'
# VITE_APP_BASE_API = 'http://457102h2d6.qicp.vip:24689'
# 应用访问路径 例如使用前缀 /admin/

View File

@ -26,6 +26,14 @@ function SosSetting (data: any) {
data: data
});
};
//批量强制报警
function SosSettingBatch(data:any){
return request({
url: `/api/xinghan/device/SOSGradeSettingsBatch`,
method: 'post',
data: data
});
}
//静电探测档位控制
function staticPowerSetting (data: any) {
@ -62,5 +70,6 @@ export default {
SosSetting:SosSetting,
staticPowerSetting:staticPowerSetting,
deviceRealTimeStatus:deviceRealTimeStatus,
SendMessage:SendMessage
SendMessage:SendMessage,
SosSettingBatch:SosSettingBatch
};

View File

@ -65,7 +65,8 @@ function AddPoint(point, index, dragEnd, click, iconImg) {
title: point.isAlarming ? '正在报警:' + point.deviceName : point.deviceName,
text: index,
class: 'point',
extData: point
extData: point,
anchor:'bottom-center'
});
marker.setMap(map);
@ -102,25 +103,7 @@ function setCenter(lon, latitude) {
function calcCenter() {
if (!layPoints || layPoints.length === 0) {
throw new Error("坐标数组不能为空");
}
// 计算所有经度和纬度的总和
const total = layPoints.reduce((sum, point) => {
return {
lng: sum.lng + parseFloat(point.lng),
lat: sum.lat + parseFloat(point.lat)
};
}, { lng: 0, lat: 0 });
// 计算平均值得到中心点
const center = {
lng: total.lng / layPoints.length,
lat: total.lat / layPoints.length
};
return center;
}
//画多边形
function DrawPoy(points) {
@ -179,6 +162,7 @@ function DrawPoy(points) {
}
//画圆形
function DrawCicle(points, raduis, dragEnd) {
return new Promise((resolve, reject) => {
if (!map) {
reject("map未初始化");
@ -201,7 +185,7 @@ function DrawCicle(points, raduis, dragEnd) {
reject("圆的中心点不正确")
return;
}
layPoints.push({ lng: coordinates[0].lng, lat: points.coordinates[0].lat });
let circle = new AMap.Circle({
center: [points.coordinates[0].lng, points.coordinates[0].lat],
radius: raduis ? raduis : 1000, //半径
@ -217,6 +201,7 @@ function DrawCicle(points, raduis, dragEnd) {
zIndex: 50,
})
map.add(circle);
layPoints.push({ lng: points.coordinates[0].lng, lat: points.coordinates[0].lat });
resolve("添加圆成功");
});

View File

@ -472,6 +472,16 @@ const getList = () => {
Status.sosMode = res.data.staSOSGrade;
Status.staticPower = res.data.staDetectGrade;
Status.lightMode = res.data.staLightGrade;
if(!deviceDetail.value.personnelInfo){
deviceDetail.value.personnelInfo={
'id': null,
'deviceId': null,
'name': null,
'position': null,
'unitName': null,
'code': null
}
}
}
});
};
@ -538,6 +548,8 @@ const sendTextMessage = async () => {
batchId: ''
};
api.SendMessage(json).then((res) => {
if (res.code === 200) {
ElMessage.closeAll();

View File

@ -165,6 +165,8 @@ import apiTypeAll from '@/api/equipmentManagement/device/index';
import { deviceQuery, deviceVO } from '@/api/controlCenter/controlPanel/types';
import Amap from "./components/map.vue";
import { generateShortId, getDeviceStatus } from '@/utils/function';
import eqControl from '@/api/controlCenter/controlPanel/eqControl';
const router = useRouter();
const route = useRoute(); // 新增用于获取URL中的query参数
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -380,6 +382,7 @@ const submitForm = async () => {
return
}
try {
sendTextLoading.value = true;
// 2. 准备请求数据
const deviceIds = ids.value.map(item => item.id);
@ -392,10 +395,11 @@ const submitForm = async () => {
typeName: typeName,
batchId: batchId,
deviceImeiList: deviceImeiList,
sendMsg: form.value.messageToSend
sendMsg: form.value.messageToSend,
instructValue:""
};
// 3.人员信息
const registerRes = await api.deviceSendMessage(data);
const registerRes = await eqControl.deviceSendMessage(data);
if (registerRes.code !== 200) {
proxy?.$modal.msgWarning(registerRes.msg)
return
@ -454,9 +458,10 @@ const forceAlarm = async () => {
typeName: typeName,
batchId: batchId,
deviceImeiList: deviceImeiList,
instructValue: '1', //强制报警1解除报警0
instructValue: '1' //强制报警1解除报警0
}
const registerRes = await api.sendAlarmMessage(data);
const registerRes = await eqControl.sendAlarmMessage(data);
if (registerRes.code !== 200) {
proxy?.$modal.msgWarning(registerRes.msg)
return

View File

@ -35,8 +35,6 @@
<div class="input" @click.stop="showCheck('showCheckType')">
<div>{{ devType }}</div>
<div class="iconContent">
<div class="arrow">
<el-icon v-show="!Status.showCheckType"><CaretBottom /></el-icon>
@ -46,7 +44,6 @@
<el-icon><CloseBold /></el-icon>
</div>
</div>
</div>
<div class="ul" :class="Status.showCheckType ? '' : 'displayNone'">
<div
@ -362,9 +359,7 @@ function getPoints() {
}
}
Promise.allSettled(promise).then((res) => {
// map.setFitView();
let center=map.calcCenter();
map.setCenter(center.lng,center.lat);
map.setFitView();
});
} else {
console.error('接口getDeviceLocationInfo出现了未知的异常', res);
@ -390,7 +385,7 @@ function getTypes() {
if (res.data.length) {
types.value = res.data.map((v) => {
return {
value: v.id,
value: v.deviceTypeId,
label: v.typeName
};
});
@ -520,6 +515,7 @@ function showCheck(type) {
onMounted(() => {
map.initMap(hideCheck).then((res) => {
getPoints();
setInterval(getPoints, 300000);
});