增加分析失败 重新生成功能

This commit is contained in:
brian 2023-07-25 18:25:36 +08:00
parent f6051ec7c1
commit 5377edbc09
5 changed files with 54 additions and 8 deletions

View File

@ -28,7 +28,7 @@ const AddChart: React.FC = () => {
const res = await genChartByAiUsingPOST(params, {}, values.file.file.originFileObj);
//正常情况下,如果没有返回值就分析失败,有就分析成功
if(!res?.data){
message.error('分析失败');
message.error(res.message ??'分析失败');
}else{
message.success('分析成功');
//解析成对象

View File

@ -25,7 +25,7 @@ const AddChartAsync: React.FC = () => {
const res = await genChartByAiAsyncMqUsingPOST(params, {}, values.file.file.originFileObj);
//正常情况下,如果没有返回值就分析失败,有就分析成功
if(!res?.data){
message.error('分析失败');
message.error(res.message ?? '分析失败');
}else{
message.success('分析任务提交成功,稍后请在我的图表页面查看');
form.resetFields();
@ -41,6 +41,7 @@ const AddChartAsync: React.FC = () => {
<div className='add-chart-async'>
<Card title="智能分析">
<Form
form={form}
name="addChart"
labelAlign='left'
labelCol={{span : 4}}

View File

@ -1,6 +1,6 @@
import { listMyChartByPageUsingPOST } from '@/services/answerbi/chartController';
import { listMyChartByPageUsingPOST, regenChartByAiAsyncMqUsingPOST } from '@/services/answerbi/chartController';
import { useModel } from '@umijs/max';
import { Avatar, Card, List, Result, message } from 'antd';
import { Avatar, Button, Card, List, Result, message } from 'antd';
import Search from 'antd/es/input/Search';
import ReactECharts from 'echarts-for-react';
import React, { useEffect, useState } from 'react';
@ -44,21 +44,43 @@ const MyChartPage: React.FC = () => {
})
}
}else{
message.error('获取我的图表失败');
message.error(res.message ?? '获取我的图表失败');
}
} catch (e : any) {
message.error('获取我的图表失败,' + e.message);
}
setLoading(false);
}
//重新生成
const [submitting, setSubmitting] = useState<boolean>(false);
const reloadGenChart = async (chartId: any) => {
if(submitting) return;
setSubmitting(true);
const param = { chartId : chartId };
try {
const res = await regenChartByAiAsyncMqUsingPOST(param);
if(!res?.data){
message.error(res.message ??'分析失败');
}else{
message.success('分析任务提交成功,稍后请在我的图表页面查看');
//重新加载一下页面
await loadData();
}
} catch (e: any) {
message.error('分析失败,' + e.message);
}
setSubmitting(false);
}
//首次加载页面时,触发加载数据
useEffect(() => {
//这个页面首次渲染的时候以及这个数组中的搜索条件发生变化的时候会执行loadData方法自动触发重新搜索
const timer = setInterval(() => {
/* const timer = setInterval(() => {
loadData();
}, 5000);
return () => clearInterval(timer);
return () => clearInterval(timer); */
loadData();
},[searchParams]);
@ -149,6 +171,9 @@ const MyChartPage: React.FC = () => {
status="error"
title="图表生成失败"
subTitle={item.execMessage}
extra={[
<Button type="primary" key={item.id} onClick={()=>reloadGenChart(item.id)}></Button>
]}
/>
</>
}

View File

@ -200,6 +200,21 @@ export async function listMyChartByPageUsingPOST(
});
}
/** regenChartByAiAsyncMq POST /api/chart/regen */
export async function regenChartByAiAsyncMqUsingPOST(
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
params: API.regenChartByAiAsyncMqUsingPOSTParams,
options?: { [key: string]: any },
) {
return request<API.CommonResponseBiResponse_>('/api/chart/regen', {
method: 'POST',
params: {
...params,
},
...(options || {}),
});
}
/** updateChart POST /api/chart/update */
export async function updateChartUsingPOST(
body: API.ChartUpdateRequest,

View File

@ -322,6 +322,11 @@ declare namespace API {
userId?: number;
};
type regenChartByAiAsyncMqUsingPOSTParams = {
/** chartId */
chartId?: number;
};
type uploadFileUsingPOSTParams = {
biz?: string;
};