import React, { useState, useEffect, useRef } from "react"; import { connect } from "react-redux"; import { Button, Form, Input, Row, Table, Pagination } from "@douyinfe/semi-ui"; import "../style.less"; import NvrModal from "../components/nvrModal"; import Setup from "../components/setup"; import SideSheets from "../components/sideSheet"; const NvrHeader = (props) => { const { dispatch, actions, user, loading, equipmentWarehouseNvr } = props; const { equipmentWarehouse } = actions; const [setup, setSetup] = useState(false); const [sideSheet, setSideSheet] = useState(false); const [setupp, setSetupp] = useState([]); const [venderList, setvenderList] = useState([]); //厂商信息 const [query, setQuery] = useState({ limit: 10, page: 0 }); const api = useRef(); const SETUPS = "setups"; useEffect(() => { dispatch(actions.equipmentWarehouse.getVender()).then((res) => { setvenderList(res.payload.data); }); //初始化表格显示设置 localStorage.setItem(SETUPS, JSON.stringify(["a", "c", "d", "e"])); attribute(); }, []); useEffect(() => { equipmentGetNvr(); }, [query]); function equipmentGetNvr() { dispatch(equipmentWarehouse.getNvr(query)); } const columns = [ { title: "序号", render: (text, record, index) => { return index + 1; }, }, { title: "设备名称", dataIndex: "name", render: (text, record, index) => { return (
{record.name}
); }, }, { title: "SIP地址", dataIndex: "owner", }, { title: "操作", width: "20%", dataIndex: "", render: (_, row) => { // console.log(row); return ( <> ); }, }, ]; //获取表格属性设置 function attribute() { const arr = localStorage.getItem(SETUPS) ? JSON.parse(localStorage.getItem(SETUPS)) : []; const column = [ { title: "设备厂家", dataIndex: "venderId", key: "a", }, { title: "添加账号", dataIndex: "createUserId", key: "b", }, { title: "通道数", dataIndex: "channelCount", key: "c", }, { title: "端口", dataIndex: "port", key: "d", }, { title: "设备状态", dataIndex: "size", key: "e", }, { title: "创建时间", dataIndex: "createTime", key: "f", }, { title: "项目名称", dataIndex: "size", key: "g", }, { title: "things名称", dataIndex: "updateTime", key: "h", }, { title: "things数量", dataIndex: "updateTime", key: "i", }, ]; for (let i = 0; i < arr.length; i++) { let colum = column.filter((item) => { return item.key === arr[i]; }); columns.splice(i + 2, 0, colum[0]); } setSetupp(columns); } //条件赛选样式 const screen = { width: 193, marginRight: 20, marginBottom: 16, color: "rgba(0, 0, 0, 0.65)", }; return ( <>
筛选条件
console.log(values)} // onValueChange={values=>console.log(values)} getFormApi={(formApi) => (api.current = formApi)} layout="horizontal" style={{ position: "relative", width: "100%", flex: 1 }} > {venderList.map((item) => { return ( {item.name} ); })} 在线 离线 飞尚科技1 飞尚科技2
设备列表
共{equipmentWarehouseNvr.total}个设备 { setQuery({ limit: pageSize, page: currentPage - 1 }); }} />
{setup ? ( { setSetup(false); attribute(); }} /> ) : ( "" )} {sideSheet ? ( { setSideSheet(false); }} /> ) : ( [] )} ); }; function mapStateToProps(state) { const { auth, global, members, equipmentWarehouseNvr } = state; return { loading: members.isRequesting, user: auth.user, actions: global.actions, members: members.data, equipmentWarehouseNvr: equipmentWarehouseNvr.data || [], }; } export default connect(mapStateToProps)(NvrHeader);