|
|
@@ -70,9 +70,9 @@ const Check = (props) => (
|
|
|
);
|
|
|
|
|
|
const alarmTypeMap = {
|
|
|
- 1: "过程告警",
|
|
|
- 2: "指令告警",
|
|
|
- 3: "系统告警",
|
|
|
+ 1: TranslateText(["过程告警", "Process alarm"]),
|
|
|
+ 2: TranslateText(["指令告警", "Command alarm"]),
|
|
|
+ 3: TranslateText(["系统告警", "System alarm"]),
|
|
|
};
|
|
|
|
|
|
function TranslateText(arr) {
|
|
|
@@ -112,16 +112,46 @@ const levelMap = {
|
|
|
};
|
|
|
|
|
|
const rangePresets = [
|
|
|
- { label: "最近30分钟", value: [dayjs().add(-30, "minute"), dayjs()] },
|
|
|
- { label: "最近60分钟", value: [dayjs().add(-60, "minute"), dayjs()] },
|
|
|
- { label: "最近2小时", value: [dayjs().add(-2, "hour"), dayjs()] },
|
|
|
- { label: "最近4小时", value: [dayjs().add(-4, "hour"), dayjs()] },
|
|
|
- { label: "最近8小时", value: [dayjs().add(-8, "hour"), dayjs()] },
|
|
|
- { label: "最近12小时", value: [dayjs().add(-12, "hour"), dayjs()] },
|
|
|
- { label: "最近24小时", value: [dayjs().add(-24, "hour"), dayjs()] },
|
|
|
- { label: "最近48小时", value: [dayjs().add(-48, "hour"), dayjs()] },
|
|
|
- { label: "最近72小时", value: [dayjs().add(-72, "hour"), dayjs()] },
|
|
|
- { label: "最近7天", value: [dayjs().add(-7, "d"), dayjs()] },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近30分钟", "Last 30 minutes"]),
|
|
|
+ value: [dayjs().add(-30, "minute"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近60分钟", "Last 60 minutes"]),
|
|
|
+ value: [dayjs().add(-60, "minute"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近2小时", "Last 2 hours"]),
|
|
|
+ value: [dayjs().add(-2, "hour"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近4小时", "Last 4 hours"]),
|
|
|
+ value: [dayjs().add(-4, "hour"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近8小时", "Last 8 hours"]),
|
|
|
+ value: [dayjs().add(-8, "hour"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近12小时", "Last 12 hours"]),
|
|
|
+ value: [dayjs().add(-12, "hour"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近24小时", "Last 24 hours"]),
|
|
|
+ value: [dayjs().add(-24, "hour"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近48小时", "Last 48 hours"]),
|
|
|
+ value: [dayjs().add(-48, "hour"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近72小时", "Last 72 hours"]),
|
|
|
+ value: [dayjs().add(-72, "hour"), dayjs()],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: TranslateText(["最近7天", "Last 7 days"]),
|
|
|
+ value: [dayjs().add(-7, "d"), dayjs()],
|
|
|
+ },
|
|
|
];
|
|
|
|
|
|
const getDur = (text) => {
|
|
|
@@ -222,7 +252,7 @@ const initialOption = {
|
|
|
},
|
|
|
yAxis: {
|
|
|
type: "value",
|
|
|
- name: "单位",
|
|
|
+ name: TranslateText(["单位", "Unit"]),
|
|
|
nameTextStyle: {
|
|
|
color: getVariable("--dt-text-color3"),
|
|
|
fontSize: 12,
|
|
|
@@ -258,7 +288,7 @@ const initialOption = {
|
|
|
],
|
|
|
series: [
|
|
|
{
|
|
|
- name: "值",
|
|
|
+ name: TranslateText(["值", "Value"]),
|
|
|
type: "line",
|
|
|
data: [],
|
|
|
itemStyle: {
|
|
|
@@ -288,6 +318,11 @@ const Index = (props) => {
|
|
|
dayjs(props.data?.data?.created_time).subtract(20, "minute"),
|
|
|
dayjs(props.data?.data?.created_time).add(20, "minute"),
|
|
|
]);
|
|
|
+ const labelWidth =
|
|
|
+ typeof localStorage !== "undefined" &&
|
|
|
+ localStorage.getItem("dtLanguage") === "en"
|
|
|
+ ? 102
|
|
|
+ : 72;
|
|
|
const fetchData = useMemoizedFn(async () => {
|
|
|
if (
|
|
|
props.data?.data?.rule_id === null ||
|
|
|
@@ -309,7 +344,7 @@ const Index = (props) => {
|
|
|
newData.yAxis.name = props.data?.data?.unit;
|
|
|
if (res?.data?.hh) {
|
|
|
newData.series.push({
|
|
|
- name: "上上限",
|
|
|
+ name: TranslateText(["上上限", "Ultra Upper Limit"]),
|
|
|
type: "line",
|
|
|
data: res?.data?.hh?.map((item) => item[1]),
|
|
|
symbol: "none",
|
|
|
@@ -321,7 +356,7 @@ const Index = (props) => {
|
|
|
}
|
|
|
if (res?.data?.h) {
|
|
|
newData.series.push({
|
|
|
- name: "上限",
|
|
|
+ name: TranslateText(["上限", "Upper Limit"]),
|
|
|
type: "line",
|
|
|
data: res?.data?.h?.map((item) => item[1]),
|
|
|
symbol: "none",
|
|
|
@@ -333,7 +368,7 @@ const Index = (props) => {
|
|
|
}
|
|
|
if (res?.data?.l) {
|
|
|
newData.series.push({
|
|
|
- name: "下限",
|
|
|
+ name: TranslateText(["下限", "Lower Limit"]),
|
|
|
type: "line",
|
|
|
data: res?.data?.l?.map((item) => item[1]),
|
|
|
symbol: "none",
|
|
|
@@ -345,7 +380,7 @@ const Index = (props) => {
|
|
|
}
|
|
|
if (res?.data?.ll) {
|
|
|
newData.series.push({
|
|
|
- name: "下下限",
|
|
|
+ name: TranslateText(["下下限", "Ultra Lower Limit"]),
|
|
|
type: "line",
|
|
|
data: res?.data?.ll?.map((item) => item[1]),
|
|
|
symbol: "none",
|
|
|
@@ -357,7 +392,7 @@ const Index = (props) => {
|
|
|
}
|
|
|
if (res?.data?.threshold) {
|
|
|
newData.series.push({
|
|
|
- name: "告警值",
|
|
|
+ name: TranslateText(["告警值", "Alarm value"]),
|
|
|
type: "line",
|
|
|
data: res?.data?.threshold?.map((item) => item[1]),
|
|
|
symbol: "none",
|
|
|
@@ -399,46 +434,53 @@ const Index = (props) => {
|
|
|
margin: "0px 0px",
|
|
|
width: "calc(100% - 287px)",
|
|
|
}}
|
|
|
- labelStyle={{ width: 72 }}
|
|
|
+ labelStyle={{ width: labelWidth }}
|
|
|
>
|
|
|
- <Descriptions.Item span={3} label="告警名称">
|
|
|
+ <Descriptions.Item
|
|
|
+ span={3}
|
|
|
+ label={TranslateText(["告警名称", "Alarm name"])}
|
|
|
+ >
|
|
|
{props.data?.data?.name}
|
|
|
</Descriptions.Item>
|
|
|
{props.data?.data?.point_id !== null &&
|
|
|
props.data?.data?.point_id !== "" &&
|
|
|
props.data?.data?.point_id !== undefined && (
|
|
|
- <Descriptions.Item label="点位编号">
|
|
|
+ <Descriptions.Item
|
|
|
+ label={TranslateText(["点位编号", "Point id"])}
|
|
|
+ >
|
|
|
{props.data?.data?.point_id}
|
|
|
</Descriptions.Item>
|
|
|
)}
|
|
|
- <Descriptions.Item label="告警类型">
|
|
|
+ <Descriptions.Item label={TranslateText(["告警类型", "Alarm type"])}>
|
|
|
{alarmTypeMap[props.data?.data?.type]}
|
|
|
</Descriptions.Item>
|
|
|
- <Descriptions.Item label="告警级别">
|
|
|
+ <Descriptions.Item label={TranslateText(["告警级别", "Alarm level"])}>
|
|
|
{levelMap[props.data?.data?.alarm_level]}
|
|
|
</Descriptions.Item>
|
|
|
- <Descriptions.Item label="告警时间">
|
|
|
+ <Descriptions.Item label={TranslateText(["告警时间", "Alarm time"])}>
|
|
|
{props.data?.data?.created_time}
|
|
|
</Descriptions.Item>
|
|
|
- <Descriptions.Item label="恢复时间">
|
|
|
+ <Descriptions.Item label={TranslateText(["恢复时间", "Recovery at"])}>
|
|
|
{props.data?.data?.recovery_time || "-"}
|
|
|
</Descriptions.Item>
|
|
|
- <Descriptions.Item label="持续时间">
|
|
|
+ <Descriptions.Item label={TranslateText(["持续时间", "Duration"])}>
|
|
|
{getDur(props?.data?.data?.duration)}
|
|
|
</Descriptions.Item>
|
|
|
- <Descriptions.Item label="确认人">
|
|
|
+ <Descriptions.Item label={TranslateText(["确认人", "Confirmed by"])}>
|
|
|
{props.data?.data?.confirmed_oper_name}
|
|
|
</Descriptions.Item>
|
|
|
- <Descriptions.Item label="确认时间">
|
|
|
+ <Descriptions.Item
|
|
|
+ label={TranslateText(["确认时间", "Confirmed at"])}
|
|
|
+ >
|
|
|
{props.data?.data?.confirmed_time}
|
|
|
</Descriptions.Item>
|
|
|
- <Descriptions.Item label="备注信息">
|
|
|
+ <Descriptions.Item label={TranslateText(["备注信息", "Remark"])}>
|
|
|
{props.data?.data?.remark}
|
|
|
</Descriptions.Item>
|
|
|
</Descriptions>
|
|
|
<div className={styles.divide}></div>
|
|
|
<div className={styles.oper}>
|
|
|
- {props.data?.data?.status === 2 ? <Check></Check> : <Alert></Alert>}
|
|
|
+ {props.data?.data?.status === 2 ? <Check /> : <Alert />}
|
|
|
<div className={styles.status}>
|
|
|
{alarmStatusMap[props.data?.data?.status]}
|
|
|
</div>
|
|
|
@@ -449,7 +491,7 @@ const Index = (props) => {
|
|
|
props?.onSetting(props.data?.data?.rule_id);
|
|
|
}}
|
|
|
>
|
|
|
- 告警配置
|
|
|
+ {TranslateText(["告警配置", "Alarm config"])}
|
|
|
</div>
|
|
|
<div className={styles.divide}></div>
|
|
|
<div
|
|
|
@@ -458,7 +500,9 @@ const Index = (props) => {
|
|
|
props.data?.data?.op_status === 1 ? styles.disabled : ""
|
|
|
}`}
|
|
|
>
|
|
|
- {props.data?.data?.op_status === 1 ? "已确认" : "告警确认"}
|
|
|
+ {props.data?.data?.op_status === 1
|
|
|
+ ? TranslateText(["已确认", "Confirmed"])
|
|
|
+ : TranslateText(["告警确认", "Confirm"])}
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -474,6 +518,10 @@ const Index = (props) => {
|
|
|
onChange={setRange}
|
|
|
style={{ width: 360, zIndex: 99999 }}
|
|
|
presets={rangePresets}
|
|
|
+ placeholder={[
|
|
|
+ TranslateText(["开始日期", "Start date"]),
|
|
|
+ TranslateText(["结束日期", "End date"]),
|
|
|
+ ]}
|
|
|
/>
|
|
|
</div>
|
|
|
|