diff --git a/jjb.config.js b/jjb.config.js index 76e0836..523d972 100644 --- a/jjb.config.js +++ b/jjb.config.js @@ -9,7 +9,9 @@ module.exports = { // 应用后端分支名称,部署上线需要 javaGitBranch: "", // 接口服务地址 - API_HOST: "", + // API_HOST: "https://gbs-gateway.qhdsafety.com", + API_HOST: "http://192.168.10.45:80", + // API_HOST: "http://192.168.20.100:30140", }, production: { // 应用后端分支名称,部署上线需要 diff --git a/src/api/AlarmDispose/index.js b/src/api/AlarmDispose/index.js index d98ad07..999e541 100644 --- a/src/api/AlarmDispose/index.js +++ b/src/api/AlarmDispose/index.js @@ -3,4 +3,3 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; export const alarmAssignList = declareRequest("alarmDisposeLoading", "Post > @/iotalarm/alarmDispose/assignList"); export const alarmAssign = declareRequest("alarmDisposeLoading", "Post > @/iotalarm/alarmDispose/assign"); export const alarmBatchAssign = declareRequest("alarmDisposeLoading", "Post > @/iotalarm/alarmDispose/batchAssign"); -export const alarmRecordList = declareRequest("alarmRecordLoading", "Post > @/iotalarm/alarmRecord/list"); diff --git a/src/api/global/index.js b/src/api/global/index.js deleted file mode 100644 index ba35796..0000000 --- a/src/api/global/index.js +++ /dev/null @@ -1,11 +0,0 @@ -export {}; - -// export const riskList = declareRequest( -// "loading", -// "Post > @/xxx", -// "dataSource: [] | res.data || [] & total: 0 | res.totalCount || 0 & pageIndex: 1 | res.pageIndex || 1 & pageSize: 10 | res.pageSize || 10", -// ); -// export const riskDelete = declareRequest( -// "loading", -// "Delete > @/xxx/{id}", -// ); diff --git a/src/api/index.js b/src/api/index.js deleted file mode 100644 index 0da09a1..0000000 --- a/src/api/index.js +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./AlarmDispose"; -export * from "./AlarmInfo"; -export * from "./AlarmRecord"; -export * from "./DeviceRegion"; -export * from "./SensorDevice"; -export * from "./SensorType"; diff --git a/src/components/AlarmDispose/AssignModal/index.js b/src/components/AlarmAssign/List/components/AssignModal/index.js similarity index 100% rename from src/components/AlarmDispose/AssignModal/index.js rename to src/components/AlarmAssign/List/components/AssignModal/index.js diff --git a/src/components/AlarmDispose/AssignList/index.js b/src/components/AlarmAssign/List/index.js similarity index 53% rename from src/components/AlarmDispose/AssignList/index.js rename to src/components/AlarmAssign/List/index.js index f907348..1786c02 100644 --- a/src/components/AlarmDispose/AssignList/index.js +++ b/src/components/AlarmAssign/List/index.js @@ -1,39 +1,26 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Form, message, Space } from "antd"; -import { useEffect, useState } from "react"; +import { useState } from "react"; import Page from "zy-react-library/components/Page"; 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 { getLabelName } from "zy-react-library/utils"; -import AssignModal from "~/components/AlarmDispose/AssignModal"; -import { ALARM_LEVEL_OPTIONS, ALARM_SOURCE_OPTIONS, ALARM_STATUS_OPTIONS, ALARM_TYPE_OPTIONS } from "~/enumerate/constant"; -import { NS_ALARMDISPOSE, NS_SENSORDEVICE } from "~/enumerate/namespace"; +import AlarmRecordView from "~/components/AlarmRecord/View"; +import AssignModal from "./components/AssignModal"; function AssignList(props) { const [form] = Form.useForm(); const [modalOpen, setModalOpen] = useState(false); + const [detailOpen, setDetailOpen] = useState(false); + const [detailId, setDetailId] = useState(""); const [selectedRowKeys, setSelectedRowKeys] = useState([]); const [currentAlarmId, setCurrentAlarmId] = useState(null); const [isBatch, setIsBatch] = useState(false); - const [sensorNameMap, setSensorNameMap] = useState({}); const { tableProps, getData } = useTable(props["alarmAssignList"], { form }); - useEffect(() => { - props.sensorDeviceList({ pageIndex: 1, pageSize: 500 }).then((res) => { - if (!res?.success) { - return; - } - setSensorNameMap( - Object.fromEntries((res.data || []).map(item => [item.sensorCode, item.sensorName])), - ); - }); - }, [props.sensorDeviceList]); - - const assignPermission = `${props.type}-iotalarm-alarm-assign`; + const pageType = props.type || "fgs"; + const assignPermission = `${pageType}-iotalarm-alarm-assign`; const handleBatchAssign = () => { if (selectedRowKeys.length === 0) { @@ -56,10 +43,13 @@ function AssignList(props) { onChange: setSelectedRowKeys, }; - const dataSource = (tableProps.dataSource || []).map(item => ({ - ...item, - sensorName: sensorNameMap[item.sensorCode] || "-", - })); + const handleSearch = (values) => { + getData({ + sensorName: values.sensorName, + alarmTimeStart: values.alarmTime?.[0]?.format?.("YYYY-MM-DD HH:mm:ss"), + alarmTimeEnd: values.alarmTime?.[1]?.format?.("YYYY-MM-DD HH:mm:ss"), + }); + }; const renderCurrentValue = (_, record) => { if (record.currentValue == null || record.currentValue === "") { @@ -74,28 +64,10 @@ function AssignList(props) { {props.permission(assignPermission) && ( )} )} columns={[ - { title: "报警编号", dataIndex: "alarmNo" }, - { - title: "报警来源", - dataIndex: "alarmSource", - render: value => getLabelName({ status: value, list: ALARM_SOURCE_OPTIONS }) || value || "-", - }, { title: "传感器编码", dataIndex: "sensorCode" }, { title: "传感器名称", dataIndex: "sensorName", ellipsis: true }, - { - title: "报警级别", - dataIndex: "alarmLevel", - render: value => getLabelName({ status: value, list: ALARM_LEVEL_OPTIONS }) || value || "-", - }, - { - title: "报警类型", - dataIndex: "alarmType", - render: value => getLabelName({ status: value, list: ALARM_TYPE_OPTIONS }) || value || "-", - }, - { title: "报警描述", dataIndex: "alarmDesc", ellipsis: true }, - { - title: "报警状态", - dataIndex: "status", - render: value => getLabelName({ status: value, list: ALARM_STATUS_OPTIONS }) || value || "-", - }, { title: "报警时间", dataIndex: "alarmTime", width: 180 }, + { title: "报警描述", dataIndex: "alarmDesc", ellipsis: true }, { title: "告警值", render: renderCurrentValue }, { title: "操作", - width: 120, + width: 180, render: (_, record) => ( {props.permission(assignPermission) && ( )} + ), }, ]} {...tableProps} - dataSource={dataSource} /> + {detailOpen && ( + { + setDetailOpen(false); + setDetailId(""); + }} + /> + )} {modalOpen && ( { - props.sensorDeviceList({ pageIndex: 1, pageSize: 500 }).then((res) => { - if (!res?.success) { - return; - } - setSensorNameMap( - Object.fromEntries((res.data || []).map(item => [item.sensorCode, item.sensorName])), - ); - }); - }, [props.sensorDeviceList]); - - const dataSource = (tableProps.dataSource || []).map(item => ({ - ...item, - sensorName: sensorNameMap[item.sensorCode] || "-", - })); - - const renderCurrentValue = (_, record) => { - if (record.currentValue == null || record.currentValue === "") { - return "-"; - } - const suffix = record.compareFlag === "UP" ? " 上升" : record.compareFlag === "DOWN" ? " 下降" : ""; - const unit = record.unitName ? ` ${record.unitName}` : ""; - return `${record.currentValue}${unit}${suffix}`; - }; - - return ( - - -
getLabelName({ status: value, list: ALARM_STATUS_OPTIONS }) || value || "-", - }, - { title: "设备来源", dataIndex: "deviceSourceDesc" }, - ]} - {...tableProps} - dataSource={dataSource} - /> - - ); -} - -export default Connect([NS_DCSALARMINFO, NS_SENSORDEVICE], true)(Permission(DcsList)); diff --git a/src/components/AlarmInfo/ThresholdList/index.js b/src/components/AlarmInfo/ThresholdList/index.js deleted file mode 100644 index 1ffb1f0..0000000 --- a/src/components/AlarmInfo/ThresholdList/index.js +++ /dev/null @@ -1,97 +0,0 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Form } from "antd"; -import { useEffect, useState } from "react"; -import Page from "zy-react-library/components/Page"; -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 { getLabelName } from "zy-react-library/utils"; -import { ALARM_STATUS_OPTIONS } from "~/enumerate/constant"; -import { NS_SENSORDEVICE, NS_THRESHOLDALARMINFO } from "~/enumerate/namespace"; - -function ThresholdList(props) { - const [form] = Form.useForm(); - const [sensorNameMap, setSensorNameMap] = useState({}); - const { tableProps, getData } = useTable(props["thresholdAlarmInfoList"], { - form, - defaultParams: { alarmSource: "THRESHOLD" }, - }); - - useEffect(() => { - props.sensorDeviceList({ pageIndex: 1, pageSize: 500 }).then((res) => { - if (!res?.success) { - return; - } - setSensorNameMap( - Object.fromEntries((res.data || []).map(item => [item.sensorCode, item.sensorName])), - ); - }); - }, [props.sensorDeviceList]); - - const dataSource = (tableProps.dataSource || []).map(item => ({ - ...item, - sensorName: sensorNameMap[item.sensorCode] || "-", - })); - - const renderCurrentValue = (_, record) => { - if (record.currentValue == null || record.currentValue === "") { - return "-"; - } - const suffix = record.compareFlag === "UP" ? " 上升" : record.compareFlag === "DOWN" ? " 下降" : ""; - const unit = record.unitName ? ` ${record.unitName}` : ""; - return `${record.currentValue}${unit}${suffix}`; - }; - - return ( - - -
getLabelName({ status: value, list: ALARM_STATUS_OPTIONS }) || value || "-", - }, - { title: "设备来源", dataIndex: "deviceSourceDesc" }, - ]} - {...tableProps} - dataSource={dataSource} - /> - - ); -} - -export default Connect([NS_THRESHOLDALARMINFO, NS_SENSORDEVICE], true)(Permission(ThresholdList)); diff --git a/src/components/AlarmInfo/index.js b/src/components/AlarmInfo/index.js deleted file mode 100644 index 03b2f97..0000000 --- a/src/components/AlarmInfo/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { default as DcsList } from "./DcsList"; -export { default as ThresholdList } from "./ThresholdList"; diff --git a/src/components/AlarmRecord/List/index.js b/src/components/AlarmRecord/List/index.js index e89f5b0..4fbb9b1 100644 --- a/src/components/AlarmRecord/List/index.js +++ b/src/components/AlarmRecord/List/index.js @@ -1,44 +1,35 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Form, Space } from "antd"; -import { useEffect, useState } from "react"; +import { useState } from "react"; import Page from "zy-react-library/components/Page"; 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 { getLabelName } from "zy-react-library/utils"; -import DetailModal from "~/components/AlarmRecord/DetailModal"; -import { ALARM_SOURCE_OPTIONS, ALARM_STATUS_OPTIONS } from "~/enumerate/constant"; -import { NS_ALARMRECORD, NS_SENSORDEVICE } from "~/enumerate/namespace"; +import { ALARM_STATUS_OPTIONS } from "~/enumerate/constant"; +import AlarmRecordView from "../View"; function AlarmRecordList(props) { const [form] = Form.useForm(); const [detailOpen, setDetailOpen] = useState(false); const [currentId, setCurrentId] = useState(""); - const [sensorNameMap, setSensorNameMap] = useState({}); const { tableProps, getData } = useTable(props["alarmRecordList"], { form }); - useEffect(() => { - props.sensorDeviceList({ pageIndex: 1, pageSize: 500 }).then((res) => { - if (!res?.success) { - return; - } - setSensorNameMap( - Object.fromEntries((res.data || []).map(item => [item.sensorCode, item.sensorName])), - ); - }); - }, [props.sensorDeviceList]); - const handleViewDetail = (record) => { setCurrentId(record.id); setDetailOpen(true); }; - const dataSource = (tableProps.dataSource || []).map(item => ({ - ...item, - sensorName: sensorNameMap[item.sensorCode] || "-", - })); + const handleSearch = (values) => { + getData({ + sensorName: values.sensorName, + disposeUserName: values.disposeUserName, + status: values.status, + alarmTimeStart: values.alarmTime?.[0]?.format?.("YYYY-MM-DD HH:mm:ss"), + alarmTimeEnd: values.alarmTime?.[1]?.format?.("YYYY-MM-DD HH:mm:ss"), + disposeTimeStart: values.disposeTime?.[0]?.format?.("YYYY-MM-DD HH:mm:ss"), + disposeTimeEnd: values.disposeTime?.[1]?.format?.("YYYY-MM-DD HH:mm:ss"), + }); + }; const renderCurrentValue = (_, record) => { if (record.currentValue == null || record.currentValue === "") { @@ -49,47 +40,45 @@ function AlarmRecordList(props) { return `${record.currentValue}${unit}${suffix}`; }; + const renderAlarmStatus = (_, record) => { + if (record.status === 30) { + return "已消警"; + } + if (record.status === 40) { + return "误报"; + } + return "报警中"; + }; + return (
getLabelName({ status: value, list: ALARM_SOURCE_OPTIONS }) || value || "-", - }, { title: "传感器编码", dataIndex: "sensorCode" }, { title: "传感器名称", dataIndex: "sensorName" }, { title: "报警时间", dataIndex: "alarmTime" }, @@ -97,17 +86,15 @@ function AlarmRecordList(props) { { title: "告警值", render: renderCurrentValue }, { title: "报警级别", dataIndex: "alarmLevel" }, { title: "报警类型", dataIndex: "alarmType" }, - { - title: "状态", - dataIndex: "status", - render: value => getLabelName({ status: value, list: ALARM_STATUS_OPTIONS }) || value || "-", - }, { title: "处置人", - render: (_, record) => record.disposeUserName || record.disposeUserId || "-", + dataIndex: "disposeUserName", }, { title: "处置时间", dataIndex: "disposeTime" }, - { title: "设备来源描述", dataIndex: "deviceSourceDesc", ellipsis: true }, + { + title: "报警状态", + render: renderAlarmStatus, + }, { title: "操作", width: 100, @@ -117,21 +104,19 @@ function AlarmRecordList(props) { type="link" onClick={() => handleViewDetail(record)} > - 详情 + 查看 ), }, ]} {...tableProps} - dataSource={dataSource} /> {detailOpen && ( - { setDetailOpen(false); setCurrentId(""); @@ -142,4 +127,4 @@ function AlarmRecordList(props) { ); } -export default Connect([NS_ALARMRECORD, NS_SENSORDEVICE], true)(Permission(AlarmRecordList)); +export default AlarmRecordList; diff --git a/src/components/AlarmRecord/DetailModal/index.js b/src/components/AlarmRecord/View/index.js similarity index 93% rename from src/components/AlarmRecord/DetailModal/index.js rename to src/components/AlarmRecord/View/index.js index 0b2aa37..cd22ec3 100644 --- a/src/components/AlarmRecord/DetailModal/index.js +++ b/src/components/AlarmRecord/View/index.js @@ -30,7 +30,7 @@ function DetailModal(props) { {detail.sensorCode || "-"} - - {props.sensorNameMap?.[detail.sensorCode] || detail.sensorName || "-"} - + {detail.sensorName || "-"} {detail.alarmTime || "-"} {detail.alarmLevel || "-"} {detail.alarmType || "-"} diff --git a/src/components/AlarmRecord/index.js b/src/components/AlarmRecord/index.js index 4bd7c83..7a8f089 100644 --- a/src/components/AlarmRecord/index.js +++ b/src/components/AlarmRecord/index.js @@ -1,3 +1,3 @@ -import AlarmRecordList from "~/components/AlarmRecord/List"; - -export default AlarmRecordList; +export default function AlarmRecord(props) { + return props.children; +} diff --git a/src/components/DcsAlarmInfo/List/index.js b/src/components/DcsAlarmInfo/List/index.js new file mode 100644 index 0000000..b190167 --- /dev/null +++ b/src/components/DcsAlarmInfo/List/index.js @@ -0,0 +1,90 @@ +import { Form } from "antd"; +import { useState } from "react"; +import Page from "zy-react-library/components/Page"; +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 AlarmRecordView from "~/components/AlarmRecord/View"; + +function DcsList(props) { + const [form] = Form.useForm(); + const [detailOpen, setDetailOpen] = useState(false); + const [currentId, setCurrentId] = useState(""); + const { tableProps, getData } = useTable(props["dcsAlarmInfoList"], { + form, + defaultParams: { alarmSource: "DCS" }, + }); + + const handleSearch = (values) => { + getData({ + sensorName: values.sensorName, + alarmTimeStart: values.alarmTime?.[0]?.format?.("YYYY-MM-DD HH:mm:ss"), + alarmTimeEnd: values.alarmTime?.[1]?.format?.("YYYY-MM-DD HH:mm:ss"), + }); + }; + + const renderCurrentValue = (_, record) => { + if (record.currentValue == null || record.currentValue === "") { + return "-"; + } + const suffix = record.compareFlag === "UP" ? " 上升" : record.compareFlag === "DOWN" ? " 下降" : ""; + const unit = record.unitName ? ` ${record.unitName}` : ""; + return `${record.currentValue}${unit}${suffix}`; + }; + + return ( + + +
( + { + setCurrentId(record.id); + setDetailOpen(true); + }} + > + 查看 + + ), + }, + ]} + {...tableProps} + /> + {detailOpen && ( + { + setDetailOpen(false); + setCurrentId(""); + }} + /> + )} + + ); +} + +export default DcsList; diff --git a/src/components/DcsAlarmInfo/index.js b/src/components/DcsAlarmInfo/index.js new file mode 100644 index 0000000..a849cba --- /dev/null +++ b/src/components/DcsAlarmInfo/index.js @@ -0,0 +1,3 @@ +export default function DcsAlarmInfo(props) { + return props.children; +} diff --git a/src/components/DeviceRegion/BindSensorModal/index.js b/src/components/DeviceRegion/List/components/BindSensorModal/index.js similarity index 91% rename from src/components/DeviceRegion/BindSensorModal/index.js rename to src/components/DeviceRegion/List/components/BindSensorModal/index.js index 0545953..79f12ac 100644 --- a/src/components/DeviceRegion/BindSensorModal/index.js +++ b/src/components/DeviceRegion/List/components/BindSensorModal/index.js @@ -48,6 +48,9 @@ function BindSensorModal(props) { }; }, [initialSensorIds, selectedSensorIds]); + const fireRegionName = detail.fireRegionName || props.currentRecord?.fireRegionName || "-"; + const fireRegionCode = detail.fireRegionCode || props.currentRecord?.fireRegionCode || "-"; + const handleSubmit = async () => { setLoading(true); try { @@ -60,7 +63,7 @@ function BindSensorModal(props) { for (const sensorId of changes.removeIds) { await props.deviceRegionUnbindSensor({ sensorId }); } - message.success("传感器绑定已更新"); + message.success("关联传感器已更新"); props.onCancel(); props.getData(); } @@ -73,7 +76,7 @@ function BindSensorModal(props) { 当前区域: - {detail.fireRegionName || "-"} + {fireRegionName} {" "} / {" "} - {detail.fireRegionCode || "-"} + {fireRegionCode} {options.length ? ( diff --git a/src/components/DeviceRegion/ManagerModal/index.js b/src/components/DeviceRegion/List/components/ManagerModal/index.js similarity index 98% rename from src/components/DeviceRegion/ManagerModal/index.js rename to src/components/DeviceRegion/List/components/ManagerModal/index.js index f1ccff3..a2adc04 100644 --- a/src/components/DeviceRegion/ManagerModal/index.js +++ b/src/components/DeviceRegion/List/components/ManagerModal/index.js @@ -41,7 +41,7 @@ function ManagerModal(props) { { - const res = await props["deviceRegionFireRegionList"](); - if (res?.success) { - setFireRegionOptions(res.data || []); + const res = await props.deviceRegionFireRegionList(); + if (!res?.success) { + return; } + setFireRegionOptions(res.data || []); }; useEffect(() => { loadFireRegionOptions(); }, [props.deviceRegionFireRegionList]); - const fireRegionMap = useMemo( - () => Object.fromEntries(fireRegionOptions.map(item => [item.id, item])), - [fireRegionOptions], - ); + const dataSource = useMemo(() => (tableProps.dataSource || []).map(item => ({ + ...item, + departmentName: item.departmentName || "-", + managerName: item.managerName || "-", + bindSensorCount: item.bindSensorCount ?? 0, + })), [tableProps.dataSource]); - useEffect(() => { - if (!configOpen) { - return; + const ensureConfigId = async (record) => { + if (record.id) { + return record.id; } - if (!currentId) { - configForm.resetFields(); - configForm.setFieldsValue({ status: 1 }); - return; + await props.deviceRegionSaveOrUpdate({ + fireRegionId: record.fireRegionId, + fireRegionName: record.fireRegionName, + fireRegionCode: record.fireRegionCode, + departmentId: record.departmentId, + status: 1, + }); + const res = await props.deviceRegionList({ + pageIndex: 1, + pageSize: 1000, + fireRegionId: record.fireRegionId, + }); + const config = (res?.data || []).find(item => item.fireRegionId === record.fireRegionId); + if (!config?.id) { + throw new Error("区域配置创建失败"); } - props["deviceRegionInfo"]({ id: currentId }).then((res) => { - if (res?.success) { - configForm.setFieldsValue({ - fireRegionId: res.data?.fireRegionId, - status: res.data?.status, - remarks: res.data?.remarks, - }); - } - }); - }, [configForm, configOpen, currentId, props.deviceRegionInfo]); - - const handleConfigSubmit = async (values) => { - const selectedFireRegion = fireRegionOptions.find(item => item.id === values.fireRegionId); - await props["deviceRegionSaveOrUpdate"]({ - ...values, - id: currentId || undefined, - fireRegionName: selectedFireRegion?.fireRegionName, - fireRegionCode: selectedFireRegion?.fireRegionCode, - }); - message.success(currentId ? "设备区域配置已更新" : "设备区域配置已新增"); - setConfigOpen(false); - setCurrentId(""); - configForm.resetFields(); - getData(); + return config.id; }; - const handleSearch = (values) => { - getData(values); + const handleOpenManager = async (record) => { + const configId = await ensureConfigId(record); + setCurrentId(configId); + setCurrentRecord(record); + setManagerOpen(true); }; - const dataSource = (tableProps.dataSource || []).map((item) => { - const fireRegion = fireRegionMap[item.fireRegionId] || {}; - return { - ...item, - fireRegionName: fireRegion.fireRegionName || item.fireRegionName || "-", - fireRegionCode: fireRegion.fireRegionCode || item.fireRegionCode || "-", - deptName: item.deptName || item.departmentName || fireRegion.departmentName || item.departmentId || "-", - managerName: item.managerName || item.managerId || "-", - bindSensorCount: item.bindSensorCount ?? item.boundSensors?.length ?? 0, - }; - }); + const handleOpenBind = async (record) => { + const configId = await ensureConfigId(record); + setCurrentId(configId); + setCurrentRecord(record); + setBindOpen(true); + }; return ( ({ + bianma: item.id, + name: item.fireRegionName, + })), + }, + { + name: "departmentId", + label: "负责部门", + render: , }, ]} />
( - - {props.permission(editPermission) && ( - - )} - - )} + rowKey={record => record.id || record.fireRegionId} + loading={props.deviceRegionLoading} columns={[ - { title: "消防区域名称", dataIndex: "fireRegionName" }, + { title: "消防区域", dataIndex: "fireRegionName" }, { title: "消防区域编码", dataIndex: "fireRegionCode" }, - { title: "负责部门", dataIndex: "deptName" }, + { title: "负责部门", dataIndex: "departmentName" }, { title: "负责人", dataIndex: "managerName" }, - { title: "已绑定传感器", dataIndex: "bindSensorCount" }, - { - title: "状态", - dataIndex: "status", - render: value => getLabelName({ status: value, list: ENABLE_STATUS_OPTIONS }) || value || "-", - }, - { title: "备注", dataIndex: "remarks", ellipsis: true }, + { title: "关联传感器数", dataIndex: "bindSensorCount" }, { title: "操作", - width: 280, + width: 260, render: (_, record) => ( {props.permission(editPermission) && ( - )} {props.permission(editPermission) && ( - - )} - {props.permission(editPermission) && ( - )} + ), }, @@ -185,49 +144,22 @@ function DeviceRegionList(props) { /> { - setConfigOpen(false); - setCurrentId(""); - configForm.resetFields(); + setViewOpen(false); + setViewRecord(null); }} - onOk={configForm.submit} - confirmLoading={props.deviceRegionLoading} width={680} > -
- - ({ - value: item.bianma, - label: item.name, - }))} - /> - - - - - + + {viewRecord?.fireRegionName || "-"} + {viewRecord?.fireRegionCode || "-"} + {viewRecord?.departmentName || "-"} + {viewRecord?.managerName || "-"} + {viewRecord?.bindSensorCount ?? 0} +
{managerOpen && ( { setManagerOpen(false); setCurrentId(""); + setCurrentRecord(null); }} /> )} @@ -247,6 +180,7 @@ function DeviceRegionList(props) { { setBindOpen(false); setCurrentId(""); + setCurrentRecord(null); }} /> )} @@ -263,4 +198,4 @@ function DeviceRegionList(props) { ); } -export default Connect([NS_DEVICEREGION, NS_SENSORDEVICE], true)(Permission(DeviceRegionList)); +export default DeviceRegionList; diff --git a/src/components/DeviceRegion/index.js b/src/components/DeviceRegion/index.js index 2fb8090..2a6f4a1 100644 --- a/src/components/DeviceRegion/index.js +++ b/src/components/DeviceRegion/index.js @@ -1,6 +1,3 @@ -export { default as BindSensorModal } from "./BindSensorModal"; -export { default as List } from "./List"; -// 默认导出 List 作为主入口组件 -export { default } from "./List"; - -export { default as ManagerModal } from "./ManagerModal"; +export default function DeviceRegion(props) { + return props.children; +} diff --git a/src/components/SensorDevice/Modal/index.js b/src/components/SensorDevice/Add/index.js similarity index 96% rename from src/components/SensorDevice/Modal/index.js rename to src/components/SensorDevice/Add/index.js index 1db5b13..a49d6f8 100644 --- a/src/components/SensorDevice/Modal/index.js +++ b/src/components/SensorDevice/Add/index.js @@ -1,6 +1,7 @@ import { DatePicker, Form, Input, InputNumber, Modal, Radio, Select } from "antd"; import dayjs from "dayjs"; import { useEffect } from "react"; +import Map from "zy-react-library/components/Map"; import { ENABLE_STATUS_OPTIONS, SENSOR_STATUS_OPTIONS, YES_NO_OPTIONS } from "~/enumerate/constant"; function SensorDeviceModal(props) { @@ -15,7 +16,7 @@ function SensorDeviceModal(props) { form.setFieldsValue({ sensorStatus: "NORMAL", positioningFlag: 0, - alarmSwitch: 1, + alarmSwitch: 0, }); return; } @@ -68,7 +69,7 @@ function SensorDeviceModal(props) { initialValues={{ sensorStatus: "NORMAL", positioningFlag: 0, - alarmSwitch: 1, + alarmSwitch: 0, }} > ({ value: item.id, @@ -104,6 +106,7 @@ function SensorDeviceModal(props) { + {SENSOR_STATUS_OPTIONS.map(item => ( diff --git a/src/components/SensorDevice/List/index.js b/src/components/SensorDevice/List/index.js index bcff1ac..ea850d6 100644 --- a/src/components/SensorDevice/List/index.js +++ b/src/components/SensorDevice/List/index.js @@ -1,5 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Form, message, Modal, Space, Switch } from "antd"; import { useEffect, useState } from "react"; import AddIcon from "zy-react-library/components/Icon/AddIcon"; @@ -9,15 +7,18 @@ 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 { getLabelName } from "zy-react-library/utils"; -import SensorDeviceModal from "~/components/SensorDevice/Modal"; -import RealtimeModal from "~/components/SensorDevice/RealtimeModal"; -import ThresholdModal from "~/components/SensorDevice/ThresholdModal"; -import { ENABLE_STATUS_OPTIONS, SENSOR_STATUS_OPTIONS, YES_NO_OPTIONS } from "~/enumerate/constant"; -import { NS_SENSORDEVICE, NS_SENSORTYPE } from "~/enumerate/namespace"; +import { SENSOR_ATTR_OPTIONS, SENSOR_STATUS_OPTIONS, YES_NO_OPTIONS } from "~/enumerate/constant"; +import SensorDeviceAdd from "../Add"; +import PositionModal from "../components/PositionModal"; +import RealtimeModal from "../components/RealtimeModal"; +import ThresholdModal from "../components/ThresholdModal"; +import SensorDeviceView from "../View"; function SensorDeviceList(props) { const [form] = Form.useForm(); const [modalOpen, setModalOpen] = useState(false); + const [viewOpen, setViewOpen] = useState(false); + const [positionOpen, setPositionOpen] = useState(false); const [thresholdOpen, setThresholdOpen] = useState(false); const [realtimeOpen, setRealtimeOpen] = useState(false); const [currentId, setCurrentId] = useState(""); @@ -25,7 +26,8 @@ function SensorDeviceList(props) { const [sensorTypeOptions, setSensorTypeOptions] = useState([]); const { tableProps, getData } = useTable(props["sensorDeviceList"], { form }); - const editPermission = `${props.type}-iotalarm-sensor-device-edit`; + const pageType = props.type || "fgs"; + const editPermission = `${pageType}-iotalarm-sensor-device-edit`; const loadSensorTypeOptions = async () => { const res = await props["sensorTypeList"]({ @@ -70,7 +72,6 @@ function SensorDeviceList(props) { form={form} onFinish={getData} options={[ - { name: "sensorCode", label: "传感器编码" }, { name: "sensorName", label: "传感器名称" }, { name: "sensorTypeId", @@ -79,14 +80,14 @@ function SensorDeviceList(props) { items: sensorTypeSelectOptions, }, { - name: "alarmSwitch", - label: "报警开关", + name: "sensorStatus", + label: "传感器状态", render: FORM_ITEM_RENDER_ENUM.SELECT, - items: ENABLE_STATUS_OPTIONS, + items: SENSOR_STATUS_OPTIONS, }, { name: "thresholdFlag", - label: "阈值配置", + label: "是否阈值设定", render: FORM_ITEM_RENDER_ENUM.SELECT, items: YES_NO_OPTIONS, }, @@ -114,11 +115,21 @@ function SensorDeviceList(props) { { title: "传感器编码", dataIndex: "sensorCode" }, { title: "传感器名称", dataIndex: "sensorName" }, { title: "传感器类型", dataIndex: "sensorTypeName" }, + { + title: "传感器属性", + dataIndex: "sensorAttr", + render: value => getLabelName({ status: value, list: SENSOR_ATTR_OPTIONS }) || value || "-", + }, { title: "传感器状态", dataIndex: "sensorStatus", render: value => getLabelName({ status: value, list: SENSOR_STATUS_OPTIONS }) || value || "-", }, + { + title: "是否定位", + dataIndex: "positioningFlag", + render: value => getLabelName({ status: value, list: YES_NO_OPTIONS }) || value || "-", + }, { title: "报警开关", dataIndex: "alarmSwitch", @@ -133,33 +144,33 @@ function SensorDeviceList(props) { ), }, { - title: "阈值配置", + title: "是否阈值设定", dataIndex: "thresholdFlag", render: value => getLabelName({ status: value, list: YES_NO_OPTIONS }) || value || "-", }, - { title: "安装位置", dataIndex: "installPosition", ellipsis: true }, - { title: "单位", dataIndex: "unitName" }, - { - title: "量程", - render: (_, record) => `${record.rangeMin ?? "-"} ~ ${record.rangeMax ?? "-"}`, - }, - { title: "备注", dataIndex: "remarks", ellipsis: true }, { title: "操作", - width: 260, + width: 320, render: (_, record) => ( - {props.permission(editPermission) && record.sensorAttr === "NUMBER" && ( - - )} + + + {props.permission(editPermission) && record.sensorAttr === "NUMBER" && record.thresholdFlag === 1 && ( + + )} {props.permission(editPermission) && ( + + )} + > + + + ); +} + +export default ViewModal; diff --git a/src/components/SensorDevice/components/PositionModal/StaticMapViewer.js b/src/components/SensorDevice/components/PositionModal/StaticMapViewer.js new file mode 100644 index 0000000..eff820c --- /dev/null +++ b/src/components/SensorDevice/components/PositionModal/StaticMapViewer.js @@ -0,0 +1,123 @@ +import { Spin } from "antd"; +import { useEffect, useRef, useState } from "react"; +import { dynamicLoadJs } from "zy-react-library/utils"; + +function StaticMapViewer(props) { + const mapContainerRef = useRef(null); + const mapInstanceRef = useRef(null); + const [loading, setLoading] = useState(true); + const longitude = props.longitude; + const latitude = props.latitude; + + useEffect(() => { + const originalRemoveChild = Node.prototype.removeChild; + Node.prototype.removeChild = function (child) { + try { + if (this.contains(child)) { + return originalRemoveChild.call(this, child); + } + return child; + } + catch (error) { + if (error.message && error.message.includes("removeChild")) { + return child; + } + throw error; + } + }; + + const initMap = async () => { + if (!window.BMapGL) { + await dynamicLoadJs(`https://api.map.baidu.com/api?v=1.0&type=webgl&ak=${window.mapBaiDuKey}&callback=initialize`); + } + + if (!mapContainerRef.current || mapInstanceRef.current) { + setLoading(false); + return; + } + + try { + const map = new window.BMapGL.Map(mapContainerRef.current, { + enableScrollWheelZoom: true, + enableDragging: true, + enableDoubleClickZoom: true, + enableKeyboard: true, + enableInertialDragging: true, + enableContinuousZoom: true, + }); + + mapInstanceRef.current = map; + + const centerLng = longitude || window.mapLongitude; + const centerLat = latitude || window.mapLatitude; + map.centerAndZoom(new window.BMapGL.Point(centerLng, centerLat), 16); + + if (longitude && latitude) { + const point = new window.BMapGL.Point(longitude, latitude); + const marker = new window.BMapGL.Marker(point, { + draggable: false, + enableMassClear: true, + }); + map.addOverlay(marker); + } + + setLoading(false); + } + catch { + setLoading(false); + } + }; + + const timer = setTimeout(initMap, 500); + + return () => { + clearTimeout(timer); + const map = mapInstanceRef.current; + if (map) { + try { + map.destroy(); + } + catch { + } + } + mapInstanceRef.current = null; + Node.prototype.removeChild = originalRemoveChild; + }; + }, [latitude, longitude]); + + return ( +
+ {loading && ( + + )} +
+ ); +} + +export default StaticMapViewer; diff --git a/src/components/SensorDevice/components/PositionModal/index.js b/src/components/SensorDevice/components/PositionModal/index.js new file mode 100644 index 0000000..81ac66b --- /dev/null +++ b/src/components/SensorDevice/components/PositionModal/index.js @@ -0,0 +1,54 @@ +import { Alert, Button, Descriptions, Modal } from "antd"; +import { getLabelName } from "zy-react-library/utils"; +import { YES_NO_OPTIONS } from "~/enumerate/constant"; +import StaticMapViewer from "./StaticMapViewer"; + +function PositionModal(props) { + const record = props.record || {}; + const hasPosition = record.positioningFlag === 1 && record.installPosition; + + return ( + + + + )} + > + {!hasPosition && ( + + )} + +
+ +
+
+ ); +} + +export default PositionModal; diff --git a/src/components/SensorDevice/RealtimeModal/index.js b/src/components/SensorDevice/components/RealtimeModal/index.js similarity index 93% rename from src/components/SensorDevice/RealtimeModal/index.js rename to src/components/SensorDevice/components/RealtimeModal/index.js index 18daedc..6e2e86f 100644 --- a/src/components/SensorDevice/RealtimeModal/index.js +++ b/src/components/SensorDevice/components/RealtimeModal/index.js @@ -32,6 +32,8 @@ function RealtimeModal(props) { label: "是否定位", children: getLabelName({ status: record.positioningFlag, list: YES_NO_OPTIONS }) || record.positioningFlag || "-", }, + { label: "经度", children: record.longitude || "-" }, + { label: "纬度", children: record.latitude || "-" }, { label: "当前量程", children: `${record.rangeMin ?? "-"} ~ ${record.rangeMax ?? "-"}` }, { label: "单位", children: record.unitName || "-" }, { label: "安装位置", children: record.installPosition || "-" }, diff --git a/src/components/SensorDevice/ThresholdModal/index.js b/src/components/SensorDevice/components/ThresholdModal/index.js similarity index 100% rename from src/components/SensorDevice/ThresholdModal/index.js rename to src/components/SensorDevice/components/ThresholdModal/index.js diff --git a/src/components/SensorDevice/index.js b/src/components/SensorDevice/index.js index 4fcd19e..8daf440 100644 --- a/src/components/SensorDevice/index.js +++ b/src/components/SensorDevice/index.js @@ -1,8 +1,3 @@ -// 导出子组件 -export { default as List } from "./List"; -// 默认导出 List 作为主入口 -export { default } from "./List"; -export { default as Modal } from "./Modal"; -export { default as RealtimeModal } from "./RealtimeModal"; - -export { default as ThresholdModal } from "./ThresholdModal"; +export default function SensorDevice(props) { + return props.children; +} diff --git a/src/components/SensorType/Modal/index.js b/src/components/SensorType/Add/index.js similarity index 98% rename from src/components/SensorType/Modal/index.js rename to src/components/SensorType/Add/index.js index 3cfc323..ba41b01 100644 --- a/src/components/SensorType/Modal/index.js +++ b/src/components/SensorType/Add/index.js @@ -80,7 +80,7 @@ function SensorTypeModal(props) { name="sensorAttr" rules={[{ required: true, message: "请选择传感器属性" }]} > - + {SENSOR_ATTR_OPTIONS.map(item => ( {item.name} diff --git a/src/components/SensorType/List/index.js b/src/components/SensorType/List/index.js index ef09b36..5d1f15b 100644 --- a/src/components/SensorType/List/index.js +++ b/src/components/SensorType/List/index.js @@ -1,25 +1,25 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Form, message, Modal, Space } from "antd"; import { useState } from "react"; import AddIcon from "zy-react-library/components/Icon/AddIcon"; import Page from "zy-react-library/components/Page"; 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 { getLabelName } from "zy-react-library/utils"; -import SensorTypeModal from "~/components/SensorType/Modal"; -import { ENABLE_STATUS_OPTIONS, SENSOR_ATTR_OPTIONS } from "~/enumerate/constant"; -import { NS_SENSORTYPE } from "~/enumerate/namespace"; +import { SENSOR_ATTR_OPTIONS } from "~/enumerate/constant"; +import SensorTypeAdd from "../Add"; +import SensorTypeView from "../View"; function SensorTypeList(props) { const [form] = Form.useForm(); const [modalOpen, setModalOpen] = useState(false); + const [viewOpen, setViewOpen] = useState(false); + const [currentRecord, setCurrentRecord] = useState({}); const [currentId, setCurrentId] = useState(""); const { tableProps, getData } = useTable(props["sensorTypeList"], { form }); - const editPermission = `${props.type}-iotalarm-sensor-type-edit`; + const pageType = props.type || "fgs"; + const editPermission = `${pageType}-iotalarm-sensor-type-edit`; const handleDelete = (record) => { Modal.confirm({ @@ -38,20 +38,7 @@ function SensorTypeList(props) { form={form} onFinish={getData} options={[ - { name: "typeCode", label: "类型编码" }, - { name: "typeName", label: "类型名称" }, - { - name: "sensorAttr", - label: "传感器属性", - render: FORM_ITEM_RENDER_ENUM.SELECT, - items: SENSOR_ATTR_OPTIONS, - }, - { - name: "status", - label: "状态", - render: FORM_ITEM_RENDER_ENUM.SELECT, - items: ENABLE_STATUS_OPTIONS, - }, + { name: "typeName", label: "传感器类型" }, ]} />
)} columns={[ - { title: "类型编码", dataIndex: "typeCode" }, - { title: "类型名称", dataIndex: "typeName" }, + { title: "传感器类型", dataIndex: "typeName" }, { title: "传感器属性", dataIndex: "sensorAttr", render: value => getLabelName({ status: value, list: SENSOR_ATTR_OPTIONS }) || value || "-", }, - { title: "排序", dataIndex: "sortNo" }, - { - title: "状态", - dataIndex: "status", - render: value => getLabelName({ status: value, list: ENABLE_STATUS_OPTIONS }) || value || "-", - }, - { title: "备注", dataIndex: "remarks", ellipsis: true }, { title: "操作", - width: 180, + width: 220, render: (_, record) => ( + {props.permission(editPermission) && ( + + )} + > + + + ); +} + +export default ViewModal; diff --git a/src/components/SensorType/index.js b/src/components/SensorType/index.js index eb19ae1..3cf5b0b 100644 --- a/src/components/SensorType/index.js +++ b/src/components/SensorType/index.js @@ -1,5 +1,3 @@ -export { default as List } from "./List"; -// 默认导出 List 作为主入口组件 -export { default } from "./List"; - -export { default as Modal } from "./Modal"; +export default function SensorType(props) { + return props.children; +} diff --git a/src/components/ThresholdAlarmInfo/List/index.js b/src/components/ThresholdAlarmInfo/List/index.js new file mode 100644 index 0000000..01a5ebf --- /dev/null +++ b/src/components/ThresholdAlarmInfo/List/index.js @@ -0,0 +1,90 @@ +import { Form } from "antd"; +import { useState } from "react"; +import Page from "zy-react-library/components/Page"; +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 AlarmRecordView from "~/components/AlarmRecord/View"; + +function ThresholdList(props) { + const [form] = Form.useForm(); + const [detailOpen, setDetailOpen] = useState(false); + const [currentId, setCurrentId] = useState(""); + const { tableProps, getData } = useTable(props["thresholdAlarmInfoList"], { + form, + defaultParams: { alarmSource: "THRESHOLD" }, + }); + + const handleSearch = (values) => { + getData({ + sensorName: values.sensorName, + alarmTimeStart: values.alarmTime?.[0]?.format?.("YYYY-MM-DD HH:mm:ss"), + alarmTimeEnd: values.alarmTime?.[1]?.format?.("YYYY-MM-DD HH:mm:ss"), + }); + }; + + const renderCurrentValue = (_, record) => { + if (record.currentValue == null || record.currentValue === "") { + return "-"; + } + const suffix = record.compareFlag === "UP" ? " 上升" : record.compareFlag === "DOWN" ? " 下降" : ""; + const unit = record.unitName ? ` ${record.unitName}` : ""; + return `${record.currentValue}${unit}${suffix}`; + }; + + return ( + + +
( + { + setCurrentId(record.id); + setDetailOpen(true); + }} + > + 查看 + + ), + }, + ]} + {...tableProps} + /> + {detailOpen && ( + { + setDetailOpen(false); + setCurrentId(""); + }} + /> + )} + + ); +} + +export default ThresholdList; diff --git a/src/components/ThresholdAlarmInfo/index.js b/src/components/ThresholdAlarmInfo/index.js new file mode 100644 index 0000000..24356e3 --- /dev/null +++ b/src/components/ThresholdAlarmInfo/index.js @@ -0,0 +1,3 @@ +export default function ThresholdAlarmInfo(props) { + return props.children; +} diff --git a/src/components/index.js b/src/components/index.js index e958c8d..cb0ff5c 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,6 +1 @@ -export { default as AlarmDispose } from "./AlarmDispose"; -export { default as AlarmInfo } from "./AlarmInfo"; -export { default as AlarmRecord } from "./AlarmRecord"; -export { default as DeviceRegion } from "./DeviceRegion"; -export { default as SensorDevice } from "./SensorDevice"; -export { default as SensorType } from "./SensorType"; +export {}; diff --git a/src/enumerate/context/index.js b/src/enumerate/context/index.js index 4c9bd32..2b11e05 100644 --- a/src/enumerate/context/index.js +++ b/src/enumerate/context/index.js @@ -1,3 +1,8 @@ +/** + * 全局上下文定义 + */ + import React from "react"; -export const InjectContext = React.createContext(null); +// 获取antd全局静态方法 +export const InjectContext = React.createContext({}); diff --git a/src/enumerate/index.js b/src/enumerate/index.js deleted file mode 100644 index 1b20239..0000000 --- a/src/enumerate/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./constant"; -export * from "./context"; -export * from "./namespace"; diff --git a/src/enumerate/namespace/index.js b/src/enumerate/namespace/index.js index 57b731e..deb235e 100644 --- a/src/enumerate/namespace/index.js +++ b/src/enumerate/namespace/index.js @@ -1,7 +1,13 @@ -export const NS_SENSORTYPE = "sensorType"; -export const NS_SENSORDEVICE = "sensorDevice"; -export const NS_DEVICEREGION = "deviceRegion"; -export const NS_DCSALARMINFO = "dcsAlarmInfo"; -export const NS_THRESHOLDALARMINFO = "thresholdAlarmInfo"; -export const NS_ALARMDISPOSE = "alarmDispose"; -export const NS_ALARMRECORD = "alarmRecord"; +/** + * 全局数据状态管理模块定义 + */ + +import { defineNamespace } from "@cqsjjb/jjb-dva-runtime"; + +export const NS_SENSORTYPE = defineNamespace("SensorType"); +export const NS_SENSORDEVICE = defineNamespace("SensorDevice"); +export const NS_DEVICEREGION = defineNamespace("DeviceRegion"); +export const NS_DCSALARMINFO = defineNamespace("AlarmInfo"); +export const NS_THRESHOLDALARMINFO = defineNamespace("AlarmInfo"); +export const NS_ALARMDISPOSE = defineNamespace("AlarmDispose"); +export const NS_ALARMRECORD = defineNamespace("AlarmRecord"); diff --git a/src/main.js b/src/main.js index e8b9f5c..2b6d039 100644 --- a/src/main.js +++ b/src/main.js @@ -11,6 +11,9 @@ require("zy-react-library/css/common.less"); dayjs.locale("zh-cn"); setJJBCommonAntdMessage(message); +window.mapLongitude = "119.69457721306945"; +window.mapLatitude = "39.940504336846665"; +window.mapBaiDuKey = "OElqFYoKiAH8KFtph8ftLKF5NlNrbCUr"; const app = setup(); getFileUrlFromServer(); diff --git a/src/pages/Container/BranchCompany/AlarmAssign/List/index.js b/src/pages/Container/BranchCompany/AlarmAssign/List/index.js new file mode 100644 index 0000000..b915fd0 --- /dev/null +++ b/src/pages/Container/BranchCompany/AlarmAssign/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import AlarmAssignList from "~/components/AlarmAssign/List"; +import { NS_ALARMDISPOSE, NS_ALARMRECORD } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_ALARMDISPOSE, NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/AlarmAssign/index.js b/src/pages/Container/BranchCompany/AlarmAssign/index.js index 252da1b..574219d 100644 --- a/src/pages/Container/BranchCompany/AlarmAssign/index.js +++ b/src/pages/Container/BranchCompany/AlarmAssign/index.js @@ -1,8 +1,5 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import AssignList from "~/components/AlarmDispose/AssignList"; - -function AlarmAssignPage(props) { - return ; +function AlarmAssign(props) { + return props.children; } -export default Permission(AlarmAssignPage); +export default AlarmAssign; diff --git a/src/pages/Container/BranchCompany/AlarmRecord/List/index.js b/src/pages/Container/BranchCompany/AlarmRecord/List/index.js new file mode 100644 index 0000000..b85a40b --- /dev/null +++ b/src/pages/Container/BranchCompany/AlarmRecord/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import AlarmRecordList from "~/components/AlarmRecord/List"; +import { NS_ALARMRECORD } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/AlarmRecord/View/index.js b/src/pages/Container/BranchCompany/AlarmRecord/View/index.js new file mode 100644 index 0000000..edd93ee --- /dev/null +++ b/src/pages/Container/BranchCompany/AlarmRecord/View/index.js @@ -0,0 +1,7 @@ +import AlarmRecordView from "~/components/AlarmRecord/View"; + +function View(props) { + return ; +} + +export default View; diff --git a/src/pages/Container/BranchCompany/AlarmRecord/index.js b/src/pages/Container/BranchCompany/AlarmRecord/index.js index 2e8d7b1..d764854 100644 --- a/src/pages/Container/BranchCompany/AlarmRecord/index.js +++ b/src/pages/Container/BranchCompany/AlarmRecord/index.js @@ -1,8 +1,5 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import AlarmRecordList from "~/components/AlarmRecord/List"; - -function AlarmRecordPage(props) { - return ; +function AlarmRecord(props) { + return props.children; } -export default Permission(AlarmRecordPage); +export default AlarmRecord; diff --git a/src/pages/Container/BranchCompany/DcsAlarmInfo/List/index.js b/src/pages/Container/BranchCompany/DcsAlarmInfo/List/index.js new file mode 100644 index 0000000..1c8a51b --- /dev/null +++ b/src/pages/Container/BranchCompany/DcsAlarmInfo/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import DcsList from "~/components/DcsAlarmInfo/List"; +import { NS_ALARMRECORD, NS_DCSALARMINFO } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_DCSALARMINFO, NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/DcsAlarmInfo/index.js b/src/pages/Container/BranchCompany/DcsAlarmInfo/index.js index 3f8673e..f423ad6 100644 --- a/src/pages/Container/BranchCompany/DcsAlarmInfo/index.js +++ b/src/pages/Container/BranchCompany/DcsAlarmInfo/index.js @@ -1,8 +1,5 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import DcsList from "~/components/AlarmInfo/DcsList"; - -function DcsAlarmInfoPage(props) { - return ; +function DcsAlarmInfo(props) { + return props.children; } -export default Permission(DcsAlarmInfoPage); +export default DcsAlarmInfo; diff --git a/src/pages/Container/BranchCompany/DeviceRegion/List/index.js b/src/pages/Container/BranchCompany/DeviceRegion/List/index.js new file mode 100644 index 0000000..44a3ab6 --- /dev/null +++ b/src/pages/Container/BranchCompany/DeviceRegion/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import DeviceRegionList from "~/components/DeviceRegion/List"; +import { NS_DEVICEREGION, NS_SENSORDEVICE } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_DEVICEREGION, NS_SENSORDEVICE], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/DeviceRegion/index.js b/src/pages/Container/BranchCompany/DeviceRegion/index.js index f21388d..e5cbb5b 100644 --- a/src/pages/Container/BranchCompany/DeviceRegion/index.js +++ b/src/pages/Container/BranchCompany/DeviceRegion/index.js @@ -1,8 +1,5 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import DeviceRegionList from "~/components/DeviceRegion/List"; - -function DeviceRegionPage(props) { - return ; +function DeviceRegion(props) { + return props.children; } -export default Permission(DeviceRegionPage); +export default DeviceRegion; diff --git a/src/pages/Container/BranchCompany/SensorDevice/Add/index.js b/src/pages/Container/BranchCompany/SensorDevice/Add/index.js new file mode 100644 index 0000000..d610ca1 --- /dev/null +++ b/src/pages/Container/BranchCompany/SensorDevice/Add/index.js @@ -0,0 +1,7 @@ +import SensorDeviceAdd from "~/components/SensorDevice/Add"; + +function Add(props) { + return ; +} + +export default Add; diff --git a/src/pages/Container/BranchCompany/SensorDevice/List/index.js b/src/pages/Container/BranchCompany/SensorDevice/List/index.js new file mode 100644 index 0000000..810ecd0 --- /dev/null +++ b/src/pages/Container/BranchCompany/SensorDevice/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import SensorDeviceList from "~/components/SensorDevice/List"; +import { NS_SENSORDEVICE, NS_SENSORTYPE } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_SENSORDEVICE, NS_SENSORTYPE], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/SensorDevice/View/index.js b/src/pages/Container/BranchCompany/SensorDevice/View/index.js new file mode 100644 index 0000000..8ec66d7 --- /dev/null +++ b/src/pages/Container/BranchCompany/SensorDevice/View/index.js @@ -0,0 +1,7 @@ +import SensorDeviceView from "~/components/SensorDevice/View"; + +function View(props) { + return ; +} + +export default View; diff --git a/src/pages/Container/BranchCompany/SensorDevice/index.js b/src/pages/Container/BranchCompany/SensorDevice/index.js index f039f79..52c3300 100644 --- a/src/pages/Container/BranchCompany/SensorDevice/index.js +++ b/src/pages/Container/BranchCompany/SensorDevice/index.js @@ -1,8 +1,5 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import SensorDeviceList from "~/components/SensorDevice/List"; - -function SensorDevicePage(props) { - return ; +function SensorDevice(props) { + return props.children; } -export default Permission(SensorDevicePage); +export default SensorDevice; diff --git a/src/pages/Container/BranchCompany/SensorType/Add/index.js b/src/pages/Container/BranchCompany/SensorType/Add/index.js new file mode 100644 index 0000000..39e38bf --- /dev/null +++ b/src/pages/Container/BranchCompany/SensorType/Add/index.js @@ -0,0 +1,7 @@ +import SensorTypeAdd from "~/components/SensorType/Add"; + +function Add(props) { + return ; +} + +export default Add; diff --git a/src/pages/Container/BranchCompany/SensorType/List/index.js b/src/pages/Container/BranchCompany/SensorType/List/index.js new file mode 100644 index 0000000..5031432 --- /dev/null +++ b/src/pages/Container/BranchCompany/SensorType/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import SensorTypeList from "~/components/SensorType/List"; +import { NS_SENSORTYPE } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_SENSORTYPE], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/SensorType/View/index.js b/src/pages/Container/BranchCompany/SensorType/View/index.js new file mode 100644 index 0000000..aab64de --- /dev/null +++ b/src/pages/Container/BranchCompany/SensorType/View/index.js @@ -0,0 +1,7 @@ +import SensorTypeView from "~/components/SensorType/View"; + +function View(props) { + return ; +} + +export default View; diff --git a/src/pages/Container/BranchCompany/SensorType/index.js b/src/pages/Container/BranchCompany/SensorType/index.js index 2232523..35963e1 100644 --- a/src/pages/Container/BranchCompany/SensorType/index.js +++ b/src/pages/Container/BranchCompany/SensorType/index.js @@ -1,8 +1,5 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import SensorTypeList from "~/components/SensorType/List"; - -function SensorTypePage(props) { - return ; +function SensorType(props) { + return props.children; } -export default Permission(SensorTypePage); +export default SensorType; diff --git a/src/pages/Container/BranchCompany/ThresholdAlarmInfo/List/index.js b/src/pages/Container/BranchCompany/ThresholdAlarmInfo/List/index.js new file mode 100644 index 0000000..6b3ee00 --- /dev/null +++ b/src/pages/Container/BranchCompany/ThresholdAlarmInfo/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import ThresholdList from "~/components/ThresholdAlarmInfo/List"; +import { NS_ALARMRECORD, NS_THRESHOLDALARMINFO } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_THRESHOLDALARMINFO, NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/BranchCompany/ThresholdAlarmInfo/index.js b/src/pages/Container/BranchCompany/ThresholdAlarmInfo/index.js index 5ec4665..bc4be12 100644 --- a/src/pages/Container/BranchCompany/ThresholdAlarmInfo/index.js +++ b/src/pages/Container/BranchCompany/ThresholdAlarmInfo/index.js @@ -1,8 +1,5 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import ThresholdList from "~/components/AlarmInfo/ThresholdList"; - -function ThresholdAlarmInfoPage(props) { - return ; +function ThresholdAlarmInfo(props) { + return props.children; } -export default Permission(ThresholdAlarmInfoPage); +export default ThresholdAlarmInfo; diff --git a/src/pages/Container/Supervision/AlarmAssign/List/index.js b/src/pages/Container/Supervision/AlarmAssign/List/index.js new file mode 100644 index 0000000..200b435 --- /dev/null +++ b/src/pages/Container/Supervision/AlarmAssign/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import AlarmAssignList from "~/components/AlarmAssign/List"; +import { NS_ALARMDISPOSE, NS_ALARMRECORD } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_ALARMDISPOSE, NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/AlarmAssign/index.js b/src/pages/Container/Supervision/AlarmAssign/index.js index 3cd08d7..048304e 100644 --- a/src/pages/Container/Supervision/AlarmAssign/index.js +++ b/src/pages/Container/Supervision/AlarmAssign/index.js @@ -1,8 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import AssignList from "~/components/AlarmDispose/AssignList"; - -function AlarmAssignPage(props) { - return ; +export default function AlarmAssign(props) { + return props.children; } - -export default Permission(AlarmAssignPage); diff --git a/src/pages/Container/Supervision/AlarmRecord/List/index.js b/src/pages/Container/Supervision/AlarmRecord/List/index.js new file mode 100644 index 0000000..90bd75e --- /dev/null +++ b/src/pages/Container/Supervision/AlarmRecord/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import AlarmRecordList from "~/components/AlarmRecord/List"; +import { NS_ALARMRECORD } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/AlarmRecord/View/index.js b/src/pages/Container/Supervision/AlarmRecord/View/index.js new file mode 100644 index 0000000..edd93ee --- /dev/null +++ b/src/pages/Container/Supervision/AlarmRecord/View/index.js @@ -0,0 +1,7 @@ +import AlarmRecordView from "~/components/AlarmRecord/View"; + +function View(props) { + return ; +} + +export default View; diff --git a/src/pages/Container/Supervision/AlarmRecord/index.js b/src/pages/Container/Supervision/AlarmRecord/index.js index ddaebdd..7a8f089 100644 --- a/src/pages/Container/Supervision/AlarmRecord/index.js +++ b/src/pages/Container/Supervision/AlarmRecord/index.js @@ -1,8 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import AlarmRecordList from "~/components/AlarmRecord/List"; - -function AlarmRecordPage(props) { - return ; +export default function AlarmRecord(props) { + return props.children; } - -export default Permission(AlarmRecordPage); diff --git a/src/pages/Container/Supervision/DcsAlarmInfo/List/index.js b/src/pages/Container/Supervision/DcsAlarmInfo/List/index.js new file mode 100644 index 0000000..d7f272a --- /dev/null +++ b/src/pages/Container/Supervision/DcsAlarmInfo/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import DcsList from "~/components/DcsAlarmInfo/List"; +import { NS_ALARMRECORD, NS_DCSALARMINFO } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_DCSALARMINFO, NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/DcsAlarmInfo/index.js b/src/pages/Container/Supervision/DcsAlarmInfo/index.js index 95c6334..a849cba 100644 --- a/src/pages/Container/Supervision/DcsAlarmInfo/index.js +++ b/src/pages/Container/Supervision/DcsAlarmInfo/index.js @@ -1,8 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import DcsList from "~/components/AlarmInfo/DcsList"; - -function DcsAlarmInfoPage(props) { - return ; +export default function DcsAlarmInfo(props) { + return props.children; } - -export default Permission(DcsAlarmInfoPage); diff --git a/src/pages/Container/Supervision/DeviceRegion/List/index.js b/src/pages/Container/Supervision/DeviceRegion/List/index.js new file mode 100644 index 0000000..0127220 --- /dev/null +++ b/src/pages/Container/Supervision/DeviceRegion/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import DeviceRegionList from "~/components/DeviceRegion/List"; +import { NS_DEVICEREGION, NS_SENSORDEVICE } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_DEVICEREGION, NS_SENSORDEVICE], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/DeviceRegion/index.js b/src/pages/Container/Supervision/DeviceRegion/index.js index 82a251d..2a6f4a1 100644 --- a/src/pages/Container/Supervision/DeviceRegion/index.js +++ b/src/pages/Container/Supervision/DeviceRegion/index.js @@ -1,8 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import DeviceRegionList from "~/components/DeviceRegion/List"; - -function DeviceRegionPage(props) { - return ; +export default function DeviceRegion(props) { + return props.children; } - -export default Permission(DeviceRegionPage); diff --git a/src/pages/Container/Supervision/SensorDevice/Add/index.js b/src/pages/Container/Supervision/SensorDevice/Add/index.js new file mode 100644 index 0000000..d610ca1 --- /dev/null +++ b/src/pages/Container/Supervision/SensorDevice/Add/index.js @@ -0,0 +1,7 @@ +import SensorDeviceAdd from "~/components/SensorDevice/Add"; + +function Add(props) { + return ; +} + +export default Add; diff --git a/src/pages/Container/Supervision/SensorDevice/List/index.js b/src/pages/Container/Supervision/SensorDevice/List/index.js new file mode 100644 index 0000000..5cad796 --- /dev/null +++ b/src/pages/Container/Supervision/SensorDevice/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import SensorDeviceList from "~/components/SensorDevice/List"; +import { NS_SENSORDEVICE, NS_SENSORTYPE } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_SENSORDEVICE, NS_SENSORTYPE], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/SensorDevice/View/index.js b/src/pages/Container/Supervision/SensorDevice/View/index.js new file mode 100644 index 0000000..8ec66d7 --- /dev/null +++ b/src/pages/Container/Supervision/SensorDevice/View/index.js @@ -0,0 +1,7 @@ +import SensorDeviceView from "~/components/SensorDevice/View"; + +function View(props) { + return ; +} + +export default View; diff --git a/src/pages/Container/Supervision/SensorDevice/index.js b/src/pages/Container/Supervision/SensorDevice/index.js index 7cc52e2..8daf440 100644 --- a/src/pages/Container/Supervision/SensorDevice/index.js +++ b/src/pages/Container/Supervision/SensorDevice/index.js @@ -1,8 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import SensorDeviceList from "~/components/SensorDevice/List"; - -function SensorDevicePage(props) { - return ; +export default function SensorDevice(props) { + return props.children; } - -export default Permission(SensorDevicePage); diff --git a/src/pages/Container/Supervision/SensorType/Add/index.js b/src/pages/Container/Supervision/SensorType/Add/index.js new file mode 100644 index 0000000..39e38bf --- /dev/null +++ b/src/pages/Container/Supervision/SensorType/Add/index.js @@ -0,0 +1,7 @@ +import SensorTypeAdd from "~/components/SensorType/Add"; + +function Add(props) { + return ; +} + +export default Add; diff --git a/src/pages/Container/Supervision/SensorType/List/index.js b/src/pages/Container/Supervision/SensorType/List/index.js new file mode 100644 index 0000000..1ba6cad --- /dev/null +++ b/src/pages/Container/Supervision/SensorType/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import SensorTypeList from "~/components/SensorType/List"; +import { NS_SENSORTYPE } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_SENSORTYPE], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/SensorType/View/index.js b/src/pages/Container/Supervision/SensorType/View/index.js new file mode 100644 index 0000000..aab64de --- /dev/null +++ b/src/pages/Container/Supervision/SensorType/View/index.js @@ -0,0 +1,7 @@ +import SensorTypeView from "~/components/SensorType/View"; + +function View(props) { + return ; +} + +export default View; diff --git a/src/pages/Container/Supervision/SensorType/index.js b/src/pages/Container/Supervision/SensorType/index.js index 08cca81..3cf5b0b 100644 --- a/src/pages/Container/Supervision/SensorType/index.js +++ b/src/pages/Container/Supervision/SensorType/index.js @@ -1,8 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import SensorTypeList from "~/components/SensorType/List"; - -function SensorTypePage(props) { - return ; +export default function SensorType(props) { + return props.children; } - -export default Permission(SensorTypePage); diff --git a/src/pages/Container/Supervision/ThresholdAlarmInfo/List/index.js b/src/pages/Container/Supervision/ThresholdAlarmInfo/List/index.js new file mode 100644 index 0000000..0bd66da --- /dev/null +++ b/src/pages/Container/Supervision/ThresholdAlarmInfo/List/index.js @@ -0,0 +1,10 @@ +import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; +import { Connect } from "@cqsjjb/jjb-dva-runtime"; +import ThresholdList from "~/components/ThresholdAlarmInfo/List"; +import { NS_ALARMRECORD, NS_THRESHOLDALARMINFO } from "~/enumerate/namespace"; + +function List(props) { + return ; +} + +export default Connect([NS_THRESHOLDALARMINFO, NS_ALARMRECORD], true)(Permission(List)); diff --git a/src/pages/Container/Supervision/ThresholdAlarmInfo/index.js b/src/pages/Container/Supervision/ThresholdAlarmInfo/index.js index 89ef374..24356e3 100644 --- a/src/pages/Container/Supervision/ThresholdAlarmInfo/index.js +++ b/src/pages/Container/Supervision/ThresholdAlarmInfo/index.js @@ -1,8 +1,3 @@ -import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; -import ThresholdList from "~/components/AlarmInfo/ThresholdList"; - -function ThresholdAlarmInfoPage(props) { - return ; +export default function ThresholdAlarmInfo(props) { + return props.children; } - -export default Permission(ThresholdAlarmInfoPage); diff --git a/src/pages/index.js b/src/pages/index.js index 8ba3dbb..64c36bb 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,23 +1,8 @@ -export { default as Container } from "./Container"; -export { default as BranchCompany } from "./Container/BranchCompany"; -export { default as BranchCompanyAlarmAssign } from "./Container/BranchCompany/AlarmAssign"; - -export { default as BranchCompanyAlarmRecord } from "./Container/BranchCompany/AlarmRecord"; -export { default as BranchCompanyDcsAlarmInfo } from "./Container/BranchCompany/DcsAlarmInfo"; -export { default as BranchCompanyDeviceRegion } from "./Container/BranchCompany/DeviceRegion"; -export { default as BranchCompanySensorDevice } from "./Container/BranchCompany/SensorDevice"; -export { default as BranchCompanySensorType } from "./Container/BranchCompany/SensorType"; -export { default as BranchCompanyThresholdAlarmInfo } from "./Container/BranchCompany/ThresholdAlarmInfo"; -export { default as Supervision } from "./Container/Supervision"; - -export { default as SupervisionAlarmAssign } from "./Container/Supervision/AlarmAssign"; -export { default as SupervisionAlarmRecord } from "./Container/Supervision/AlarmRecord"; -export { default as SupervisionDcsAlarmInfo } from "./Container/Supervision/DcsAlarmInfo"; -export { default as SupervisionDeviceRegion } from "./Container/Supervision/DeviceRegion"; -export { default as SupervisionSensorDevice } from "./Container/Supervision/SensorDevice"; -export { default as SupervisionSensorType } from "./Container/Supervision/SensorType"; -export { default as SupervisionThresholdAlarmInfo } from "./Container/Supervision/ThresholdAlarmInfo"; - -export default function HomePage() { - return
物联网消防报警模块前端骨架已完成
; +export default function () { + return ( +

+ 底座微应用模板,技术文档: + https://www.yuque.com/buhangjiecheshen-ymbtb/qc0093/gxdun1dphetcurko +

+ ); }