update pay function
This commit is contained in:
@@ -88,10 +88,13 @@ const KLineChartModal: React.FC<KLineChartModalProps> = ({
|
|||||||
eventTime || undefined
|
eventTime || undefined
|
||||||
);
|
);
|
||||||
|
|
||||||
|
console.log('[KLineChartModal] API响应:', response);
|
||||||
|
|
||||||
if (!response || !response.data || response.data.length === 0) {
|
if (!response || !response.data || response.data.length === 0) {
|
||||||
throw new Error('暂无K线数据');
|
throw new Error('暂无K线数据');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('[KLineChartModal] 数据条数:', response.data.length);
|
||||||
setData(response.data);
|
setData(response.data);
|
||||||
logger.info('KLineChartModal', 'loadData', 'K线数据加载成功', {
|
logger.info('KLineChartModal', 'loadData', 'K线数据加载成功', {
|
||||||
dataCount: response.data.length,
|
dataCount: response.data.length,
|
||||||
@@ -109,8 +112,10 @@ const KLineChartModal: React.FC<KLineChartModalProps> = ({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!chartRef.current || !isOpen) return;
|
if (!chartRef.current || !isOpen) return;
|
||||||
|
|
||||||
// 创建图表实例
|
console.log('[KLineChartModal] 初始化图表...');
|
||||||
chartInstance.current = echarts.init(chartRef.current, 'dark');
|
|
||||||
|
// 创建图表实例(不使用主题,直接在option中配置背景色)
|
||||||
|
chartInstance.current = echarts.init(chartRef.current);
|
||||||
|
|
||||||
// 监听窗口大小变化
|
// 监听窗口大小变化
|
||||||
const handleResize = () => {
|
const handleResize = () => {
|
||||||
@@ -127,7 +132,15 @@ const KLineChartModal: React.FC<KLineChartModalProps> = ({
|
|||||||
|
|
||||||
// 更新图表数据
|
// 更新图表数据
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!chartInstance.current || data.length === 0) return;
|
if (!chartInstance.current || data.length === 0) {
|
||||||
|
console.log('[KLineChartModal] 跳过图表更新:', {
|
||||||
|
hasChart: !!chartInstance.current,
|
||||||
|
dataLength: data.length,
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('[KLineChartModal] 开始更新图表,数据点:', data.length);
|
||||||
|
|
||||||
const dates = data.map((d) => d.time);
|
const dates = data.map((d) => d.time);
|
||||||
const klineData = data.map((d) => [d.open, d.close, d.low, d.high]);
|
const klineData = data.map((d) => [d.open, d.close, d.low, d.high]);
|
||||||
@@ -355,6 +368,12 @@ const KLineChartModal: React.FC<KLineChartModalProps> = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
chartInstance.current.setOption(option);
|
chartInstance.current.setOption(option);
|
||||||
|
|
||||||
|
// 强制resize以确保图表正确显示
|
||||||
|
setTimeout(() => {
|
||||||
|
chartInstance.current?.resize();
|
||||||
|
console.log('[KLineChartModal] 图表已设置并resize');
|
||||||
|
}, 100);
|
||||||
}, [data, stock]);
|
}, [data, stock]);
|
||||||
|
|
||||||
// 加载数据
|
// 加载数据
|
||||||
|
|||||||
@@ -83,14 +83,17 @@ const TimelineChartModal: React.FC<TimelineChartModalProps> = ({
|
|||||||
|
|
||||||
const response = await stockService.getKlineData(
|
const response = await stockService.getKlineData(
|
||||||
stock.stock_code,
|
stock.stock_code,
|
||||||
'minute',
|
'timeline',
|
||||||
eventTime || undefined
|
eventTime || undefined
|
||||||
);
|
);
|
||||||
|
|
||||||
|
console.log('[TimelineChartModal] API响应:', response);
|
||||||
|
|
||||||
if (!response || !response.data || response.data.length === 0) {
|
if (!response || !response.data || response.data.length === 0) {
|
||||||
throw new Error('暂无分时数据');
|
throw new Error('暂无分时数据');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('[TimelineChartModal] 数据条数:', response.data.length);
|
||||||
setData(response.data);
|
setData(response.data);
|
||||||
logger.info('TimelineChartModal', 'loadData', '分时图数据加载成功', {
|
logger.info('TimelineChartModal', 'loadData', '分时图数据加载成功', {
|
||||||
dataCount: response.data.length,
|
dataCount: response.data.length,
|
||||||
@@ -108,8 +111,10 @@ const TimelineChartModal: React.FC<TimelineChartModalProps> = ({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!chartRef.current || !isOpen) return;
|
if (!chartRef.current || !isOpen) return;
|
||||||
|
|
||||||
// 创建图表实例
|
console.log('[TimelineChartModal] 初始化图表...');
|
||||||
chartInstance.current = echarts.init(chartRef.current, 'dark');
|
|
||||||
|
// 创建图表实例(不使用主题,直接在option中配置背景色)
|
||||||
|
chartInstance.current = echarts.init(chartRef.current);
|
||||||
|
|
||||||
// 监听窗口大小变化
|
// 监听窗口大小变化
|
||||||
const handleResize = () => {
|
const handleResize = () => {
|
||||||
@@ -126,7 +131,15 @@ const TimelineChartModal: React.FC<TimelineChartModalProps> = ({
|
|||||||
|
|
||||||
// 更新图表数据
|
// 更新图表数据
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!chartInstance.current || data.length === 0) return;
|
if (!chartInstance.current || data.length === 0) {
|
||||||
|
console.log('[TimelineChartModal] 跳过图表更新:', {
|
||||||
|
hasChart: !!chartInstance.current,
|
||||||
|
dataLength: data.length,
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('[TimelineChartModal] 开始更新图表,数据点:', data.length);
|
||||||
|
|
||||||
const times = data.map((d) => d.time);
|
const times = data.map((d) => d.time);
|
||||||
const prices = data.map((d) => d.price);
|
const prices = data.map((d) => d.price);
|
||||||
@@ -347,6 +360,12 @@ const TimelineChartModal: React.FC<TimelineChartModalProps> = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
chartInstance.current.setOption(option);
|
chartInstance.current.setOption(option);
|
||||||
|
|
||||||
|
// 强制resize以确保图表正确显示
|
||||||
|
setTimeout(() => {
|
||||||
|
chartInstance.current?.resize();
|
||||||
|
console.log('[TimelineChartModal] 图表已设置并resize');
|
||||||
|
}, 100);
|
||||||
}, [data, stock]);
|
}, [data, stock]);
|
||||||
|
|
||||||
// 加载数据
|
// 加载数据
|
||||||
|
|||||||
Reference in New Issue
Block a user