mirror of
https://gh-proxy.org/https://github.com/klinsmaya/SQLBot.git
synced 2026-11-08 01:06:59 +08:00
Merge branch 'main' of https://github.com/dataease/SQLBot
This commit is contained in:
@@ -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' },
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user