权限更改
This commit is contained in:
parent
1ee3fe56e2
commit
16cc80d4ce
|
|
@ -1,3 +1,3 @@
|
|||
NODE_ENV = 'development'
|
||||
VUE_APP_API_URL = 'http://114.66.57.139:8088'
|
||||
VUE_APP_API_URL = 'http://114.66.57.139:5002'
|
||||
VUE_APP_MESSAGE_SDK_DEBUG = true
|
||||
|
|
@ -126,64 +126,70 @@ export default {
|
|||
signaData: {
|
||||
handler(newVal) {
|
||||
if (newVal) {
|
||||
newVal.forEach((newItem) => {
|
||||
// 如果已经存在相同BatchId的数据,重置计时器
|
||||
if (newItem.BatchId) {
|
||||
const existingTimer = this.droneTimers.get(newItem.BatchId);
|
||||
if (existingTimer) {
|
||||
clearInterval(existingTimer); // 清除旧计时器
|
||||
}
|
||||
let positionID = localStorage.getItem("positionID");
|
||||
const match = newVal.some((item) =>
|
||||
positionID.includes(item.positionId)
|
||||
);
|
||||
if (match) {
|
||||
newVal.forEach((newItem) => {
|
||||
// 如果已经存在相同BatchId的数据,重置计时器
|
||||
if (newItem.BatchId) {
|
||||
const existingTimer = this.droneTimers.get(newItem.BatchId);
|
||||
if (existingTimer) {
|
||||
clearInterval(existingTimer); // 清除旧计时器
|
||||
}
|
||||
|
||||
// 设置15秒初始时间
|
||||
newItem.currTime = window.mapConfig.currTime;
|
||||
// 创建新计时器
|
||||
const timer = this.startTimer(newItem);
|
||||
this.droneTimers.set(newItem.BatchId, timer);
|
||||
// 设置15秒初始时间
|
||||
newItem.currTime = window.mapConfig.currTime;
|
||||
// 创建新计时器
|
||||
const timer = this.startTimer(newItem);
|
||||
this.droneTimers.set(newItem.BatchId, timer);
|
||||
|
||||
// 更新无人机列表
|
||||
const existingIndex = this.drones.findIndex(
|
||||
(d) => d.BatchId === newItem.BatchId
|
||||
);
|
||||
newItem.times = moment(newItem.CreateTime).format("HH:mm:ss");
|
||||
if (existingIndex !== -1) {
|
||||
this.$set(this.drones, existingIndex, { ...newItem });
|
||||
} else {
|
||||
this.drones.push({ ...newItem });
|
||||
}
|
||||
}
|
||||
});
|
||||
if (newVal.length === 0) {
|
||||
this.iswarning = false;
|
||||
this.showAudioPrompt = false; // 没有数据 不显示提示框
|
||||
}
|
||||
|
||||
if (this.drones) {
|
||||
mapUavFiex(this.drones);
|
||||
}
|
||||
let alarm = this.drones.find((d) => d.alarmLevel === 1);
|
||||
const media = this.$refs.uavAudio; // 修正 ref 名称为 "uavAudio"
|
||||
if (alarm) {
|
||||
this.iswarning = true;
|
||||
this.$nextTick(() => {
|
||||
if (media) {
|
||||
media.muted = true; // 初始静音
|
||||
media
|
||||
.play()
|
||||
.then(() => {
|
||||
console.log("播放成功,取消静音");
|
||||
media.muted = false; // 播放成功后取消静音
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("播放失败:", error);
|
||||
this.showAudioPrompt = true; // 播放失败时显示提示框
|
||||
});
|
||||
// 更新无人机列表
|
||||
const existingIndex = this.drones.findIndex(
|
||||
(d) => d.BatchId === newItem.BatchId
|
||||
);
|
||||
newItem.times = moment(newItem.CreateTime).format("HH:mm:ss");
|
||||
if (existingIndex !== -1) {
|
||||
this.$set(this.drones, existingIndex, { ...newItem });
|
||||
} else {
|
||||
this.drones.push({ ...newItem });
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.iswarning = false;
|
||||
if (media) {
|
||||
media.pause(); // 无告警时停止播放
|
||||
media.currentTime = 0; // 重置到开始
|
||||
if (newVal.length === 0) {
|
||||
this.iswarning = false;
|
||||
this.showAudioPrompt = false; // 没有数据 不显示提示框
|
||||
}
|
||||
|
||||
if (this.drones) {
|
||||
mapUavFiex(this.drones);
|
||||
}
|
||||
let alarm = this.drones.find((d) => d.alarmLevel === 1);
|
||||
const media = this.$refs.uavAudio; // 修正 ref 名称为 "uavAudio"
|
||||
if (alarm) {
|
||||
this.iswarning = true;
|
||||
this.$nextTick(() => {
|
||||
if (media) {
|
||||
media.muted = true; // 初始静音
|
||||
media
|
||||
.play()
|
||||
.then(() => {
|
||||
console.log("播放成功,取消静音");
|
||||
media.muted = false; // 播放成功后取消静音
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("播放失败:", error);
|
||||
this.showAudioPrompt = true; // 播放失败时显示提示框
|
||||
});
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.iswarning = false;
|
||||
if (media) {
|
||||
media.pause(); // 无告警时停止播放
|
||||
media.currentTime = 0; // 重置到开始
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -276,6 +282,7 @@ export default {
|
|||
this.isContracted = !this.isContracted; // 切换状态
|
||||
},
|
||||
handleDroneClick(value) {
|
||||
console.log(value, "value");
|
||||
if (value.drone_lon == 0 || value.drone_lat == 0) {
|
||||
} else {
|
||||
window.marsMap.setCameraView({
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ export default {
|
|||
? localhostPath
|
||||
: process.env.VUE_APP_API_URL;
|
||||
connection = new signalR.HubConnectionBuilder()
|
||||
.withUrl(uploadUrl + "/websocket", {
|
||||
.withUrl("ws://114.66.57.139:5001" + "/websocket", {
|
||||
skipNegotiation: true,
|
||||
transport: signalR.HttpTransportType.WebSockets
|
||||
})
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ export default {
|
|||
localStorage.setItem("expires", res.data.expires); // 登录到期时间
|
||||
localStorage.setItem("userId", res.data.userid); // 登录id
|
||||
localStorage.setItem("isAdmin", res.data.isAdmin); // 权限
|
||||
localStorage.setItem("positionID", res.data.positionIds); // 权限
|
||||
|
||||
// 注意:Vue 2 中 Pinia 的用法需要调整
|
||||
|
||||
|
|
|
|||
|
|
@ -82,6 +82,7 @@
|
|||
<script>
|
||||
"use script";
|
||||
import { userList, userAdd, userUpdate, userDelete } from "@/api/user.js";
|
||||
import { devPositionList } from "@/api/position.js";
|
||||
export default {
|
||||
name: "webDevice",
|
||||
data() {
|
||||
|
|
@ -126,6 +127,14 @@ export default {
|
|||
key: false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: "防区",
|
||||
type: "select",
|
||||
model: "positionId",
|
||||
options: [],
|
||||
multiple: true,
|
||||
rules: [{ required: true, message: "请选择防区", trigger: "change" }]
|
||||
}
|
||||
],
|
||||
tableData: [],
|
||||
|
|
@ -165,6 +174,22 @@ export default {
|
|||
this.headdenForm({}, "search");
|
||||
},
|
||||
methods: {
|
||||
initPosition() {
|
||||
devPositionList().then((res) => {
|
||||
if (res.code === 0) {
|
||||
this.PositionList = res.data.items;
|
||||
this.formDrawerList.forEach((item) => {
|
||||
if (item.label === "防区") {
|
||||
item.options = res.data.items.map((item) => {
|
||||
item.label = item.name;
|
||||
item.key = item.id;
|
||||
return item;
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
getStatusStyle(value) {
|
||||
return {
|
||||
color: value == 0 ? "green" : "red"
|
||||
|
|
@ -188,6 +213,7 @@ export default {
|
|||
this.formDrawerList[0].disabled = false;
|
||||
this.formDrawerList[1].disabled = false;
|
||||
this.formDrawerList[1].show = true;
|
||||
this.initPosition();
|
||||
this.drawer = true;
|
||||
} else if (type === "search") {
|
||||
params = JSON.parse(JSON.stringify(this.$refs.myForm.ruleForm));
|
||||
|
|
@ -214,6 +240,11 @@ export default {
|
|||
this.isType = "edit";
|
||||
this.title = "编辑人员";
|
||||
this.fromItem = value;
|
||||
console.log(value, "value.positionId");
|
||||
this.fromItem.positionId = value.positionId.map((item) => {
|
||||
return String(item);
|
||||
});
|
||||
this.initPosition();
|
||||
this.formDrawerList[0].disabled = true;
|
||||
this.formDrawerList[1].disabled = true;
|
||||
this.formDrawerList[1].show = false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue