"use strict"; import React, { useEffect, useState } from 'react' import { connect, createStore } from "react-redux"; import Immutable from 'immutable'; import { pepProject } from '../../actions/global'; import { SplitButtonGroup, Dropdown, Button, Nav, Avatar, Input, Tooltip, Tabs, TabPane } from '@douyinfe/semi-ui'; import { IconTreeTriangleDown, IconSearch } from '@douyinfe/semi-icons'; import PerfectScrollbar from "perfect-scrollbar"; import "./index.less"; let newScrollbar; const Header = (props) => { const { dispatch, history, user, actions, socket, headerItems, tochange } = props; const { install } = actions const [pomsList, setPomsList] = useState([]) const [pomsName, setPomsName] = useState('全局') const [pepProjectId, setPepProjectId] = useState() const [keyword, setKeyword] = useState('') const [Scrollbar, setScrollbar] = useState(false) let userRole = user?.pomsUserInfo?.role let modalRole = [] if (userRole) { let modal = [] userRole?.map(v => { if (v == 'data_analyst') ['analysis', 'data', 'workOrder', 'means'].map(u => modal.push(u)) if (v == 'after_sale') ['problem', 'facility', 'workOrder', 'means'].map(u => modal.push(u)) if (v == 'resource_manage') ['facility', 'workOrder', 'means'].map(u => modal.push(u)) if (v == 'customer_service') ['service', 'workOrder', 'means'].map(u => modal.push(u)) }) modal.push('control') modal = [...new Set(modal)] modalRole = headerItems?.filter(v => modal.includes(v.itemKey)) if (userRole?.includes('SuperAdmin') || userRole?.includes('admin')) modalRole = headerItems } useEffect(() => { if (JSON.parse(sessionStorage.getItem('pomsUser'))?.token) { dispatch(install.getProjectPoms({ global: 1 })).then((res) => { //获取已绑定项目 if (res.success) { let data = res.payload.data?.rows?.filter(v => v.pepProjectIsDelete !== 1)?.map(v => ({ pepProjectId: v.id, pepProjectName: v.pepProjectName || v.name })) setPomsList(data) } }) } }, []) useEffect(() => { const domProject = document.getElementById("overall"); if (domProject) { newScrollbar = new PerfectScrollbar("#overall", { suppressScrollX: true, }); if (domProject && newScrollbar) { newScrollbar.update(); } } }, [Scrollbar]) useEffect(() => { dispatch(pepProject(pepProjectId)) }, [pepProjectId]) return ( <>