提交 24c8a770 作者: 温凯

fix(权限控制): 添加无人机列表项的控制面板和接管权限控制

- 在无人机列表项组件中添加 IsShowPane 和 isTakeOver 状态控制显示
- 根据用户菜单权限动态设置控制面板和接管按钮的可见性
- 移除地图切换组件中重复的星图选项
- 优化地图切换按钮的HTML结构
上级 d4c248b2
......@@ -12,15 +12,24 @@
:class="{ active: !is_3d }"
v-show="!is_3d"
@click="handle_change_3d(true)"
>2D</div>
>
2D
</div>
<div
class="dim"
:class="{ active: is_3d }"
v-show="is_3d"
@click="handle_change_3d(false)"
>3D</div>
>
3D
</div>
</div>
<div v-for="item in tabs" :key="item.id" class="map-item" @click="onSelect(item.class_name)">
<div
v-for="item in tabs"
:key="item.id"
class="map-item"
@click="onSelect(item.class_name)"
>
<el-tooltip effect="dark" :content="item.name" placement="top-start">
<div
class="map-item"
......@@ -50,11 +59,11 @@ export default {
name: "卫星",
class_name: "map-item-satellite",
},
{
id: 4,
name: "星图",
class_name: "map-item-satellite",
},
// {
// id: 4,
// name: "星图",
// class_name: "map-item-satellite",
// },
{
id: 2,
name: "街道",
......
......@@ -117,10 +117,12 @@
uav && device.deviceId === uav.deviceId && uav.showPanel,
}"
title="控制面板"
v-if="IsShowPane"
@click="onShowPanel(device)"
v-hover
></div>
<div
v-if="isTakeOver"
class="takeover"
title="接管"
@click="onTakeOver(device, data.name)"
......@@ -184,6 +186,8 @@ export default {
},
data() {
return {
IsShowPane: false,
isTakeOver: false,
takeOverVisible: false,
// 接管设备信息
takeDevice: {
......@@ -235,7 +239,43 @@ export default {
this.bus.$off("uas-device-take-agree-message", this.onTakeAgree);
this.bus.$off("uas-device-take-refuse-message", this.onTakeAgree);
},
created() {
let tmjData = JSON.parse(localStorage.getItem("tmj"));
if (tmjData) {
const userList = this.handleGetMenuList(tmjData.user.menuList);
console.log(userList,'userList');
// 获取控制面板权限
let IsShowPaneFlag = userList.find((item) => item.id == 3108);
if (IsShowPaneFlag) {
this.IsShowPane = true;
}
// 设备接管权限
let isTakeOverlFlag = userList.find((item) => item.id == 3099);
if (isTakeOverlFlag) {
this.isTakeOver = true;
}
// 设备接管权限;
// // 3099
}
},
methods: {
handleGetMenuList(menuList) {
const collector = [];
const flattenMenu = (items) => {
items.forEach((item) => {
if (item.children && item.children.length > 0) {
flattenMenu(item.children);
} else {
collector.push(item);
}
});
};
flattenMenu(menuList);
return collector;
},
/**
* 同意接管事件
*/
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论