Files
4.0/src/renderer/components/myHeaderAll/setTool/js/setTool.js
2025-08-14 09:52:15 +08:00

235 lines
6.5 KiB
JavaScript

// 顶部右侧展示栏功能
import { remote } from "electron";
import { $sendElectronChanel } from "../../../../utils/communication";
import { delDepart, getStatus } from "../../../../api/gisAPI";
import { getIP } from "../../../../utils";
import { login } from "@/api/air.js";
import { login2 } from "@/api/air2.js";
import axios from "axios";
import { getDockAir } from "../../../../utils/auth";
export default {
data() {
return {
LocateCurrent: null,
// clicknum: 0,
clickTimer: null,
isSuccess: true,
airShow: false,
};
},
watch: {
value: {
handler(newV, oldV) {
if (newV) {
this.$emit("showAirListAndAttr");
}
},
},
},
mounted() {},
methods: {
// tableSet
tableSet() {
this.$changeComponentShow(".excelSetBox", true);
},
hhhhhh() {
this.airShow = !this.airShow;
},
// 切换飞机类型
handleCommand(command) {
console.log("command", command);
// return;
this.$message.warning("即将跳转无人机");
if (command == "dock") {
window.airType = "dock";
axios
.request({
// url: process.env.DOCKAIR + "/login",
url: getDockAir() + "/login",
method: "post",
data: {
username: "admin",
password: "admin123",
},
})
.then((res) => {
if (res.data.code == 200) {
localStorage.setItem(
"airToken",
JSON.stringify({
access_token: res.data.token,
})
);
setTimeout(() => {
this.airLine("flyerDiv");
}, 1000);
} else {
this.$message.error(res.data.msg);
}
})
.catch((err) => {
this.$message.error("网络故障,请稍后重试");
});
} else if (command == "remote") {
window.airType = "remote";
axios
.request({
url: getRemoteAir() + "/manage/api/v1/login",
method: "post",
data: {
flag: 1,
password: "adminPC",
username: "adminPC",
},
})
.then((res) => {
if (res.data.code == 0) {
localStorage.setItem("airToken", JSON.stringify(res.data.data));
setTimeout(() => {
this.airLine("flyerDiv2");
}, 1000);
} else {
this.$message.error(res.data.message);
}
})
.catch((err) => {
this.$message.error("网络故障,请稍后重试");
});
}
},
logout() {
this.$confirm("确认是否退出?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
// window.Earth1.destroy()
window.Earth1 = null;
$sendElectronChanel("restart");
})
.catch(() => {
/*this.$message({
type: 'info',
message: '已取消删除'
});*/
});
/*this.$store.dispatch("FedLogOut").then(() => {
this.$router.push({path: '/login'})
})*/
},
resetShow(item) {
//重置
new YJ.Tools(window.Earth1).flyHome();
},
flyTo() {
let gpsCom = localStorage.getItem("gpsCom");
if (!gpsCom) {
return;
}
clearTimeout(this.clickTimer);
window.clicknum = 0
if (this.LocateCurrent) this.LocateCurrent.flyTo();
},
// 无人机
airLine(flyer) {
$root_home_index.State = true;
$root_home_index.changeState();
$root_home_index.$refs.tree.isShow = true;
$root_home_index.$refs.tree.isShowTree();
if (flyer == "flyerDiv") {
$root_home_index.flyerDiv = true;
} else {
$root_home_index.flyerDiv2 = true;
}
this.$changeComponentShow(".logo", false);
this.$changeComponentShow(".tree", false);
this.$changeComponentShow(".header_top", false);
YJ.Global.setKeyboardEventActive(window.Earth1, false);
},
locate(item) {
window.clicknum++
// 获取 localStorage.setItem("gpsCom", this.gpsVal);
// let gpsCom = localStorage.getItem("gpsCom");
// if (!gpsCom) {
// this.$message.warning("请先设置串口");
// return;
// }
if (window.clicknum == 1) {
this.clickTimer = setTimeout(() => {
let host = new URL(getIP()).host;
if (this.LocateCurrent) {
this.isSuccess = true;
this.LocateCurrent.remove();
this.LocateCurrent = null;
} else {
this.isSuccess = false;
this.LocateCurrent = new YJ.Obj.LocateCurrent(
window.Earth1,
{ host },
(res) => {
if (!res) {
this.isSuccess = false;
} else {
if (res.is_valid) {
this.isSuccess = true;
} else {
this.isSuccess = false;
}
}
}
);
this.LocateCurrent.loaded(() => {
this.LocateCurrent.flyTo({
orientation: {
heading: Cesium.Math.toRadians(0.0),
pitch: Cesium.Math.toRadians(-89.0),
roll: Cesium.Math.toRadians(0.0),
},
});
});
}
window.clicknum = 0;
}, 200);
}
// console.log(window.);
//重置
},
//新增态势
fullScreen(item = null) {
let fullScreen = remote.getCurrentWindow().isFullScreen();
!item && !fullScreen && (item = this.setList[3]);
if (item) {
//全屏与退出全屏
if (!fullScreen) {
// 设置退出全屏svg
item.icon = "shrink";
item.index = 3;
remote.getCurrentWindow().setFullScreen(true);
} else {
// 设置全屏svg
item.icon = "fullScreen";
item.index = 1;
remote.getCurrentWindow().setFullScreen(false);
}
}
},
setShow(item) {
//设置
if (!this.$parent.showSystem) {
this.$parent.showSystem = true;
this.$nextTick(() => {
this.$parent.$refs.systemPopup.getData();
});
}
},
shrinkScreen() {
//退出全屏
},
},
};