import React, { useState ,useRef} from 'react' import { Modal,Form,Row,Col,Spin,Notification,Button } from '@douyinfe/semi-ui'; import { IconChevronLeft,IconChevronRight } from '@douyinfe/semi-icons'; function nvrModal(props){ const {modalName,visible,close}=props const form = useRef(); // const [visible, setVisible] = useState(false);//是否显示弹框 const [isloading,setloading] = useState(false);//是否显示loading const [loadingTip,setloadingTip] = useState('获取中...请稍后...');//loading tip的值 const [step,setstep] = useState(0)//第几步 const [okText,setokText] = useState('测试校验')//ok弹框text 右边 const [cancelText,setcancelText] = useState('取消')//取消弹框text 左边 const opts ={//添加完成确认后通知 title:'Hi', content:'添加成功', duration:3 } const [clickNum,setclickNum] = useState(1);//点击的第几个 const cameraList=[//循环摄像头列表 { id:1, img:'/assets/images/background/ysy.png', title:'萤石云平台摄像头', text:'通过萤石云平台rtmp地址配置完成推流的平台摄像头。' },{ id:2, img:'/assets/images/background/nvr.png', title:'NVR摄像头', text:'通过连接NVR(网络硬盘录像机)进行视频流推送的摄像头' },{ id:3, img:'/assets/images/background/ipc.png', title:'IPC网络摄像头', text:'通过网络与监控设备直连完成视频流推送的摄像头设备' },{ id:4, img:'/assets/images/background/cascade.png', title:'级联摄像头', text:'通过GB/T28181协议级联的平台摄像头,常用于平台对接推送' }, ] const [showcameraList,setcameraList]=useState(cameraList.slice(0,3)); function handleOk() {//点击弹框确定 右边按钮 if(step==0){ form.current.validate() .then(values=>{//表单校验成功 setloading(true); setTimeout(() => { setloadingTip('...接受成功') setTimeout(()=>{ setloadingTip('已完成') setTimeout(() => { setstep(1); setokText('确认'); setcancelText('上一步'); setloading(false); }, 2000); },2000) }, 2000); }) .catch(errors=>{//表单校验失败 console.log('errors',errors); }) } else{ Notification.success(opts) // setVisible(false); close(); } } function handleAfterClose(){//在关闭之后 setstep(0); setokText('测试校验'); setcancelText('取消'); } function handleCancel() {//点击弹框取消 左边按钮 if(step==0){ // setVisible(false); close(); } else{ setstep(0); setokText('测试校验'); setcancelText('取消'); } } function handleLocation(){//高德经纬度 console.log('handleLocationhandleLocation'); } function handleChoose(id){//选择摄像头接入类型 setclickNum(id); } function turnLift(){ setcameraList(cameraList.slice(0,3)) } function turnRight(){ setcameraList(cameraList.slice(1,4)) } return ( <> {/*
{modalName=='add'?'添加NVR':'修改'}
*/}
接入类型
{showcameraList.map((item,index)=>(
handleChoose(item.id)}>
设置
{item.title}
{item.text}
{clickNum===item.id?
1
:''}
))}
配置属性
1 重置
1 测试
); } export default nvrModal