fix: BUG修改
This commit is contained in:
parent
8c90f18ed6
commit
27a5f2eba2
@ -98,3 +98,12 @@ export const noticeReadMyPost = (params: { noticeId: string }) => {
|
||||
export const singleEngineer = (params: any) => {
|
||||
return http.post(BASEURL + `/project/engineering/querySingle`, params);
|
||||
};
|
||||
|
||||
// 消息推送列表
|
||||
export const infoList = () => {
|
||||
return http.get(BASEURL + `/xmgl/messageRecord/list`);
|
||||
};
|
||||
// 更改消息状态
|
||||
export const infoStatusEdit = (params: any) => {
|
||||
return http.post(BASEURL + `/xmgl/messageRecord/edit`, params);
|
||||
};
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
<el-popover placement="bottom" :width="310" trigger="click">
|
||||
<template #reference>
|
||||
<el-badge
|
||||
:value="newInfoNum"
|
||||
:hidden="newInfoNum ? false : true"
|
||||
:value="notReadNum"
|
||||
:hidden="notReadNum ? false : true"
|
||||
style="display: flex; justify-content: center; align-items: center"
|
||||
class="item"
|
||||
>
|
||||
@ -20,11 +20,11 @@
|
||||
class="message-item"
|
||||
v-for="(item, index) in messageList"
|
||||
:key="index"
|
||||
@dblclick="item.isRead = true"
|
||||
@dblclick="changeStatus(item)"
|
||||
>
|
||||
<div class="message-content">
|
||||
<span class="message-title">{{ item.title }}</span>
|
||||
<span class="message-date">{{ item.subTitle }}</span>
|
||||
<span class="message-title">{{ item.type == 1 ? "通知公告" : item.type == 2 ? "政策法规" : "无标题" }}</span>
|
||||
<span class="message-date">{{ item.title }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -50,13 +50,10 @@
|
||||
import { ref, onMounted, onBeforeUnmount } from "vue";
|
||||
import * as mqtt from "mqtt/dist/mqtt.min.js";
|
||||
import { GlobalStore } from "@/stores";
|
||||
import { infoList, infoStatusEdit } from "@/api/modules/common";
|
||||
const store = GlobalStore();
|
||||
const messageList = ref([
|
||||
{ title: "主标题1", subTitle: "副标题1", isRead: false },
|
||||
{ title: "主标题2", subTitle: "副标题2", isRead: false },
|
||||
{ title: "主标题3", subTitle: "副标题3", isRead: false }
|
||||
] as any);
|
||||
const newInfoNum = ref(0);
|
||||
const notReadNum = ref(0);
|
||||
const messageList = ref([] as any);
|
||||
const activeName = ref("first");
|
||||
const clientInstance = ref();
|
||||
const connectOption = ref({
|
||||
@ -66,6 +63,37 @@ const connectOption = ref({
|
||||
username: "admin",
|
||||
password: "JXJ@admin"
|
||||
});
|
||||
// 更改信息状态
|
||||
const changeStatus = async (obj: any) => {
|
||||
if (obj.isRead == 0) {
|
||||
let requestData = {
|
||||
messageId: obj.messageId,
|
||||
type: obj.type
|
||||
};
|
||||
const res = await infoStatusEdit(requestData);
|
||||
console.log(res);
|
||||
if (res && res.success) {
|
||||
getInfoList();
|
||||
}
|
||||
}
|
||||
};
|
||||
// 获取信息列表
|
||||
const getInfoList = async () => {
|
||||
notReadNum.value = 0;
|
||||
const res = await infoList();
|
||||
console.log(res);
|
||||
if (res.result && res.result.length > 0) {
|
||||
messageList.value = res.result;
|
||||
messageList.value.map(item => {
|
||||
if (item.isRead == 0) {
|
||||
notReadNum.value++;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
messageList.value = [];
|
||||
notReadNum.value = 0;
|
||||
}
|
||||
};
|
||||
// tabs选项切换
|
||||
const tabsChange = (val: any) => {
|
||||
console.log(val);
|
||||
@ -93,16 +121,14 @@ const createMqttConnect = () => {
|
||||
clientInstance.value.on("connect", con => {
|
||||
console.log("连接成功", con);
|
||||
// 订阅主题
|
||||
clientInstance.value.subscribe(`message/${store.userInfo.userId}`, { qos: 1 }, (error, res) => {
|
||||
clientInstance.value.subscribe(`wisdomSite/message/${store.userInfo.userId}`, { qos: 1 }, (error, res) => {
|
||||
console.log(error, res);
|
||||
});
|
||||
});
|
||||
clientInstance.value.on("message", (topic, message) => {
|
||||
console.log(topic, JSON.parse(message.toString()));
|
||||
let val = JSON.parse(message.toString());
|
||||
if (Object.keys(val).length > 0) {
|
||||
newInfoNum.value++;
|
||||
}
|
||||
console.log(val);
|
||||
getInfoList();
|
||||
});
|
||||
};
|
||||
// 断开连接
|
||||
@ -118,7 +144,8 @@ const destroyConnection = () => {
|
||||
}
|
||||
};
|
||||
onMounted(() => {
|
||||
// createMqttConnect();
|
||||
getInfoList();
|
||||
createMqttConnect();
|
||||
});
|
||||
onBeforeUnmount(() => {
|
||||
destroyConnection();
|
||||
@ -137,6 +164,12 @@ onBeforeUnmount(() => {
|
||||
.message-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 300px;
|
||||
overflow-y: scroll;
|
||||
/* 隐藏滚动条 */
|
||||
&::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
.message-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -133,11 +133,12 @@ const headerList = reactive([
|
||||
{ label: "未开始", color: "#35e5fd" },
|
||||
{ label: "进行中", color: "#f1d520" },
|
||||
{ label: "已完成", color: "#4fd389" },
|
||||
{ label: "逾期未开始", color: "#F80840" },
|
||||
{ label: "逾期进行中", color: "#fc6f8e" },
|
||||
{ label: "逾期已完成", color: "#C13F5B" }
|
||||
{ label: "逾期", color: "#F80840" }
|
||||
// { label: "逾期未开始", color: "#F80840" },
|
||||
// { label: "逾期进行中", color: "#fc6f8e" },
|
||||
// { label: "逾期已完成", color: "#C13F5B" }
|
||||
]);
|
||||
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840", "#fc6f8e", "#C13F5B"]);
|
||||
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840"]);
|
||||
const projects = ref([]);
|
||||
// const projects = ref([
|
||||
// {
|
||||
|
||||
@ -373,11 +373,12 @@ const saveItem = async (form: any) => {
|
||||
|
||||
onMounted(async () => {
|
||||
const res = await getRoleNamelist({});
|
||||
const res1 = await getTreeList({ deptId: "", status: 1 });
|
||||
const res1 = await getTreeList({ deptId: "" });
|
||||
formConfig.formItemConfig[7].data = res1.result.map(i => {
|
||||
return {
|
||||
label: i.deptName,
|
||||
value: i.deptId
|
||||
value: i.deptId,
|
||||
disabled: i.status == 0 ? true : false
|
||||
};
|
||||
});
|
||||
formConfig.formItemConfig[9].data = res.result.map(i => {
|
||||
|
||||
@ -180,9 +180,71 @@ const onSearch = async (params: ResAiEngineerPage | ResAiProjectPage) => {
|
||||
active.value === 0 ? item.projectSn === params.projectSn : item.engineeringSn === params.engineeringSn
|
||||
);
|
||||
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();
|
||||
|
||||
environAlarmFlag.value = obj.environAlarmFlag;
|
||||
|
||||
// e.target.setIcon(selectIcon);
|
||||
|
||||
if (active.value === 0) {
|
||||
infoName.value = obj.projectName;
|
||||
const res = await getproDetail({ projectId: obj.projectId });
|
||||
// @ts-expect-error
|
||||
infoWindowData.value = res.result;
|
||||
} else {
|
||||
infoName.value = obj.engineeringName;
|
||||
const res = await getengDetail({ id: obj.id });
|
||||
// @ts-expect-error
|
||||
infoWindowData.value = res.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();
|
||||
}
|
||||
};
|
||||
|
||||
// 页面的搜索按钮
|
||||
@ -302,7 +364,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 });
|
||||
// map.value?.on("click", function (e) {
|
||||
// map.value?.clearInfoWindow();
|
||||
// });
|
||||
|
||||
@ -152,11 +152,13 @@ const headerList = reactive([
|
||||
{ label: "未开始", color: "#35e5fd" },
|
||||
{ label: "进行中", color: "#f1d520" },
|
||||
{ label: "已完成", color: "#4fd389" },
|
||||
{ label: "逾期未开始", color: "#F80840" },
|
||||
{ label: "逾期进行中", color: "#fc6f8e" },
|
||||
{ label: "逾期已完成", color: "#C13F5B" }
|
||||
,
|
||||
{ label: "逾期", color: "#F80840" }
|
||||
// { label: "逾期未开始", color: "#F80840" },
|
||||
// { label: "逾期进行中", color: "#fc6f8e" },
|
||||
// { label: "逾期已完成", color: "#C13F5B" }
|
||||
]);
|
||||
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840", "#fc6f8e", "#C13F5B"]);
|
||||
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840"]);
|
||||
const active = ref(0);
|
||||
const records = ref([]);
|
||||
const projects = ref([]);
|
||||
|
||||
@ -355,11 +355,12 @@ const saveItem = async (form: any) => {
|
||||
|
||||
onMounted(async () => {
|
||||
const res = await getRoleNamelist({});
|
||||
const res1 = await getTreeList({ deptId: "", status: 1 });
|
||||
const res1 = await getTreeList({ deptId: "" });
|
||||
formConfig.formItemConfig[7].data = res1.result.map(i => {
|
||||
return {
|
||||
label: i.deptName,
|
||||
value: i.deptId
|
||||
value: i.deptId,
|
||||
disabled: i.status == 0 ? true : false
|
||||
};
|
||||
});
|
||||
formConfig.formItemConfig[9].data = res.result.map(i => {
|
||||
|
||||
@ -136,11 +136,12 @@ const headerList = reactive([
|
||||
{ label: "未开始", color: "#35e5fd" },
|
||||
{ label: "进行中", color: "#f1d520" },
|
||||
{ label: "已完成", color: "#4fd389" },
|
||||
{ label: "逾期未开始", color: "#F80840" },
|
||||
{ label: "逾期进行中", color: "#fc6f8e" },
|
||||
{ label: "逾期已完成", color: "#C13F5B" }
|
||||
{ label: "逾期", color: "#F80840" }
|
||||
// { label: "逾期未开始", color: "#F80840" },
|
||||
// { label: "逾期进行中", color: "#fc6f8e" },
|
||||
// { label: "逾期已完成", color: "#C13F5B" }
|
||||
]);
|
||||
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840", "#fc6f8e", "#C13F5B"]);
|
||||
const colors = ref(["#35e5fd", "#f1d520", "#4fd389", "#F80840"]);
|
||||
const projects = ref([]);
|
||||
// const projects = ref([
|
||||
// {
|
||||
|
||||
@ -373,11 +373,12 @@ const saveItem = async (form: any) => {
|
||||
|
||||
onMounted(async () => {
|
||||
const res = await getRoleNamelist({});
|
||||
const res1 = await getTreeList({ deptId: "", status: 1 });
|
||||
const res1 = await getTreeList({ deptId: "" });
|
||||
formConfig.formItemConfig[7].data = res1.result.map(i => {
|
||||
return {
|
||||
label: i.deptName,
|
||||
value: i.deptId
|
||||
value: i.deptId,
|
||||
disabled: i.status == 0 ? true : false
|
||||
};
|
||||
});
|
||||
formConfig.formItemConfig[9].data = res.result.map(i => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user