| 
					
				 | 
			
			
				@@ -177,11 +177,23 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       <div class="info_box_t" v-if="!yiKeTemplateArray.includes(templateid)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <div class="info_box_t_box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <el-switch v-model="isuseT" active-text="是否从已有教案生成" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                              style="justify-content: center; min-width: 175px"></el-switch> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <!-- <el-switch v-model="isuseT" active-text="是否从已有教案生成" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              style="justify-content: center; min-width: 175px"></el-switch> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <span>生成模式:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <el-radio-group v-model="isuseT" style="display: flex; align-items: center" @change="changeIsuseT"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="all_choose info_radio"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              <el-radio :label="1">引导模式生成</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="all_choose info_radio" style="margin-left: 10px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              <el-radio :label="true">从已有教案生成</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="all_choose info_radio" style="margin-left: 10px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              <el-radio :label="false">从零开始生成</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         <div class="info_box_t_box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <span>AI生成模式:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <span>生成风格:</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           <div class="mode_box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             <span :class="{active: mode == 1}" @click="mode = 1">精确</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             <!-- <span :class="{active: mode == 2}" @click="mode = 2">平衡</span> --> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -374,7 +386,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-if="(!yiKeTemplateArray.includes(templateid)) && isuseT"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-if="(!yiKeTemplateArray.includes(templateid)) && isuseT === true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div style="position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             box-sizing: border-box; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -528,7 +540,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="whiteBg" :style="{ minHeight: teacherTextLoading ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;position: relative" v-loading="teacherTextLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!yiKeTemplateArray.includes(templateid)) && isuseT"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="whiteBg" :style="{ minHeight: teacherTextLoading ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;position: relative" v-loading="teacherTextLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!yiKeTemplateArray.includes(templateid)) && isuseT === true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="c_pub_button_confirm stopBtn" v-if="teacherTextLoading && isTeacherTextCancelToken" @click="cancelAjax('teacherText')">停止</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="whiteBg" style="border-radius: 0; margin-top: 15px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="c_info_title"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -553,14 +565,14 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             @contextmenu.prevent="openAiDialog(1, 'aiteacherTextDetail', 2)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             @click="openAiDialog(2, 'aiteacherTextDetail', 2)">智能优化</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="r_pub_button_edit" style="margin-left:10px" @click="teacherCourseTextB = !teacherCourseTextB">{{ teacherCourseTextB ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class="r_pub_button_edit" style="margin-left:10px" @click="teacherCourseTextB = !teacherCourseTextB,forceUpdate2()">{{ teacherCourseTextB ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="whiteBg" :style="{ minHeight: targetTextLoading ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="targetTextLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!yiKeTemplateArray.includes(templateid)) && isuseT && templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="whiteBg" :style="{ minHeight: targetTextLoading ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="targetTextLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!yiKeTemplateArray.includes(templateid)) && isuseT === true && templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="c_pub_button_confirm stopBtn" v-if="targetTextLoading && isTargetCancelToken1" @click="cancelAjax('target1')">停止</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="whiteBg" style="border-radius: 0; margin-top: 15px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="c_info_title"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -585,7 +597,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             @contextmenu.prevent="openAiDialog(1, 'aitargetTextDetail', 2)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             @click="openAiDialog(2, 'aitargetTextDetail', 2)">智能优化</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        <div class="r_pub_button_edit" style="margin-left:10px" @click="targetCourseTextB = !targetCourseTextB">{{ targetCourseTextB ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="r_pub_button_edit" style="margin-left:10px" @click="targetCourseTextB = !targetCourseTextB,forceUpdate2()">{{ targetCourseTextB ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -887,7 +899,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="whiteBg" :style="{ minHeight: textLoading ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="textLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!isuseT && (!yiKeTemplateArray.includes(templateid))) || (isuseT && (!yiKeTemplateArray.includes(templateid)) && courseTextBool) || (yiKeTemplateArray.includes(templateid))"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="whiteBg" :style="{ minHeight: textLoading ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="textLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(!(isuseT === true) && !(isuseT === 1) && (!yiKeTemplateArray.includes(templateid))) || (isuseT === true && (!yiKeTemplateArray.includes(templateid)) && courseTextBool) || (yiKeTemplateArray.includes(templateid))"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="c_pub_button_confirm stopBtn" v-if="textLoading && isTextCancelToken" @click="cancelAjax('text')">停止</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="whiteBg" style="border-radius: 0; margin-top: 15px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="c_info_title" style="margin: 0 20px 0 20px;"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -913,14 +925,58 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               @contextmenu.prevent="openAiDialog(1, 'aiDetail', 2)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               @click="openAiDialog(2, 'aiDetail', 2)">智能优化</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="r_pub_button_edit" style="margin-left:10px" @click="courseTextB = !courseTextB">{{ courseTextB ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class="r_pub_button_edit" style="margin-left:10px" @click="courseTextB = !courseTextB,forceUpdate2()">{{ courseTextB ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="whiteBg" :style="{ minHeight: targetTextLoading2 ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="targetTextLoading2" element-loading-text="小可正在努力生成中,请稍等..." v-if="((!isuseT && (!yiKeTemplateArray.includes(templateid))) || (isuseT && (!yiKeTemplateArray.includes(templateid)) && courseTextBool)) && templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="whiteBg" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="textLoading" element-loading-text="小可正在努力生成中,请稍等..." v-if="(isuseT === 1)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="whiteBg" style="border-radius: 0; margin-top: 15px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="c_info_title" style="margin: 0 20px 0 20px;position:relative;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  课程概况<span class="inter_setting" @click="openInterPanSetting"></span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class="inter_setting_panel" v-show="interSetting"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="panel_title">配置工作流</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="panel_tips">您可在创作者中心中创建工作流后,复制工作流链接并贴入</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="panel_input"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <input type="text" :placeholder="this.aiJson.agentid ? this.aiJson.agentid : '请输入agentid'" class="binfo_input" v-model="agentid"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="panel_button"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <button class="c_pub_button_confirm" @click="setAgentid">确认</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <button class="c_pub_button_confirm" @click="rebuildAgentid" v-if="istemplate != 1">复原</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <button class="c_pub_button_return" @click="cancelInterSetting">取消</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <button class="c_pub_button_confirm" style="margin: 0 0 0 auto;" @click="interPan = !interPan,forceUpdate2()">{{ interPan ? '折叠' : '展开'}}</button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div style="width: 100%; padding: 0px 20px; box-sizing: border-box;display:flex;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div class="inter_box" v-show="interPan"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <iframe allow="camera *; microphone *;display-capture;midi;encrypted-media;" :src="interUrl" frameborder="0" v-if="interFlash && chatid" class="interIframe"></iframe> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div style="width: calc(100%);height: 100%" class='op_task_box' :class="{inter_Detailbox: !courseTextB && interPan}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <textarea style="height: 500px" class="binfo_input binfo_textarea" cols v-model="courseText" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      placeholder="请输入课程简要描述" v-if="courseTextB && interPan"></textarea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <textarea v-autoHeight="68" rows="2" class="binfo_input binfo_textarea" cols v-model="courseText" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      placeholder="请输入课程简要描述" v-else-if="courseTextB && !interPan"></textarea> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="markBox vditor-reset" style="white-space:pre-wrap;" v-text="courseText" :style="{height: interPan ? '500px' : 'auto', overflowY:'auto'}" v-else-if="textLoading"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    <div class="markBox vditor-reset" :style="{height: interPan ? '500px' : 'auto', overflowY:'auto'}" v-html="MarkdownT(courseText)" v-else></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      <div class="op_box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div class="op_remark"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        <div style="display: flex;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <!-- <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            <div class="r_pub_button_op" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              @contextmenu.prevent="openAiDialog(1, 'aiDetail', 2)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              @click="openAiDialog(2, 'aiDetail', 2)">智能优化</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          </el-tooltip> --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class="r_pub_button_edit" style="margin-left:10px" @click="courseTextB = !courseTextB,forceUpdate2()">{{ courseTextB ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="whiteBg" :style="{ minHeight: targetTextLoading2 ? '250px' : 'auto'}" style="background: #fff; margin: 0 0 10px;padding: 0 0 15px;" v-loading="targetTextLoading2" element-loading-text="小可正在努力生成中,请稍等..." v-if="((!(isuseT === true) && (!yiKeTemplateArray.includes(templateid))) || (isuseT === true && (!yiKeTemplateArray.includes(templateid)) && courseTextBool)) && templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="c_pub_button_confirm stopBtn" v-if="targetTextLoading2 && isTargetCancelToken2" @click="cancelAjax('target2')">停止</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="whiteBg" style="border-radius: 0; margin-top: 15px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="c_info_title" style="flex-wrap: wrap; position:relative;margin:0 20px;"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1088,7 +1144,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               @contextmenu.prevent="openAiDialog(1, 'aitargetTextDetail2', 2)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                               @click="openAiDialog(2, 'aitargetTextDetail2', 2)">智能优化</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                           </el-tooltip> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                          <div class="r_pub_button_edit" style="margin-left:10px" @click="targetCourseText2B = !targetCourseText2B">{{ targetCourseText2B ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          <div class="r_pub_button_edit" style="margin-left:10px" @click="targetCourseText2B = !targetCourseText2B,forceUpdate2()">{{ targetCourseText2B ? '确定' : '编辑'}}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1601,11 +1657,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <button class="c_pub_button_return pub_btn_last_img" v-if="steps > 1 && steps != 5" @click="lastSteps"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 {{ steps == 4 ? "返回课程" : "上一步" }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <button class="c_pub_button_confirm" v-if="isuseT && !isOutline && !courseTextBool && (!yiKeTemplateArray.includes(templateid)) && templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3'" @click="clickGenTT2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                {{isuseT ? "重新生成概况和目标" : "生成概况和目标"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <button class="c_pub_button_confirm" v-if="isuseT === true && !isOutline && !courseTextBool && (!yiKeTemplateArray.includes(templateid)) && templateid != '4480d65a-1e48-11ef-bee5-005056b86db5' && templateid != 'cf5722a4-401b-11ef-b873-005056b86dc3'" @click="clickGenTT2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{isuseT === true ? "重新生成概况和目标" : "生成概况和目标"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <button class="c_pub_button_confirm" v-else-if="isuseT && !isOutline && !courseTextBool && (!yiKeTemplateArray.includes(templateid))" @click="clickGenTT2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                {{isuseT ? "重新生成概况" : "生成概况"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <button class="c_pub_button_confirm" v-else-if="isuseT === true && !isOutline && !courseTextBool && (!yiKeTemplateArray.includes(templateid))" @click="clickGenTT2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {{isuseT === true ? "重新生成概况" : "生成概况"}} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <!-- ((isuseT || courseTextBool) && (!yiKeTemplateArray.includes(templateid))) &&  --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <el-tooltip effect="light" content="右键单击可配置提示词" placement="top"  v-if="steps < 4"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1984,7 +2040,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 <div class="rb_c_ai_box" v-if="stepsNav == 2"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  <aiBox @setUnitJson="setUnitJson" :courseId="courseId" :unitJson="unitJson"></aiBox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <aiBox @setUnitJson="setUnitJson" :courseId="cid" :unitJson="unitJson"></aiBox> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <div class="rb_c_box_right"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -5351,6 +5407,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <aiTips ttitle="任务详情" title="任务评价优化" :detail="aiJson.aiDetail4" pan="aiDetail4" @setAiJson="setAiJson" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <aiTips ttitle="任务详情" title="生成评价细则" :detail="aiJson.aiRateRule" pan="aiRateRule" @setAiJson="setAiJson"/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <div class="leftBar2" v-if="istemplate != 1 && templateid == 'cf5722a4-401b-11ef-b873-005056b86cd2' && chatid"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <aiBoxRight  :courseId="chatid" :unitJson="unitJson"></aiBoxRight> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <el-dialog title="提示" :visible.sync="dialogVisible" :append-to-body="true" width="25%" :before-close="handleClose" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       class="dialog_diy2 customWidth"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -6885,6 +6944,7 @@ import englishRight from "../components/englishRight.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import evaBox from "../evaBox/index.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import EnglishVoice from "../EnglishVoice/index.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import aiBox from './aiBox.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import aiBoxRight from './aiBoxRight.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import aiDialog from './aiDialog' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import aiTips from './aiTips.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import tipsDialog from './tipsDialog.vue' 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -6895,6 +6955,7 @@ import aiCreateVideoDialog from './aiCreateVideoDialog.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import wpdf from "../test/file/wPdf2.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import wOffice from "../test/file/wOffice.vue"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import htmlDocx from "html-docx-js/dist/html-docx"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import TurndownService from 'turndown'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var OpenCC = require("opencc-js"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let converter = OpenCC.Converter({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -6917,6 +6978,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     evaBox, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     EnglishVoice, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aiBox, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    aiBoxRight, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aiDialog, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     aiTips, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tipsDialog, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7348,7 +7410,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       isTeacherTextCancelSource: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       isTargetCancelSource1: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       isTargetCancelSource2: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      fileidArray: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      fileidArray: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      interPan: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      interFlash: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      agentid: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      interSetting: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chatid: "" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   directives: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7510,7 +7577,18 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    interUrl: function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let agentid = this.aiJson.agentid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let sagentid = this.aiJson.sagentid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let url = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(sagentid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        url = `https://beta.cloud.cocorobo.cn/aigpt/#/js?muti_agent_id=${agentid}&isPbl=true&session_id=${this.chatid}`//+'&muti_agent_id2='+agentid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        url = `https://beta.cloud.cocorobo.cn/aigpt/#/js?muti_agent_id=${agentid}&isPbl=true&session_id=${this.chatid}`//+'&muti_agent_id2='+agentid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return url; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     unitIndex(newValue, oldValue) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -7664,6 +7742,16 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    courseName(newVal, oldVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setCourseInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    courseTypeId: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      immediate: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      deep: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      handler(newValue, oldValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.setCourseInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     tableRowClassName({ row, rowIndex }) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -11336,6 +11424,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isuseT: this.isuseT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             mode: this.mode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             targetCourseText2: this.targetCourseText2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            chatid: this.chatid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           iresearch: this.isFileSearch ? 1 : 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -11604,6 +11693,7 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isuseT: this.isuseT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             mode: this.mode, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             targetCourseText2: this.targetCourseText2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            chatid: this.chatid, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           iresearch: this.isFileSearch ? 1 : 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -11709,6 +11799,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.aiJson.aiTaskG2 = this.aiJson.aiTaskG2 ? this.aiJson.aiTaskG2 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的互动工具列表。你的任务是,根据教案中提到的学生活动,为学生选择一些平台上有的互动工具,允许他们提交“证据”(即过程性成果)来展示他们的学习进度或者证明他们的学习成果。举例:如果学生活动有观看视频回答问题,那么你就为这一活动匹配选择【问答】工具,允许学生回答问题或者提出他们自己的疑问,如果学生活动有需要学生设计实验或者撰写报告,选用【文档】工具,如果需要学生记录数据,选用【表格】工具,如果需要学生整理或者梳理信息选用【思维导图】,如果需要学生绘制草图,选用【电子白板】,如果需要学生提交视频,图片,或者ppt,选用【作业提交】。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.aiJson.aiTaskG3 = this.aiJson.aiTaskG3 ? this.aiJson.aiTaskG3 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的目标和评价系统。你最主要的任务是提取教案中目标以及评价标准。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.aiJson.agentid = this.aiJson.agentid ? this.aiJson.agentid : '8e71322c-6c2a-11ef-8ce0-12e77c4cb76b' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.aiJson.sagentid = this.aiJson.sagentid ? this.aiJson.sagentid : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // if(this.templateid == '4480d65a-1e48-11ef-bee5-005056b86db5'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //   this.aiJson.aiCpoteTask = this.aiJson.aiCpoteTask ? this.aiJson.aiCpoteTask : '请根据<任务簇>,帮我取出里面对应的任务名' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             // } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13588,6 +13681,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log("这是新增课程"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.selectAllType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.chatid = uuidv4(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // this.courseTextB = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.isOutline = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.isOutline2 = true 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13698,6 +13793,8 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.aiJson.aiTaskG2 = this.aiJson.aiTaskG2 ? this.aiJson.aiTaskG2 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的互动工具列表。你的任务是,根据教案中提到的学生活动,为学生选择一些平台上有的互动工具,允许他们提交“证据”(即过程性成果)来展示他们的学习进度或者证明他们的学习成果。举例:如果学生活动有观看视频回答问题,那么你就为这一活动匹配选择【问答】工具,允许学生回答问题或者提出他们自己的疑问,如果学生活动有需要学生设计实验或者撰写报告,选用【文档】工具,如果需要学生记录数据,选用【表格】工具,如果需要学生整理或者梳理信息选用【思维导图】,如果需要学生绘制草图,选用【白板】,如果需要学生提交视频,图片,或者ppt,选用【作业提交】。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.aiJson.aiTaskG3 = this.aiJson.aiTaskG3 ? this.aiJson.aiTaskG3 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的目标和评价系统。你最主要的任务是提取教案中目标以及评价标准。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.aiJson.agentid = this.aiJson.agentid ? this.aiJson.agentid : '8e71322c-6c2a-11ef-8ce0-12e77c4cb76b' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.aiJson.sagentid = this.aiJson.sagentid ? this.aiJson.sagentid : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.templateid = res.data[3][0].template; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               }catch(error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 console.error(error) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13725,12 +13822,13 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.isuseT = JSON.parse(res.data[0][0].setting).isuseT ? JSON.parse(res.data[0][0].setting).isuseT : JSON.parse(res.data[0][0].setting).isuseT === false ? false : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.mode = JSON.parse(res.data[0][0].setting).mode ? JSON.parse(res.data[0][0].setting).mode : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.targetCourseText2 = JSON.parse(res.data[0][0].setting).targetCourseText2 ? JSON.parse(res.data[0][0].setting).targetCourseText2 : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.chatid = JSON.parse(res.data[0][0].setting).chatid ? JSON.parse(res.data[0][0].setting).chatid : uuidv4(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(this.targetCourseText2 || (!this.teacherCourseText)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   this.courseTextBool = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(!this.teacherCourseText && !this.teacherCourseText){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  this.isuseT = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // if(!this.teacherCourseText && !this.targetCourseText2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //   this.isuseT = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               }catch(error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 console.error(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13848,6 +13946,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.aiJson.aiTaskG1 = this.aiJson.aiTaskG1 ? this.aiJson.aiTaskG1 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的任务描述。你的主要任务是输出任务描述,用亲切的口吻告诉学生他们需要做什么。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.aiJson.aiTaskG2 = this.aiJson.aiTaskG2 ? this.aiJson.aiTaskG2 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的互动工具列表。你的任务是,根据教案中提到的学生活动,为学生选择一些平台上有的互动工具,允许他们提交“证据”(即过程性成果)来展示他们的学习进度或者证明他们的学习成果。举例:如果学生活动有观看视频回答问题,那么你就为这一活动匹配选择【问答】工具,允许学生回答问题或者提出他们自己的疑问,如果学生活动有需要学生设计实验或者撰写报告,选用【文档】工具,如果需要学生记录数据,选用【表格】工具,如果需要学生整理或者梳理信息选用【思维导图】,如果需要学生绘制草图,选用【白板】,如果需要学生提交视频,图片,或者ppt,选用【作业提交】。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.aiJson.aiTaskG3 = this.aiJson.aiTaskG3 ? this.aiJson.aiTaskG3 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的目标和评价系统。你最主要的任务是提取教案中目标以及评价标准。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.aiJson.agentid = this.aiJson.agentid ? this.aiJson.agentid : '8e71322c-6c2a-11ef-8ce0-12e77c4cb76b' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.aiJson.sagentid = this.aiJson.sagentid ? this.aiJson.sagentid : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if(res.data[0][0].cpote){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.cpote = JSON.parse(res.data[0][0].cpote); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -13870,12 +13971,13 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.isuseT = JSON.parse(res.data[0][0].setting).isuseT ? JSON.parse(res.data[0][0].setting).isuseT : JSON.parse(res.data[0][0].setting).isuseT === false ? false : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.mode = JSON.parse(res.data[0][0].setting).mode ? JSON.parse(res.data[0][0].setting).mode : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 this.targetCourseText2 = JSON.parse(res.data[0][0].setting).targetCourseText2 ? JSON.parse(res.data[0][0].setting).targetCourseText2 : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.chatid = JSON.parse(res.data[0][0].setting).chatid ? JSON.parse(res.data[0][0].setting).chatid : uuidv4(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(this.targetCourseText2 || (!this.teacherCourseText)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   this.courseTextBool = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(!this.teacherCourseText && !this.teacherCourseText){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  this.isuseT = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // if(!this.teacherCourseText && !this.targetCourseText2){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //   this.isuseT = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               }catch(error){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 console.error(error) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -14622,6 +14724,15 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     forceUpdate() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$forceUpdate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    forceUpdate2() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.courseText += "*0*%*"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.courseText = this.courseText.replaceAll("*0*%*", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$forceUpdate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     deletEList(index, tIndex, eIndex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.unitJson[index].chapterInfo[0].taskJson[tIndex].eList.splice( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         eIndex, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15310,6 +15421,52 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.isPasteTask = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getPaste2() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let iframe = document.querySelectorAll(".interIframe")[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const turndownService = new TurndownService(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let confirm_next_step = (iframe && iframe.contentWindow) ? iframe.contentWindow.confirm_next_step : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let work_area_text = (iframe && iframe.contentWindow) ? iframe.contentWindow.work_area_text : ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(confirm_next_step){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.courseText += turndownService.turndown(confirm_next_step) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        iframe.contentWindow.confirm_next_step = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(work_area_text && work_area_text.aiContent){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.courseText += turndownService.turndown(work_area_text.aiContent) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        iframe.contentWindow.work_area_text = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setCourseInfo(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let courseInfo = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let sub = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let mclass = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.courseTypeId.length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (var i = 0; i < this.courseTypeId.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let _sid = this.courseTypeId[i] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          for (var j = 0; j < this.CourseTypeJson['34629907-d02f-11ec-8c78-005056b86db5'].length; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_sid == this.CourseTypeJson['34629907-d02f-11ec-8c78-005056b86db5'][j].id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              sub.push(this.CourseTypeJson['34629907-d02f-11ec-8c78-005056b86db5'][j].name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          for (var j = 0; j < this.CourseTypeJson['34628934-d02f-11ec-8c78-005056b86db5'].length; j++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (_sid == this.CourseTypeJson['34628934-d02f-11ec-8c78-005056b86db5'][j].id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              mclass.push(this.CourseTypeJson['34628934-d02f-11ec-8c78-005056b86db5'][j].name) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(this.courseName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        courseInfo = `课程名称:${this.courseName} ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(mclass.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        courseInfo += `年级:${mclass.join(',')} ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(sub.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        courseInfo += `学科:${sub.join(',')} ` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log(courseInfo) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      window.course_info = courseInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setCover() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       var _this = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if(_this.cover.length){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15836,6 +15993,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.unitJson[0].chapterInfo[0].taskJson[index].isTask3 = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3 += "*0*%*"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3 = this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll("*0*%*", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$forceUpdate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     editTask2(index){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15844,6 +16007,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.unitJson[0].chapterInfo[0].taskJson[index].isTask2 = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail2 += "*0*%*"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail2 = this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail2.replaceAll("*0*%*", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$forceUpdate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     openRule(i, k){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15860,6 +16029,12 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.cpote[index] = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.cpote[index.replace('s','')] += "*0*%*"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.cpote[index.replace('s','')] = this.cpote[index.replace('s','')].replaceAll("*0*%*", ""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$forceUpdate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     clickGenTT(){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15887,6 +16062,57 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.courseTextBool = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    changeIsuseT(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(this.isuseT == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.courseTextB = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(this.courseText){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.courseTextB = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else{  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.courseTextB = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    openInterPanSetting(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.interSetting = !this.interSetting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(this.interSetting){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(this.istemplate == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.agentid = this.aiJson.agentid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.agentid = this.aiJson.sagentid 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.agentid = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setAgentid(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(this.agentid.trim()){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$message.error('请输入工作流链接') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if(this.istemplate == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.aiJson.agentid = this.agentid.trim() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.aiJson.sagentid = this.agentid.trim() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.interFlash = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.interFlash = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.interSetting = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    rebuildAgentid(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.aiJson.sagentid = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.interFlash = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.interFlash = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.interSetting = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cancelInterSetting(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.agentid = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.interSetting = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     openAiDialog2(clickType, type, callback, index, tindex){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.$confirm("重新生成会影响已生成内容,确定重新生成吗?", "提示", { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         confirmButtonText: "确定", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -16070,6 +16296,13 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.aiCallBack = callback 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else if (type == "aiTeacher2") { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(this.ttaskDetailLoading5.length){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let num = parseInt(this.ttaskDetailLoading5[0].split("task-")[1]) + 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$message({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            message: "教案任务"+num+"描述还未生成完,请前往查看,回答完毕后再次操作。", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: "warning" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.aitype = "aiTeacher2" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.aiText = this.aiJson.teacherDetail2 ? this.aiJson.teacherDetail2 : '请根据<任务名>、<任务描述>,<课程简要描述>,为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),相关知识点的讲解,练习(练习需要包含示例答案)。' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } else if (type == "aiTeacher3") { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -17151,7 +17384,7 @@ ${this.courseText && this.aiCallBack == 2 ? '注意,优化原有的<参考内 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.isOutlineCancelToken = this.ajax.setCancelSource(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let parm = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        assistant_id: '6063369f-289a-11ef-8bf4-12e77c4cb76b', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assistant_id: '6063369f-289a-11ef-8bf4-12e77c4cb76b',// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         message: [{"type":"text", "text":messages}], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         session_name: uuidv4(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         userId: this.userid, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19586,8 +19819,8 @@ ${msg} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 处理错误,可以尝试重新连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log('EventSource error:', event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.$message.error("哎呀,请求太多了,服务器忙不过来了,请稍等再重试") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.taskDetailLoading.splice(this.taskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.ttaskDetailLoading.splice(this.ttaskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.taskDetailLoading.splice(_this.taskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.ttaskDetailLoading.splice(_this.ttaskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.isOutlineTaskCancelToken[_tindex2] = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.isOutlineTaskCancelSource[_tindex2].close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.isOutlineTaskCancelSource[_tindex2] = null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -19931,8 +20164,8 @@ ${taskArray.length ? '其他任务大纲内容' + taskArray.join(',') : ''} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 处理错误,可以尝试重新连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log('EventSource error:', event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.$message.error("哎呀,请求太多了,服务器忙不过来了,请稍等再重试") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.taskDetailLoading.splice(this.taskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.ttaskDetailLoading.splice(this.ttaskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.taskDetailLoading.splice(_this.taskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.ttaskDetailLoading.splice(_this.ttaskDetailLoading.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.isOutlineTaskCancelToken[_tindex2] = null 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.isOutlineTaskCancelSource[_tindex2].close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.isOutlineTaskCancelSource[_tindex2] = null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20103,8 +20336,8 @@ ${_this.aiCallBack.taskDetail} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 处理错误,可以尝试重新连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log('EventSource error:', event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.$message.error("哎呀,请求太多了,服务器忙不过来了,请稍等再重试") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.taskDetailLoading2.splice(this.taskDetailLoading2.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.ttaskDetailLoading2.splice(this.ttaskDetailLoading2.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.taskDetailLoading2.splice(_this.taskDetailLoading2.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.ttaskDetailLoading2.splice(_this.ttaskDetailLoading2.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _source.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20275,8 +20508,8 @@ ${msg} 输出格式和内容要求参考#格式与要求 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 处理错误,可以尝试重新连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log('EventSource error:', event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.$message.error("哎呀,请求太多了,服务器忙不过来了,请稍等再重试") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.taskDetailLoading3.splice(this.taskDetailLoading3.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.ttaskDetailLoading3.splice(this.ttaskDetailLoading3.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.taskDetailLoading3.splice(_this.taskDetailLoading3.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.ttaskDetailLoading3.splice(_this.ttaskDetailLoading3.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _source.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20644,8 +20877,8 @@ ${_text2}` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           // 处理错误,可以尝试重新连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log('EventSource error:', event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.$message.error("哎呀,请求太多了,服务器忙不过来了,请稍等再重试") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.taskDetailLoading5.splice(this.taskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.ttaskDetailLoading5.splice(this.ttaskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.taskDetailLoading5.splice(_this.taskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.ttaskDetailLoading5.splice(_this.ttaskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _source.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -20836,8 +21069,8 @@ ${(_this.templateid == "4480d65a-1e48-11ef-bee5-005056b86db5" || _this.templatei 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 处理错误,可以尝试重新连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         console.log('EventSource error:', event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _this.$message.error("哎呀,请求太多了,服务器忙不过来了,请稍等再重试") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.taskDetailLoading5.splice(this.taskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        _this.ttaskDetailLoading5.splice(this.ttaskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.taskDetailLoading5.splice(_this.taskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        _this.ttaskDetailLoading5.splice(_this.ttaskDetailLoading5.indexOf(loading), 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _source.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22318,16 +22551,16 @@ ${msg} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // this.timer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // clearInterval(this.timer2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // this.timer2 = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // clearInterval(this.pasteTimer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // this.pasteTimer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    clearInterval(this.pasteTimer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.pasteTimer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   beforeRouteLeave(to, from, next) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // clearTimeout(this.timer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // this.timer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // clearInterval(this.timer2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // this.timer2 = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // clearInterval(this.pasteTimer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    // this.pasteTimer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    clearInterval(this.pasteTimer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.pasteTimer = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     next(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   created() { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22356,6 +22589,8 @@ ${msg} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.aiJson.aiTaskG2 = this.aiJson.aiTaskG2 ? this.aiJson.aiTaskG2 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的互动工具列表。你的任务是,根据教案中提到的学生活动,为学生选择一些平台上有的互动工具,允许他们提交“证据”(即过程性成果)来展示他们的学习进度或者证明他们的学习成果。举例:如果学生活动有观看视频回答问题,那么你就为这一活动匹配选择【问答】工具,允许学生回答问题或者提出他们自己的疑问,如果学生活动有需要学生设计实验或者撰写报告,选用【文档】工具,如果需要学生记录数据,选用【表格】工具,如果需要学生整理或者梳理信息选用【思维导图】,如果需要学生绘制草图,选用【白板】,如果需要学生提交视频,图片,或者ppt,选用【作业提交】。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       this.aiJson.aiTaskG3 = this.aiJson.aiTaskG3 ? this.aiJson.aiTaskG3 : '请根据<教学任务教案> 和 #范例 为该教学任务输出学生任务单中的目标和评价系统。你最主要的任务是提取教案中目标以及评价标准。你的输出需要符合# 输出格式与要求' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.aiJson.agentid = this.aiJson.agentid ? this.aiJson.agentid : '8e71322c-6c2a-11ef-8ce0-12e77c4cb76b' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.aiJson.sagentid = this.aiJson.sagentid ? this.aiJson.sagentid : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     this.loading = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // this.timer2 = setInterval(() => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22364,6 +22599,9 @@ ${msg} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // this.pasteTimer = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     //   this.getPaste(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // }, 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.pasteTimer = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getPaste2(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 500); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // this.selectAllType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -22533,6 +22771,20 @@ ${msg} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin-right: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.leftBar2{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 400px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  min-width: 400px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: calc(100% - 50px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  overflow: auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin: 25px auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-right: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .basic_box { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin: 0 auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   position: relative; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26615,6 +26867,7 @@ ol { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   background: #f4f4f4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  word-break: break-word; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .info_box_t{ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26644,6 +26897,10 @@ ol { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   margin: 0 5px 0 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.info_radio >>> .el-radio, .el-radio__input{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  line-height: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .mode_box{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   display: flex; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -26710,4 +26967,92 @@ ol { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .rateSwitch >>> .el-switch__label--right.is-active::before{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   background-image: url(../../../assets/icon/new/u_op.png); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.inter_box{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  min-width: calc(50%); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  min-height: 500px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-right: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border: 1px solid #c7c7c7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 0px 5px 5px 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  overflow: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.inter_box::before{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  content:'对话区'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding: 8px 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: #e0eafb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: #98a0ac; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 0 15px 15px 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.inter_Detailbox{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border: 1px solid #c7c7c7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 0px 5px 5px 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  overflow: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.inter_Detailbox::before{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  content:'编辑区'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding: 8px 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: #e0eafb; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: #98a0ac; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 0 15px 15px 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.inter_box > iframe{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border: none; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.inter_setting{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-image: url(../../../assets/icon/course/setting.svg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background-size: 100% 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cursor: pointer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-left: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.inter_setting_panel{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: 110px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-radius: 5px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  box-shadow: 0px 0px 2px 1px #00000017; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.panel_title{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 18px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.panel_tips{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-weight: 500; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: #6d6d6d; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.panel_input{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.panel_button{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </style> 
			 |