diff --git a/src/assets/css/jyh.scss b/src/assets/css/jyh.scss index a80b67a..d3d6ddc 100644 --- a/src/assets/css/jyh.scss +++ b/src/assets/css/jyh.scss @@ -340,15 +340,15 @@ .green { cursor: pointer; - color: rgb(80, 212, 171) + color: rgb(61, 204, 166) } .yellow { cursor: pointer; - color: rgb(250, 194, 10) + color: rgb(254, 204, 85) } .red { cursor: pointer; - color: rgb(246, 111, 106) + color: rgb(249, 95, 91) } .jyh-split { @@ -450,3 +450,8 @@ } } } + +.align-center { + display: flex; + align-items: center; +} diff --git a/src/views/Jyh/AI/Home/index.vue b/src/views/Jyh/AI/Home/index.vue index f19cb91..bddc2fb 100644 --- a/src/views/Jyh/AI/Home/index.vue +++ b/src/views/Jyh/AI/Home/index.vue @@ -6,14 +6,31 @@
-
+
思考过程: - + + +
+ +
+ +
+
+ + + {{ step.name }} + {{ step.status === 1 ? '成功' : '失败' }} +
+
-
- +
+ + 回答异常: +
+
+ 完成回答:
@@ -326,9 +343,15 @@ const getAIAnswer = async (content) => { question: content, }); + debugger + if(response.data.type) { - const {text,type,id,table_name=[]} = response.data; + const {text,type,id,table_name=[], states={}} = response.data; messages.value[messages.value.length - 1].id = id; + // 处理思考过程 + const thinkProcess = processThinkStates(states); + messages.value[messages.value.length - 1].thinkProcess = thinkProcess; + if(type==='text') { messages.value[messages.value.length - 1].content = text; messages.value[messages.value.length - 1].loading = false; @@ -347,6 +370,10 @@ const getAIAnswer = async (content) => { messages.value[messages.value.length - 1].software_name = arr[0]?.software_name || arr[0]['软件名称']; } } + } else if(type==='sql_error') { + messages.value[messages.value.length - 1].content = response.data.error; + messages.value[messages.value.length - 1].loading = false; + messages.value[messages.value.length - 1].type = 'error'; } fetchFollowupQuestions(content,id) } else { @@ -378,6 +405,20 @@ const getAIAnswer = async (content) => { } }; +// 思考步骤定义 +const thinkStepsOrder = ['意图分析', 'sql有效性判断', 'sql执行']; +// 处理思考状态 +const processThinkStates = (states) => { + debugger + return thinkStepsOrder.map(stepName => { + return { + name: stepName, + status: states[stepName] || 0 // 默认为0(失败) + }; + }); +}; + + const viewHistoryRef = ref(null); // 当前会话id const CONV_ID = ref('');