|
@@ -54,7 +54,7 @@ const Environment: React.FC = () => {
|
|
|
|
|
|
const [showModal, setShowModal] = useState<boolean>(false);
|
|
|
const [showSpace, setShowSpace] = useState<API.MapInfo>({}); //当前弹框选中的空间
|
|
|
- const [navigatorList, setNavigatorList] = useState<navigatorItem[]>([
|
|
|
+ const initNavigatorList = [
|
|
|
{
|
|
|
name: '全部设备',
|
|
|
id: 'all',
|
|
@@ -87,7 +87,8 @@ const Environment: React.FC = () => {
|
|
|
color: '#E89E32',
|
|
|
colorStr: '232, 158, 50,',
|
|
|
},
|
|
|
- ]);
|
|
|
+ ];
|
|
|
+ const [navigatorList, setNavigatorList] = useState<any[]>([]);
|
|
|
const [scale, setScale] = useState<number>(0.8);
|
|
|
const [maxScale, setMaxScale] = useState<number>(1);
|
|
|
const [transXInit, setTransXInit] = useState<number>(0);
|
|
@@ -99,7 +100,7 @@ const Environment: React.FC = () => {
|
|
|
const [equipMapList, setEquipMapList] = useState<any[]>([]);
|
|
|
const [timeMapList, setTimeMapList] = useState<any[]>([]);
|
|
|
|
|
|
- const [selNav, setSelNav] = useState<navigatorItem>(navigatorList[0]);
|
|
|
+ const [selNav, setSelNav] = useState<navigatorItem>(initNavigatorList[0]);
|
|
|
const [selFloorId, setSelFloorId] = useState<string>();
|
|
|
const [mapCombineList, setMapCombineList] = useState<any[]>([]);
|
|
|
const [loading, setLoading] = useState<boolean>(false);
|
|
@@ -215,9 +216,8 @@ const Environment: React.FC = () => {
|
|
|
};
|
|
|
//获取地图 mapList
|
|
|
useEffect(() => {
|
|
|
+ getProjectEquipType();
|
|
|
if (selFloorId) {
|
|
|
- getProjectEquipType();
|
|
|
-
|
|
|
changeLastFloorId(selFloorId);
|
|
|
setLoading(true);
|
|
|
|
|
@@ -299,15 +299,14 @@ const Environment: React.FC = () => {
|
|
|
//if (!setTimer.current) return;
|
|
|
var statistics = res.data.statistics || [];
|
|
|
//赋值 运行中的设备数量
|
|
|
+
|
|
|
navigatorList.forEach(function (nItem) {
|
|
|
var fres = statistics.filter((sItem: statistics) => {
|
|
|
return sItem.equipType == nItem.id;
|
|
|
});
|
|
|
nItem.num = (fres[0] || {}).runCount;
|
|
|
});
|
|
|
-
|
|
|
setNavigatorList(navigatorList);
|
|
|
-
|
|
|
//设备空间信息
|
|
|
var spaceList = res.data.spaceList || [];
|
|
|
spaceList.forEach((item: any) => {
|
|
@@ -362,24 +361,26 @@ const Environment: React.FC = () => {
|
|
|
// 项目拥有的设备
|
|
|
return queryProjectEquipType().then((res) => {
|
|
|
const resData = res.data || [];
|
|
|
- const copynNavigatorList = JSON.parse(JSON.stringify(navigatorList));
|
|
|
-
|
|
|
- copynNavigatorList.map((item: any, idx: any) => {
|
|
|
- if (idx === 0) return; // 第一个为全部设备,不参与对比
|
|
|
+ let arr: any = [];
|
|
|
+ initNavigatorList.map((item: any, idx: any) => {
|
|
|
+ if (idx === 0) {
|
|
|
+ arr.push(item);
|
|
|
+ return;
|
|
|
+ } // 第一个为全部设备,不参与对比
|
|
|
let hasEquip = false; // 没有此设备
|
|
|
resData.map((resItem: any) => {
|
|
|
if (item.id === resItem) {
|
|
|
hasEquip = true;
|
|
|
}
|
|
|
});
|
|
|
- if (!hasEquip) {
|
|
|
- navigatorList.splice(idx, 1);
|
|
|
- setNavigatorList(navigatorList);
|
|
|
+ if (hasEquip) {
|
|
|
+ arr.push(item);
|
|
|
}
|
|
|
});
|
|
|
- // console.log(navigatorList, '-----navigatorList');
|
|
|
+ setNavigatorList(arr);
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
function getSpaceHasPerson(sfId: any) {
|
|
|
//获取有人无人
|
|
|
querySpaceAdjustList(sfId).then((res) => {
|
|
@@ -470,12 +471,14 @@ const Environment: React.FC = () => {
|
|
|
type={'equipment'}
|
|
|
navigatorChange={navigatorChange}
|
|
|
action={
|
|
|
- <TopNavRight
|
|
|
- selNavObj={selNav}
|
|
|
- navigatorList={navigatorList}
|
|
|
- mapList={mapCombineList}
|
|
|
- queryDeviceManage={queryDeviceManage}
|
|
|
- ></TopNavRight>
|
|
|
+ navigatorList.length > 0 && (
|
|
|
+ <TopNavRight
|
|
|
+ selNavObj={selNav}
|
|
|
+ navigatorList={navigatorList}
|
|
|
+ mapList={mapCombineList}
|
|
|
+ queryDeviceManage={queryDeviceManage}
|
|
|
+ ></TopNavRight>
|
|
|
+ )
|
|
|
}
|
|
|
changeFloorId={changeFloorId}
|
|
|
selParamObj={selNav}
|