This commit is contained in:
dataeaseShu
2025-07-29 15:56:13 +08:00
7 changed files with 36 additions and 5 deletions
+6 -1
View File
@@ -7,14 +7,19 @@ template:
根据表结构和问题生成符合{engine}数据库引擎规范的sql语句,以及sql中所用到的表名(不要包含schema和database,用数组返回)。
你必须遵守以下规则:
- 生成的SQL必须符合{engine}的规范。
- 提问中如果有涉及数据源名称或数据源描述的内容,则忽略数据源的信息,直接根据剩余内容生成SQL
- 根据表结构生成SQL语句,需给每个表名生成一个别名(不要加AS)。
- SQL查询中不能使用星号(*),必须明确指定字段名.
- SQL查询的字段名不要自动翻译,别名必须为英文。
- 计算占比,百分比类型字段,保留两位小数,以%结尾。
- 生成SQL时,必须避免关键字冲突:
- 生成SQL时,必须避免关键字冲突。
- 如数据库引擎是 PostgreSQL、Oracle,则在schema、表名、字段名、别名外层加双引号;
- 如数据库引擎是 MySQL,则在表名、字段名、别名外层加反引号;
- 如数据库引擎是 Microsoft SQL Server,则在schema、表名、字段名、别名外层加方括号。
- 以PostgreSQL为例,查询Schema为TEST表TABLE下所有数据,则生成的SQL为:
SELECT * FROM "TEST"."TABLE"
- 注意在表名外双引号的位置,千万不要生成为:
SELECT * FROM "TEST.TABLE"
- 如果生成SQL的字段内有时间格式的字段(重要):
- 若提问中没有指定查询顺序,则默认按时间升序排序
- 若提问是时间,且没有指定具体格式,则格式化为yyyy-MM-dd HH:mm:ss的格式
@@ -192,8 +192,9 @@ function showSql() {
}
function addToDashboard() {
const viewInfo = chartRef.value?.getViewInfo()
// @ts-expect-error eslint-disable-next-line @typescript-eslint/ban-ts-comment
addViewRef.value?.optInit()
addViewRef.value?.optInit(viewInfo)
}
function copy() {
@@ -54,9 +54,22 @@ function onTypeChange() {
chartRef.value?.renderChart()
})
}
function getViewInfo() {
return {
chart: {
columns: chartObject.value?.columns,
type: props.chartType,
xAxis: xAxis.value,
yAxis: yAxis.value,
series: series.value,
title: chartObject.value.title,
},
data: { data: props.data },
}
}
defineExpose({
onTypeChange,
getViewInfo,
})
</script>
@@ -113,6 +113,12 @@ export class Bar extends BaseG2Chart {
}
return `${value}${_data.isPercent ? '%' : ''}`
},
position: (data: any) => {
if (data[y[0].value] < 0) {
return 'left'
}
return 'right'
},
transform: [
{ type: 'contrastReverse' },
{ type: 'exceedAdjust' },
@@ -102,7 +102,12 @@ export class Column extends BaseG2Chart {
}
return `${value}${_data.isPercent ? '%' : ''}`
},
position: 'top',
position: (data: any) => {
if (data[y[0].value] < 0) {
return 'bottom'
}
return 'top'
},
transform: [
{ type: 'contrastReverse' },
{ type: 'exceedAdjust' },
-1
View File
@@ -485,7 +485,6 @@ function onChatCreatedQuick(chat: ChatInfo) {
chatList.value.unshift(chat)
currentChatId.value = chat.id
currentChat.value = chat
console.log(chat)
onChatCreated(chat)
}
@@ -86,6 +86,8 @@ const saveResourcePrepare = () => {
component['id'] = newComponentId
component['y'] = bottomPosition + 1
canvasDataResult.push(component)
// @ts-expect-error eslint-disable-next-line @typescript-eslint/ban-ts-comment
state.viewInfo.chart['id'] = newComponentId
canvasViewInfoPreview[newComponentId] = state.viewInfo
const commonParams = {
componentData: canvasDataResult,