增加分析失败 重新生成功能
This commit is contained in:
parent
f6051ec7c1
commit
5377edbc09
@ -28,7 +28,7 @@ const AddChart: React.FC = () => {
|
|||||||
const res = await genChartByAiUsingPOST(params, {}, values.file.file.originFileObj);
|
const res = await genChartByAiUsingPOST(params, {}, values.file.file.originFileObj);
|
||||||
//正常情况下,如果没有返回值就分析失败,有就分析成功
|
//正常情况下,如果没有返回值就分析失败,有就分析成功
|
||||||
if(!res?.data){
|
if(!res?.data){
|
||||||
message.error('分析失败');
|
message.error(res.message ??'分析失败');
|
||||||
}else{
|
}else{
|
||||||
message.success('分析成功');
|
message.success('分析成功');
|
||||||
//解析成对象
|
//解析成对象
|
||||||
|
|||||||
@ -25,7 +25,7 @@ const AddChartAsync: React.FC = () => {
|
|||||||
const res = await genChartByAiAsyncMqUsingPOST(params, {}, values.file.file.originFileObj);
|
const res = await genChartByAiAsyncMqUsingPOST(params, {}, values.file.file.originFileObj);
|
||||||
//正常情况下,如果没有返回值就分析失败,有就分析成功
|
//正常情况下,如果没有返回值就分析失败,有就分析成功
|
||||||
if(!res?.data){
|
if(!res?.data){
|
||||||
message.error('分析失败');
|
message.error(res.message ?? '分析失败');
|
||||||
}else{
|
}else{
|
||||||
message.success('分析任务提交成功,稍后请在我的图表页面查看');
|
message.success('分析任务提交成功,稍后请在我的图表页面查看');
|
||||||
form.resetFields();
|
form.resetFields();
|
||||||
@ -41,6 +41,7 @@ const AddChartAsync: React.FC = () => {
|
|||||||
<div className='add-chart-async'>
|
<div className='add-chart-async'>
|
||||||
<Card title="智能分析">
|
<Card title="智能分析">
|
||||||
<Form
|
<Form
|
||||||
|
form={form}
|
||||||
name="addChart"
|
name="addChart"
|
||||||
labelAlign='left'
|
labelAlign='left'
|
||||||
labelCol={{span : 4}}
|
labelCol={{span : 4}}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { listMyChartByPageUsingPOST } from '@/services/answerbi/chartController';
|
import { listMyChartByPageUsingPOST, regenChartByAiAsyncMqUsingPOST } from '@/services/answerbi/chartController';
|
||||||
import { useModel } from '@umijs/max';
|
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 Search from 'antd/es/input/Search';
|
||||||
import ReactECharts from 'echarts-for-react';
|
import ReactECharts from 'echarts-for-react';
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { useEffect, useState } from 'react';
|
||||||
@ -44,21 +44,43 @@ const MyChartPage: React.FC = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
message.error('获取我的图表失败');
|
message.error(res.message ?? '获取我的图表失败');
|
||||||
}
|
}
|
||||||
} catch (e : any) {
|
} catch (e : any) {
|
||||||
message.error('获取我的图表失败,' + e.message);
|
message.error('获取我的图表失败,' + e.message);
|
||||||
}
|
}
|
||||||
setLoading(false);
|
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(() => {
|
useEffect(() => {
|
||||||
//这个页面首次渲染的时候,以及这个数组中的搜索条件发生变化的时候,会执行loadData方法,自动触发重新搜索
|
//这个页面首次渲染的时候,以及这个数组中的搜索条件发生变化的时候,会执行loadData方法,自动触发重新搜索
|
||||||
const timer = setInterval(() => {
|
/* const timer = setInterval(() => {
|
||||||
loadData();
|
loadData();
|
||||||
}, 5000);
|
}, 5000);
|
||||||
return () => clearInterval(timer);
|
return () => clearInterval(timer); */
|
||||||
|
loadData();
|
||||||
},[searchParams]);
|
},[searchParams]);
|
||||||
|
|
||||||
|
|
||||||
@ -149,6 +171,9 @@ const MyChartPage: React.FC = () => {
|
|||||||
status="error"
|
status="error"
|
||||||
title="图表生成失败"
|
title="图表生成失败"
|
||||||
subTitle={item.execMessage}
|
subTitle={item.execMessage}
|
||||||
|
extra={[
|
||||||
|
<Button type="primary" key={item.id} onClick={()=>reloadGenChart(item.id)}>重新生成</Button>
|
||||||
|
]}
|
||||||
/>
|
/>
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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 */
|
/** updateChart POST /api/chart/update */
|
||||||
export async function updateChartUsingPOST(
|
export async function updateChartUsingPOST(
|
||||||
body: API.ChartUpdateRequest,
|
body: API.ChartUpdateRequest,
|
||||||
|
|||||||
5
src/services/answerbi/typings.d.ts
vendored
5
src/services/answerbi/typings.d.ts
vendored
@ -322,6 +322,11 @@ declare namespace API {
|
|||||||
userId?: number;
|
userId?: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
type regenChartByAiAsyncMqUsingPOSTParams = {
|
||||||
|
/** chartId */
|
||||||
|
chartId?: number;
|
||||||
|
};
|
||||||
|
|
||||||
type uploadFileUsingPOSTParams = {
|
type uploadFileUsingPOSTParams = {
|
||||||
biz?: string;
|
biz?: string;
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user