|
@@ -117,21 +117,19 @@
|
|
|
cid && userid != courseUserid && role != '1',
|
|
|
}">
|
|
|
<div style="width: 100%">
|
|
|
- <div class="course_input_box">
|
|
|
- <div class="bb_courseIcon">
|
|
|
- <img src="../../../assets/icon/new/course.png" />
|
|
|
+ <div class="course_input_box2">
|
|
|
+ <div class="course_input_box">
|
|
|
+ <div class="bb_courseIcon">
|
|
|
+ <img src="../../../assets/icon/new/course.png" />
|
|
|
+ </div>
|
|
|
+ <input type="text" placeholder="请输入课程名称" class="binfo_input" v-model="courseName" @change="setCover" />
|
|
|
+ </div>
|
|
|
+ <div style=" margin-bottom: 15px; display:flex;">
|
|
|
+ <el-switch v-model="isTeacherSee" active-text="是否公开此课程"
|
|
|
+ style="justify-content: center; min-width: 150px;"></el-switch>
|
|
|
+ <el-switch v-model="isFileSearch" active-text="是否开启智能检索"
|
|
|
+ style="justify-content: center; min-width: 175px"></el-switch>
|
|
|
</div>
|
|
|
- <input type="text" placeholder="请输入课程名称" class="binfo_input" v-model="courseName" style="
|
|
|
- border: 1.5px solid rgb(202, 209, 220);
|
|
|
- margin: 0px 10px 0px 0px;
|
|
|
- border-radius: 5px;
|
|
|
- font-weight: 600;
|
|
|
- padding: 12px 14px 12px 71px;
|
|
|
- " @change="setCover" />
|
|
|
- <el-switch v-model="isTeacherSee" active-text="是否公开此课程"
|
|
|
- style="justify-content: center; min-width: 150px"></el-switch>
|
|
|
- <el-switch v-model="isFileSearch" active-text="是否开启智能检索"
|
|
|
- style="justify-content: center; min-width: 175px"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -583,7 +581,7 @@
|
|
|
@click="openAiDialog(2, 'aiteacherTextDetail', 2), addCourseBehavior('courseBehavior', '点击已有教案摘要-智能优化按钮')">智能优化</div>
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="teacherCourseTextB = !teacherCourseTextB,forceUpdate2(), addCourseBehavior('courseBehavior', '点击已有教案摘要-确定/编辑按钮')">{{ teacherCourseTextB ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiteacherTextDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiteacherTextDetail'), addCourseBehavior('courseBehavior', '点击已有教案摘要-引用按钮')"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiteacherTextDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiteacherTextDetail'), addCourseBehavior('courseBehavior', '点击已有教案摘要-引用按钮')"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -616,7 +614,7 @@
|
|
|
@click="openAiDialog(2, 'aitargetTextDetail', 2), addCourseBehavior('courseBehavior', '点击课程目标-智能优化按钮')">智能优化</div>
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="targetCourseTextB = !targetCourseTextB,forceUpdate2(), addCourseBehavior('courseBehavior', '点击课程目标-确定/编辑按钮')">{{ targetCourseTextB ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aitargetTextDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aitargetTextDetail'), addCourseBehavior('courseBehavior', '点击课程目标-引用按钮')"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aitargetTextDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aitargetTextDetail'), addCourseBehavior('courseBehavior', '点击课程目标-引用按钮')"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1110,7 +1108,7 @@
|
|
|
@click="openAiDialog(2, 'aiDetail', 2), addCourseBehavior('courseBehavior', '点击课程简要描述-智能优化按钮')">智能优化</div>
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="courseTextB = !courseTextB,forceUpdate2(), addCourseBehavior('courseBehavior', '点击课程简要描述-确定/编辑按钮')">{{ courseTextB ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiDetail'), addCourseBehavior('courseBehavior', '点击课程简要描述-引用按钮')"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiDetail'), addCourseBehavior('courseBehavior', '点击课程简要描述-引用按钮')"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1155,7 +1153,7 @@
|
|
|
@click="openAiDialog(2, 'aiDetail', 2)">智能优化</div>
|
|
|
</el-tooltip> -->
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="courseTextB = !courseTextB,forceUpdate2(), addCourseBehavior('courseBehavior', '点击课程概况-确定/编辑按钮')">{{ courseTextB ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiDetail'), addCourseBehavior('courseBehavior', '点击课程概况-引用按钮')"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiDetail'), addCourseBehavior('courseBehavior', '点击课程概况-引用按钮')"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1332,7 +1330,7 @@
|
|
|
@click="openAiDialog(2, 'aitargetTextDetail2', 2), addCourseBehavior('courseBehavior', '点击课程目标-智能优化按钮')">智能优化</div>
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="targetCourseText2B = !targetCourseText2B,forceUpdate2(), addCourseBehavior('courseBehavior', '点击课程目标-确定/编辑按钮')">{{ targetCourseText2B ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aitargetTextDetail2']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aitargetTextDetail2'), addCourseBehavior('courseBehavior', '点击课程目标-引用按钮')"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aitargetTextDetail2']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aitargetTextDetail2'), addCourseBehavior('courseBehavior', '点击课程目标-引用按钮')"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1663,7 +1661,7 @@
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="editTask2(index), addCourseBehavior('courseBehavior', `点击课程大纲-任务${index + 1}-确定/编辑按钮`)">{{
|
|
|
item.isTask2 ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail1-'+index]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiDetail1-'+index), addCourseBehavior('courseBehavior', `点击课程大纲-任务${index + 1}-引用按钮`)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail1-'+index]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiDetail1-'+index), addCourseBehavior('courseBehavior', `点击课程大纲-任务${index + 1}-引用按钮`)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1693,7 +1691,7 @@
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="editCpote('cpote1s'), addCourseBehavior('courseBehavior', `点击概念群-确定/编辑按钮`)">{{
|
|
|
cpote.cpote1s ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote1']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiCpote1'), addCourseBehavior('courseBehavior', `点击概念群-引用按钮`)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote1']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiCpote1'), addCourseBehavior('courseBehavior', `点击概念群-引用按钮`)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1722,7 +1720,7 @@
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="editCpote('cpote2s'), addCourseBehavior('courseBehavior', `点击问题链-确定/编辑按钮`)">{{
|
|
|
cpote.cpote2s ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote2']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiCpote2'), addCourseBehavior('courseBehavior', `点击问题链-引用按钮`)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote2']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiCpote2'), addCourseBehavior('courseBehavior', `点击问题链-引用按钮`)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1751,7 +1749,7 @@
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="editCpote('cpote3s'), addCourseBehavior('courseBehavior', `点击目标层-确定/编辑按钮`)">{{
|
|
|
cpote.cpote3s ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote3']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiCpote3'), addCourseBehavior('courseBehavior', `点击目标层-引用按钮`)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote3']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiCpote3'), addCourseBehavior('courseBehavior', `点击目标层-引用按钮`)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1780,7 +1778,7 @@
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="editCpote('cpote4s'), addCourseBehavior('courseBehavior', `点击任务簇-确定/编辑按钮`)">{{
|
|
|
cpote.cpote4s ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote4']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiCpote4'), addCourseBehavior('courseBehavior', `点击任务簇-引用按钮`)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiCpote4']" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiCpote4'), addCourseBehavior('courseBehavior', `点击任务簇-引用按钮`)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -1829,7 +1827,7 @@
|
|
|
</el-tooltip>
|
|
|
<div class="r_pub_button_edit" style="margin-left:10px" @click="editTask3(index)">{{
|
|
|
item.isTask3 ? '确定' : '编辑'}}</div>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['teacherDetail2-'+index]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('teacherDetail2-'+index), addCourseBehavior('courseBehavior', `点击教案-任务${index + 1}-引用按钮`)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['teacherDetail2-'+index]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('teacherDetail2-'+index), addCourseBehavior('courseBehavior', `点击教案-任务${index + 1}-引用按钮`)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -2645,11 +2643,14 @@
|
|
|
@contextmenu.prevent="openAiDialog2(1, 'aiTask2',itemTaskIndex)"
|
|
|
@click="openAiDialog2(2, 'aiTask2',itemTaskIndex)">重新生成任务</button>
|
|
|
</el-tooltip> -->
|
|
|
+ <div style="display: flex">
|
|
|
<el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
|
|
|
<button class="c_pub_button_confirm" style="margin: 0 0 0 20px;"
|
|
|
@contextmenu.prevent="openAiDialog2(1, 'aiTask3',itemTaskIndex), addCourseBehavior('courseBehavior', `右键学历案-任务${itemTaskIndex + 1}-重新生成任务按钮`)"
|
|
|
@click="openAiDialog2(2, 'aiTask3',itemTaskIndex), addCourseBehavior('courseBehavior', `点击学历案-任务${itemTaskIndex + 1}-重新生成任务按钮`)">重新生成任务</button>
|
|
|
</el-tooltip>
|
|
|
+ <button v-if="itemTaskIndex == 0" class="c_pub_button_confirm" style="margin: 0 0 0 20px;" @click="openAiDialog2(2, 'aiTask3','all'), addCourseBehavior('courseBehavior', `点击学历案-重新生成所有任务按钮`)">重新生成所有任务</button>
|
|
|
+ </div>
|
|
|
<!-- <el-tooltip effect="light" content="右键单击可配置提示词" placement="bottom">
|
|
|
<button class="c_pub_button_confirm" style="margin: 0 0 0 20px;"
|
|
|
@contextmenu.prevent="openAiDialog2(1, 'aiTask3','all')"
|
|
@@ -2742,7 +2743,7 @@
|
|
|
itemTaskIndex
|
|
|
], itemTaskIndex), addCourseBehavior('courseBehavior', `点击学历案-任务${itemTaskIndex + 1}-任务描述-智能优化按钮`)">智能优化</div>
|
|
|
</el-tooltip>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail2-'+itemTaskIndex]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiDetail2-'+itemTaskIndex)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail2-'+itemTaskIndex]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiDetail2-'+itemTaskIndex)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -3504,7 +3505,7 @@
|
|
|
background: #fff;
|
|
|
border-radius: 5px;
|
|
|
margin-top: 15px;
|
|
|
- " :style="{paddingBottom:pjTemplateArray.indexOf(templateid) == -1?'':'75px'}">
|
|
|
+ " :style="{paddingBottom: panTaskElist() == 0?'75px':''}">
|
|
|
<div v-if="
|
|
|
unitJson[unitIndex].easy == 6 ||
|
|
|
!unitJson[unitIndex].easy
|
|
@@ -4859,7 +4860,7 @@
|
|
|
@click="openAiDialog(2, 'aiDetail3', itemTool.toolDetail, itemTaskIndex, toolIndex), addCourseBehavior('courseBehavior', `点击学历案-任务${itemTaskIndex + 1}-工具${toolIndex + 1}-工具描述-智能优化按钮`)">
|
|
|
智能优化</div>
|
|
|
</el-tooltip>
|
|
|
- <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail3-'+itemTaskIndex+'-'+toolIndex]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="dialogTemplateArray.indexOf(templateid) != -1" @change="handleSwitchChange('aiDetail3-'+itemTaskIndex+'-'+toolIndex)"></el-switch>
|
|
|
+ <el-switch style="margin-left: 10px" v-model="isQuote['aiDetail3-'+itemTaskIndex+'-'+toolIndex]" active-text="引用" active-color="#0061FF" class="custom-switch" v-if="isDialog == 1" @change="handleSwitchChange('aiDetail3-'+itemTaskIndex+'-'+toolIndex)"></el-switch>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -4874,7 +4875,7 @@
|
|
|
:aiJson="aiJson"
|
|
|
@setEvaList="setEvaList"
|
|
|
@addCourseBehavior="addCourseBehavior"
|
|
|
- v-if="pjTemplateArray.indexOf(templateid) != -1 && pjIndex.indexOf(itemTool.tool[0]) != -1"
|
|
|
+ v-if="panTaskElist() == 0 && pjIndex.indexOf(itemTool.tool[0]) != -1"
|
|
|
:ref="'evalist'+itemTaskIndex+toolIndex"></evaList>
|
|
|
</div>
|
|
|
<button class="c_pub_button_add pub_btn_tool_img" @click="addToolFun(itemTaskIndex), addCourseBehavior('courseBehavior', `点击学历案-任务${itemTaskIndex + 1}-工具描述-添加按钮`)" style="
|
|
@@ -4886,7 +4887,7 @@
|
|
|
</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="elist_css" v-if="pjTemplateArray.indexOf(templateid) != -1 && panElist(itemTask) > 0">
|
|
|
+ <div class="elist_css" v-if="panElist(itemTask) > 0">
|
|
|
<div class="elist_title">
|
|
|
<div style=" display: flex; flex-direction: row; align-items: center; margin: 20px 0; ">
|
|
|
<div class="lineTitle clineTitle" style="width: auto">任务评价体系</div>
|
|
@@ -4896,7 +4897,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="elist_css" v-if="!(unitJson[unitJson.length - 1].easy == 4) && pjTemplateArray.indexOf(templateid) == -1"
|
|
|
+ <div class="elist_css" v-if="panTaskElist() > 0"
|
|
|
v-loading="(taskDetailLoading4.indexOf('task-' + itemTaskIndex) !== -1) || (taskGLoading[itemTaskIndex] && taskGLoading[itemTaskIndex][2])" element-loading-text="小可正在努力生成中,请稍等...">
|
|
|
<div class="elist_title">
|
|
|
<div style="
|
|
@@ -5378,8 +5379,8 @@
|
|
|
<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-show="istemplate != 1 && dialogTemplateArray.indexOf(templateid) != -1 && chatid && isDisplay">
|
|
|
- <!-- <div class="resizer"></div> resizable-->
|
|
|
+ <div class="leftBar2 resizable" v-show="istemplate != 1 && isDialog == 1 && chatid && isDisplay">
|
|
|
+ <div class="resizer"></div>
|
|
|
<aiBoxRight
|
|
|
:languageSetting="languageSetting"
|
|
|
:courseId="chatid"
|
|
@@ -5393,7 +5394,7 @@
|
|
|
@addCourseBehavior="addCourseBehavior"
|
|
|
@setIsQuote="setIsQuote"></aiBoxRight>
|
|
|
</div>
|
|
|
- <div class="close_btn" @click="closeRight" :class="!isDisplay ? 'close_btn_voice' : ''" v-show="istemplate != 1 && dialogTemplateArray.indexOf(templateid) != -1 && chatid">
|
|
|
+ <div class="close_btn" @click="closeRight" :class="!isDisplay ? 'close_btn_voice' : ''" v-show="istemplate != 1 && isDialog == 1 && chatid">
|
|
|
<img src="../../../assets/icon/course/arrow.svg" >
|
|
|
</div>
|
|
|
</div>
|
|
@@ -7430,7 +7431,8 @@ export default {
|
|
|
dialogTemplateArray: [ 'cf5722a4-401b-11ef-b873-005056b86cd2', '68629cfb-e719-48e9-a03d-56f189fb9cb0' ],
|
|
|
taskCancelToken1: [],
|
|
|
taskCancelToken2: [],
|
|
|
- isDisplay: true
|
|
|
+ isDisplay: true,
|
|
|
+ isDialog: 0,
|
|
|
};
|
|
|
},
|
|
|
directives: {
|
|
@@ -7608,6 +7610,20 @@ export default {
|
|
|
return count;
|
|
|
};
|
|
|
},
|
|
|
+ panTaskElist(){
|
|
|
+ return function () {
|
|
|
+ let count = 0;
|
|
|
+ for(var i = 0; i < this.unitJson.length; i++){
|
|
|
+ let _task = this.unitJson[i].chapterInfo[0].taskJson
|
|
|
+ for(var j = 0; j < _task.length; j++){
|
|
|
+ if(_task[j].eList && _task[j].eList.length){
|
|
|
+ count++
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return count;
|
|
|
+ };
|
|
|
+ },
|
|
|
dataCheckPan(){
|
|
|
return function (fileid) {
|
|
|
for(let i = 0; i < this.infoData.length; i++){
|
|
@@ -12233,6 +12249,22 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
|
|
|
// this.aiJson.aiTeacher = '请根据<任务名+单一任务描述>和并参考<课程简要描述>和#参考上下文(上下文中可能蕴含不相关的内容,请你无视不相关内容),为该任务设计详细的教案,教案需要包含该任务的教学目标,教学过程(包含分步骤的教师活动和学生活动,教师活动与学生活动应该一一对应),评价标准(学生能做到...),相关知识点的讲解,练习(练习需要包含示例答案)。'
|
|
|
// }
|
|
|
this.$forceUpdate();
|
|
|
+ this.isDialog = res.data[0][0].isDialog
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((err) => { });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getTipsTemplateIsDialog(){
|
|
|
+ if(this.templateid){
|
|
|
+ let params = {
|
|
|
+ id: this.templateid
|
|
|
+ }
|
|
|
+ this.ajax
|
|
|
+ .get(this.$store.state.api + "selectTipsTemplateById", params)
|
|
|
+ .then((res) => {
|
|
|
+ if(res.data[0].length){
|
|
|
+ this.isDialog = res.data[0][0].isDialog
|
|
|
}
|
|
|
})
|
|
|
.catch((err) => { });
|
|
@@ -14213,6 +14245,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
|
|
|
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;
|
|
|
+ this.getTipsTemplateIsDialog()
|
|
|
}catch(error){
|
|
|
console.error(error)
|
|
|
}
|
|
@@ -14347,6 +14380,7 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
|
|
|
try {
|
|
|
this.aiJson = JSON.parse(res.data[3][0].tips);
|
|
|
this.templateid = res.data[3][0].template;
|
|
|
+ this.getTipsTemplateIsDialog()
|
|
|
}catch(error){
|
|
|
console.error(error)
|
|
|
}
|
|
@@ -15891,12 +15925,12 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
|
|
|
window.course_info = courseInfo
|
|
|
window.course_lang = this.languageSetting
|
|
|
},
|
|
|
- setCover() {
|
|
|
+ setCover(attempts = 0) {
|
|
|
var _this = this;
|
|
|
- if(_this.cover.length){
|
|
|
+ if (_this.cover.length || attempts >= 3) {
|
|
|
return;
|
|
|
}
|
|
|
- _this.imageloading2 = true
|
|
|
+ _this.imageloading2 = true;
|
|
|
_this.ajax
|
|
|
.post("https://gpt.cocorobo.cn/search_image", {
|
|
|
page: _this.ppage,
|
|
@@ -15904,21 +15938,26 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
|
|
|
query: _this.courseName,
|
|
|
})
|
|
|
.then(function (response) {
|
|
|
- // console.log(response.data.data);
|
|
|
- var data = response.data.FunctionResponse.result;
|
|
|
- _this.cover = [];
|
|
|
- setTimeout(() => {
|
|
|
- _this.cover[0] = {
|
|
|
- name: "网络图片.png",
|
|
|
- url: data[0].thumbnail
|
|
|
- };
|
|
|
- _this.imgChange1(null, null, 1, null);
|
|
|
- _this.$forceUpdate();
|
|
|
- }, 0);
|
|
|
- _this.imageloading2 = false
|
|
|
+ var data = (response.data && response.data.FunctionResponse) ? response.data.FunctionResponse.result : '';
|
|
|
+ if(data){
|
|
|
+ _this.cover = [];
|
|
|
+ setTimeout(() => {
|
|
|
+ _this.cover[0] = {
|
|
|
+ name: "网络图片.png",
|
|
|
+ url: data[0].thumbnail,
|
|
|
+ };
|
|
|
+ _this.imgChange1(null, null, 1, null);
|
|
|
+ _this.$forceUpdate();
|
|
|
+ }, 0);
|
|
|
+ _this.imageloading2 = false;
|
|
|
+ }else {
|
|
|
+ _this.imageloading2 = false;
|
|
|
+ _this.setCover(attempts + 1);
|
|
|
+ }
|
|
|
})
|
|
|
.catch(function (error) {
|
|
|
- _this.imageloading2 = false
|
|
|
+ _this.imageloading2 = false;
|
|
|
+ _this.setCover(attempts + 1);
|
|
|
console.log(error);
|
|
|
});
|
|
|
},
|
|
@@ -16501,12 +16540,12 @@ ${_this.unitJson[0].chapterInfo[0].taskJson[index].taskDetail3.replaceAll('#',''
|
|
|
); // 利用file-saver保存文件 自定义文件名
|
|
|
setTimeout(() => {
|
|
|
this.loading = false
|
|
|
- if(!this.cid){
|
|
|
- this.addWork(3)
|
|
|
- }else{
|
|
|
- this.updateWork();
|
|
|
- this.steps = 4;
|
|
|
- }
|
|
|
+ // if(!this.cid){
|
|
|
+ // this.addWork(3)
|
|
|
+ // }else{
|
|
|
+ // this.updateWork();
|
|
|
+ // this.steps = 4;
|
|
|
+ // }
|
|
|
}, 2000);
|
|
|
});
|
|
|
|
|
@@ -18112,7 +18151,11 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
|
|
|
let regex = new RegExp("(?<=```json)([\\s\\S]*?)(?=```)");
|
|
|
let match = data.message.match(regex);
|
|
|
// eval("var aaa = " + match[0])
|
|
|
- dArray = JSON.parse(match[0].replace(/\n/g, ' ').replace(/\s{2,}/g, ' '));
|
|
|
+ if(match && match[0]){
|
|
|
+ dArray = JSON.parse(match[0].replace(/\n/g, ' ').replace(/\s{2,}/g, ' '));
|
|
|
+ }else {
|
|
|
+ dArray = JSON.parse(data.message.replace(/\n/g, ' ').replace(/\s{2,}/g, ' '));
|
|
|
+ }
|
|
|
|
|
|
} catch (error) {
|
|
|
_this.$message.error('返回json格式不正确')
|
|
@@ -19689,7 +19732,7 @@ ${this.courseText && this.aiCallBack[0] == 2 ? '注意,优化原有的<参考
|
|
|
_this.$nextTick(()=>{
|
|
|
setTimeout(() => {
|
|
|
for (var j = 0; j < _task.toolChoose.length; j++) {
|
|
|
- if(_this.pjTemplateArray.indexOf(_this.templateid) !=-1 && _this.pjIndex.indexOf(_this.unitJson[0].chapterInfo[0].taskJson[index].toolChoose[j].tool[0]) != -1){
|
|
|
+ if(_this.panTaskElist() == 0 && _this.pjIndex.indexOf(_this.unitJson[0].chapterInfo[0].taskJson[index].toolChoose[j].tool[0]) != -1){
|
|
|
_this.$refs['evalist'+index+j][0].openAiDialog('elist');
|
|
|
}
|
|
|
}
|
|
@@ -23748,33 +23791,63 @@ ${msg}
|
|
|
next();
|
|
|
},
|
|
|
mounted(){
|
|
|
- // const resizable = this.$el.querySelector('.resizable');
|
|
|
- // const resizer = this.$el.querySelector('.resizer');
|
|
|
- // let startX, startWidth;
|
|
|
-
|
|
|
- // const mouseMoveHandler = (e) => {
|
|
|
- // const dx = startX - e.clientX;
|
|
|
- // const newWidth = startWidth + dx + 40;
|
|
|
- // if (newWidth >= 200 && newWidth <= 600) {
|
|
|
- // resizable.style.width = `${newWidth}px`;
|
|
|
- // }
|
|
|
- // };
|
|
|
-
|
|
|
- // const mouseUpHandler = () => {
|
|
|
- // document.removeEventListener('mousemove', mouseMoveHandler);
|
|
|
- // document.removeEventListener('mouseup', mouseUpHandler);
|
|
|
- // document.body.style.cursor = 'default';
|
|
|
- // };
|
|
|
-
|
|
|
- // const mouseDownHandler = (e) => {
|
|
|
- // startX = e.clientX;
|
|
|
- // startWidth = resizable.getBoundingClientRect().width;
|
|
|
- // document.addEventListener('mousemove', mouseMoveHandler);
|
|
|
- // document.addEventListener('mouseup', mouseUpHandler);
|
|
|
- // document.body.style.cursor = 'ew-resize';
|
|
|
- // };
|
|
|
-
|
|
|
- // resizer.addEventListener('mousedown', mouseDownHandler);
|
|
|
+ const resizable = this.$el.querySelector('.resizable');
|
|
|
+ const resizer = this.$el.querySelector('.resizer');
|
|
|
+ const maxWidth = document.body.offsetWidth / 2;
|
|
|
+ const maxWidth2 = window.innerWidth / 2;
|
|
|
+ let startX, startWidth;
|
|
|
+
|
|
|
+ const mouseMoveHandler = (e) => {
|
|
|
+ e.preventDefault(); // 添加此行以防止选中其他文本
|
|
|
+ const dx = startX - e.clientX;
|
|
|
+ const newWidth = startWidth + dx;
|
|
|
+ if (newWidth >= 350 && newWidth <= maxWidth) {
|
|
|
+ resizable.style.minWidth = `${newWidth}px`;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ const mouseUpHandler = () => {
|
|
|
+ document.removeEventListener('mousemove', mouseMoveHandler);
|
|
|
+ document.removeEventListener('mouseup', mouseUpHandler);
|
|
|
+ document.body.style.cursor = 'default';
|
|
|
+ };
|
|
|
+
|
|
|
+ const mouseDownHandler = (e) => {
|
|
|
+ e.preventDefault(); // 添加此行以防止选中其他文本
|
|
|
+ startX = e.clientX;
|
|
|
+ startWidth = resizable.getBoundingClientRect().width;
|
|
|
+ document.addEventListener('mousemove', mouseMoveHandler);
|
|
|
+ document.addEventListener('mouseup', mouseUpHandler);
|
|
|
+ document.body.style.cursor = 'ew-resize';
|
|
|
+ };
|
|
|
+
|
|
|
+ resizer.addEventListener('mousedown', mouseDownHandler);
|
|
|
+
|
|
|
+ const touchMoveHandler = (e) => {
|
|
|
+ e.preventDefault(); // 添加此行以防止选中其他文本
|
|
|
+ const dx = startX - e.touches[0].clientX;
|
|
|
+ const newWidth = startWidth + dx;
|
|
|
+ if (newWidth >= 350 && newWidth <= maxWidth2) {
|
|
|
+ resizable.style.minWidth = `${newWidth}px`;
|
|
|
+ }
|
|
|
+ };
|
|
|
+
|
|
|
+ const touchEndHandler = () => {
|
|
|
+ document.removeEventListener('touchmove', touchMoveHandler);
|
|
|
+ document.removeEventListener('touchend', touchEndHandler);
|
|
|
+ document.body.style.cursor = 'default';
|
|
|
+ };
|
|
|
+
|
|
|
+ const touchStartHandler = (e) => {
|
|
|
+ e.preventDefault(); // 添加此行以防止选中其他文本
|
|
|
+ startX = e.touches[0].clientX;
|
|
|
+ startWidth = resizable.getBoundingClientRect().width;
|
|
|
+ document.addEventListener('touchmove', touchMoveHandler);
|
|
|
+ document.addEventListener('touchend', touchEndHandler);
|
|
|
+ document.body.style.cursor = 'ew-resize';
|
|
|
+ };
|
|
|
+
|
|
|
+ resizer.addEventListener('touchstart', touchStartHandler);
|
|
|
},
|
|
|
created() {
|
|
|
this.selectFileid();
|
|
@@ -24618,14 +24691,29 @@ ${msg}
|
|
|
.course_input_box {
|
|
|
display: flex;
|
|
|
margin-right: 20px;
|
|
|
+ min-width: 400px;
|
|
|
+ width: calc(100% - 350px);
|
|
|
+ align-items: center;
|
|
|
+ position: relative;
|
|
|
+ margin-bottom: 15px;
|
|
|
+}
|
|
|
+
|
|
|
+.course_input_box2 {
|
|
|
+ display: flex;
|
|
|
width: 100%;
|
|
|
align-items: center;
|
|
|
position: relative;
|
|
|
+ flex-wrap: wrap;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
.course_input_box>.binfo_input {
|
|
|
- width: calc(100% - 0 - 200px - 20px);
|
|
|
- margin: 0 10px;
|
|
|
+ width: calc(100%);
|
|
|
+ margin: 0;
|
|
|
+ border: 1.5px solid rgb(202, 209, 220);
|
|
|
+ border-radius: 5px;
|
|
|
+ font-weight: 600;
|
|
|
+ padding: 12px 14px 12px 71px;
|
|
|
}
|
|
|
|
|
|
.bb_courseIcon {
|
|
@@ -25858,7 +25946,7 @@ ol {
|
|
|
width: 100%;
|
|
|
align-items: center;
|
|
|
justify-content: flex-start;
|
|
|
- margin: 15px 0;
|
|
|
+ margin: 0 0 15px;
|
|
|
}
|
|
|
|
|
|
.notice>>>.el-dialog {
|
|
@@ -27621,7 +27709,7 @@ ol {
|
|
|
}
|
|
|
|
|
|
.pType_box {
|
|
|
- margin-top: 30px;
|
|
|
+ margin: 15px 0;
|
|
|
align-items: flex-end;
|
|
|
}
|
|
|
|
|
@@ -28113,18 +28201,21 @@ ol {
|
|
|
word-break: break-word;
|
|
|
}
|
|
|
|
|
|
-.info_box_t{
|
|
|
+.info_box_t {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
+ flex-wrap: wrap;
|
|
|
}
|
|
|
|
|
|
-.info_box_t + .info_box_t{
|
|
|
+.info_box_t + .info_box_t {
|
|
|
margin-top: 10px;
|
|
|
}
|
|
|
|
|
|
-.info_box_t_box{
|
|
|
+.info_box_t_box {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ margin-bottom: 5px;
|
|
|
}
|
|
|
|
|
|
.info_box_t_box + .info_box_t_box{
|
|
@@ -28331,9 +28422,8 @@ ol {
|
|
|
|
|
|
.resizable {
|
|
|
position: relative;
|
|
|
-
|
|
|
- min-width: 200px; /* 最小宽度 */
|
|
|
- max-width: 600px; /* 最大宽度 */
|
|
|
+ min-width: 350px; /* 最小宽度 */
|
|
|
+ max-width: 50%; /* 最大宽度 */
|
|
|
}
|
|
|
|
|
|
.resizer {
|
|
@@ -28345,5 +28435,6 @@ ol {
|
|
|
left: 0;
|
|
|
cursor: ew-resize;
|
|
|
transform: translateY(-50%);
|
|
|
+ border-radius: 43px;
|
|
|
}
|
|
|
</style>
|