From 7a69f399ea8a2a50be2a7e26f759b21e73e4f076 Mon Sep 17 00:00:00 2001 From: DebugIsFalse <511418503@qq.com> Date: Wed, 5 Jun 2024 15:06:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=A0=BC=E5=BC=8F=E5=8C=96=E5=9B=BE?= =?UTF-8?q?=E8=A1=A8=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/search/[id].vue | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/pages/search/[id].vue b/pages/search/[id].vue index 2f4000b..1c93aae 100644 --- a/pages/search/[id].vue +++ b/pages/search/[id].vue @@ -191,26 +191,42 @@ function handleFormatWebSource (source) { } catch (error) {} return sources } +function handleFormatReportsDatasets (sources, columns) { + const labels = [] + const datas = [] + const dataMap = {} + sources.forEach(item => { + labels.push(item.date) + for (let i in item) { + if (i !== 'date') { + if (!dataMap[i]) { + dataMap[i] = { label: columns[i], data: [] } + } + dataMap[i].data.push(Number(item[i])) + } + } + }) + Object.keys(dataMap).forEach(item => { + datas.push(dataMap[item]) + }) + return { labels, datas } +} function handleFormatReports (content) { let chartStart = '::ProseChart' // todo let tableStart = '::ProseDataTable' let result = '' - // ::ProseLineChart{title='langchain-ai/langchain [2023-06-05,2024-06-04] Star Data' :labels='["2023-06-05","2023-06-12"]' :data='[43071,44946]'} + // ::ProseChart{type='line' title='langchain-ai/langchain [2023-06-05,2024-06-04] Star Data' :labels='["2023-06-05","2023-06-12"]' :data='[{"label": "star数量", "data": [43071,44946]}]' } content.forEach(item => { - const { title, data, format } = item + const { title, data, format, columns } = item if (format === 'timeline') { - const labels = [] - const datas = [] - data.forEach(child => { - labels.push(child.date) - datas.push(child.stargazers) - }) + const { labels, datas } = handleFormatReportsDatasets(data, columns) result += `${chartStart}{title='${title}' :labels='${JSON.stringify(labels)}' :data='${JSON.stringify(datas)}'}` } else if ( format === 'table' ) { result += `${tableStart}{:data=${JSON.stringify(data)}}` } }) + console.log('result:', result) return result } function handleSetNoPermission () { -- GitLab