diff --git a/src/assets/images/dangerousEngineeringImg/dangerAlarm.png b/src/assets/images/dangerousEngineeringImg/dangerAlarm.png
new file mode 100644
index 0000000..98380b6
Binary files /dev/null and b/src/assets/images/dangerousEngineeringImg/dangerAlarm.png differ
diff --git a/src/layouts/components/Header/components/Message.vue b/src/layouts/components/Header/components/Message.vue
index 9b8d3b4..e0ddc9d 100644
--- a/src/layouts/components/Header/components/Message.vue
+++ b/src/layouts/components/Header/components/Message.vue
@@ -20,7 +20,7 @@
class="message-item"
v-for="(item, index) in messageList"
:key="index"
- @dblclick="changeStatus(item)"
+ @click="changeStatus(item)"
>
{{ item.type == 1 ? "通知公告" : item.type == 2 ? "政策法规" : "无标题" }}
@@ -124,11 +124,11 @@ const createMqttConnect = () => {
clientInstance.value.subscribe(`wisdomSite/message/${store.userInfo.userId}`, { qos: 1 }, (error, res) => {
console.log(error, res);
});
- });
- clientInstance.value.on("message", (topic, message) => {
- let val = JSON.parse(message.toString());
- console.log(val);
- getInfoList();
+ clientInstance.value.on("message", (topic, message) => {
+ let val = JSON.parse(message.toString());
+ console.log(val);
+ getInfoList();
+ });
});
};
// 断开连接
@@ -171,6 +171,7 @@ onBeforeUnmount(() => {
display: none;
}
.message-item {
+ width: 100%;
display: flex;
align-items: center;
padding: 20px 0;
diff --git a/src/views/enterprise/monthlyReport/components/monthlyDetails.vue b/src/views/enterprise/monthlyReport/components/monthlyDetails.vue
index 92960ac..4787c52 100644
--- a/src/views/enterprise/monthlyReport/components/monthlyDetails.vue
+++ b/src/views/enterprise/monthlyReport/components/monthlyDetails.vue
@@ -536,6 +536,7 @@ onMounted(() => {});
// height: 100%;
> div {
display: flex;
+ min-height: 50px;
> div:nth-child(2n-1) {
@include flex;
justify-content: center;
diff --git a/src/views/goverment/AIwarning/warningMap/index.vue b/src/views/goverment/AIwarning/warningMap/index.vue
index 88779ee..c642b0b 100644
--- a/src/views/goverment/AIwarning/warningMap/index.vue
+++ b/src/views/goverment/AIwarning/warningMap/index.vue
@@ -144,11 +144,71 @@ const onSearch = async (params: ResAiEngineerPage | ResAiProjectPage) => {
);
// 匹配到的 去做一个处理 开关啥的
monitorList.value = monitorList.value.map(item => (item === curr ? { ...curr, showGif: true } : { ...item, showGif: false }));
- params.longitude !== "" && params.longitude !== null
- ? map.value?.setCenter([params.longitude, +params.latitude])
- : map.value?.setCenter([116.481181, 39.90923]);
+ if (params.longitude && params.latitude) {
+ console.log(111);
+ map.value?.setCenter([+params.longitude, +params.latitude]);
+ showInfoPage(curr);
+ }
+ // params.longitude !== "" && params.longitude !== null
+ // ? map.value?.setCenter([params.longitude, +params.latitude])
+ // : map.value?.setCenter([116.481181, 39.90923]);
};
+// 展示信息窗口
+const showInfoPage = async (obj: any) => {
+ const createMarkerImage = (state: string) => new URL(`../../../assets/images/AIwaring/${state}`, import.meta.url).href;
+ // 创建一个 选中的Icon
+ let selectIcon = getIcon(
+ "selected",
+ obj.environAlarmFlag === false ? createMarkerImage("clouding.gif") : createMarkerImage("warnclouding.gif")
+ );
+
+ // 将 icon 传入 marker
+ let startMarker = new AMapRef.value.Marker({
+ position: new AMapRef.value.LngLat(Number(obj.longitude) || 113, Number(obj.latitude) || 21),
+ icon: selectIcon,
+ offset: new AMapRef.value.Pixel(-13, -30)
+ });
+ map.value?.add([startMarker]);
+ monitorList.value = monitorList.value.map(val =>
+ val.latitude == obj.latitude && val.longitude == obj.longitude
+ ? { ...obj, showGif: true }
+ : { ...val, showGif: false, showInfo: false }
+ );
+ const curr = monitorList.value.find(item => item.showGif);
+ curr.showInfo = !curr.showInfo;
+ // addMarker();
+
+ aiAlarmFlag.value = obj.aiAlarmFlag;
+
+ // e.target.setIcon(selectIcon);
+ if (active.value === 0) {
+ infoName.value = obj.projectName;
+ // @ts-expect-error
+ const { result } = await getAIprodetail({ projectId: obj.projectId });
+ // @ts-expect-error
+ infoWindowData.value = result;
+ } else {
+ infoName.value = obj.engineeringName;
+ const { result } = await getAIengdetail({ id: obj.id });
+ // @ts-expect-error
+ infoWindowData.value = result;
+ }
+
+ if (curr.showInfo) {
+ infoShow.value = true;
+ const infowindow = new AMapRef.value.InfoWindow({
+ isCustom: true, //使用自定义窗体
+ content: infoWindowPage.value,
+ offset: new AMap.Pixel(16, -45)
+ });
+
+ infowindow.open(map.value, startMarker.getPosition());
+ } else {
+ infoShow.value = false;
+ onClose();
+ }
+};
// 页面的搜索按钮
const onSearchInput = async (params: string) => {
if (active.value === 0) {
@@ -266,7 +326,7 @@ const addMarker = () => {
const mapData = async () => {
const AMap = await initAMap();
AMapRef.value = AMap;
- map.value = new AMap.Map("map-container", { zoom: 10, center: [116.481181, 39.90923], viewMode: "2D", resizeEnable: true });
+ map.value = new AMap.Map("map-container", { zoom: 7, center: [116.481181, 39.90923], viewMode: "2D", resizeEnable: true });
// 这个是点击地图的时候关闭信息弹窗 就不用点击图标或者x的时候 但是得点两次 所以有问题
// map.value?.on("click", function (e) {
// infoShow.value = false;
diff --git a/src/views/goverment/dangerousEngineering/index.vue b/src/views/goverment/dangerousEngineering/index.vue
index 92ad23e..e5e0f23 100644
--- a/src/views/goverment/dangerousEngineering/index.vue
+++ b/src/views/goverment/dangerousEngineering/index.vue
@@ -15,9 +15,13 @@