| 
						
						
						
					 | 
				
				 | 
				
					@ -1,18 +1,18 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import React, { useEffect, useRef, useState } from 'react'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { connect } from 'react-redux'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { TreeSelect, Tree, Form, Button, Popover, Tag, Switch, Input, Row, Pagination, Checkbox } from '@douyinfe/semi-ui'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { TreeSelect, Tree, Form, Button, Popover, Tag, Switch, Input, Row, Pagination, Checkbox, InputNumber } from '@douyinfe/semi-ui'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import './videoScreen.less' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import VideoCard from './videoCard' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { version } from 'less'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					let timing | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, showHeader }) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   console.log({ 视频: treeData }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   console.log(filterGroup); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   console.log(headerName); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   console.log(videoPlay); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   console.log(template); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   console.log(showHeader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // console.log({ 视频: treeData }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // console.log(filterGroup); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // console.log(headerName); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // console.log(videoPlay); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // console.log(template); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // console.log(showHeader); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // const treeData = [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   //    { | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -102,14 +102,19 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   //    }] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [pageSize, setPageSize] = useState(4) //每页视频数量 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [page, setPage] = useState(1) //页码 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [queryData, setQueryData] = useState([{ label: '全部', value: '全部', key: '0' }]) //查询树状数据 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [leftTree, setLefTtree] = useState(treeData) //左侧树状数据 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [playData, setPlayData] = useState([]) //视频数据 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [queryValue, setQueryValue] = useState(['全部']) //查询条件 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [leftValue, setLeftValue] = useState(treeData.map(v => v.value)) //树状被选中的视频 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [selectAll, setSelectAll] = useState(true) //全选 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [searchs, setSearchs] = useState({}) //搜索 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [polling, setPolling] = useState(false) //轮询 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const [pollingTime, setPollingTime] = useState(1) //轮询时间 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const api = useRef(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const pageRef = useRef(page); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const chooseAll = useRef(true); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -124,7 +129,7 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      videoData(treeData, values) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      setLefTtree(treeData) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      setLeftValue(treeData.map(v => v.value)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   }, [treeData]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   }, [treeData, filterGroup]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   useEffect(() => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      console.log(queryValue); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -184,8 +189,70 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   }, [leftValue]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   }, [leftValue])  //树状勾选结果 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   useEffect(() => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      console.log(searchs); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      let videoData = [] | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      let wholeVideo = treeData?.map(v => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         if (v.children) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            v.children.map(vv => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               if (vv.camera) videoData.push(vv) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               if (vv.children) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  vv.children.map(c => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     if (c.camera) videoData.push(c) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     if (c.children) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        c.children.map(cc => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           if (cc.camera) videoData.push(cc) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      console.log(videoData); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      let nameData = videoData?.find(v => v?.label.includes(searchs.name)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      console.log(nameData); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      filterGroup | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      if (searchs?.field0) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         let videoId = [] //视频id | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         for (let i in searchs) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            console.log(i, searchs[i]); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   }, [searchs]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   useEffect(() => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      let pollingTimes = pollingTime || 1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      if (timing) clearInterval(timing) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      if (polling) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         timing = setInterval(() => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            let pages =  pageRef.current + 1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            if (pages > Math.ceil(playData?.length / pageSize)) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               setPage(1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               pageRef.current=1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } else { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               setPage(pages) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					               pageRef.current=pages | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         }, pollingTimes * 1000 * 5) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   }, [polling, playData,pollingTime]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   useEffect(() => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      setPage(1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      pageRef.current=1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   }, [pageSize]) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   //确定查询条件下视频总数 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   const videoData = (d, v) => { | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -200,6 +267,8 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      playVideoData(videos) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      setPlayData(playVideo) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      playVideoData.current = playVideo | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      return playVideo | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -224,7 +293,8 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   console.log(queryValue); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   // console.log(playData); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					   return ( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      <> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					         <div | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -281,6 +351,7 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     treeData={leftTree} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     value={leftValue} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     blockNode={false} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     defaultExpandAll | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     onChange={(e) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        // console.log(e); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        setLeftValue(e) | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -288,7 +359,7 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     onSelect={(e) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        // console.log(e); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     style={{ width: 150, color: '#FFFFFF' }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     style={{ color: '#FFFFFF' }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                  <Checkbox | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     checked={selectAll} | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -313,7 +384,7 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           layout="horizontal" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           style={{ position: "relative", width: "100%", flex: 1 }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        > | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           <Form.Input label={<span style={{ marginRight: -14, display: 'inline-block' }}>设备搜索:</span>} field="keyword" maxLength="36" placeholder="请输入设备名称" labelPosition="left" style={{ width: 125, color: "#fff", }} /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           <Form.Input label={<span style={{ marginRight: -14, display: 'inline-block' }}>设备搜索:</span>} field="name" maxLength="36" placeholder="请输入设备名称" labelPosition="left" style={{ width: 125, color: "#fff", }} /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           {filterGroup?.map(v => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              return <Form.Select | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 label={<span style={{ marginRight: -14, display: 'inline-block' }} title={v.name}>我的...:</span>} | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -323,32 +394,14 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 placeholder="全部" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 showClear | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              > | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 {v.filters.map(vv => <Form.Select.Option value={vv.num}>{vv.name}</Form.Select.Option>)} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 {v.filters.map(vv => <Form.Select.Option value={vv.cameraIds} key={vv.num}>{vv.name}</Form.Select.Option>)} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              </Form.Select> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           })} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           {/* <Form.Select | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            label="状态查询:" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            labelPosition="left" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            field="state" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            style={screen} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            placeholder="全部" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            showClear | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        > | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            <Form.Select.Option value="ON">在线</Form.Select.Option> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            <Form.Select.Option value="OFF">离线</Form.Select.Option> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            <Form.Select.Option value="UNKONW">未知</Form.Select.Option> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                            <Form.Select.Option value="DISABLED">禁用</Form.Select.Option> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        </Form.Select> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                       */} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        </Form> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     </div> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     <div | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        style={{ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           marginTop: '10px', | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           // width: 150, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           // display: "flex", | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           // justifyContent: "flex-end", | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           // alignItems: "flex-end", | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     > | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        <Button | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -356,10 +409,11 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           type="primary" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           style={{ width: 48, height: 30, borderRadius: 3, marginRight: 8, }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           onClick={() => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              // api.current.validate().then((v) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              //    setSearch(v); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              api.current.validate().then((v) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 let aa = JSON.stringify(v); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 setSearchs(JSON.parse(aa)) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 // setQuery({ limit: 10, page: 0 }) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              // }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        > | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           搜索 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -389,7 +443,7 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     {/* 视频 */} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     <div style={{ flex: 1, height: '100%' }}> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        <Row style={{ height: `calc( 100% - 160px )` }}> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           {playData?.map(v => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           {playData?.slice((page - 1) * pageSize, page * pageSize)?.map(v => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              return <VideoCard key={'VideoCard' + v.key} data={v} pageSize={pageSize} /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           })} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        </Row> | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -405,12 +459,12 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           </span> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           {playData.length > 0 ? <Pagination | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              total={playData.length} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              // currentPage={1} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              currentPage={page} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              pageSize={pageSize} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              style={{ color: 'white' }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              onChange={(currentPage, pageSize) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 // setQuery({ limit: pageSize, page: currentPage - 1 }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 // page.current = currentPage - 1 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 setPage(currentPage) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 pageRef.current= currentPage | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           /> : ""} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        </div> | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -421,11 +475,12 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                     }}> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        {[{ img: 'gongge', value: '宫格设置', screen: [{ img: 'screen1', value: '单屏' }, { img: 'screen4', value: '4分屏' }, { img: 'screen6', value: '6分屏' }, { img: 'screen12', value: '12分屏' },] }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        { img: 'polling', value: '轮询设置' }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        { img: 'back', value: '背投' }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        { img: 'back', value: '背投', }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                        { img: 'monitor', value: '监控地图' },].map((v, index) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           return <div key={index}> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                           return <div key={v.value + index}> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                              <Popover | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 position='left' | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 trigger="click"  //气泡点击出效果,方便调试 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                 content={() => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                    switch (v.value) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                       case '宫格设置': | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -439,9 +494,15 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                          </div> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                       case '轮询设置': | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                          return <div style={{ height: 48, background: '#01185F', boxShadow: ' inset 0px 0px 5px 1px rgba(28,96,254,0.2500)', color: ' #D9D9D9', display: 'flex', justifyContent: 'space-evenly', alignItems: 'center' }}> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                             <Switch onChange={(v, e) => console.log(v)} aria-label="a switch for demo" style={{ border: ' 1px solid #D9D9D9', }} /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                             <Switch onChange={(v, e) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                console.log(v); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                setPolling(v) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                             }} aria-label="a switch for demo" style={{ border: ' 1px solid #D9D9D9', }} checked={polling} /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                             轮询间隔 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                             <Input style={{ width: 80, color: ' #D9D9D9', border: ' 1px solid #D9D9D9', }} defaultValue='1' /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                             <Input value={pollingTime} style={{ width: 80, color: "#D9D9D9", border: ' 1px solid #D9D9D9', }} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                onChange={(value) => { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                   setPollingTime(Number(value.replace(/[^0-9]/ig, ''))) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                                }} /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                             分钟 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                          </div> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					                                       default: | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |