|
@@ -426,7 +426,7 @@
|
|
|
teacherInfoData &&
|
|
|
teacherInfoData.length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ <span>暂时还没有内容,快去添加吧</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div @dragstart="
|
|
@@ -637,7 +637,7 @@
|
|
|
cankaoInfoData &&
|
|
|
cankaoInfoData.length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ <span>暂时还没有内容,快去添加吧</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div @dragstart="
|
|
@@ -772,7 +772,7 @@
|
|
|
infoData2 &&
|
|
|
infoData2.length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ <span>暂时还没有内容,快去添加吧</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div class="chapter_upload" v-for="(item1, index1) in infoData2" :key="item1.id" @click="
|
|
@@ -1003,7 +1003,7 @@
|
|
|
mubiaoInfoData &&
|
|
|
mubiaoInfoData.length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ <span>暂时还没有内容,快去添加吧</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div class="chapter_upload" v-for="(item1, index1) in mubiaoInfoData" :key="item1.id" @click="
|
|
@@ -1207,7 +1207,7 @@
|
|
|
infoData &&
|
|
|
infoData.length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ <span>暂时还没有内容,快去添加吧</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div @dragstart="
|
|
@@ -1425,25 +1425,26 @@
|
|
|
<div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-if="templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3' && isOutline">
|
|
|
<div class="whiteBg" style="border-radius: 0; margin-top: 15px">
|
|
|
<div class="c_info_title">
|
|
|
- 课程大纲
|
|
|
+ {{templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '课程大纲'}}
|
|
|
<el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom" v-if="istemplate == 1">
|
|
|
<button class="c_pub_button_confirm" style="margin: 0 20px 0 auto;"
|
|
|
@contextmenu.prevent="openAiDialog(1, 'aiOutline')"
|
|
|
- @click="openAiDialog(2, 'aiOutline')" v-if="templateid != '61c628b9-3d96-11ef-b873-005056b86db5'">生成大纲</button>
|
|
|
+ @click="openAiDialog(2, 'aiOutline')" v-if="templateid != '61c628b9-3d96-11ef-b873-005056b86db5'">生成{{templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '课程大纲'}}</button>
|
|
|
<button class="c_pub_button_confirm" style="margin: 0 20px 0 auto;"
|
|
|
@contextmenu.prevent="openAiDialog(1, 'aiOutline2')"
|
|
|
- @click="openAiDialog(2, 'aiOutline2')" v-if="templateid == '61c628b9-3d96-11ef-b873-005056b86db5'">生成大纲</button>
|
|
|
+ @click="openAiDialog(2, 'aiOutline2')" v-if="templateid == '61c628b9-3d96-11ef-b873-005056b86db5'">生成{{templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '课程大纲'}}</button>
|
|
|
</el-tooltip>
|
|
|
<button class="c_pub_button_confirm" style="margin: 0 20px 0 auto;"
|
|
|
- @click="openAiDialog2(2, 'aiOutline')" v-if="panOutline() > 0 && templateid != '61c628b9-3d96-11ef-b873-005056b86db5' && istemplate != 1">重新生成大纲</button>
|
|
|
+ @click="openAiDialog2(2, 'aiOutline')" v-if="panOutline() > 0 && templateid != '61c628b9-3d96-11ef-b873-005056b86db5' && istemplate != 1">重新生成{{templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '课程大纲'}}</button>
|
|
|
<button class="c_pub_button_confirm" style="margin: 0 20px 0 auto;"
|
|
|
- @click="openAiDialog2(2, 'aiOutline2')" v-if="panOutline() > 0 && (templateid == '61c628b9-3d96-11ef-b873-005056b86db5') && istemplate != 1">重新生成大纲</button>
|
|
|
+ @click="openAiDialog2(2, 'aiOutline2')" v-if="panOutline() > 0 && (templateid == '61c628b9-3d96-11ef-b873-005056b86db5') && istemplate != 1">重新生成{{templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '课程大纲'}}</button>
|
|
|
<!-- <button class="c_pub_button_confirm" style="margin: 0 20px 0 auto;">AI优化</button> -->
|
|
|
</div>
|
|
|
<div class="task_outline">
|
|
|
<div class="outline_box" v-for="(item, index) in unitJson[0].chapterInfo[0].taskJson" :key="index">
|
|
|
<div class="outline_task">
|
|
|
- <div class="title">任务{{ index + 1 }}</div>
|
|
|
+ <div class="title" v-if="templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'">活动{{ index + 1 }}</div>
|
|
|
+ <div class="title" v-else>任务{{ index + 1 }}</div>
|
|
|
<input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
|
|
|
v-model="item.task" />
|
|
|
<div class="outline_btn">
|
|
@@ -1611,7 +1612,8 @@
|
|
|
<div class="task_outline">
|
|
|
<div class="outline_box" v-for="(item, index) in unitJson[0].chapterInfo[0].taskJson" :key="index">
|
|
|
<div class="outline_task">
|
|
|
- <div class="title">任务{{ index + 1 }}</div>
|
|
|
+ <div class="title" v-if="templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'">活动{{ index + 1 }}</div>
|
|
|
+ <div class="title" v-else>任务{{ index + 1 }}</div>
|
|
|
<input type="text" placeholder="输入任务名称" class="binfo_input" style="border-radius: 4px"
|
|
|
v-model="item.task" />
|
|
|
</div>
|
|
@@ -1668,7 +1670,7 @@
|
|
|
pub_btn_next_img: steps != 3,
|
|
|
pub_btn_finish_img: steps == 3,
|
|
|
}">
|
|
|
- {{ steps == 3 ? "确认上传" : !isOutline ? "生成大纲" : !isOutline2 ? "生成教案" : "下一步" }}
|
|
|
+ {{ steps == 3 ? "确认上传" : !isOutline ? "生成"+(templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '大纲') : !isOutline2 ? "生成教案" : "下一步" }}
|
|
|
</button>
|
|
|
<button class="c_pub_button_confirm" v-else @click="nextSteps(2)"
|
|
|
@contextmenu.prevent="nextSteps(1)" :class="{
|
|
@@ -1897,7 +1899,8 @@
|
|
|
@touchstart="isdrag = 'task-' + tIndex" @touchend="isdrag = ''" style="left: 8px"
|
|
|
class="chapter_upload_drag"></div>
|
|
|
<div class="nt_taskBox">
|
|
|
- <div class="nt_taskTitle">任务{{ tIndex + 1 }}:</div>
|
|
|
+ <div class="nt_taskTitle" v-if="templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'">活动{{ index + 1 }}:</div>
|
|
|
+ <div class="nt_taskTitle" v-else>任务{{ index + 1 }}:</div>
|
|
|
<div class="nt_taskName">
|
|
|
<el-tooltip effect="light" :content="t.task ? t.task : '未命名任务'" placement="top">
|
|
|
<span>{{ t.task ? t.task : "未命名任务" }}</span>
|
|
@@ -2003,9 +2006,8 @@
|
|
|
isdrag = 'task-' + stageIndex + '-' + tIndex
|
|
|
" @touchend="isdrag = ''" style="left: 20px" class="chapter_upload_drag"></div>
|
|
|
<div class="nt_taskBox" style="width: calc(100% - 52px)">
|
|
|
- <div class="nt_taskTitle">
|
|
|
- 任务{{ tIndex + 1 }}:
|
|
|
- </div>
|
|
|
+ <div class="nt_taskTitle" v-if="templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'">活动{{ index + 1 }}:</div>
|
|
|
+ <div class="nt_taskTitle" v-else>任务{{ index + 1 }}:</div>
|
|
|
<div class="nt_taskName">
|
|
|
<el-tooltip effect="light" :content="t.task ? t.task : '未命名任务'" placement="top">
|
|
|
<span>{{
|
|
@@ -2140,7 +2142,7 @@
|
|
|
item.taskJson[0].chapterData &&
|
|
|
item.taskJson[0].chapterData.length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>请添加学习内容</span>
|
|
|
+ <span>请添加学习内容</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div @dragstart="
|
|
@@ -2433,7 +2435,8 @@
|
|
|
<div style="background: #fff; border-radius: 5px" v-loading="taskGLoading[itemTaskIndex] && taskGLoading[itemTaskIndex][0]" element-loading-text="小可正在努力生成中,请稍等...">
|
|
|
<div class="taskTitle">
|
|
|
<div style="display: flex;width: 100%;justify-content: space-between;">
|
|
|
- <span>任务{{ itemTaskIndex + 1 }}</span>
|
|
|
+ <span v-if="templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'">活动{{ index + 1 }}</span>
|
|
|
+ <span v-else>任务{{ index + 1 }}</span>
|
|
|
<!-- <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
|
|
|
<button class="c_pub_button_confirm" style="margin: 0 0 0 auto;"
|
|
|
@contextmenu.prevent="openAiDialog2(1, 'aiTask2',itemTaskIndex)"
|
|
@@ -4970,7 +4973,7 @@
|
|
|
pingjiaInfoData[itemTaskIndex] &&
|
|
|
pingjiaInfoData[itemTaskIndex].length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ <span>暂时还没有内容,快去添加吧</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div class="chapter_upload" v-for="(item1, index1) in pingjiaInfoData[itemTaskIndex]" :key="item1.id" @click="
|
|
@@ -5745,7 +5748,7 @@
|
|
|
xuanzeInfoData &&
|
|
|
xuanzeInfoData.length == 0
|
|
|
">
|
|
|
- <img src="../../../assets/icon/new/c_none.png" alt /><span>暂时还没有内容,快去添加吧</span>
|
|
|
+ <span>暂时还没有内容,快去添加吧</span>
|
|
|
</div>
|
|
|
<div v-else class="add_chapters_box" style="display: flex; flex-direction: column">
|
|
|
<div class="chapter_upload" v-for="(item1, index1) in xuanzeInfoData" :key="item1.id" @click="
|
|
@@ -7341,7 +7344,7 @@ export default {
|
|
|
dialogVisibleAiCreateVideo: false,
|
|
|
teacherText: [],
|
|
|
isFileSearch: true,
|
|
|
- fileIds: ['file-A81p1q02HHpJhus4nYYwtAmM'],
|
|
|
+ fileIds: ['file-LyRnVpjKpTY4Vwhhi89eBV6o', 'file-INnyqfzOuxYWjuMvWowhOpD0'],
|
|
|
templatePan: ['0e7966d6-1e49-11ef-bee5-005056b86db5','60d153e3-1e49-11ef-bee5-005056b86db5','7f3e28b7-1e66-11ef-bee5-005056b86db5','9dd4bb76-1e48-11ef-bee5-005056b86db5','ab317f23-1e66-11ef-bee5-005056b86db5'],
|
|
|
courseJie:1,
|
|
|
courseTime:45,
|
|
@@ -8287,7 +8290,7 @@ export default {
|
|
|
for (var k = 0; k < this.unitJson[0].chapterInfo[0].taskJson.length; k++) {
|
|
|
if(!this.unitJson[0].chapterInfo[0].taskJson[k].taskDetail2 && !(this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" || this.templateid == "cf5722a4-401b-11ef-b873-005056b86dc3")){
|
|
|
_pan2 = 2
|
|
|
- this.$message.error(`请完善任务${k+1}的课程大纲`)
|
|
|
+ this.$message.error(`请完善任务${k+1}的${this.templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '课程大纲'}`)
|
|
|
break;
|
|
|
}
|
|
|
if(!this.unitJson[0].chapterInfo[0].taskJson[k].taskDetail3){
|
|
@@ -16387,8 +16390,25 @@ let txt = (!this.yiKeTemplateArray.includes(this.templateid)) ? ` **子教学
|
|
|
**过程性成果**:过程性成果是最终成果的一部分或者是中间成果(例如背景设计-大纲-章节-童话)
|
|
|
**子评价标准**:以学生能做到...开始,需要匹配子教学目标和教学任务和过程性成果 ` : ` **子教学目标**:子教学目标是课程目标在该任务的分解目标,撰写格式同子教学目标
|
|
|
**过程性成果**:过程性成果是最终成果的一部分或者是中间成果(例如背景设计-大纲-章节-童话)
|
|
|
- **子评价标准**:以学生能做到...开始,需要匹配子教学目标和教学任务和过程性成果 `
|
|
|
-
|
|
|
+ **子评价标准**:以学生能做到...开始,需要匹配子教学目标和教学任务和过程性成果 `
|
|
|
+let txt2 = `detail至少输出300tokens,markdown格式输出。
|
|
|
+detail包含子教学目标、过程性成果、子评价标准
|
|
|
+子教学目标:子教学目标是课程目标在该任务的分解目标,撰写格式同子教学目标
|
|
|
+过程性成果:过程性成果是最终成果的一部分或者是中间成果(例如背景设计-大纲-章节-童话)
|
|
|
+子评价标准:以学生能做到...开始,需要匹配子教学目标和教学任务和过程性成果
|
|
|
+task2输出子任务名称但是不要输出序号或者前缀仅输出名称`
|
|
|
+if(this.templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'){
|
|
|
+ txt = `活動名:活動名(活動所需時間)
|
|
|
+活動設計:描述該教學活動是如何展開的,至少寫100個token
|
|
|
+活動的評價量規:學生能做到...
|
|
|
+`
|
|
|
+ txt2 = `detail至少输出300tokens,markdown格式输出。
|
|
|
+detail包含活動名、活動設計、活動的評價量規
|
|
|
+活動名:活動名(活動所需時間)
|
|
|
+活動設計:描述該教學活動是如何展開的,至少寫100個token
|
|
|
+活動的評價量規:學生能做到...
|
|
|
+task2输出活動名但是不要输出序号或者前缀仅输出名称`
|
|
|
+}
|
|
|
let courseText = this.courseText ? this.courseText : this.teacherCourseText
|
|
|
let target = this.targetCourseText2 ? this.targetCourseText2 : this.targetcoursetext
|
|
|
// ${this.templatePan.includes(this.templateid) ? '课程节数:'+this.courseJie+'节' : ''}
|
|
@@ -16406,12 +16426,7 @@ ${msg} 以及##参考资料
|
|
|
## 参考资料
|
|
|
课程名字:${this.courseName} ${courseText ? '课程简要描述:' + courseText : ''} ${sub.length ? '学科:' + sub.join(",") : ''} ${mclass.length ? '面向年级:' + mclass.join(",") : ''}
|
|
|
${target ? '课程目标:' + target.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','') : ''}
|
|
|
-detail至少输出300tokens,markdown格式输出。
|
|
|
-detail包含子教学目标、过程性成果、子评价标准
|
|
|
-子教学目标:子教学目标是课程目标在该任务的分解目标,撰写格式同子教学目标
|
|
|
-过程性成果:过程性成果是最终成果的一部分或者是中间成果(例如背景设计-大纲-章节-童话)
|
|
|
-子评价标准:以学生能做到...开始,需要匹配子教学目标和教学任务和过程性成果
|
|
|
-task2输出子任务名称但是不要输出序号或者前缀仅输出名称
|
|
|
+${txt2}
|
|
|
|
|
|
# Format example
|
|
|
[{"task": "任务名称","task2": "子任务名称","detail": "${txt}"},{"task": "任务名称","task2": "子任务名称","detail": "${txt}"},{"task": "任务名称","task2": "子任务名称","detail": "${txt}"},{"task": "任务名称","task2": "子任务名称","detail": "${txt}"}]`
|
|
@@ -16905,13 +16920,13 @@ ${(this.mode == 1 && (!this.yiKeTemplateArray.includes(this.templateid)) && targ
|
|
|
${this.courseText && this.aiCallBack == 2 ? '参考内容:'+this.courseText : ''}
|
|
|
|
|
|
## 要求
|
|
|
-${message} 以及##参考资料 ${(!this.yiKeTemplateArray.includes(this.templateid)) ? "" : '以文本格式输出项目概况,驱动性问题,最终作品'}
|
|
|
-
|
|
|
-${(this.templateid != 'cf5722a4-401b-11ef-b873-005056b86dc4') && '## Format example 课程简要描述:课程内容的简单叙述。 驱动性问题:1个驱动整个项目的问题。 最终作品:对应解决驱动性问题的作品,可个人可团队。'}
|
|
|
+${message}
|
|
|
|
|
|
${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内容>即可不用重新生成,让内容更具体化,更具体' : ''}
|
|
|
|
|
|
-如果在上传的文件中没有找到相关的课程简要描述、驱动性问题和最终作品的信息,请用自身的理解输出`
|
|
|
+如果在上传的文件中没有找到相关信息,请用自身的理解输出`//的课程简要描述、驱动性问题和最终作品的
|
|
|
+// ${(this.templateid != 'cf5722a4-401b-11ef-b873-005056b86dc4') && '## Format example 课程简要描述:课程内容的简单叙述。 驱动性问题:1个驱动整个项目的问题。 最终作品:对应解决驱动性问题的作品,可个人可团队。'}
|
|
|
+
|
|
|
this.aiGet(msg)
|
|
|
},
|
|
|
setUnitJson() {
|
|
@@ -17396,7 +17411,7 @@ ${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内
|
|
|
},
|
|
|
cancelAjax(type, index){
|
|
|
if (this.isOutlineCancelToken && type == 'outline') {
|
|
|
- this.$message.success("已经成功停止生成课程大纲")
|
|
|
+ this.$message.success(`已经成功停止生成${this.templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5' ? '课堂活动' : '课程大纲'}`)
|
|
|
this.isOutlineCancelToken.cancel('Request canceled by the user.');
|
|
|
this.isOutlineCancelToken = null;
|
|
|
this.loading = false
|
|
@@ -19731,6 +19746,17 @@ ${msg}
|
|
|
}
|
|
|
}
|
|
|
let target = _this.targetCourseText2 ? _this.targetCourseText2 : _this.targetcoursetext
|
|
|
+ let txt = `子任务名称:名称应该总结了该任务是在做什么,
|
|
|
+子任务设计:任务设计。
|
|
|
+子教学目标:教学目标。
|
|
|
+过程性成果:学生过程性成果。
|
|
|
+评价标准:评价标准。`
|
|
|
+ if(this.templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'){
|
|
|
+ txt = `活動名:活動名(活動所需時間)
|
|
|
+活動設計:描述該教學活動是如何展開的,至少寫100個token
|
|
|
+活動的評價量規:學生能做到...
|
|
|
+`
|
|
|
+ }
|
|
|
let messages = `NOTICE
|
|
|
Role: 你是创建课程的老师,内容不要以markdown形式出现,只需要口语化的形式。
|
|
|
Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
|
|
@@ -19748,11 +19774,7 @@ ${_this.courseText ? '课程简要描述:' + _this.courseText : ''}
|
|
|
${target ? '课程目标:' + target.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n','') : ''}
|
|
|
|
|
|
# Format example
|
|
|
-子任务名称:名称应该总结了该任务是在做什么,
|
|
|
-子任务设计:任务设计。
|
|
|
-子教学目标:教学目标。
|
|
|
-学生过程性成果:学生过程性成果。
|
|
|
-评价标准:评价标准。
|
|
|
+${txt}
|
|
|
`
|
|
|
// 教学目标:教学目标。
|
|
|
// 任务设计:任务设计。
|
|
@@ -19873,6 +19895,16 @@ ${target ? '课程目标:' + target.replaceAll('#','').replaceAll('*','').repl
|
|
|
taskArrayD.push(this.unitJson[0].chapterInfo[0].taskJson[k].taskDetail2.replaceAll('#','').replaceAll('*','').replaceAll('-','').replaceAll('\n',''))
|
|
|
}
|
|
|
}
|
|
|
+ let txt = `**子任务标题**:环节+子任务名称
|
|
|
+**子教学目标**:子教学目标是课程目标在该任务的分解目标,撰写格式同子教学目标
|
|
|
+**过程性成果**:过程性成果是最终成果的一部分或者是中间成果(例如背景设计-大纲-章节-童话)
|
|
|
+**子评价标准**:以学生能做到...开始,需要匹配子教学目标和教学任务和过程性成果`
|
|
|
+ if(this.templateid == '9dd4bb76-1e48-11ef-bee5-005056b86db5'){
|
|
|
+ txt = `活動名:活動名(活動所需時間)
|
|
|
+活動設計:描述該教學活動是如何展開的,至少寫100個token
|
|
|
+活動的評價量規:學生能做到...
|
|
|
+`
|
|
|
+ }
|
|
|
let messages = `NOTICE
|
|
|
Role: 你是创建课程的老师,内容不要以markdown形式出现,只需要口语化的形式。
|
|
|
Language: Please use the same language as the user requirement, if the user speaks Chinese, the specific text of your answer should also be in Chinese.
|
|
@@ -19891,10 +19923,7 @@ ${taskArray.length ? '其他任务大纲名字:' + taskArray.join(',') : ''}
|
|
|
${taskArray.length ? '其他任务大纲内容' + taskArray.join(',') : ''}
|
|
|
|
|
|
# Format example
|
|
|
-**子任务标题**:环节+子任务名称
|
|
|
-**子教学目标**:子教学目标是课程目标在该任务的分解目标,撰写格式同子教学目标
|
|
|
-**过程性成果**:过程性成果是最终成果的一部分或者是中间成果(例如背景设计-大纲-章节-童话)
|
|
|
-**子评价标准**:以学生能做到...开始,需要匹配子教学目标和教学任务和过程性成果
|
|
|
+${txt}
|
|
|
`
|
|
|
// 教学目标:教学目标。
|
|
|
// 任务设计:任务设计。
|