|
@@ -230,7 +230,7 @@
|
|
<div v-if="t.tool == 26">课程设计</div>
|
|
<div v-if="t.tool == 26">课程设计</div>
|
|
<div v-if="t.tool == 62">交互视频</div>
|
|
<div v-if="t.tool == 62">交互视频</div>
|
|
<div v-if="t.tool == 71">AI智能体</div>
|
|
<div v-if="t.tool == 71">AI智能体</div>
|
|
-
|
|
|
|
|
|
+ <div v-if="t.tool == 72">应用中心</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -240,10 +240,10 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- :class="{ navLeftCss: !mlDialog }" -->
|
|
<!-- :class="{ navLeftCss: !mlDialog }" -->
|
|
- <div class="body_student" :style="{width: mlDialog ? 'calc(100% - '+`${!['2'].includes(tType)?classRoomHelperWidth:'10px'}`+' - 20% - 40px)' : 'calc(100% - '+`${!['2'].includes(tType)?classRoomHelperWidth:'10px'}`+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
|
|
|
|
- <div class="new_topFixed" :style="{width: mlDialog ? 'calc(100% - '+`${!['2'].includes(tType)?classRoomHelperWidth:'10px'}`+' - 20% - 40px)' : 'calc(100% - '+`${!['2'].includes(tType)?classRoomHelperWidth:'10px'}`+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }"></div>
|
|
|
|
- <div class="new_top" :style="{width: mlDialog ? 'calc(100% - '+`${!['2'].includes(tType)?classRoomHelperWidth:'10px'}`+' - 20% - 47px)' : 'calc(100% - '+`${!['2'].includes(tType)?classRoomHelperWidth:'10px'}`+' - 18px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
|
|
|
|
- <div class="courseIndex" :style="{width: (orgArray.includes(org) || oidArray.includes(oid)) && !['2'].includes(tType) ? '100%' : 'calc(100% - 745px)'}">
|
|
|
|
|
|
+ <div class="body_student" :style="{width: mlDialog ? 'calc(100% - '+`${(!['2'].includes(tType) || canUseCourseId.includes(id))?classRoomHelperWidth:'10px'}`+' - 20% - 40px)' : 'calc(100% - '+`${(!['2'].includes(tType) || canUseCourseId.includes(id))?classRoomHelperWidth:'10px'}`+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
|
|
|
|
+ <div class="new_topFixed" :style="{width: mlDialog ? 'calc(100% - '+`${(!['2'].includes(tType) || canUseCourseId.includes(id))?classRoomHelperWidth:'10px'}`+' - 20% - 40px)' : 'calc(100% - '+`${(!['2'].includes(tType) || canUseCourseId.includes(id))?classRoomHelperWidth:'10px'}`+' - 10px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }"></div>
|
|
|
|
+ <div class="new_top" :style="{width: mlDialog ? 'calc(100% - '+`${(!['2'].includes(tType) || canUseCourseId.includes(id))?classRoomHelperWidth:'10px'}`+' - 20% - 47px)' : 'calc(100% - '+`${(!['2'].includes(tType) || canUseCourseId.includes(id))?classRoomHelperWidth:'10px'}`+' - 18px)', left: mlDialog ? 'calc(20% + 35px)' : '10px' }">
|
|
|
|
+ <div class="courseIndex" :style="{width: (orgArray.includes(org) || oidArray.includes(oid)) && (!['2'].includes(tType) || canUseCourseId.includes(id)) ? '100%' : 'calc(100% - 745px)'}">
|
|
<div>任务{{ taskCount + 1 }}</div>
|
|
<div>任务{{ taskCount + 1 }}</div>
|
|
<el-tooltip
|
|
<el-tooltip
|
|
effect="light"
|
|
effect="light"
|
|
@@ -260,7 +260,7 @@
|
|
</div>
|
|
</div>
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
</div>
|
|
</div>
|
|
- <div class="btnAll" v-show="!orgArray.includes(org) && !oidArray.includes(oid) || ['2'].includes(tType)"><!--v-show="org !== '1973f6c7-1561-11ee-91d8-005056b86db5' || org !== '777559d2-7239-11ee-b98c-005056b86db5'"-->
|
|
|
|
|
|
+ <div class="btnAll" v-show="!orgArray.includes(org) && !oidArray.includes(oid) || (['2'].includes(tType) && !canUseCourseId.includes(id))"><!--v-show="org !== '1973f6c7-1561-11ee-91d8-005056b86db5' || org !== '777559d2-7239-11ee-b98c-005056b86db5'"-->
|
|
<div class="btnLeft">
|
|
<div class="btnLeft">
|
|
<el-tooltip effect="light" content="刷新" placement="top">
|
|
<el-tooltip effect="light" content="刷新" placement="top">
|
|
<div class="reBtnIcon" @click="refreshCourse">
|
|
<div class="reBtnIcon" @click="refreshCourse">
|
|
@@ -1012,6 +1012,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">问卷调查</div>
|
|
<div style="margin: 5px 0">问卷调查</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,4)"
|
|
|
|
+ style="position: absolute;right: 153px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
<div class="upload_toolBtn" v-if="tType==='1'" @click="openStatisticalAnalysis(tooC,toolIndex,taskCount)"
|
|
<div class="upload_toolBtn" v-if="tType==='1'" @click="openStatisticalAnalysis(tooC,toolIndex,taskCount)"
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
style="position: absolute;right: 33px;top: -30px;">
|
|
统计分析
|
|
统计分析
|
|
@@ -1074,6 +1078,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">训练服务器</div>
|
|
<div style="margin: 5px 0">训练服务器</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,18)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 16">
|
|
<div v-if="tooC == 16">
|
|
<img
|
|
<img
|
|
@@ -1098,6 +1106,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">AIoT Blockly</div>
|
|
<div style="margin: 5px 0">AIoT Blockly</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,21)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<!-- <div v-if="tooC == 22">
|
|
<!-- <div v-if="tooC == 22">
|
|
<img
|
|
<img
|
|
@@ -1114,6 +1126,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">AI Python</div>
|
|
<div style="margin: 5px 0">AI Python</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,23)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 24">
|
|
<div v-if="tooC == 24">
|
|
<img
|
|
<img
|
|
@@ -1122,6 +1138,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">AI Blockly</div>
|
|
<div style="margin: 5px 0">AI Blockly</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,24)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 25">
|
|
<div v-if="tooC == 25">
|
|
<img
|
|
<img
|
|
@@ -1138,6 +1158,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">数学画板</div>
|
|
<div style="margin: 5px 0">数学画板</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,31)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 28">
|
|
<div v-if="tooC == 28">
|
|
<img
|
|
<img
|
|
@@ -1146,6 +1170,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">翻译</div>
|
|
<div style="margin: 5px 0">翻译</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,28)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 37">
|
|
<div v-if="tooC == 37">
|
|
<img
|
|
<img
|
|
@@ -1170,6 +1198,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">GeoGebra</div>
|
|
<div style="margin: 5px 0">GeoGebra</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,39)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 32">
|
|
<div v-if="tooC == 32">
|
|
<img
|
|
<img
|
|
@@ -1178,6 +1210,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">源码编辑</div>
|
|
<div style="margin: 5px 0">源码编辑</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,32)"
|
|
|
|
+ style="position: absolute;right: 153px;top: -42px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
<!-- <div class="upload_toolBtn" @click="addImg($event)"
|
|
<!-- <div class="upload_toolBtn" @click="addImg($event)"
|
|
style="position: absolute;left: 110px;bottom: 30px;">
|
|
style="position: absolute;left: 110px;bottom: 30px;">
|
|
上传文件
|
|
上传文件
|
|
@@ -1272,6 +1308,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">CocoPi</div>
|
|
<div style="margin: 5px 0">CocoPi</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,57)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 58">
|
|
<div v-if="tooC == 58">
|
|
<img
|
|
<img
|
|
@@ -1320,6 +1360,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">海龟编程</div>
|
|
<div style="margin: 5px 0">海龟编程</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,63)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 71">
|
|
<div v-if="tooC == 71">
|
|
<img
|
|
<img
|
|
@@ -1328,6 +1372,28 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">AI智能体</div>
|
|
<div style="margin: 5px 0">AI智能体</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,71)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-if="tooC == 72">
|
|
|
|
+ <img
|
|
|
|
+ v-if="tool.appJson && tool.appJson.json && tool.appJson.json.icon"
|
|
|
|
+ @click="addTools(tooC, toolIndex, taskCount)"
|
|
|
|
+ :src="tool.appJson.json.icon"
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ <img
|
|
|
|
+ v-else
|
|
|
|
+ @click="addTools(tooC, toolIndex, taskCount)"
|
|
|
|
+ src="../assets/icon/firstToolList/appStore.png"
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ <el-tooltip :content="tool.appJson && tool.appJson.name ? tool.appJson.name : '应用中心'" placement="top" effect="dark">
|
|
|
|
+ <!-- content to trigger tooltip here -->
|
|
|
|
+ <div style="margin: 5px 0;width: 85px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{tool.appJson && tool.appJson.name ? tool.appJson.name : '应用中心'}}</div>
|
|
|
|
+ </el-tooltip>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 65">
|
|
<div v-if="tooC == 65">
|
|
<img
|
|
<img
|
|
@@ -1344,6 +1410,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">公式编辑</div>
|
|
<div style="margin: 5px 0">公式编辑</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,66)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 67">
|
|
<div v-if="tooC == 67">
|
|
<img
|
|
<img
|
|
@@ -1360,6 +1430,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">时间轴</div>
|
|
<div style="margin: 5px 0">时间轴</div>
|
|
|
|
+ <!-- <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,68)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div> -->
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 69">
|
|
<div v-if="tooC == 69">
|
|
<img
|
|
<img
|
|
@@ -1368,6 +1442,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">英语写作</div>
|
|
<div style="margin: 5px 0">英语写作</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,69)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 70">
|
|
<div v-if="tooC == 70">
|
|
<img
|
|
<img
|
|
@@ -1376,6 +1454,10 @@
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
<div style="margin: 5px 0">英语口语</div>
|
|
<div style="margin: 5px 0">英语口语</div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,70)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -8133,7 +8215,7 @@
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
|
|
<!-- v-show="org == '1973f6c7-1561-11ee-91d8-005056b86db5' || org == '777559d2-7239-11ee-b98c-005056b86db5' || org == '884c5665-a453-46f3-b7b6-01d575290aa9'" -->
|
|
- <classRoomHelper v-if="!['2'].includes(tType)" @studentFreePreview="studentFreePreview" @OpenJobPreview="OpenJobPreview" :videoStart="videoStart" :IsFollow="IsFollow" :sIsOpen="sIsOpen" :IsLookOpen="IsLookOpen" :splitScreenData="splitScreenData" @splitScreenBehavior="splitScreenBehavior" @startRecording="startRecording" @stopRecording="stopRecording" :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
|
|
|
|
|
|
+ <classRoomHelper v-if="!['2'].includes(tType) || canUseCourseId.includes(id)" @studentFreePreview="studentFreePreview" @OpenJobPreview="OpenJobPreview" :videoStart="videoStart" :IsFollow="IsFollow" :sIsOpen="sIsOpen" :IsLookOpen="IsLookOpen" :splitScreenData="splitScreenData" @splitScreenBehavior="splitScreenBehavior" @startRecording="startRecording" @stopRecording="stopRecording" :fileList="vChapterData[taskCount]" :worksStudent="worksStudent" :courseType="parseInt(courseType)" :taskCount="taskCount" :tcid="tcid" :navList="navList" v-show="orgArray.includes(org) || oidArray.includes(oid)" ref="classRoomHelperRef" :courseDetail="courseDetail" :tType="tType" @setWidth="setClassRoomHelperWidth" @refresh="refreshCourse" @goStep="nextOrpreSteps" @authority="juriVisible = true" @review="setPz" @backPage="goTo(
|
|
'/courseDetail?userid=' +
|
|
'/courseDetail?userid=' +
|
|
userid +
|
|
userid +
|
|
'&oid=' +
|
|
'&oid=' +
|
|
@@ -9991,7 +10073,7 @@
|
|
<div style="height: 100%;position: relative;">
|
|
<div style="height: 100%;position: relative;">
|
|
<el-button
|
|
<el-button
|
|
v-if="(splitScreenData.isOpen && (splitScreenData.uid != splitScreenData.myUid))"
|
|
v-if="(splitScreenData.isOpen && (splitScreenData.uid != splitScreenData.myUid))"
|
|
- size="medium"
|
|
|
|
|
|
+ size="medium"
|
|
type="primary"
|
|
type="primary"
|
|
@click="
|
|
@click="
|
|
() => {
|
|
() => {
|
|
@@ -11976,6 +12058,12 @@
|
|
:taskCount="taskCount"
|
|
:taskCount="taskCount"
|
|
:tType="tType"
|
|
:tType="tType"
|
|
:sIsOpen="sIsOpen"
|
|
:sIsOpen="sIsOpen"
|
|
|
|
+ :courseDetail="courseDetail"
|
|
|
|
+ :groupStudent2="groupStudent"
|
|
|
|
+ :groupStudentUid2="groupStudentUid"
|
|
|
|
+ :oid="oid"
|
|
|
|
+ :org="org"
|
|
|
|
+ @getCourseDetail="getCourseDetail"
|
|
@selectSLook="selectSLook"
|
|
@selectSLook="selectSLook"
|
|
@selectSWorks="selectSWorks"
|
|
@selectSWorks="selectSWorks"
|
|
@selectStudent="selectStudent"
|
|
@selectStudent="selectStudent"
|
|
@@ -11999,12 +12087,12 @@
|
|
<div style="margin-bottom: 10px;">接下来你将跟随老师一起开始今天的学习! </div>
|
|
<div style="margin-bottom: 10px;">接下来你将跟随老师一起开始今天的学习! </div>
|
|
<div>要认真听讲哦~</div>
|
|
<div>要认真听讲哦~</div>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
|
|
+
|
|
|
|
|
|
<div style="text-align: center;">
|
|
<div style="text-align: center;">
|
|
<el-button type="primary" style="width: 95%;" @click="confirmOpen">开始学习</el-button>
|
|
<el-button type="primary" style="width: 95%;" @click="confirmOpen">开始学习</el-button>
|
|
</div>
|
|
</div>
|
|
-
|
|
|
|
|
|
+
|
|
</el-dialog>
|
|
</el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -12548,7 +12636,8 @@ export default {
|
|
behavior:null,
|
|
behavior:null,
|
|
},
|
|
},
|
|
confirmOpenDig:false,
|
|
confirmOpenDig:false,
|
|
- confirmOpenDigData:''
|
|
|
|
|
|
+ confirmOpenDigData:'',
|
|
|
|
+ canUseCourseId: ['bfbe1913-2f87-11ef-bf55-005056b86db5','3a64b199-d2eb-11ef-a2d1-005056b86db5', 'bb0b1995-0207-11ef-b534-005056b86db5', 'f77921c8-d2f1-11ef-a2d1-005056b86db5']
|
|
};
|
|
};
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
@@ -12860,7 +12949,7 @@ export default {
|
|
let scrollBody = document.querySelector('.body_student').parentElement
|
|
let scrollBody = document.querySelector('.body_student').parentElement
|
|
scrollBody.scrollTop = scrollBody.scrollTop - 100
|
|
scrollBody.scrollTop = scrollBody.scrollTop - 100
|
|
}, 0);
|
|
}, 0);
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
let flag = this.courseType == i;
|
|
let flag = this.courseType == i;
|
|
let flag2 = this.taskCount == j
|
|
let flag2 = this.taskCount == j
|
|
@@ -16384,7 +16473,7 @@ export default {
|
|
this.$message.error("已经开启跟随模式,请认真跟堂听讲");
|
|
this.$message.error("已经开启跟随模式,请认真跟堂听讲");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- if (this.IsLookOpen &&
|
|
|
|
|
|
+ if (this.IsLookOpen &&
|
|
this.courseDetail.userid != this.userid &&
|
|
this.courseDetail.userid != this.userid &&
|
|
this.courseDetail.course_teacher.indexOf(this.userid) ==-1) {
|
|
this.courseDetail.course_teacher.indexOf(this.userid) ==-1) {
|
|
if (
|
|
if (
|
|
@@ -16609,6 +16698,8 @@ export default {
|
|
this.ajax
|
|
this.ajax
|
|
.get(this.$store.state.api + "selectCourseDetail3", params)
|
|
.get(this.$store.state.api + "selectCourseDetail3", params)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
|
|
+ this.addCourseState(1, JSON.parse(res.data[0][0].chapters));
|
|
|
|
+
|
|
if (type != 2) {
|
|
if (type != 2) {
|
|
loading.close();
|
|
loading.close();
|
|
if (
|
|
if (
|
|
@@ -16668,7 +16759,7 @@ export default {
|
|
});
|
|
});
|
|
this.fileC[i] = c.filter((el) => {
|
|
this.fileC[i] = c.filter((el) => {
|
|
return el.type == 12;
|
|
return el.type == 12;
|
|
- });
|
|
|
|
|
|
+ });
|
|
if (this.tType == 2) {
|
|
if (this.tType == 2) {
|
|
if (this.fileC[i].length) {
|
|
if (this.fileC[i].length) {
|
|
let yym1 = this.fileC[i].filter(e=>{
|
|
let yym1 = this.fileC[i].filter(e=>{
|
|
@@ -17031,9 +17122,9 @@ export default {
|
|
_this.timer = setInterval(function () {
|
|
_this.timer = setInterval(function () {
|
|
// _this.getCourseDetail(2);
|
|
// _this.getCourseDetail(2);
|
|
if (_this.tcid) {
|
|
if (_this.tcid) {
|
|
- _this.getCourseGroup(gindex);
|
|
|
|
|
|
+ _this.getCourseGroup();
|
|
} else {
|
|
} else {
|
|
- _this.selectSWorks(gindex);
|
|
|
|
|
|
+ _this.selectSWorks();
|
|
}
|
|
}
|
|
|
|
|
|
_this.selectStudent();
|
|
_this.selectStudent();
|
|
@@ -17463,9 +17554,10 @@ export default {
|
|
this.IsFollow = res.data[0][0].follow == 1 ? false : true;
|
|
this.IsFollow = res.data[0][0].follow == 1 ? false : true;
|
|
if (!this.IsLookOpen) {
|
|
if (!this.IsLookOpen) {
|
|
this.setNavList();
|
|
this.setNavList();
|
|
- } else {
|
|
|
|
- this.getCourseState(1);
|
|
|
|
}
|
|
}
|
|
|
|
+ // else {
|
|
|
|
+ this.getCourseState(1);
|
|
|
|
+ // }
|
|
|
|
|
|
if ((this.IsFollow && this.tType == 2)) {
|
|
if ((this.IsFollow && this.tType == 2)) {
|
|
this.setContent2(false);
|
|
this.setContent2(false);
|
|
@@ -17563,8 +17655,11 @@ export default {
|
|
this.ajax
|
|
this.ajax
|
|
.get(this.$store.state.api + "getCourseState", params)
|
|
.get(this.$store.state.api + "getCourseState", params)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
- if (res.data[0].length > 0 && this.IsLookOpen && type == 1) {
|
|
|
|
|
|
+ if (res.data[0].length > 0) {
|
|
this.chapInfoList = JSON.parse(res.data[0][0].state);
|
|
this.chapInfoList = JSON.parse(res.data[0][0].state);
|
|
|
|
+ }
|
|
|
|
+ if (res.data[0].length > 0 && this.IsLookOpen && type == 1) {
|
|
|
|
+ // this.chapInfoList = JSON.parse(res.data[0][0].state);
|
|
this.setNavList();
|
|
this.setNavList();
|
|
this.$forceUpdate();
|
|
this.$forceUpdate();
|
|
} else if (res.data[0].length > 0 && this.IsLookOpen && type == 2) {
|
|
} else if (res.data[0].length > 0 && this.IsLookOpen && type == 2) {
|
|
@@ -17885,6 +17980,8 @@ export default {
|
|
type: 2,
|
|
type: 2,
|
|
},
|
|
},
|
|
];
|
|
];
|
|
|
|
+ console.log('params',params);
|
|
|
|
+
|
|
this.ajax
|
|
this.ajax
|
|
.post(this.$store.state.api + "addCourseWorks", params)
|
|
.post(this.$store.state.api + "addCourseWorks", params)
|
|
.then((res) => {
|
|
.then((res) => {
|
|
@@ -18509,6 +18606,18 @@ export default {
|
|
// return
|
|
// return
|
|
// }
|
|
// }
|
|
window.parent.postMessage({ tools: "71" }, "*");
|
|
window.parent.postMessage({ tools: "71" }, "*");
|
|
|
|
+ } else if (t == 72) {
|
|
|
|
+ let item = this.chapInfoList[this.courseType].chapterInfo[0]
|
|
|
|
+ .taskJson[index].toolChoose[i].appJson
|
|
|
|
+ ? this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index]
|
|
|
|
+ .toolChoose[i].appJson
|
|
|
|
+ : "";
|
|
|
|
+ if(!item || !item.url){
|
|
|
|
+ this.$message.error("应用连接为空, 请到课程管理中添加");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ // window.open(item.url, "_blank");
|
|
|
|
+ window.parent.postMessage({ tools: "72", data: item }, "*");
|
|
} else if (t == 69) {
|
|
} else if (t == 69) {
|
|
if (this.worksStudent[i].length) {
|
|
if (this.worksStudent[i].length) {
|
|
for (var k = 0; k < this.worksStudent[i].length; k++) {
|
|
for (var k = 0; k < this.worksStudent[i].length; k++) {
|
|
@@ -19859,7 +19968,7 @@ export default {
|
|
},
|
|
},
|
|
openWordCloud(toolindex) {
|
|
openWordCloud(toolindex) {
|
|
this.wordCloudData = '';
|
|
this.wordCloudData = '';
|
|
-
|
|
|
|
|
|
+
|
|
let array = [];
|
|
let array = [];
|
|
for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
|
|
for (var i = 0; i < this.worksStudent[toolindex].length; i++) {
|
|
let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
|
|
let works = JSON.parse(this.worksStudent[toolindex][i].works)[0].answer;
|
|
@@ -19879,7 +19988,7 @@ export default {
|
|
_result +=e.name+','
|
|
_result +=e.name+','
|
|
})
|
|
})
|
|
this.wordCloudData = _result;
|
|
this.wordCloudData = _result;
|
|
-
|
|
|
|
|
|
+
|
|
this.dialogVisibleWordCloud = true;
|
|
this.dialogVisibleWordCloud = true;
|
|
this.wordCloudKey += 1;
|
|
this.wordCloudKey += 1;
|
|
|
|
|
|
@@ -20392,16 +20501,17 @@ export default {
|
|
this.confirmOpenDig = false
|
|
this.confirmOpenDig = false
|
|
if (!document.fullscreenElement) {
|
|
if (!document.fullscreenElement) {
|
|
this.enterFullScreen();
|
|
this.enterFullScreen();
|
|
- }
|
|
|
|
|
|
+ }
|
|
if (this.timer2) {
|
|
if (this.timer2) {
|
|
clearInterval(this.timer2);
|
|
clearInterval(this.timer2);
|
|
this.timer2 = null;
|
|
this.timer2 = null;
|
|
- }
|
|
|
|
|
|
+ }
|
|
this.timer2 = setInterval(()=> {
|
|
this.timer2 = setInterval(()=> {
|
|
this.getSplitScreenData();//获取分屏数据
|
|
this.getSplitScreenData();//获取分屏数据
|
|
}, 1000);
|
|
}, 1000);
|
|
this.$message.success("分屏模式已开启");
|
|
this.$message.success("分屏模式已开启");
|
|
},
|
|
},
|
|
|
|
+ // 获取分屏数据
|
|
getSplitScreenData() {
|
|
getSplitScreenData() {
|
|
// return;
|
|
// return;
|
|
// if (this.tType != 1) return;
|
|
// if (this.tType != 1) return;
|
|
@@ -20427,7 +20537,7 @@ export default {
|
|
await this.updateSplitScreenData(1);
|
|
await this.updateSplitScreenData(1);
|
|
} else if (!this.splitScreenData.isOpen && data.isOpen) {
|
|
} else if (!this.splitScreenData.isOpen && data.isOpen) {
|
|
this.confirmOpenDig = true
|
|
this.confirmOpenDig = true
|
|
- this.confirmOpenDigData = data
|
|
|
|
|
|
+ this.confirmOpenDigData = data
|
|
} else if (this.splitScreenData.isOpen && !data.isOpen) {
|
|
} else if (this.splitScreenData.isOpen && !data.isOpen) {
|
|
this.splitScreenData.isOpen = false;
|
|
this.splitScreenData.isOpen = false;
|
|
this.splitScreenData.userId = "";
|
|
this.splitScreenData.userId = "";
|
|
@@ -20466,7 +20576,7 @@ export default {
|
|
.then(() => {
|
|
.then(() => {
|
|
if (document.fullscreenElement) {
|
|
if (document.fullscreenElement) {
|
|
this.exitFullScreen();
|
|
this.exitFullScreen();
|
|
- }
|
|
|
|
|
|
+ }
|
|
})
|
|
})
|
|
.catch(() => {});
|
|
.catch(() => {});
|
|
}
|
|
}
|
|
@@ -20476,16 +20586,22 @@ export default {
|
|
console.log("获取分屏数出错:", e);
|
|
console.log("获取分屏数出错:", e);
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ // 操作
|
|
doSplitScreenBehavior() {
|
|
doSplitScreenBehavior() {
|
|
if (
|
|
if (
|
|
this.splitScreenData.isOpen &&
|
|
this.splitScreenData.isOpen &&
|
|
this.splitScreenData.uid != this.splitScreenData.myUid
|
|
this.splitScreenData.uid != this.splitScreenData.myUid
|
|
) {
|
|
) {
|
|
let behavior = this.splitScreenData.behavior;
|
|
let behavior = this.splitScreenData.behavior;
|
|
|
|
+
|
|
if (behavior) {
|
|
if (behavior) {
|
|
|
|
+ // console.log('behavior',behavior);
|
|
|
|
+
|
|
|
|
+ // this.toolindex = behavior.form.toolType
|
|
|
|
+ // 初始状态
|
|
if (behavior.code === 99) {
|
|
if (behavior.code === 99) {
|
|
//初始化
|
|
//初始化
|
|
- this.fullDialogVisible = false;
|
|
|
|
|
|
+ this.fullDialogVisible = false;
|
|
if(this.$refs.choseWorksDetailDialogRef.show){
|
|
if(this.$refs.choseWorksDetailDialogRef.show){
|
|
this.$refs.choseWorksDetailDialogRef.close();
|
|
this.$refs.choseWorksDetailDialogRef.close();
|
|
}
|
|
}
|
|
@@ -20493,12 +20609,14 @@ export default {
|
|
this.$refs.statisticalAnalysisRef.close();
|
|
this.$refs.statisticalAnalysisRef.close();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ // 文件列表
|
|
if (behavior.code === 0) {
|
|
if (behavior.code === 0) {
|
|
//开启内容列表弹窗
|
|
//开启内容列表弹窗
|
|
this.checkFileFull1(behavior.form.t, behavior.form.f);
|
|
this.checkFileFull1(behavior.form.t, behavior.form.f);
|
|
}else{
|
|
}else{
|
|
- this.fullDialogVisible = false;
|
|
|
|
|
|
+ this.fullDialogVisible = false;
|
|
}
|
|
}
|
|
|
|
+ // 打开工具
|
|
if (behavior.code === 1) {
|
|
if (behavior.code === 1) {
|
|
//关于选择题的作业详细的操作
|
|
//关于选择题的作业详细的操作
|
|
// toolIndex:toolIndex,courseType:this.courseType,taskCount:this.taskCount,type:0
|
|
// toolIndex:toolIndex,courseType:this.courseType,taskCount:this.taskCount,type:0
|
|
@@ -20517,6 +20635,7 @@ export default {
|
|
}else{
|
|
}else{
|
|
this.$refs.choseWorksDetailDialogRef.close()
|
|
this.$refs.choseWorksDetailDialogRef.close()
|
|
}
|
|
}
|
|
|
|
+ // 问卷调查
|
|
if(behavior.code === 2){
|
|
if(behavior.code === 2){
|
|
if(this.$refs.statisticalAnalysisRef.show){
|
|
if(this.$refs.statisticalAnalysisRef.show){
|
|
this.$refs.statisticalAnalysisRef.splitScreenFn({type:behavior.form.type})
|
|
this.$refs.statisticalAnalysisRef.splitScreenFn({type:behavior.form.type})
|
|
@@ -20537,7 +20656,7 @@ export default {
|
|
|
|
|
|
// console.log('behavior.form',behavior.form.courseType,behavior.form.taskCount,behavior.form.toolType);
|
|
// console.log('behavior.form',behavior.form.courseType,behavior.form.taskCount,behavior.form.toolType);
|
|
// console.log('666666',this.courseType,this.taskCount,this.toolindex);
|
|
// console.log('666666',this.courseType,this.taskCount,this.toolindex);
|
|
-
|
|
|
|
|
|
+
|
|
if (behavior.form.courseType != this.courseType ||
|
|
if (behavior.form.courseType != this.courseType ||
|
|
behavior.form.taskCount != this.taskCount ||
|
|
behavior.form.taskCount != this.taskCount ||
|
|
behavior.form.toolType != this.toolindex
|
|
behavior.form.toolType != this.toolindex
|
|
@@ -20561,7 +20680,7 @@ export default {
|
|
if(this.taskCount !=behavior.form.taskCount){
|
|
if(this.taskCount !=behavior.form.taskCount){
|
|
this.taskCount = behavior.form.taskCount;
|
|
this.taskCount = behavior.form.taskCount;
|
|
}
|
|
}
|
|
- if(this.toolindex != behavior.form.toolType){
|
|
|
|
|
|
+ if((behavior.form.toolType || behavior.form.toolType == 0) && this.toolindex != behavior.form.toolType){
|
|
this.toolindex = behavior.form.toolType;
|
|
this.toolindex = behavior.form.toolType;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -20575,12 +20694,13 @@ export default {
|
|
}
|
|
}
|
|
this.setContent2(false)
|
|
this.setContent2(false)
|
|
|
|
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ // 修改分屏数据
|
|
updateSplitScreenData(empty = 0) {
|
|
updateSplitScreenData(empty = 0) {
|
|
return new Promise(resolve => {
|
|
return new Promise(resolve => {
|
|
if(this.userid!==this.courseDetail.userid){
|
|
if(this.userid!==this.courseDetail.userid){
|
|
@@ -20641,6 +20761,7 @@ export default {
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ // 修改分屏数据
|
|
changeSplitScreenBehavior(newValue) {
|
|
changeSplitScreenBehavior(newValue) {
|
|
if (
|
|
if (
|
|
this.splitScreenData.isOpen &&
|
|
this.splitScreenData.isOpen &&
|
|
@@ -20658,7 +20779,7 @@ export default {
|
|
}else{
|
|
}else{
|
|
_behavior.form = {
|
|
_behavior.form = {
|
|
taskCount:this.taskCount,
|
|
taskCount:this.taskCount,
|
|
- courseType:this.courseType
|
|
|
|
|
|
+ courseType:this.courseType,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.splitScreenData.behavior = _behavior;
|
|
this.splitScreenData.behavior = _behavior;
|