// 设备管理 导航条的右侧 import React, { useState, useEffect } from 'react'; import { Dropdown, Menu, Modal, message } from 'antd'; import Icon from '@/tenants-ui/Icon'; import { EllipsisOutlined, ExclamationCircleOutlined } from '@ant-design/icons'; import styles from './index.less'; //import { equipImageMap } from '@/config/image.js'; import type { navigatorItem } from '@/pages/Environment/index'; import { useModel } from 'umi'; import { changeCurtain, changeAllAir, changeLight } from '@/pages/Equipment/equipmentControl.js'; export type topNavRightProps = { selNavObj: navigatorItem; navigatorList: navigatorItem[]; mapList: API.MapInfo[]; }; const TopNavRight: React.FC = ({ selNavObj, navigatorList, mapList }) => { //const [modalvisible, setModalvisible] = useState(false); //去掉全部设备的 设备列表 const { projectId } = useModel('spaceFunc'); const [deviceList, setDeviceList] = useState([]); useEffect(() => { setDeviceList(navigatorList.slice(1)); }, []); const allOpenClick = (key) => { //debugger; console.log('key', key); confirm({ title: '请确认', icon: , content: `确认要全部开启${selNavObj.name}吗?`, okText: '确认', cancelText: '取消', onOk() { console.log('mapListmapList', mapList); //筛选 没有开启的空间 var filterSpaceArr = mapList.filter((item) => { return item[selNavObj.id] !== 1; }); return; //如果是空调 if (selNavObj.id == 'airConditioner') { changeAllAir(filterSpaceArr, () => {}, '打开'); } if (selNavObj.id == 'light') { changeLight('all', filterSpaceArr, () => {}, '打开'); } if (selNavObj.id == 'curtain') { changeCurtain('all', filterSpaceArr, () => {}, '打开'); // '关闭' : '打开'; } }, onCancel() { //console.log('Cancel'); }, }); }; const { confirm } = Modal; const allCloseClick = () => { console.log('showModal'); // setModalvisible(true); confirm({ title: '请确认', icon: , content: `确认要全部关闭${selNavObj.name}吗?`, okText: '确认', cancelText: '取消', onOk() { var filterSpaceArr = mapList.filter((item) => { return item[selNavObj.id] !== 0; }); return; //如果是空调 if (selNavObj.id == 'airConditioner') { changeAllAir(filterSpaceArr, () => {}, '打开'); } if (selNavObj.id == 'light') { changeLight('all', filterSpaceArr, () => {}, '关闭'); } if (selNavObj.id == 'curtain') { changeCurtain('all', filterSpaceArr, () => {}, '关闭'); } }, onCancel() { //console.log('Cancel'); }, }); }; return ( <> {/* 全部设备 */} {selNavObj.id === 'all' && (
运行中的设备
{deviceList.map(function (litem, index) { return (
{litem.num}
); })}
)} {/* 设备 */} {selNavObj.id !== 'all' && (
运行中的设备
{selNavObj.num}
{/* */} 全部关闭
{/* ...下拉菜单 */} allOpenClick(key)}> 全部开启 } >
)} {/*

确定全部开启吗

*/} ); }; export default TopNavRight;