import {Connect} from "@cqsjjb/jjb-dva-runtime"; import {Button, Form, message, Modal, Space, Descriptions} from "antd"; import {useEffect, useState} from "react"; import FormBuilder from "zy-react-library/components/FormBuilder"; import Search from "zy-react-library/components/Search"; import Table from "zy-react-library/components/Table"; import {FORM_ITEM_RENDER_ENUM} from "zy-react-library/enum/formItemRender"; import useTable from "zy-react-library/hooks/useTable"; import {NS_MKMJAREA} from "~/enumerate/namespace"; import AddIcon from "zy-react-library/components/Icon/AddIcon"; import DeleteIcon from "zy-react-library/components/Icon/DeleteIcon"; import LocationIcon from "zy-react-library/components/Icon/LocationIcon"; import DictionarySelect from "zy-react-library/components/Select/Dictionary"; import Map from "zy-react-library/components/Map"; import MapSelector from "zy-react-library/components/Map/MapSelector"; const AREA_TYPE = [ {name: "人行口门", bianma: "1"}, {name: "车行口门", bianma: "2"}, {name: "综合口门", bianma: "3"}, ] const AREA_STATUS = [ {name: "停用", bianma: "0"}, {name: "正常", bianma: "1"}, {name: "暂时关闭", bianma: "2"}, ] function MkmjArea(props) { const [addModalVisible, setAddModalVisible] = useState(false); const [infoModalVisible, setInfoModalVisible] = useState(false); const [currentId, setCurrentId] = useState(""); const [selectedRowKeys, setSelectedRowKeys] = useState([]); const [form] = Form.useForm(); const {tableProps, getData} = useTable(props["mkmjAreaList"], { form, params: { eqAreaLevel: 1, } }); return (
}, ]} /> setSelectedRowKeys(selectedRowKeys), }} toolBarRender={() => ( )} columns={[ {dataIndex: "areaParentName", title: "所属区域"}, {dataIndex: "areaName", title: "口门名称"}, {dataIndex: "areaType", title: "口门类型",render:(_,record)=>{ return record.areaType === 1 ? "人行口门" : record.areaType === 2 ? "车行口门" : "综合口门"; }}, {dataIndex: "location", title: "地理位置",render:(_,record)=>{ return `${record.latitude || ""}--${record.longitude || ""}`; }}, {dataIndex: "videoNum", title: "视频个数",render:(_,record)=>{ return record.videoNum || 0; }}, { title: "操作", align: "center", width: 200, render: (_, record) => ( ), }, ]} {...tableProps} /> { setAddModalVisible(false); setCurrentId(""); }} getData={getData} /> { setInfoModalVisible(false); setCurrentId(""); }} getData={getData} /> ); } function AddModalComponent(props) { const [form] = Form.useForm(); useEffect(() => { if (props.currentId) { props["mkmjAreaInfo"]({id: props.currentId}).then((res) => { form.setFieldsValue({...res.data, areaType: Number(res.data.areaType), areaStatus: Number(res.data.areaStatus), }); }); } }, [props.currentId]); const onCancel = () => { form.resetFields(); props.onCancel(); }; const submit = async (values) => { await props[!props.currentId ? "mkmjAreaAdd" : "mkmjAreaEdit"]({...values, areaLevel:1, id: props.currentId}); onCancel(); props.getData(); }; return ( form.setFieldValue("areaParentName",label)}/>}, {name: "areaParentName", label: "所属区域",onlyForLabel:true}, {name: "areaRange", label: "口门位置"}, {name: "areaStatus", label: "口门状态",render: FORM_ITEM_RENDER_ENUM.SELECT, items: AREA_STATUS}, {key:"map",customizeRender:true,render:} ]} /> ); } function InfoModalComponent(props) { const [info, setInfo] = useState({}); const [mapVisible, setMapVisible] = useState(false); useEffect(() => { if (props.currentId) { props["mkmjAreaInfo"]({id: props.currentId}).then((res) => { setInfo(res.data); }); } }, [props.currentId]); return ( 关闭} title="查看" loading={props.mkmjArea.loading} > { setMapVisible(true); }}/>, label: "位置"}, ]} /> setMapVisible(false)} longitude={info.longitude} latitude={info.latitude} disable={true} /> ); } const AddModal = Connect([NS_MKMJAREA], true)(AddModalComponent); const InfoModal = Connect([NS_MKMJAREA], true)(InfoModalComponent); export default Connect([NS_MKMJAREA], true)(MkmjArea);