{
fetchList();
-
}, [pageNum, stationId]);
useEffect(() => {
fetchTodayAndYesterdayStat();
@@ -371,7 +370,6 @@ export default function AlarmCenterPage() {
}));
};
-
const pieData = [
{
name: '错误',
@@ -431,52 +429,60 @@ export default function AlarmCenterPage() {
console.log('派发工单', currentAlarm);
};
-
- // 生成工单
- const handleaddOrder = async () => {
+ // ========== 修改:点击生成工单只打开弹窗,不直接请求接口 ==========
+ const handleaddOrder = () => {
if (!currentAlarm) {
messageApi.warning('无告警信息,无法生成工单');
return;
}
+ // 预填充表单
+ orderForm.setFieldsValue({
+ orderTitle: currentAlarm.alarmTitle || '告警生成工单',
+ planStartTime: null
+ });
+ setCreateOrderModalVisible(true);
+ };
+ // ========== 新增:弹窗提交工单函数 ==========
+ const submitCreateOrder = async (values) => {
try {
- // 组装接口需要的所有参数(你给的格式)
const params = {
id: '',
orderNo: '',
- orderTitle: currentAlarm.alarmTitle || '告警生成工单',
+ orderTitle: values.orderTitle,
sourceType: 7, // 来源 7=告警
orderType: 5, // 类型 5=运维
- priorityLevel: currentAlarm.alarmLevel === 1 ? 1 : 2, // 严重=高,其他=中
+ priorityLevel: currentAlarm.alarmLevel === 'ERROR' ? 1 : 2, // 修复:等级是字符串,不是数字1
deviceId: currentAlarm.deviceId || '',
deviceName: currentAlarm.deviceName || '',
- deviceType: currentAlarm.deviceType, // 没有就传空
+ deviceType: currentAlarm.deviceType,
siteId: stationId,
orgId: userInfo?.orgId || '',
assigneeId: '',
assigneeName: '',
collaboratorIds: '',
collaboratorNames: '',
- planStartTime: '',
+ planStartTime: values.planStartTime ? dayjs(values.planStartTime).format('YYYY-MM-DD HH:mm:ss') : '',
planEndTime: '',
deadlineTime: '',
actualStartTime: '',
actualEndTime: '',
orderStatus: 1, // 1-待处理
- alarmId: currentAlarm.id || '', // 关联告警ID
- alarmNo: currentAlarm.alarmNo || '', // 关联告警编号
- taskDescription: currentAlarm.alarmContent || '', // 任务描述=告警内容
- aiSuggestion: currentAlarm.rootCause || '', // AI建议
+ alarmId: currentAlarm.id || '',
+ alarmNo: currentAlarm.alarmNo || '',
+ taskDescription: values.taskDescription,
+ aiSuggestion: currentAlarm.rootCause || '',
requiredEquipment: '',
estimatedImpact: '',
handleResult: '',
handleRemark: ''
};
- // 调用新增接口
const res = await addWorkOrder(params);
if (res.code === 0 || res.code === 200) {
messageApi.success('工单生成成功');
+ setCreateOrderModalVisible(false);
+ orderForm.resetFields();
} else {
messageApi.error(res.msg || '工单生成失败');
}
@@ -485,6 +491,7 @@ export default function AlarmCenterPage() {
console.error(error);
}
};
+
return (
{contextHolder}
@@ -516,10 +523,10 @@ export default function AlarmCenterPage() {
},
{
title: '严重告警',
- value: todayData.levelStats?.[1] || 0,
+ value: todayData.levelStats?.["ERROR"] || 0,
trend: (() => {
const now = todayData.levelStats?.["ERROR"] ?? 0;
- const last = yesterdayData.levelStats?.[1] ?? 0;
+ const last = yesterdayData.levelStats?.["ERROR"] ?? 0;
if (last === 0) return '较昨日 无变化';
const rateNum = ((now - last) / last) * 100;
const rateStr = rateNum.toFixed(1);
@@ -781,7 +788,8 @@ export default function AlarmCenterPage() {
innerRadius={45}
outerRadius={80}
backgroundColor="transparent"
- />
+ />
+
@@ -820,7 +828,6 @@ export default function AlarmCenterPage() {
{/* 告警详情抽屉 */}
setDrawerVisible(false)}
width={480}
@@ -910,18 +917,15 @@ export default function AlarmCenterPage() {
-
{/* 底部按钮 */}
-
-
-
>
)}
+
{/* ====================== 修改告警弹窗 ====================== */}
+ {/* ========== 新增:生成工单弹窗 ========== */}
+ {
+ setCreateOrderModalVisible(false);
+ orderForm.resetFields();
+ }}
+ width={500}
+ maskClosable={false}
+ footer={null}
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
}
diff --git a/src/pages/WorkOrder.tsx b/src/pages/WorkOrder.tsx
index 820da15..624469a 100644
--- a/src/pages/WorkOrder.tsx
+++ b/src/pages/WorkOrder.tsx
@@ -304,7 +304,7 @@ const WorkOrderPage = () => {
const pieData = getOrderStatusPieData();
const alarmTrendData = [
- { date: '05-18', value: 5 },
+ { date: '05-181', value: 5 },
{ date: '05-19', value: 10 },
{ date: '05-20', value: 7 },
{ date: '05-21', value: 12 },