diff --git a/src/api/AlarmInfo/index.js b/src/api/AlarmInfo/index.js index f6a2209..06907be 100644 --- a/src/api/AlarmInfo/index.js +++ b/src/api/AlarmInfo/index.js @@ -1,4 +1,4 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; -export const dcsAlarmInfoList = declareRequest("dcsAlarmInfoLoading", "Post > @/iotalarm/dcsAlarmInfo/list"); -export const thresholdAlarmInfoList = declareRequest("thresholdAlarmInfoLoading", "Post > @/iotalarm/thresholdAlarmInfo/list"); +export const dcsAlarmInfoList = declareRequest("dcsAlarmInfoLoading", "Post > @/iotalarm/alarmRecord/list"); +export const thresholdAlarmInfoList = declareRequest("thresholdAlarmInfoLoading", "Post > @/iotalarm/alarmRecord/list"); diff --git a/src/api/AlarmRecord/index.js b/src/api/AlarmRecord/index.js index 6464743..9bce607 100644 --- a/src/api/AlarmRecord/index.js +++ b/src/api/AlarmRecord/index.js @@ -6,5 +6,5 @@ export const alarmRecordList = declareRequest( ); export const alarmRecordInfo = declareRequest( "alarmRecordLoading", - `Get > /iotalarm/alarmRecord/{id}`, + `Get > @/iotalarm/alarmRecord/{id}`, ); diff --git a/src/api/DeviceRegion/index.js b/src/api/DeviceRegion/index.js index e662f82..2d11d41 100644 --- a/src/api/DeviceRegion/index.js +++ b/src/api/DeviceRegion/index.js @@ -1,7 +1,7 @@ import { declareRequest } from "@cqsjjb/jjb-dva-runtime"; export const deviceRegionList = declareRequest("deviceRegionLoading", "Post > @/iotalarm/deviceRegion/list"); -export const deviceRegionFireRegionList = declareRequest("deviceRegionLoading", "Get > @/iotalarm/deviceRegion/fireRegionList"); +export const deviceRegionFireRegionList = declareRequest("deviceRegionLoading", "Get > @/fireCheck/fireRegion/listAll"); export const deviceRegionSaveOrUpdate = declareRequest("deviceRegionLoading", "Post > @/iotalarm/deviceRegion/saveOrUpdate"); export const deviceRegionBindSensor = declareRequest("deviceRegionLoading", "Post > @/iotalarm/deviceRegion/bindSensor"); export const deviceRegionUnbindSensor = declareRequest("deviceRegionLoading", "Post > @/iotalarm/deviceRegion/unbindSensor"); diff --git a/src/api/index.js b/src/api/index.js index f3e33cc..0da09a1 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,6 +1,6 @@ -export * from "./SensorType"; -export * from "./SensorDevice"; -export * from "./DeviceRegion"; -export * from "./AlarmInfo"; export * from "./AlarmDispose"; +export * from "./AlarmInfo"; export * from "./AlarmRecord"; +export * from "./DeviceRegion"; +export * from "./SensorDevice"; +export * from "./SensorType"; diff --git a/src/components/AlarmDispose/AssignList/index.js b/src/components/AlarmDispose/AssignList/index.js index 8b597a1..f907348 100644 --- a/src/components/AlarmDispose/AssignList/index.js +++ b/src/components/AlarmDispose/AssignList/index.js @@ -1,7 +1,7 @@ import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Form, message, Space, Modal } from "antd"; -import { useState } from "react"; +import { Button, Form, message, Space } 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"; @@ -9,8 +9,8 @@ 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_STATUS_OPTIONS, ALARM_SOURCE_OPTIONS, ALARM_LEVEL_OPTIONS, ALARM_TYPE_OPTIONS } from "~/enumerate/constant"; -import { NS_ALARMDISPOSE } from "~/enumerate/namespace"; +import { ALARM_LEVEL_OPTIONS, ALARM_SOURCE_OPTIONS, ALARM_STATUS_OPTIONS, ALARM_TYPE_OPTIONS } from "~/enumerate/constant"; +import { NS_ALARMDISPOSE, NS_SENSORDEVICE } from "~/enumerate/namespace"; function AssignList(props) { const [form] = Form.useForm(); @@ -18,11 +18,20 @@ function AssignList(props) { 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, - defaultParams: { status: [10, 20] }, - }); + 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`; @@ -47,14 +56,28 @@ function AssignList(props) { onChange: setSelectedRowKeys, }; + 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 ( item.bianma === 10 || item.bianma === 20), + items: ALARM_LEVEL_OPTIONS, + }, + { + name: "alarmType", + label: "报警类型", + render: FORM_ITEM_RENDER_ENUM.SELECT, + items: ALARM_TYPE_OPTIONS, }, ]} /> @@ -82,14 +111,14 @@ function AssignList(props) { )} columns={[ - { title: "报警名称", dataIndex: "alarmName", ellipsis: true }, - { title: "设备名称", dataIndex: "deviceName", ellipsis: true }, - { title: "报警位置", dataIndex: "alarmLocation", ellipsis: true }, + { 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", @@ -100,13 +129,14 @@ function AssignList(props) { 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: "alarmValue" }, + { title: "告警值", render: renderCurrentValue }, { title: "操作", width: 120, @@ -122,6 +152,7 @@ function AssignList(props) { }, ]} {...tableProps} + dataSource={dataSource} /> {modalOpen && ( { if (props.isBatch) { await props.alarmBatchAssign({ - alarmIds: props.alarmIds, + ids: props.alarmIds, disposeUserId: values.disposeUserId, - alarmLevel: values.alarmLevel, - alarmType: values.alarmType, }); - } else { + } + else { await props.alarmAssign({ - alarmId: props.alarmId, + id: props.alarmId, disposeUserId: values.disposeUserId, - alarmLevel: values.alarmLevel, - alarmType: values.alarmType, }); } handleCancel(); @@ -56,35 +52,9 @@ function AssignModal(props) { > - - - - - - ); } -export default AssignModal; \ No newline at end of file +export default AssignModal; diff --git a/src/components/AlarmDispose/index.js b/src/components/AlarmDispose/index.js index 4d9177f..078ecbe 100644 --- a/src/components/AlarmDispose/index.js +++ b/src/components/AlarmDispose/index.js @@ -1,2 +1,2 @@ export { default as AssignList } from "./AssignList"; -export { default as AssignModal } from "./AssignModal"; \ No newline at end of file +export { default as AssignModal } from "./AssignModal"; diff --git a/src/components/AlarmInfo/DcsList/index.js b/src/components/AlarmInfo/DcsList/index.js index af5f101..b2cc03d 100644 --- a/src/components/AlarmInfo/DcsList/index.js +++ b/src/components/AlarmInfo/DcsList/index.js @@ -1,6 +1,7 @@ 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"; @@ -8,11 +9,40 @@ 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_DCSALARMINFO } from "~/enumerate/namespace"; +import { NS_DCSALARMINFO, NS_SENSORDEVICE } from "~/enumerate/namespace"; function DcsList(props) { const [form] = Form.useForm(); - const { tableProps, getData } = useTable(props["dcsAlarmInfoList"], { form }); + const [sensorNameMap, setSensorNameMap] = useState({}); + const { tableProps, getData } = useTable(props["dcsAlarmInfoList"], { + form, + defaultParams: { alarmSource: "DCS" }, + }); + + 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 ( @@ -45,9 +75,11 @@ function DcsList(props) { columns={[ { title: "报警编号", dataIndex: "alarmNo" }, { title: "传感器编码", dataIndex: "sensorCode" }, + { title: "传感器名称", dataIndex: "sensorName" }, { title: "报警时间", dataIndex: "alarmTime" }, - { title: "报警等级", dataIndex: "alarmLevel" }, + { title: "报警级别", dataIndex: "alarmLevel" }, { title: "报警描述", dataIndex: "alarmDesc", ellipsis: true }, + { title: "告警值", render: renderCurrentValue }, { title: "报警状态", dataIndex: "status", @@ -56,9 +88,10 @@ function DcsList(props) { { title: "设备来源", dataIndex: "deviceSourceDesc" }, ]} {...tableProps} + dataSource={dataSource} /> ); } -export default Connect([NS_DCSALARMINFO], true)(Permission(DcsList)); \ No newline at end of file +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 index 6110725..1ffb1f0 100644 --- a/src/components/AlarmInfo/ThresholdList/index.js +++ b/src/components/AlarmInfo/ThresholdList/index.js @@ -1,6 +1,7 @@ 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"; @@ -8,11 +9,40 @@ 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_THRESHOLDALARMINFO } from "~/enumerate/namespace"; +import { NS_SENSORDEVICE, NS_THRESHOLDALARMINFO } from "~/enumerate/namespace"; function ThresholdList(props) { const [form] = Form.useForm(); - const { tableProps, getData } = useTable(props["thresholdAlarmInfoList"], { form }); + 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 ( @@ -45,9 +75,11 @@ function ThresholdList(props) { columns={[ { title: "报警编号", dataIndex: "alarmNo" }, { title: "传感器编码", dataIndex: "sensorCode" }, + { title: "传感器名称", dataIndex: "sensorName" }, { title: "报警时间", dataIndex: "alarmTime" }, - { title: "报警等级", dataIndex: "alarmLevel" }, + { title: "报警级别", dataIndex: "alarmLevel" }, { title: "报警描述", dataIndex: "alarmDesc", ellipsis: true }, + { title: "告警值", render: renderCurrentValue }, { title: "报警状态", dataIndex: "status", @@ -56,9 +88,10 @@ function ThresholdList(props) { { title: "设备来源", dataIndex: "deviceSourceDesc" }, ]} {...tableProps} + dataSource={dataSource} /> ); } -export default Connect([NS_THRESHOLDALARMINFO], true)(Permission(ThresholdList)); \ No newline at end of file +export default Connect([NS_THRESHOLDALARMINFO, NS_SENSORDEVICE], true)(Permission(ThresholdList)); diff --git a/src/components/AlarmInfo/index.js b/src/components/AlarmInfo/index.js index 702928b..03b2f97 100644 --- a/src/components/AlarmInfo/index.js +++ b/src/components/AlarmInfo/index.js @@ -1,2 +1,2 @@ export { default as DcsList } from "./DcsList"; -export { default as ThresholdList } from "./ThresholdList"; \ No newline at end of file +export { default as ThresholdList } from "./ThresholdList"; diff --git a/src/components/AlarmRecord/DetailModal/index.js b/src/components/AlarmRecord/DetailModal/index.js index 2a74cb3..0b2aa37 100644 --- a/src/components/AlarmRecord/DetailModal/index.js +++ b/src/components/AlarmRecord/DetailModal/index.js @@ -8,7 +8,6 @@ function DetailModal(props) { useEffect(() => { if (!props.open) { - setDetail(null); return; } props.alarmRecordInfo({ id: props.currentId }).then((res) => { @@ -18,6 +17,15 @@ function DetailModal(props) { }); }, [props.open, props.currentId, props.alarmRecordInfo]); + const renderCurrentValue = () => { + if (!detail || detail.currentValue == null || detail.currentValue === "") { + return "-"; + } + const suffix = detail.compareFlag === "UP" ? " 上升" : detail.compareFlag === "DOWN" ? " 下降" : ""; + const unit = detail.unitName ? ` ${detail.unitName}` : ""; + return `${detail.currentValue}${unit}${suffix}`; + }; + return ( {detail.sensorCode || "-"} - {detail.sensorName || "-"} + + {props.sensorNameMap?.[detail.sensorCode] || detail.sensorName || "-"} + {detail.alarmTime || "-"} {detail.alarmLevel || "-"} + {detail.alarmType || "-"} + {detail.alarmDesc || "-"} {getLabelName({ status: detail.status, list: ALARM_STATUS_OPTIONS }) || detail.status || "-"} - {detail.disposeUserName || "-"} + {renderCurrentValue()} {detail.deviceSourceDesc || "-"} + {detail.disposeUserName || detail.disposeUserId || "-"} {detail.disposeTime || "-"} - {detail.disposeRemark || "-"} + {detail.disposeRemark || "-"} )} ); } -export default DetailModal; \ No newline at end of file +export default DetailModal; diff --git a/src/components/AlarmRecord/List/index.js b/src/components/AlarmRecord/List/index.js index e68e035..e89f5b0 100644 --- a/src/components/AlarmRecord/List/index.js +++ b/src/components/AlarmRecord/List/index.js @@ -1,7 +1,7 @@ import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; import { Button, Form, Space } from "antd"; -import { useState } from "react"; +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"; @@ -10,19 +10,45 @@ 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 } from "~/enumerate/namespace"; +import { NS_ALARMRECORD, NS_SENSORDEVICE } from "~/enumerate/namespace"; 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 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 ( @@ -62,13 +93,20 @@ function AlarmRecordList(props) { { title: "传感器编码", dataIndex: "sensorCode" }, { title: "传感器名称", dataIndex: "sensorName" }, { title: "报警时间", dataIndex: "alarmTime" }, + { title: "报警描述", dataIndex: "alarmDesc", ellipsis: true }, + { title: "告警值", render: renderCurrentValue }, { title: "报警级别", dataIndex: "alarmLevel" }, + { title: "报警类型", dataIndex: "alarmType" }, { title: "状态", dataIndex: "status", render: value => getLabelName({ status: value, list: ALARM_STATUS_OPTIONS }) || value || "-", }, - { title: "处置人", dataIndex: "disposeUserName" }, + { + title: "处置人", + render: (_, record) => record.disposeUserName || record.disposeUserId || "-", + }, + { title: "处置时间", dataIndex: "disposeTime" }, { title: "设备来源描述", dataIndex: "deviceSourceDesc", ellipsis: true }, { title: "操作", @@ -86,12 +124,14 @@ function AlarmRecordList(props) { }, ]} {...tableProps} + dataSource={dataSource} /> {detailOpen && ( { setDetailOpen(false); setCurrentId(""); @@ -102,4 +142,4 @@ function AlarmRecordList(props) { ); } -export default Connect([NS_ALARMRECORD], true)(Permission(AlarmRecordList)); \ No newline at end of file +export default Connect([NS_ALARMRECORD, NS_SENSORDEVICE], true)(Permission(AlarmRecordList)); diff --git a/src/components/DeviceRegion/BindSensorModal/index.js b/src/components/DeviceRegion/BindSensorModal/index.js index e5e06e9..0545953 100644 --- a/src/components/DeviceRegion/BindSensorModal/index.js +++ b/src/components/DeviceRegion/BindSensorModal/index.js @@ -1,4 +1,4 @@ -import { Checkbox, Empty, Modal, Typography, message } from "antd"; +import { Checkbox, Empty, message, Modal, Typography } from "antd"; import { useEffect, useMemo, useState } from "react"; function BindSensorModal(props) { @@ -51,17 +51,14 @@ function BindSensorModal(props) { const handleSubmit = async () => { setLoading(true); try { - if (changes.addIds.length) { + for (const sensorId of changes.addIds) { await props.deviceRegionBindSensor({ regionConfigId: props.currentId, - sensorIds: changes.addIds, + sensorId, }); } - if (changes.removeIds.length) { - await props.deviceRegionUnbindSensor({ - regionConfigId: props.currentId, - sensorIds: changes.removeIds, - }); + for (const sensorId of changes.removeIds) { + await props.deviceRegionUnbindSensor({ sensorId }); } message.success("传感器绑定已更新"); props.onCancel(); @@ -83,33 +80,40 @@ function BindSensorModal(props) { width={760} > - 当前区域:{detail.fireRegionName || "-"} / {detail.fireRegionCode || "-"} + 当前区域: + {detail.fireRegionName || "-"} + {" "} + / + {" "} + {detail.fireRegionCode || "-"} - {options.length ? ( - -
- {options.map(item => ( -
- {item.label} + {options.length + ? ( + +
+ {options.map(item => ( +
+ {item.label} +
+ ))}
- ))} -
- - ) : ( - - )} + + ) + : ( + + )} ); } diff --git a/src/components/DeviceRegion/List/index.js b/src/components/DeviceRegion/List/index.js index 528d632..30ad530 100644 --- a/src/components/DeviceRegion/List/index.js +++ b/src/components/DeviceRegion/List/index.js @@ -1,7 +1,7 @@ import { Permission } from "@cqsjjb/jjb-common-decorator/permission"; import { Connect } from "@cqsjjb/jjb-dva-runtime"; -import { Button, Form, Input, Modal, Select, Space, message } from "antd"; -import { useEffect, useState } from "react"; +import { Button, Form, Input, message, Modal, Select, Space } from "antd"; +import { useEffect, useMemo, 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"; @@ -37,6 +37,11 @@ function DeviceRegionList(props) { loadFireRegionOptions(); }, [props.deviceRegionFireRegionList]); + const fireRegionMap = useMemo( + () => Object.fromEntries(fireRegionOptions.map(item => [item.id, item])), + [fireRegionOptions], + ); + useEffect(() => { if (!configOpen) { return; @@ -62,6 +67,7 @@ function DeviceRegionList(props) { await props["deviceRegionSaveOrUpdate"]({ ...values, id: currentId || undefined, + fireRegionName: selectedFireRegion?.fireRegionName, fireRegionCode: selectedFireRegion?.fireRegionCode, }); message.success(currentId ? "设备区域配置已更新" : "设备区域配置已新增"); @@ -71,13 +77,28 @@ function DeviceRegionList(props) { getData(); }; + const handleSearch = (values) => { + getData(values); + }; + + 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, + }; + }); + return (
- + { setDepartmentId(value); @@ -56,7 +57,13 @@ function ManagerModal(props) { /> - + form.setFieldValue("managerName", label)} + /> + +
diff --git a/src/components/DeviceRegion/index.js b/src/components/DeviceRegion/index.js index 10dc626..2fb8090 100644 --- a/src/components/DeviceRegion/index.js +++ b/src/components/DeviceRegion/index.js @@ -1,6 +1,6 @@ -export { default as List } from "./List"; -export { default as ManagerModal } from "./ManagerModal"; export { default as BindSensorModal } from "./BindSensorModal"; - +export { default as List } from "./List"; // 默认导出 List 作为主入口组件 export { default } from "./List"; + +export { default as ManagerModal } from "./ManagerModal"; diff --git a/src/components/SensorDevice/index.js b/src/components/SensorDevice/index.js index 6a15a94..4fcd19e 100644 --- a/src/components/SensorDevice/index.js +++ b/src/components/SensorDevice/index.js @@ -1,8 +1,8 @@ // 导出子组件 export { default as List } from "./List"; -export { default as Modal } from "./Modal"; -export { default as ThresholdModal } from "./ThresholdModal"; -export { default as RealtimeModal } from "./RealtimeModal"; - // 默认导出 List 作为主入口 export { default } from "./List"; +export { default as Modal } from "./Modal"; +export { default as RealtimeModal } from "./RealtimeModal"; + +export { default as ThresholdModal } from "./ThresholdModal"; diff --git a/src/components/SensorType/index.js b/src/components/SensorType/index.js index 79bc6c0..eb19ae1 100644 --- a/src/components/SensorType/index.js +++ b/src/components/SensorType/index.js @@ -1,5 +1,5 @@ export { default as List } from "./List"; -export { default as Modal } from "./Modal"; - // 默认导出 List 作为主入口组件 export { default } from "./List"; + +export { default as Modal } from "./Modal"; diff --git a/src/components/index.js b/src/components/index.js index 22a0861..e958c8d 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -1,6 +1,6 @@ -export { default as SensorType } from "./SensorType"; -export { default as SensorDevice } from "./SensorDevice"; -export { default as DeviceRegion } from "./DeviceRegion"; -export { default as AlarmInfo } from "./AlarmInfo"; 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"; diff --git a/src/enumerate/constant/index.js b/src/enumerate/constant/index.js index fc4eca4..7908833 100644 --- a/src/enumerate/constant/index.js +++ b/src/enumerate/constant/index.js @@ -34,13 +34,11 @@ export const ALARM_SOURCE_OPTIONS = [ ]; export const ALARM_LEVEL_OPTIONS = [ - { bianma: "HIGH", name: "高" }, - { bianma: "MEDIUM", name: "中" }, - { bianma: "LOW", name: "低" }, + { bianma: "URGENT", name: "紧急" }, + { bianma: "NORMAL", name: "一般" }, ]; export const ALARM_TYPE_OPTIONS = [ - { bianma: "FAULT", name: "故障报警" }, - { bianma: "THRESHOLD", name: "阈值报警" }, - { bianma: "MANUAL", name: "人工报警" }, + { bianma: "DCS_ALARM", name: "DCS 报警" }, + { bianma: "THRESHOLD_ALARM", name: "阈值报警" }, ]; diff --git a/src/enumerate/index.js b/src/enumerate/index.js index 2c7f03a..1b20239 100644 --- a/src/enumerate/index.js +++ b/src/enumerate/index.js @@ -1,3 +1,3 @@ -export * from "./context"; export * from "./constant"; +export * from "./context"; export * from "./namespace"; diff --git a/src/pages/Container/index.js b/src/pages/Container/index.js index 10ad3b2..63066e3 100644 --- a/src/pages/Container/index.js +++ b/src/pages/Container/index.js @@ -94,4 +94,4 @@ class Interceptor extends React.Component { ) : this.props.children; } -} \ No newline at end of file +} diff --git a/src/pages/index.js b/src/pages/index.js index b56c286..8ba3dbb 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -1,22 +1,22 @@ 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 BranchCompanySensorType } from "./Container/BranchCompany/SensorType"; -export { default as BranchCompanySensorDevice } from "./Container/BranchCompany/SensorDevice"; -export { default as BranchCompanyDeviceRegion } from "./Container/BranchCompany/DeviceRegion"; -export { default as BranchCompanyDcsAlarmInfo } from "./Container/BranchCompany/DcsAlarmInfo"; -export { default as BranchCompanyThresholdAlarmInfo } from "./Container/BranchCompany/ThresholdAlarmInfo"; -export { default as BranchCompanyAlarmAssign } from "./Container/BranchCompany/AlarmAssign"; -export { default as BranchCompanyAlarmRecord } from "./Container/BranchCompany/AlarmRecord"; - -export { default as SupervisionSensorType } from "./Container/Supervision/SensorType"; -export { default as SupervisionSensorDevice } from "./Container/Supervision/SensorDevice"; -export { default as SupervisionDeviceRegion } from "./Container/Supervision/DeviceRegion"; -export { default as SupervisionDcsAlarmInfo } from "./Container/Supervision/DcsAlarmInfo"; -export { default as SupervisionThresholdAlarmInfo } from "./Container/Supervision/ThresholdAlarmInfo"; 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
物联网消防报警模块前端骨架已完成
;