|
@@ -6898,7 +6898,7 @@
|
|
|
</aiDialog>
|
|
|
<tipsDialog :dialogVisibleTips.sync="dialogVisibleTips" :tipsJson.sync="tipsJson" :aiJson="aiJson" :userid="userid"
|
|
|
@retrunCourse="retrunCourse" :templateid.sync="templateid" @addWork="addWork"></tipsDialog>
|
|
|
- <aiCreateDialog :dialogVisibleAiCreate.sync="dialogVisibleAiCreate" :courseName="courseName" @createAiPpt="createAiPpt" :infoData="infoData" :courseTypeId="courseTypeId" :CourseTypeJson="CourseTypeJson" :courseState="courseState" :lineCount="lineCount" :unitJson="unitJson"></aiCreateDialog>
|
|
|
+ <aiCreateDialog :languageSetting="languageSetting" :dialogVisibleAiCreate.sync="dialogVisibleAiCreate" :courseName="courseName" @createAiPpt="createAiPpt" :infoData="infoData" :courseTypeId="courseTypeId" :CourseTypeJson="CourseTypeJson" :courseState="courseState" :lineCount="lineCount" :unitJson="unitJson"></aiCreateDialog>
|
|
|
<aiCreateVideoDialog :dialogVisibleAiCreateVideo.sync="dialogVisibleAiCreateVideo" :courseName="courseName" @createAiVideo="createAiVideo" :courseState="courseState" :lineCount="lineCount" :unitJson="unitJson"></aiCreateVideoDialog>
|
|
|
<wpdf :dialogVisiblePdf.sync="dialogVisiblePdf" :url="wurl"></wpdf>
|
|
|
<wOffice :dialogVisibleOffice.sync="dialogVisibleOffice" :url="wurl" ></wOffice>
|
|
@@ -17184,9 +17184,28 @@ ${(this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" || this.templateid
|
|
|
} else if (this.aitype == "aiTask3") {
|
|
|
if(this.aiCallBack[0] == 'all'){
|
|
|
for(var _task = 0; _task < this.unitJson[0].chapterInfo[0].taskJson.length; _task++){
|
|
|
- let message1 = `NOTICE
|
|
|
+ if(!this.taskGLoading[_task]){
|
|
|
+ this.taskGLoading[_task] = []
|
|
|
+ }
|
|
|
+ this.taskGLoading[_task][0] = true
|
|
|
+ this.taskGLoading[_task][1] = true
|
|
|
+ // this.taskGLoading[_task][2] = true
|
|
|
+
|
|
|
+ // this.aiGetG323(message3, _task)
|
|
|
+ }
|
|
|
+
|
|
|
+ let ij = 0;
|
|
|
+ let _this = this
|
|
|
+ function processNext() {
|
|
|
+ if (ij < _this.unitJson[0].chapterInfo[0].taskJson.length) {
|
|
|
+ if(!_this.taskGLoading[ij][0]){
|
|
|
+ ij++;
|
|
|
+ processNext();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let message1 = `NOTICE
|
|
|
Role: 你是一名教师,你正在使用一个在线学习平台来教授学生,你已经完成了教案,你现在需要将教案变为学生上课用的任务单(work sheet)。该在线学习平台为每个任务提供了资源区(视频,ppt,阅读资料将放在这里),多种互动工具(学生点击工具即可上传他们的作业或者回答,这些互动工具类似kahoot一样允许教师轻松收集,统计,追踪学生作业),以及和任务绑定的目标和评价系统。
|
|
|
-Language: ${this.getLang()}
|
|
|
+Language: ${_this.getLang()}
|
|
|
ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
|
|
|
Instruction: Based on the context, follow "Format example", write content.
|
|
|
|
|
@@ -17196,7 +17215,7 @@ ${msg}
|
|
|
|
|
|
|
|
|
## 参考资料
|
|
|
-教学任务教案:${this.unitJson[0].chapterInfo[0].taskJson[_task].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
|
|
|
+教学任务教案:${_this.unitJson[0].chapterInfo[0].taskJson[ij].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
|
|
|
|
|
|
# 输出格式与要求
|
|
|
任务描述(告诉学生他们需要做什么):
|
|
@@ -17210,7 +17229,7 @@ ${msg}
|
|
|
|
|
|
let message2 = `NOTICE
|
|
|
Role: 你是一名教师,你正在使用一个在线学习平台来教授学生,你已经完成了教案,你现在需要将教案变为学生上课用的任务单(work sheet)。该在线学习平台为每个任务提供了资源区(视频,ppt,阅读资料将放在这里),多种互动工具(学生点击工具即可上传他们的作业或者回答,这些互动工具类似kahoot一样允许教师轻松收集,统计,追踪学生作业),以及和任务绑定的目标和评价系统。
|
|
|
-Language: ${this.getLang()}
|
|
|
+Language: ${_this.getLang()}
|
|
|
ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
|
|
|
Instruction: Based on the context, follow "Format example", write content.
|
|
|
|
|
@@ -17220,27 +17239,27 @@ ${msg2}
|
|
|
|
|
|
|
|
|
## 参考资料
|
|
|
-教学任务教案:${this.unitJson[0].chapterInfo[0].taskJson[_task].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
|
|
|
+教学任务教案:${_this.unitJson[0].chapterInfo[0].taskJson[ij].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
|
|
|
|
|
|
# 输出格式与要求
|
|
|
互动工具列表
|
|
|
-工具名:${this.languageSetting == 2 ? 'Diagram Tool' : '表格'}
|
|
|
+工具名:${_this.languageSetting == 2 ? 'Diagram Tool' : '表格'}
|
|
|
工具指引:同学们,在完成本次STEM小车实验时,我们需要使用表格工具来记录和整理实验数据。表格工具就像一个电子版的记录本,它不仅可以帮助我们准确记录数据,还能自动计算和生成图表,方便我们分析实验结果。在第一行,每个单元格中输入我们要记录的变量名称,比如“时间(秒)”、“距离(米)”、“速度(米/秒)”等。接下来,在实验中,我们会把每次测试的结果依次填入相应的单元格中。记得每一行代表一次完整的实验测试哦。
|
|
|
|
|
|
-工具名:${this.languageSetting == 2 ? 'Document tool' : '文档'}
|
|
|
+工具名:${_this.languageSetting == 2 ? 'Document tool' : '文档'}
|
|
|
工具指引:在实验数据整理好之后,我们接下来要用文档工具撰写实验报告。这份报告不仅是对我们实验的总结,也是展示我们分析和思考能力的好机会。文档工具就像一本电子笔记本,可以帮助我们把想法和数据清晰地展示出来。该份实验报告需要包括以下内容:1.实验背景: 简单介绍实验的目的,比如“我们这次实验的目的是通过小车演示,理解速度和加速度的关系”。用简洁的语言说明你为什么要做这个实验。\n2.实验方法: 详细描述你是如何进行实验的,包括实验步骤和使用的工具。例如,你可以写“我们将小车放在一个倾斜的平面上,记录它在不同时间间隔下的距离”。\n 3.数据分析: 这部分是核心内容。你可以将表格工具生成的图表插入到文档中,并解释图表显示的结果。例如,你可以写“从图表中可以看出,随着时间的增加,小车的速度逐渐加快,这说明……”。\n 4.结论与建议: 最后,总结你在实验中得出的结论,比如“小车在光滑表面上的加速度较大”,并提出一些改进实验或进一步研究的建议。
|
|
|
|
|
|
-工具名称:${this.languageSetting == 2 ? 'Choice tool' : '选择题'}
|
|
|
+工具名称:${_this.languageSetting == 2 ? 'Choice tool' : '选择题'}
|
|
|
工具指引:同学们,老师想要考察一下你对“热传递”这一概念的理解和掌握程度。请仔细阅读每个问题,并给出准确的答案哦~
|
|
|
|
|
|
-${this.languageSetting == 2 ? '还有以下工具:Mind Map Tool、Spreadsheet tool、Q&A Tool' : ''}
|
|
|
+${_this.languageSetting == 2 ? '还有以下工具:Mind Map Tool、Spreadsheet tool、Q&A Tool' : ''}
|
|
|
|
|
|
# Format example
|
|
|
{"toolChoose":[{"tool":"工具名","detail":"工具描述"},{"tool":"工具名","detail":"工具描述"}]}`
|
|
|
|
|
|
let message3 = `NOTICE
|
|
|
Role: 你是一名教师,你正在使用一个在线学习平台来教授学生,你已经完成了教案,你现在需要将教案变为学生上课用的任务单(work sheet)。该在线学习平台为每个任务提供了资源区(视频,ppt,阅读资料将放在这里),多种互动工具(学生点击工具即可上传他们的作业或者回答,这些互动工具类似kahoot一样允许教师轻松收集,统计,追踪学生作业),以及和任务绑定的目标和评价系统。
|
|
|
-Language: ${this.getLang()}
|
|
|
+Language: ${_this.getLang()}
|
|
|
ATTENTION: Use '##' to SPLIT SECTIONS, not '#'. Output format carefully referenced "Format example".
|
|
|
Instruction: Based on the context, follow "Format example", write content.
|
|
|
|
|
@@ -17250,7 +17269,7 @@ ${msg3}
|
|
|
|
|
|
|
|
|
## 参考资料
|
|
|
-教学任务教案:${this.unitJson[0].chapterInfo[0].taskJson[_task].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
|
|
|
+教学任务教案:${_this.unitJson[0].chapterInfo[0].taskJson[ij].taskDetail3.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','')}
|
|
|
|
|
|
# 输出格式与要求
|
|
|
核心素养:从教案中提取
|
|
@@ -17260,17 +17279,20 @@ ${msg3}
|
|
|
# Format example
|
|
|
{"elist":[{"value":"目标","detail":"评价标准",target:"核心素养","score":5},{"value":"目标","detail":"评价标准",target:"核心素养","score":5},{"value":"目标","detail":"评价标准",target:"核心素养","score":5}]}`
|
|
|
|
|
|
-
|
|
|
- if(!this.taskGLoading[_task]){
|
|
|
- this.taskGLoading[_task] = []
|
|
|
+ _this.aiGetG321(message1, ij, (callback2) => {
|
|
|
+ _this.aiGetG322(message2, ij, callback2);
|
|
|
+ }, () => {
|
|
|
+ // 回调函数,当前任务完成后执行
|
|
|
+ ij++;
|
|
|
+ processNext(); // 处理下一个任务
|
|
|
+ });
|
|
|
}
|
|
|
- this.taskGLoading[_task][0] = true
|
|
|
- this.taskGLoading[_task][1] = true
|
|
|
- // this.taskGLoading[_task][2] = true
|
|
|
- this.aiGetG321(message1, _task)
|
|
|
- this.aiGetG322(message2, _task)
|
|
|
- // this.aiGetG323(message3, _task)
|
|
|
}
|
|
|
+
|
|
|
+ processNext(); // 启动处理
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}else{
|
|
|
let message1 = `NOTICE
|
|
|
Role: 你是一名教师,你正在使用一个在线学习平台来教授学生,你已经完成了教案,你现在需要将教案变为学生上课用的任务单(work sheet)。该在线学习平台为每个任务提供了资源区(视频,ppt,阅读资料将放在这里),多种互动工具(学生点击工具即可上传他们的作业或者回答,这些互动工具类似kahoot一样允许教师轻松收集,统计,追踪学生作业),以及和任务绑定的目标和评价系统。
|
|
@@ -17354,8 +17376,9 @@ ${msg3}
|
|
|
this.taskGLoading[this.aiCallBack[0]][0] = true
|
|
|
this.taskGLoading[this.aiCallBack[0]][1] = true
|
|
|
// this.taskGLoading[this.aiCallBack[0]][2] = true
|
|
|
- this.aiGetG321(message1, this.aiCallBack[0])
|
|
|
- this.aiGetG322(message2, this.aiCallBack[0])
|
|
|
+ this.aiGetG321(message1, this.aiCallBack[0], () => {
|
|
|
+ this.aiGetG322(message2, this.aiCallBack[0])
|
|
|
+ })
|
|
|
// this.aiGetG323(message3, this.aiCallBack[0])
|
|
|
}
|
|
|
this.aiCallBack[1] ? this.aiCallBack[1]() : ''
|
|
@@ -18215,11 +18238,16 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
|
|
|
if(this.taskGLoading[index] && this.taskGLoading[index][0]){
|
|
|
this.taskGLoading[index][0] = false
|
|
|
}
|
|
|
+ setTimeout(() => {
|
|
|
+ if(!(this.taskCancelToken2 && this.taskCancelToken2[index])){
|
|
|
+ this.cancelAjax('aiTaskGL2', index)
|
|
|
+ }
|
|
|
+ }, 1000)
|
|
|
this.$forceUpdate()
|
|
|
}
|
|
|
|
|
|
if(type == 'aiTaskGL2'){
|
|
|
- this.$message.success("已经成功停止生成任务概述")
|
|
|
+ this.$message.success("已经成功停止生成任务工具")
|
|
|
if(this.taskCancelToken2 && this.taskCancelToken2[index]){
|
|
|
this.taskCancelToken2[index].cancel('Request canceled by the user.');
|
|
|
this.taskCancelToken2[index] = null;
|
|
@@ -19362,7 +19390,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
|
|
|
console.log(error);
|
|
|
});
|
|
|
},
|
|
|
- async aiGetG321(messages, index) {
|
|
|
+ async aiGetG321(messages, index, callback, callback2) {
|
|
|
let _this = this
|
|
|
|
|
|
let fileid = _this.isFileSearch ? [..._this.fileIds] : []
|
|
@@ -19431,20 +19459,21 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
|
|
|
_this.createTeacherAn(index);
|
|
|
}
|
|
|
|
|
|
- // callback ? callback() : ''
|
|
|
+ callback ? callback(callback2) : ''
|
|
|
_this.taskGLoading[index][0] = false
|
|
|
_this.taskCancelToken1[index] = null
|
|
|
_this.$forceUpdate();
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
// _this.loading = false
|
|
|
+ callback ? callback(callback2) : ''
|
|
|
_this.taskGLoading[index][0] = false
|
|
|
_this.taskCancelToken1[index] = null
|
|
|
_this.$forceUpdate();
|
|
|
console.log(error);
|
|
|
});
|
|
|
},
|
|
|
- async aiGetG322(messages, index) {
|
|
|
+ async aiGetG322(messages, index, callback) {
|
|
|
let _this = this
|
|
|
|
|
|
let fileid = _this.isFileSearch ? [..._this.fileIds] : []
|
|
@@ -19592,13 +19621,14 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
|
|
|
})
|
|
|
}
|
|
|
|
|
|
- // callback ? callback() : ''
|
|
|
+ callback ? callback() : ''
|
|
|
_this.taskGLoading[index][1] = false
|
|
|
_this.taskCancelToken2[index] = null
|
|
|
_this.$forceUpdate();
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
// _this.loading = false
|
|
|
+ callback ? callback() : ''
|
|
|
_this.taskGLoading[index][1] = false
|
|
|
_this.taskCancelToken2[index] = null
|
|
|
_this.$forceUpdate();
|