Browse Source

bug

release_1.3.0
wenlele 2 years ago
parent
commit
6c71e1cf98
  1. 274
      code/VideoAccess-VCMP/web/client/src/components/videoPlayer/videoOperation.jsx
  2. 62
      code/VideoAccess-VCMP/web/client/src/components/videoPlayer/videoPlay.jsx
  3. 2
      code/VideoAccess-VCMP/web/client/src/components/videoPlayer/videoPlay.less
  4. 182
      code/VideoAccess-VCMP/web/client/src/components/videoPlayer/voiceHeader.jsx
  5. 1
      code/VideoAccess-VCMP/web/client/src/sections/openness/components/container.jsx
  6. 4
      code/VideoAccess-VCMP/web/client/src/sections/openness/components/videoScreen.jsx

274
code/VideoAccess-VCMP/web/client/src/components/videoPlayer/videoOperation.jsx

@ -14,156 +14,156 @@ import { log } from "ezuikit-js";
const timeFormat = 'YYYY-MM-DD HH:mm:ss'
const VideoOperation = ({
ToastInCustom,
operationState, operation,
voiceDisY, setVoiceDisY,
processDisX, setProcessDisX,
isAdjustProcess, setIsAdjustProcess,
resolution, setResolution,
histroyTime, setHistroyTime,
histroyBegain,
play, pause, closeSound, openSound,
isPlaying,
videoObj,
setYingshiPrepare, yingshiPrepareRef,
slideDown,
player,
// setPlayer,
playState,
ToastInCustom,
operationState, operation,
voiceDisY, setVoiceDisY,
processDisX, setProcessDisX,
isAdjustProcess, setIsAdjustProcess,
resolution, setResolution,
histroyTime, setHistroyTime,
histroyBegain,
play, pause, closeSound, openSound,
isPlaying,
videoObj,
setYingshiPrepare, yingshiPrepareRef,
slideDown,
player,
// setPlayer,
playState,
}) => {
const [showTimeSelect, setShowTimeSelect] = useState(false)
const [showTimeSelect, setShowTimeSelect] = useState(false)
const butStyle = {
border: '1px solid #fff', color: '#fff', padding: '0 10px',
display: 'flex', alignItems: 'center', height: '64%', marginLeft: 12, cursor: 'pointer',
position: 'relative'
}
const butStyle = {
border: '1px solid #fff', color: '#fff', padding: '0 10px',
display: 'flex', alignItems: 'center', height: '64%', marginLeft: 12, cursor: 'pointer',
position: 'relative'
}
const changeResolution = () => {
// if (yingshiPrepareRef.current) {
// return
// }
if (videoObj.type == 'yingshi') {
// yingshiPrepareRef.current = 'yingshi'
// setYingshiPrepare('play')
}
const changeResolution = () => {
// if (yingshiPrepareRef.current) {
// return
// }
if (videoObj.type == 'yingshi') {
// yingshiPrepareRef.current = 'yingshi'
// setYingshiPrepare('play')
}
console.log(player);
player.stop().then((res) => {
if (resolution == 'sd') {
player.play({ url: videoObj?.playUrlHd, options: { hd: true } })
} else {
player.play({ url: videoObj?.playUrlSd, options: { hd: false } })
}
playState=false
})
setResolution(resolution == 'sd' ? 'hd' : 'sd')
// setPlayer({ url: resolution == 'sd' ? videoObj?.playUrlSd : videoObj?.playUrlHd })
}
console.log(player);
player.stop().then((res) => {
if (resolution == 'sd') {
player.play({ url: videoObj?.playUrlHd, options: { hd: true } })
} else {
player.play({ url: videoObj?.playUrlSd, options: { hd: false } })
}
playState = false
})
setResolution(resolution == 'sd' ? 'hd' : 'sd')
// setPlayer({ url: resolution == 'sd' ? videoObj?.playUrlSd : videoObj?.playUrlHd })
}
const histroySelected = operationState && operationState.histroy.select
const histroySelected = operationState && operationState.histroy.select
return (
<>
{
operationState ?
operationState?.control?.select ?
<VideoOperationCloudControl videoObj={videoObj} /> :
operationState.talk.select ?
<VideoOperationTalk
videoObj={videoObj}
/> :
'' : ''
}
return (
<>
{
operationState ?
operationState?.control?.select ?
<VideoOperationCloudControl videoObj={videoObj} /> :
operationState.talk.select ?
<VideoOperationTalk
videoObj={videoObj}
/> :
'' : ''
}
{
showTimeSelect ?
<VideoOperationHistroyTime
close={() => { setShowTimeSelect(false) }} histroyTime={histroyTime} setHistroyTime={setHistroyTime} setProcessDisX={setProcessDisX}
/>
: ''
}
{/* 下方操作 */}
<div className={slideDown == 'true' ? 'animation' : ""} style={{
height: histroySelected ? 44 : 42, lineHeight: `${histroySelected ? 44 : 42}px`,
background: 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%)', padding: '0 12px',
position: 'absolute', bottom: slideDown == 'true' ? -42 : 0, width: '100%', zIndex: 99, color: '#fff',
}}>
{
showTimeSelect ?
<VideoOperationHistroyTime
close={() => { setShowTimeSelect(false) }} histroyTime={histroyTime} setHistroyTime={setHistroyTime} setProcessDisX={setProcessDisX}
/>
: ''
histroySelected && histroyTime.length ?
<VideoOperationHistroyProcess
processDisX={processDisX} setProcessDisX={setProcessDisX} histroyTime={histroyTime}
isAdjustProcess={isAdjustProcess} setIsAdjustProcess={setIsAdjustProcess}
/> : ''
}
{/* 下方操作 */}
<div className={slideDown == 'true' ? 'animation' : ""} style={{
height: histroySelected ? 44 : 42, lineHeight: `${histroySelected ? 44 : 42}px`,
background: 'linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%)', padding: '0 12px',
position: 'absolute', bottom: slideDown == 'true' ? -42 : 0, width: '100%', zIndex: 99, color: '#fff',
<div style={{
display: 'flex', justifyContent: 'space-between', height: '100%'
}}>
{
histroySelected && histroyTime.length ?
<VideoOperationHistroyProcess
processDisX={processDisX} setProcessDisX={setProcessDisX} histroyTime={histroyTime}
isAdjustProcess={isAdjustProcess} setIsAdjustProcess={setIsAdjustProcess}
/> : ''
}
<div style={{
display: 'flex', justifyContent: 'space-between', height: '100%'
}}>
{
operationState ?
histroySelected ?
<>
<div style={{ display: 'flex', alignItems: 'center' }}>
{
videoObj.type != 'yingshi' ?
isPlaying ?
<IconPause style={{ cursor: 'pointer' }} onClick={pause} />
: <IconPlay style={{ cursor: 'pointer' }} onClick={play} />
: ''
}
<span style={{ marginLeft: 12 }}>
{histroyTime.length ? `${moment(histroyTime[0]).format(timeFormat)} / ${moment(histroyTime[1]).format(timeFormat)}` : ''}
</span>
</div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<VideoOperationVoice voiceDisY={voiceDisY} setVoiceDisY={setVoiceDisY} videoObj={videoObj} closeSound={closeSound} openSound={openSound} />
{
videoObj.type != 'yingshi' ?
<VideoOperationSpeed butStyle={butStyle} />
: ''
}
<div style={butStyle} onClick={() => {
setShowTimeSelect(!showTimeSelect)
}}>时间设置</div>
</div>
</>
:
<>
<div style={{ display: 'flex', alignItems: 'center' }}>
{
operationState ?
operation.map(p => {
if (p.hide) return null;
return <img
src={`/assets/images/background/video-icon-${p.key}-${operationState[p.key].select ? 'select' : 'unselect'}.png`}
height={18}
style={{ marginRight: 24, cursor: 'pointer' }}
onClick={(e) => { p.click(e) }}
/>
}) : ''
}
</div>
<div style={{ display: 'flex', alignItems: 'center', userSelect: 'none' }}>
{
videoObj.playUrlSd && videoObj.playUrlHd ?
resolution == 'sd' ?
<div style={butStyle} onClick={changeResolution}>标清</div> :
<div style={butStyle} onClick={changeResolution}>高清</div>
: ''
}
</div>
</> : ''
}
</div>
{
operationState ?
histroySelected ?
<>
<div style={{ display: 'flex', alignItems: 'center' }}>
{
videoObj.type != 'yingshi' ?
isPlaying ?
<IconPause style={{ cursor: 'pointer' }} onClick={pause} />
: <IconPlay style={{ cursor: 'pointer' }} onClick={play} />
: ''
}
<span style={{ marginLeft: 12 }}>
{histroyTime.length ? `${moment(histroyTime[0]).format(timeFormat)} / ${moment(histroyTime[1]).format(timeFormat)}` : ''}
</span>
</div>
<div style={{ display: 'flex', alignItems: 'center' }}>
<VideoOperationVoice voiceDisY={voiceDisY} setVoiceDisY={setVoiceDisY} videoObj={videoObj} closeSound={closeSound} openSound={openSound} />
{
videoObj.type != 'yingshi' ?
<VideoOperationSpeed butStyle={butStyle} />
: ''
}
<div style={butStyle} onClick={() => {
setShowTimeSelect(!showTimeSelect)
}}>时间设置</div>
</div>
</>
:
<>
<div style={{ display: 'flex', alignItems: 'center' }}>
{
operationState ?
operation.map(p => {
if (p.hide) return null;
return <img
src={`/assets/images/background/video-icon-${p.key}-${operationState[p.key].select ? 'select' : 'unselect'}.png`}
height={18}
style={{ marginRight: 24, cursor: 'pointer' }}
onClick={(e) => { p.click(e) }}
/>
}) : ''
}
</div>
<div style={{ display: 'flex', alignItems: 'center', userSelect: 'none' }}>
{
videoObj.playUrlSd && videoObj.playUrlHd ?
resolution == 'sd' ?
<div style={butStyle} onClick={changeResolution}>标清</div> :
<div style={butStyle} onClick={changeResolution}>高清</div>
: ''
}
</div>
</> : ''
}
</div>
</>
)
</div>
</>
)
}
function mapStateToProps (state) {
const { auth } = state;
return {
user: auth.user,
};
const { auth } = state;
return {
user: auth.user,
};
}
export default connect(mapStateToProps)(VideoOperation);

62
code/VideoAccess-VCMP/web/client/src/components/videoPlayer/videoPlay.jsx

@ -16,7 +16,10 @@ const yingshiUrl = 'https://open.ys7.com/ezopen/h5/iframe'
const yingshiCloseSoundKey = 'closeSound'
const yingshiOpenSoundKey = 'openSound'
let timings
let videoFront
let videoAfter
// let duration = moment.duration(videoAfter.diff(videoFront))._data.milliseconds;
const VideoPlay = ({
height, width, containerId = 'myPlayer',
// playUrl,
@ -65,7 +68,6 @@ const VideoPlay = ({
iotVideoServer,
local, //
}) => {
// console.log(sizeWh);
if (videoObj.type == 'yingshi') {
videoObj = {
...videoObj,
@ -91,6 +93,7 @@ const VideoPlay = ({
const [resolution, setResolution] = useState('sd') // sd hd
const [videoMask, setVideoMask] = useState(true) //
const [disappear, setDisappear] = useState(false) //
const [disappears, setDisappears] = useState(false) //
// ifream
@ -106,11 +109,33 @@ const VideoPlay = ({
const playState = useRef(false) //
const yingshiPlayer = useRef(null)
useEffect(() => {
setRoll(false)
}, [resolution]);
useEffect(() => {
if (timings) clearInterval(timings)
if (disappear || !videoMask) {
let duration = moment.duration(videoAfter?.diff(videoFront))._data.milliseconds;
console.log(duration);
timings = setInterval(() => {
console.log(yingshiPlayer.current);
if (disappear && duration > 4000) {
// yingshiPlayer.current?.reSize(1, 1)
setVideoMask(true)
}
}, duration > 4000 ? 0 : 4000 - duration)
}
}, [disappear, videoMask])
useEffect(() => {
setResolution(changeData?.hdChecked ? 'hd' : 'sd')
if (player) {
@ -165,7 +190,7 @@ const VideoPlay = ({
key: 'fullScreen',
click: () => {
changeSelectState('fullScreen')
let videoplay = document.getElementsByClassName('vcmp_video' + videoObj.id)
let videoplay = document.getElementById("vcmp_videoplay" + videoObj.id)
if (screenfull.isEnabled) {
screenfull.toggle(videoplay);
if (videoObj?.type == 'yingshi' && player) {
@ -210,13 +235,17 @@ const VideoPlay = ({
//
screenfull.on('change', (e) => {
console.log(e?.path[0]?.id);
if (e?.path[0]?.id == "vcmp_video" + videoObj.id) {
if (e?.path[0]?.id?.includes("vcmp_videoplay")) {
if (screenfull.isFullscreen && operationRef.current && !operationRef.current['fullScreen'].select) {
changeSelectState('fullScreen')
}
if (!screenfull.isFullscreen && operationRef.current && operationRef.current['fullScreen'].select) {
changeSelectState('fullScreen')
console.log(yingshiPlayer.current);
if (yingshiPlayer.current) {
console.log(45648641);
// yingshiPlayer.current.reSize(size?.width, size?.height);
}
}
}
});
@ -301,7 +330,6 @@ const VideoPlay = ({
// }, err => {.
// console.log(err);
// })
console.log(videoObj);
const inviteRes_ = await request.get(`${iotVideoServer}/api/gb28181/invite?id=${videoObj.topSerialNo}&channel=${videoObj.serialNo}`)
} catch (error) {
console.log(error.response);
@ -329,7 +357,7 @@ const VideoPlay = ({
setjessibuca(jessibuca)
play({ jessibuca })
} else {
videoFront = new moment(); //
const player = new EZUIKit.EZUIKitPlayer({
id: containerId, // ID
accessToken: videoObj?.yingshiToken,
@ -340,11 +368,12 @@ const VideoPlay = ({
setRoll(true)
setVideoMask(false)
playState.current = true
// setDisappear(true)
console.log(23154);
videoAfter = new moment(); //
},
handleError: (e) => { //
console.log(e, '播放失败');
videoAfter = new moment(); //
setDisappear(true)
},
})
setPlayer(player)
@ -388,14 +417,11 @@ const VideoPlay = ({
}
const setupSize = (data) => {
console.log(2222);
console.log(operationRef.current?.fullScreen.select);
if (!operationRef.current?.fullScreen.select) {
let containerWidth = sizeWh?.parentWidth //
let containerHeight = sizeWh?.parentHeight
let videoWidth = width || sizeWh?.width
let videoHeight = height || sizeWh?.height
console.log(2222);
if (IsSize == 'true') {
if (containerWidth >= videoWidth && containerHeight >= videoHeight) {
@ -422,11 +448,7 @@ const VideoPlay = ({
player.reSize(videoWidth, videoHeight)
}
} else {
console.log(48978945);
console.log(player);
if (videoObj.type == 'yingshi' && player?.pluginStatus) {
console.log(1111111);
console.log(videoWidth, videoHeight);
player.reSize(videoWidth, videoHeight)
}
}
@ -440,8 +462,8 @@ const VideoPlay = ({
return (
<>
<div className={'vcmp_videoplay' + videoObj.id + " my_vcmp_videoplay"} style={{ width: size?.parentWidth || '100%', height: size?.parentHeight || '100%', backgroundColor: 'black', overflow: 'hidden', display: 'flex', alignItems: 'center', justifyContent: 'center', }}>
<div id="vcmp_videoplay" className={'vcmp_video' + videoObj.id} style={{ position: 'relative', height: size?.height || '100%', width: size?.width || '100%', minWidth: 240, minHeight: 135, overflow: 'hidden' }}> {/* 顶部信息 */}
<div className='vcmp_videoplay' style={{ width: size?.parentWidth || '100%', height: size?.parentHeight || '100%', backgroundColor: 'black', overflow: 'hidden', display: 'flex', alignItems: 'center', justifyContent: 'center', }}>
<div id={"vcmp_videoplay" + videoObj.id} className="vcmp_video" style={{ position: 'relative', height: size?.height || '100%', width: size?.width || '100%', minWidth: 240, minHeight: 135, overflow: 'hidden' }}>
<VideoHeader
operationState={operationState} changeSelectState={changeSelectState}
histroyTime={histroyTime}
@ -473,8 +495,8 @@ const VideoPlay = ({
// style={{ pointerEvents: 'none' }}
// />
}
{!disappear ? <div id={containerId} style={{ height: '100%', width: '100%', }}></div> : ''}
{videoMask ? <div style={{ height: size?.height || '100%', width: size?.width || '100%', minWidth: 400, minHeight: 225, overflow: 'hidden', position: 'absolute', top: '0', left: '0', zIndex: 99, backgroundColor: 'rgba(255,255,255,0.65)' }}></div> : ''}
<div id={containerId} style={{ height: '100%', width: '100%', }}></div>
{videoMask ? <div style={{ height: size?.height || '100%', width: size?.width || '100%', minWidth: 400, minHeight: 225, overflow: 'hidden', position: 'absolute', top: '0', left: '0', zIndex: 99, backgroundColor: 'black' }}></div> : ''}
{/* 下方操作栏 */}
{/* 显示操作功能条件(宽高) */}

2
code/VideoAccess-VCMP/web/client/src/components/videoPlayer/videoPlay.less

@ -38,7 +38,7 @@
display: none;
}
#vcmp_videoplay:hover{
.vcmp_video:hover{
.animation{
transform: translateY(-40px);
}

182
code/VideoAccess-VCMP/web/client/src/components/videoPlayer/voiceHeader.jsx

@ -10,106 +10,106 @@ import { log } from "ezuikit-js";
const timeFormat = 'YYYY-MM-DD HH:mm:ss'
const VideoHeader = ({ operationState, changeSelectState, setProcessDisX, name, videoObj, showTime, histroyTime, content, roll, videoStyle, player, resolution, playState }) => {
const time = useRef(moment(showTime || undefined))
const upTimeInterval = useRef(null)
const [showTime_, setShowTime] = useState(' ')
const time = useRef(moment(showTime || undefined))
const upTimeInterval = useRef(null)
const [showTime_, setShowTime] = useState(' ')
const updateTime = () => {
if (!showTime) {
setShowTime('')
clearInterval(upTimeInterval.current)
return
}
time.current = moment(showTime || undefined)
if (upTimeInterval.current) {
clearInterval(upTimeInterval.current)
}
const upTime = () => {
time.current.add(1, 's')
if (operationState && operationState.histroy.select) {
// setProcessDisX(Math.random() * 300 + 100)
if (time.current.isSameOrAfter(histroyTime[1])) {
clearInterval(upTimeInterval.current)
}
setProcessDisX(
time.current.diff(moment(histroyTime[0]), 'seconds') / moment(histroyTime[1]).diff(moment(histroyTime[0]), 'seconds') * document.getElementById('process_point').parentElement.offsetWidth
)
const updateTime = () => {
if (!showTime) {
setShowTime('')
clearInterval(upTimeInterval.current)
return
}
time.current = moment(showTime || undefined)
if (upTimeInterval.current) {
clearInterval(upTimeInterval.current)
}
const upTime = () => {
time.current.add(1, 's')
if (operationState && operationState.histroy.select) {
// setProcessDisX(Math.random() * 300 + 100)
if (time.current.isSameOrAfter(histroyTime[1])) {
clearInterval(upTimeInterval.current)
}
setShowTime(time.current.format(timeFormat))
}
upTime()
upTimeInterval.current = setInterval(upTime, 1000)
}
setProcessDisX(
time.current.diff(moment(histroyTime[0]), 'seconds') / moment(histroyTime[1]).diff(moment(histroyTime[0]), 'seconds') * document.getElementById('process_point').parentElement.offsetWidth
)
}
setShowTime(time.current.format(timeFormat))
}
upTime()
upTimeInterval.current = setInterval(upTime, 1000)
}
useEffect(() => {
updateTime()
return () => {
if (upTimeInterval.current) {
clearInterval(upTimeInterval.current)
}
}
}, [])
useEffect(() => {
updateTime()
return () => {
if (upTimeInterval.current) {
clearInterval(upTimeInterval.current)
}
}
}, [])
useEffect(() => {
updateTime()
}, [showTime])
useEffect(() => {
updateTime()
}, [showTime])
const vcmp_videoplay = document.getElementsByClassName('vcmp_video'+videoObj.id)?.clientHeigh
const vcmp_videopla = document.getElementsByClassName('vcmp_video'+videoObj.id)?.clientWidth
const vcmp_videoplay = document.getElementById("vcmp_videoplay" + videoObj.id)?.clientHeight
const vcmp_videopla = document.getElementById("vcmp_videoplay" + videoObj.id)?.clientWidth
return (
<div>
{roll && vcmp_videopla > 320 ?
<div style={{
height: '12%', lineHeight: `${vcmp_videoplay * 0.12 > 42 ? 42 : vcmp_videoplay * 0.12 < 30 ? 30 : vcmp_videoplay * 0.12}px`, background: videoStyle == 'true' ? '#467ACD' : '#000000FF', maxHeight: 42, minHeight: 30,
position: 'absolute', width: '100%', zIndex: 80,
color: '#fff'
}}>
<Row>
<Col span={videoStyle == 'true' ? 0 : 9} style={{
backgroundImage: 'url(/assets/images/background/videoPlayBg.png)',
backgroundSize: '100% 100%',
backgroundRepeat: 'no-repeat',
padding: '0 12px'
}}>
{
operationState && operationState.histroy.select ?
<>
<IconReply style={{ marginRight: 12, cursor: 'pointer' }} onClick={() => {
changeSelectState('histroy')
if (playState) {
player.stop().then(() => {
if (resolution == 'sd') {
player.play({ url: videoObj?.playUrlSd, })
} else {
player.play({ url: videoObj?.playUrlHd, })
}
playState = false
})
} else {
player.play({ url: resolution == 'sd' ? videoObj?.playUrlSd : videoObj?.playUrlHd, })
}
}} />
</> : ''
}
{showTime_} {name}
</Col>
<Col span={videoStyle == 'true' ? 24 : 15} style={{}}>
<div style={{ paddingRight: 12 }}>
{content ? <TextScroll content={content || []} duration={6} videoObj={videoObj} /> : ""}
</div>
</Col>
</Row>
</div> : ''}
</div>
)
return (
<div>
{roll && vcmp_videopla > 320 ?
<div style={{
height: '12%', lineHeight: `${vcmp_videoplay * 0.12 > 42 ? 42 : vcmp_videoplay * 0.12 < 30 ? 30 : vcmp_videoplay * 0.12}px`, background: videoStyle == 'true' ? content.length > 0 ? '#467ACD' : "" : '#000000FF', maxHeight: 42, minHeight: 30,
position: 'absolute', width: '100%', zIndex: 80,
color: '#fff'
}}>
<Row>
<Col span={videoStyle == 'true' ? 0 : 9} style={{
backgroundImage: 'url(/assets/images/background/videoPlayBg.png)',
backgroundSize: '100% 100%',
backgroundRepeat: 'no-repeat',
padding: '0 12px'
}}>
{
operationState && operationState.histroy.select ?
<>
<IconReply style={{ marginRight: 12, cursor: 'pointer' }} onClick={() => {
changeSelectState('histroy')
if (playState) {
player.stop().then(() => {
if (resolution == 'sd') {
player.play({ url: videoObj?.playUrlSd, })
} else {
player.play({ url: videoObj?.playUrlHd, })
}
playState = false
})
} else {
player.play({ url: resolution == 'sd' ? videoObj?.playUrlSd : videoObj?.playUrlHd, })
}
}} />
</> : ''
}
{showTime_} {name}
</Col>
<Col span={videoStyle == 'true' ? 24 : 15} style={{}}>
<div style={{ paddingRight: 12 }}>
{content && content?.length > 0 ? <TextScroll content={content || []} duration={6} videoObj={videoObj} /> : ""}
</div>
</Col>
</Row>
</div> : ''}
</div>
)
}
function mapStateToProps (state) {
const { auth } = state;
return {
user: auth.user,
};
const { auth } = state;
return {
user: auth.user,
};
}
export default connect(mapStateToProps)(VideoHeader);

1
code/VideoAccess-VCMP/web/client/src/sections/openness/components/container.jsx

@ -12,7 +12,6 @@ const Container = ({ videoObj, pageSize, showHeader, videoPlay, mould }) => {
useEffect(() => {
const resize_ = async () => {
console.log(document.getElementById('video' + videoObj.key).clientWidth);
await setVideoWidth(document.getElementById('video' + videoObj.key).clientWidth)
await setVideoHeight(document.getElementById('video' + videoObj.key).clientHeight)
}

4
code/VideoAccess-VCMP/web/client/src/sections/openness/components/videoScreen.jsx

@ -220,7 +220,7 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s
setSelectAll(true)
}
}
}, [leftValue]) //
useEffect(() => {
@ -421,6 +421,8 @@ const VideoScreen = ({ treeData, filterGroup, videoPlay, template, headerName, s
onChange={(e) => {
// console.log(e);
setLeftValue(e)
setPage(1)
pageRef.current = 1
}}
onSelect={(e) => {
// console.log(e);

Loading…
Cancel
Save