diff --git a/src/api/model/ichat.js b/src/api/model/ichat.js
index 84b67b00..185a6e44 100644
--- a/src/api/model/ichat.js
+++ b/src/api/model/ichat.js
@@ -11,6 +11,14 @@ export default {
data
);
}
+ },
+ get: {
+ name: "获取结果",
+ req: async function (tid) {
+ return await http.get(
+ `${config.API_URL}/ichat/workchain/ask/?ichat_tid=${tid}`
+ );
+ }
}
}
}
\ No newline at end of file
diff --git a/src/views/ichat/index.vue b/src/views/ichat/index.vue
index f40d4cf4..01f3858d 100644
--- a/src/views/ichat/index.vue
+++ b/src/views/ichat/index.vue
@@ -7,7 +7,16 @@
提问
-
+
+
+
+
+
+
+
+
@@ -20,19 +29,31 @@ const plh = ref('请以 查询 开头,提出您的查询统计分析需求');
const input = ref(null);
const myIframe = ref(null);
+const ichatTid = ref(null);
+const steps = ref([]);
const handleAsk = () => {
if (input.value) {
- const loading = ElLoading.service({
- fullscreen: true,
- text: "正在查询...请稍等",
- });
API.ichat.workchain.ask.req({input: input.value}).then(res=>{
- myIframe.value.srcdoc = res.content;
+ ichatTid.value = res.ichat_tid;
+ getTaskStatus();
}).catch(err=>{
}).finally(()=>{
- loading.close();
})
}
}
+
+const getTaskStatus = () => {
+ const interval = setInterval(() => {
+ API.ichat.workchain.get.req(ichatTid.value).then(res=>{
+ steps.value = res.steps;
+ if(res.state == "done"){
+ myIframe.value.srcdoc = res.content;
+ }
+ if (res.state != "progress") {
+ clearInterval(interval);
+ }
+ })
+ }, 2000);
+}
\ No newline at end of file