|
@@ -1,5 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<div class="pb_content" style="height: 100%;overflow: unset;">
|
|
<div class="pb_content" style="height: 100%;overflow: unset;">
|
|
|
|
+ <!-- 阶段模式 -->
|
|
<div
|
|
<div
|
|
class="pb_content_body"
|
|
class="pb_content_body"
|
|
style="
|
|
style="
|
|
@@ -1379,11 +1380,28 @@
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 72">
|
|
<div v-if="tooC == 72">
|
|
<img
|
|
<img
|
|
|
|
+ style="height: 85px;object-fit: cover;"
|
|
|
|
+ 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)"
|
|
@click="addTools(tooC, toolIndex, taskCount)"
|
|
src="../assets/icon/firstToolList/appStore.png"
|
|
src="../assets/icon/firstToolList/appStore.png"
|
|
alt
|
|
alt
|
|
/>
|
|
/>
|
|
- <div style="margin: 5px 0">应用中心</div>
|
|
|
|
|
|
+ <el-tooltip :content="tool.appJson && tool.appJson.name ? tool.appJson.name : '应用中心'" placement="top" effect="dark">
|
|
|
|
+ <!-- content to trigger tooltip here -->
|
|
|
|
+ <div class="Ovh">
|
|
|
|
+ {{tool.appJson && tool.appJson.name ? tool.appJson.name : '应用中心'}}
|
|
|
|
+ </div>
|
|
|
|
+ <div class="upload_toolBtn" @click="openChoseWorksDetailDialog(tooC,toolIndex,taskCount,72)"
|
|
|
|
+ style="position: absolute;right: 33px;top: -30px;">
|
|
|
|
+ 投影
|
|
|
|
+ </div>
|
|
|
|
+ </el-tooltip>
|
|
</div>
|
|
</div>
|
|
<div v-if="tooC == 65">
|
|
<div v-if="tooC == 65">
|
|
<img
|
|
<img
|
|
@@ -3612,6 +3630,282 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ tType &&
|
|
|
|
+ ((tType == 2 && sIsOpen == true) ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4) &&
|
|
|
|
+ tool.tool.indexOf(72) != -1
|
|
|
|
+ "
|
|
|
|
+ class="worksBox"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="zuoyeYulan"
|
|
|
|
+ v-if="
|
|
|
|
+ worksStudent.length &&
|
|
|
|
+ worksStudent[toolIndex].length > 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <div class="worksTop">
|
|
|
|
+ <div>作业预览</div>
|
|
|
|
+ <div
|
|
|
|
+ class="corOpen"
|
|
|
|
+ @click="contract(toolIndex)"
|
|
|
|
+ v-if="
|
|
|
|
+ isCloseList[toolIndex].isCloseBoolean &&
|
|
|
|
+ isCloseList[toolIndex].isClose == 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ 折叠
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="corOpen"
|
|
|
|
+ @click="contract(toolIndex)"
|
|
|
|
+ v-if="isCloseList[toolIndex].isClose == 1"
|
|
|
|
+ >
|
|
|
|
+ 展开
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ :id="'tool-' + toolIndex"
|
|
|
|
+ :style="{
|
|
|
|
+ height:
|
|
|
|
+ isCloseList[toolIndex].isClose == 1
|
|
|
|
+ ? retrnToolHeight('tool-' + toolIndex)
|
|
|
|
+ : 'auto',
|
|
|
|
+ overflow:
|
|
|
|
+ isCloseList[toolIndex].isClose == 1
|
|
|
|
+ ? 'hidden'
|
|
|
|
+ : 'unset'
|
|
|
|
+ }"
|
|
|
|
+ class="worksDetailBox"
|
|
|
|
+ v-if="
|
|
|
|
+ worksStudent.length &&
|
|
|
|
+ worksStudent[toolIndex].length > 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="works"
|
|
|
|
+ style="
|
|
|
|
+ width: 200px;
|
|
|
|
+ height: 140px;
|
|
|
|
+ margin: 10px 10px 10px 0;
|
|
|
|
+ border-radius: 15px;
|
|
|
|
+ box-shadow: 0 0 6px 1px #dfdada;
|
|
|
|
+ "
|
|
|
|
+ v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
|
|
+ :key="wIndex"
|
|
|
|
+ :class="w.type == 1 ? 'isTypeOne' : ''"
|
|
|
|
+ >
|
|
|
|
+ <div class="workImg">
|
|
|
|
+ <!-- <img
|
|
|
|
+ :src="word2"
|
|
|
|
+ @click="downloadFile(w.works)"
|
|
|
|
+ v-if="w.type == 12"
|
|
|
|
+ alt
|
|
|
|
+ /> -->
|
|
|
|
+ <img
|
|
|
|
+ :src="word2"
|
|
|
|
+ @click="
|
|
|
|
+ openCocoFlow(w)
|
|
|
|
+ "
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ <div
|
|
|
|
+ class="answerScore"
|
|
|
|
+ v-if="w.score"
|
|
|
|
+ @click.stop="openScore(w)"
|
|
|
|
+ :class="{
|
|
|
|
+ rightW:
|
|
|
|
+ w.userid == userid ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4 ||
|
|
|
|
+ w.ateacher == userid
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ {{ JSON.parse(w.score).wScore }}分
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="answerScore"
|
|
|
|
+ @click.stop="openScore(w)"
|
|
|
|
+ v-else-if="
|
|
|
|
+ courseDetail.userid == userid &&
|
|
|
|
+ courseDetail.state != 5 &&
|
|
|
|
+ chapInfoList[courseType].chapterInfo[0]
|
|
|
|
+ .taskJson[taskCount].eList &&
|
|
|
|
+ chapInfoList[courseType].chapterInfo[0]
|
|
|
|
+ .taskJson[taskCount].eList.length
|
|
|
|
+ "
|
|
|
|
+ :class="{
|
|
|
|
+ rightW:
|
|
|
|
+ w.userid == userid ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4 ||
|
|
|
|
+ w.ateacher == userid
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ 评分
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <img
|
|
|
|
+ class="deleteImg"
|
|
|
|
+ src="../assets/deleteworks.png"
|
|
|
|
+ v-if="
|
|
|
|
+ w.userid == userid || tType == 1 || tType == 4
|
|
|
|
+ "
|
|
|
|
+ @click.stop="deleteWorks(w.wid)"
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="comment" style="min-width: 200px">
|
|
|
|
+ <div class="worksName">
|
|
|
|
+ <div>{{ w.sName }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="commentList">
|
|
|
|
+ <div class="commentList">
|
|
|
|
+ <div
|
|
|
|
+ class="commentImg"
|
|
|
|
+ @click="
|
|
|
|
+ isLikes(
|
|
|
|
+ w.wid,
|
|
|
|
+ userid,
|
|
|
|
+ 1,
|
|
|
|
+ null,
|
|
|
|
+ w.isLikes,
|
|
|
|
+ w.sName
|
|
|
|
+ )
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ :src="w.isLikes == true ? likes : noLikes"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div>{{ w.likesCount }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="commentList" style="margin-right: 15px">
|
|
|
|
+ <div
|
|
|
|
+ class="commentImg"
|
|
|
|
+ @click="commentOther(w, toolIndex, wIndex)"
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ src="../assets/icon/comment/comment.png"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div>{{ w.commentCount }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">
|
|
|
|
+ 未提交
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="noWorksS"
|
|
|
|
+ v-if="noWorksS && noWorksS[toolIndex].length"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
|
|
+ :key="sIndex"
|
|
|
|
+ class="noWorksName"
|
|
|
|
+ @click="teacherWorkSubmit(72, toolIndex, taskCount, s)"
|
|
|
|
+ >
|
|
|
|
+ <el-tooltip
|
|
|
|
+ effect="dark"
|
|
|
|
+ :content="s.student"
|
|
|
|
+ placement="top"
|
|
|
|
+ >
|
|
|
|
+ <span>{{ s.student }}</span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ tType &&
|
|
|
|
+ tType == 2 &&
|
|
|
|
+ !sIsOpen &&
|
|
|
|
+ tool.tool.indexOf(72) != -1
|
|
|
|
+ "
|
|
|
|
+ class="worksBox"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="zuoyeYulan"
|
|
|
|
+ v-if="workStudent[toolIndex].length > 0"
|
|
|
|
+ >
|
|
|
|
+ <span class="worksTitle">作业预览</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="worksDetailBox"
|
|
|
|
+ v-if="workStudent[toolIndex].length > 0"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="works"
|
|
|
|
+ style="
|
|
|
|
+ width: 200px;
|
|
|
|
+ height: 140px;
|
|
|
|
+ margin: 10px 10px 10px 0;
|
|
|
|
+ box-shadow: 0 0 6px 1px #dfdada;
|
|
|
|
+ "
|
|
|
|
+ v-for="(w, wIndex) in workStudent[toolIndex]"
|
|
|
|
+ :key="wIndex"
|
|
|
|
+ >
|
|
|
|
+ <div class="workImg">
|
|
|
|
+ <!-- <img
|
|
|
|
+ :src="word2"
|
|
|
|
+ @click="downloadFile(w.works)"
|
|
|
|
+ v-if="w.type == 12"
|
|
|
|
+ alt
|
|
|
|
+ /> -->
|
|
|
|
+ <img
|
|
|
|
+ :src="word2"
|
|
|
|
+ @click="
|
|
|
|
+ openCocoFlow(w)
|
|
|
|
+ "
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ <div
|
|
|
|
+ class="answerScore"
|
|
|
|
+ v-if="w.score"
|
|
|
|
+ @click.stop="openScore(w)"
|
|
|
|
+ :class="{
|
|
|
|
+ rightW:
|
|
|
|
+ w.userid == userid || tType == 1 || tType == 4
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ {{ JSON.parse(w.score).wScore }}分
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="answerScore"
|
|
|
|
+ @click.stop="openScore(w)"
|
|
|
|
+ v-else-if="courseDetail.userid == userid"
|
|
|
|
+ :class="{
|
|
|
|
+ rightW:
|
|
|
|
+ w.userid == userid || tType == 1 || tType == 4
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ 评分
|
|
|
|
+ </div>
|
|
|
|
+ <img
|
|
|
|
+ class="deleteImg"
|
|
|
|
+ src="../assets/deleteworks.png"
|
|
|
|
+ v-if="
|
|
|
|
+ w.userid == userid || tType == 1 || tType == 4
|
|
|
|
+ "
|
|
|
|
+ @click.stop="deleteWorks(w.wid)"
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="worksName">
|
|
|
|
+ <div>{{ w.sName }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div v-if="tool.tool.indexOf(50) != -1" class="worksBox">
|
|
<div v-if="tool.tool.indexOf(50) != -1" class="worksBox">
|
|
<div
|
|
<div
|
|
class="zuoyeYulan"
|
|
class="zuoyeYulan"
|
|
@@ -6803,6 +7097,166 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div
|
|
|
|
+ v-if="
|
|
|
|
+ tType &&
|
|
|
|
+ ((tType == 2 && sIsOpen == true) ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4) &&
|
|
|
|
+ tool.tool.indexOf(52) != -1
|
|
|
|
+ "
|
|
|
|
+ class="worksBox"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="zuoyeYulan"
|
|
|
|
+ v-if="
|
|
|
|
+ worksStudent.length &&
|
|
|
|
+ worksStudent[toolIndex].length > 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <div class="worksTop">
|
|
|
|
+ <div>作业预览</div>
|
|
|
|
+ <div
|
|
|
|
+ class="corOpen"
|
|
|
|
+ @click="contract(toolIndex)"
|
|
|
|
+ v-if="
|
|
|
|
+ (isCloseList[toolIndex].isCloseBoolean) &&
|
|
|
|
+ isCloseList[toolIndex].isClose == 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ 折叠
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="corOpen"
|
|
|
|
+ @click="contract(toolIndex)"
|
|
|
|
+ v-if="isCloseList[toolIndex].isClose == 1"
|
|
|
|
+ >
|
|
|
|
+ 展开
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- <el-button type="text" @click="jump()" v-if="tType == 2" class="buttonA">我的评价</el-button> -->
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ :id="'tool-' + toolIndex"
|
|
|
|
+ :style="{
|
|
|
|
+ height:isCloseList[toolIndex].isClose == 1 ? retrnToolHeight('tool-' + toolIndex) : 'auto',
|
|
|
|
+ overflow: isCloseList[toolIndex].isClose == 1 ? 'hidden' : 'unset'
|
|
|
|
+ }"
|
|
|
|
+ class="worksDetailBox"
|
|
|
|
+ v-if="
|
|
|
|
+ worksStudent.length &&
|
|
|
|
+ worksStudent[toolIndex].length > 0
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ class="works"
|
|
|
|
+ style="
|
|
|
|
+ width: 200px;
|
|
|
|
+ height: 140px;
|
|
|
|
+ margin: 10px 10px 10px 0;
|
|
|
|
+ border-radius: 15px;
|
|
|
|
+ box-shadow: 0 0 6px 1px #dfdada;
|
|
|
|
+ "
|
|
|
|
+ v-for="(w, wIndex) in worksStudent[toolIndex]"
|
|
|
|
+ :key="wIndex"
|
|
|
|
+ :class="w.type == 1 ? 'isTypeOne' : ''"
|
|
|
|
+ >
|
|
|
|
+ <div class="workImg">
|
|
|
|
+ <img :src="word" @click="openWord(w)" alt />
|
|
|
|
+ <!-- @click="openFile(w.works)" -->
|
|
|
|
+ <div
|
|
|
|
+ class="answerScore"
|
|
|
|
+ v-if="w.score"
|
|
|
|
+ @click.stop="openScore(w)"
|
|
|
|
+ :class="{
|
|
|
|
+ rightW:
|
|
|
|
+ w.userid == userid ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4 ||
|
|
|
|
+ w.ateacher == userid,
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ {{ JSON.parse(w.score).wScore }}分
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="answerScore"
|
|
|
|
+ @click.stop="openScore(w)"
|
|
|
|
+ v-else-if="courseDetail.userid == userid"
|
|
|
|
+ :class="{
|
|
|
|
+ rightW:
|
|
|
|
+ w.userid == userid ||
|
|
|
|
+ tType == 1 ||
|
|
|
|
+ tType == 4 ||
|
|
|
|
+ w.ateacher == userid,
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ 评分
|
|
|
|
+ </div>
|
|
|
|
+ <img
|
|
|
|
+ class="deleteImg"
|
|
|
|
+ src="../assets/deleteworks.png"
|
|
|
|
+ v-if="
|
|
|
|
+ w.userid == userid || tType == 1 || tType == 4
|
|
|
|
+ "
|
|
|
|
+ @click.stop="deleteWorks(w.wid)"
|
|
|
|
+ alt
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="comment" style="min-width: 200px">
|
|
|
|
+ <div class="worksName">
|
|
|
|
+ <div>{{ w.sName }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="commentList">
|
|
|
|
+ <div class="commentList">
|
|
|
|
+ <div
|
|
|
|
+ class="commentImg"
|
|
|
|
+ @click="
|
|
|
|
+ isLikes(w.wid, userid, 1, null, w.isLikes,w.sName)
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ :src="w.isLikes == true ? likes : noLikes"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div>{{ w.likesCount }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="commentList" style="margin-right: 15px">
|
|
|
|
+ <div
|
|
|
|
+ class="commentImg"
|
|
|
|
+ @click="commentOther(w, toolIndex, wIndex)"
|
|
|
|
+ >
|
|
|
|
+ <img
|
|
|
|
+ src="../assets/icon/comment/comment.png"
|
|
|
|
+ alt=""
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div>{{ w.commentCount }}</div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="font-size: 18px" v-if="courseDetail.juri != ''">
|
|
|
|
+ 未提交
|
|
|
|
+ </div>
|
|
|
|
+ <div
|
|
|
|
+ class="noWorksS"
|
|
|
|
+ v-if="noWorksS && noWorksS[toolIndex].length"
|
|
|
|
+ >
|
|
|
|
+ <div
|
|
|
|
+ v-for="(s, sIndex) in noWorksS[toolIndex]"
|
|
|
|
+ :key="sIndex"
|
|
|
|
+ class="noWorksName"
|
|
|
|
+ @click="teacherWorkSubmit(72, toolIndex, taskCount, s)"
|
|
|
|
+ >
|
|
|
|
+ <el-tooltip effect="dark" :content="s.student" placement="top">
|
|
|
|
+ <span>{{ s.student }}</span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
<div
|
|
<div
|
|
v-if="
|
|
v-if="
|
|
tType &&
|
|
tType &&
|
|
@@ -9668,9 +10122,9 @@
|
|
<div
|
|
<div
|
|
class="switch_box"
|
|
class="switch_box"
|
|
v-if="
|
|
v-if="
|
|
- courseDetail.userid == userid ||
|
|
|
|
|
|
+ (courseDetail.userid == userid ||
|
|
(courseDetail.course_teacher &&
|
|
(courseDetail.course_teacher &&
|
|
- courseDetail.course_teacher.indexOf(userid) != -1)
|
|
|
|
|
|
+ courseDetail.course_teacher.indexOf(userid) != -1)) && !splitScreenData.isOpen
|
|
"
|
|
"
|
|
>
|
|
>
|
|
<!-- v-if="courseDetail.userid == userid || courseDetail.course_teacher.indexOf(userid) != -1" -->
|
|
<!-- v-if="courseDetail.userid == userid || courseDetail.course_teacher.indexOf(userid) != -1" -->
|
|
@@ -12084,6 +12538,17 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+
|
|
|
|
+ <appStoreC ref="appStoreC"
|
|
|
|
+ :sStudent="sStudent"
|
|
|
|
+ :courseType="courseType"
|
|
|
|
+ :taskCount="taskCount"
|
|
|
|
+ :toolindex="toolindex"
|
|
|
|
+ @selectSWorks="selectSWorks"
|
|
|
|
+ @selectStudent="selectStudent"
|
|
|
|
+ ></appStoreC>
|
|
|
|
+ <cocoFlowDia ref="cocoFlowDiaRef"></cocoFlowDia>
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -12126,6 +12591,8 @@ import choseWorksDetailDialog from './components/choseWorksDetailDialog.vue';
|
|
import { v4 as uuidv4 } from "uuid";
|
|
import { v4 as uuidv4 } from "uuid";
|
|
var OpenCC = require("opencc-js");
|
|
var OpenCC = require("opencc-js");
|
|
import choseWordCloud from './components/choseWordCloud.vue'
|
|
import choseWordCloud from './components/choseWordCloud.vue'
|
|
|
|
+import appStoreC from "./components/appStoreC.vue";
|
|
|
|
+import cocoFlowDia from "./components/cocoFlowDia.vue";
|
|
|
|
|
|
let converter = OpenCC.Converter({
|
|
let converter = OpenCC.Converter({
|
|
from: "hk",
|
|
from: "hk",
|
|
@@ -12208,7 +12675,9 @@ export default {
|
|
classRoomHelper,
|
|
classRoomHelper,
|
|
scoreZong,
|
|
scoreZong,
|
|
statisticalAnalysis,
|
|
statisticalAnalysis,
|
|
- choseWorksDetailDialog
|
|
|
|
|
|
+ choseWorksDetailDialog,
|
|
|
|
+ appStoreC,
|
|
|
|
+ cocoFlowDia
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
@@ -12631,6 +13100,10 @@ export default {
|
|
};
|
|
};
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ //查看应用中心作业
|
|
|
|
+ openCocoFlow(w){
|
|
|
|
+ this.$refs.cocoFlowDiaRef.openAppWork(w)
|
|
|
|
+ },
|
|
getAIJ(){
|
|
getAIJ(){
|
|
this.ajax.get(this.$store.state.api+"getAIJ","").then(res=>{
|
|
this.ajax.get(this.$store.state.api+"getAIJ","").then(res=>{
|
|
let oid = res.data[0];
|
|
let oid = res.data[0];
|
|
@@ -14151,6 +14624,17 @@ export default {
|
|
userid: b[j].userid,
|
|
userid: b[j].userid,
|
|
wid: b[j].id,
|
|
wid: b[j].id,
|
|
});
|
|
});
|
|
|
|
+ } else if (b[j].type == 20 && a[i].tool[0] == 72) {
|
|
|
|
+ this.workStudent[i].push({
|
|
|
|
+ works: b[j].content,
|
|
|
|
+ sName: b[j].name,
|
|
|
|
+ score: b[j].score,
|
|
|
|
+ img: b[j].img,
|
|
|
|
+ type: 20,
|
|
|
|
+ time: b[j].time,
|
|
|
|
+ userid: b[j].userid,
|
|
|
|
+ wid: b[j].id,
|
|
|
|
+ });
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
//问卷
|
|
//问卷
|
|
this.workStudent[i].push({
|
|
this.workStudent[i].push({
|
|
@@ -15311,6 +15795,49 @@ export default {
|
|
}
|
|
}
|
|
_worksStudent2[i].push(_works);
|
|
_worksStudent2[i].push(_works);
|
|
this.isWorksS[i].push({ uid: b[j].userid, sName: b[j].name });
|
|
this.isWorksS[i].push({ uid: b[j].userid, sName: b[j].name });
|
|
|
|
+ } else if (b[j].type == 20 && a[i].tool[0] == 72) {
|
|
|
|
+ let _works = {
|
|
|
|
+ userid: b[j].userid,
|
|
|
|
+ ateacher: b[j].ateacher,
|
|
|
|
+ wid: b[j].id,
|
|
|
|
+ works: b[j].content,
|
|
|
|
+ sName: b[j].name,
|
|
|
|
+ type: 20,
|
|
|
|
+ ttype:b[j].ttype,
|
|
|
|
+ time: b[j].time,
|
|
|
|
+ score: b[j].score,
|
|
|
|
+ img: b[j].img,
|
|
|
|
+ likesCount: likesCount,
|
|
|
|
+ commentCount: commentCount,
|
|
|
|
+ isLikes: isLikes,
|
|
|
|
+ commentJson: commentJson,
|
|
|
|
+ likeJson:likeJson
|
|
|
|
+ };
|
|
|
|
+ if (this.isGroup) {
|
|
|
|
+ let isGw = 1;
|
|
|
|
+ for (
|
|
|
|
+ var groupI = 0;
|
|
|
|
+ groupI < this.courseGroup.group.length;
|
|
|
|
+ groupI++
|
|
|
|
+ ) {
|
|
|
|
+ let gid = this.courseGroup.group[groupI].id;
|
|
|
|
+ if (
|
|
|
|
+ this.courseGroupStudentUid[gid].indexOf(b[j].userid) !=
|
|
|
|
+ -1
|
|
|
|
+ ) {
|
|
|
|
+ isGw = 2;
|
|
|
|
+ this.courseGroup.group[groupI].works[i].push(_works);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (isGw == 1) {
|
|
|
|
+ _worksStudent[i].push(_works);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ _worksStudent[i].push(_works);
|
|
|
|
+ }
|
|
|
|
+ _worksStudent2[i].push(_works);
|
|
|
|
+ this.isWorksS[i].push({ uid: b[j].userid, sName: b[j].name });
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
} else if (b[j].type == 2 && a[i].tool[0] == 4) {
|
|
//问卷
|
|
//问卷
|
|
let _work = {
|
|
let _work = {
|
|
@@ -17645,17 +18172,17 @@ 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) {
|
|
|
|
|
|
+ // if (res.data[0].length > 0) {
|
|
|
|
+ // this.chapInfoList = JSON.parse(res.data[0][0].state);
|
|
|
|
+ // }
|
|
|
|
+ if (res.data[0].length > 0 && type == 1) {
|
|
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 && type == 2) {
|
|
this.addCourseState(2);
|
|
this.addCourseState(2);
|
|
} else {
|
|
} else {
|
|
- this.addCourseState(1);
|
|
|
|
|
|
+ // this.addCourseState(1);
|
|
}
|
|
}
|
|
})
|
|
})
|
|
.catch((err) => {
|
|
.catch((err) => {
|
|
@@ -18606,7 +19133,13 @@ export default {
|
|
this.$message.error("应用连接为空, 请到课程管理中添加");
|
|
this.$message.error("应用连接为空, 请到课程管理中添加");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- window.open(item.url, "_blank");
|
|
|
|
|
|
+ if (!document.fullscreenElement) {
|
|
|
|
+ this.enterFullScreen();
|
|
|
|
+ }
|
|
|
|
+ this.$refs.appStoreC.getData(item.url,this.userid)
|
|
|
|
+
|
|
|
|
+ // 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++) {
|
|
@@ -19044,6 +19577,12 @@ export default {
|
|
},
|
|
},
|
|
"*"
|
|
"*"
|
|
);
|
|
);
|
|
|
|
+ }else if (t == 72) {
|
|
|
|
+ if (!document.fullscreenElement) {
|
|
|
|
+ this.enterFullScreen();
|
|
|
|
+ }
|
|
|
|
+ let url = this.chapInfoList[this.courseType].chapterInfo[0].taskJson[index].toolChoose[i].appJson.url
|
|
|
|
+ this.$refs.appStoreC.getData(url,this.sStudent.userid)
|
|
}
|
|
}
|
|
},
|
|
},
|
|
openCocoPi(tool, i, uid, uname) {
|
|
openCocoPi(tool, i, uid, uname) {
|
|
@@ -20447,7 +20986,7 @@ export default {
|
|
this.changeSplitScreenBehavior({form:{}})
|
|
this.changeSplitScreenBehavior({form:{}})
|
|
if (status == 1) {
|
|
if (status == 1) {
|
|
this.$message.success("已开启分屏");
|
|
this.$message.success("已开启分屏");
|
|
- this.studentFreePreview(true);
|
|
|
|
|
|
+ this.studentFreePreview(false);
|
|
this.OpenJobPreview(true);
|
|
this.OpenJobPreview(true);
|
|
// this.followingMode(true);
|
|
// this.followingMode(true);
|
|
} else {
|
|
} else {
|
|
@@ -25459,4 +25998,14 @@ div::-webkit-scrollbar {
|
|
width: 10px;
|
|
width: 10px;
|
|
height: 6px;
|
|
height: 6px;
|
|
}
|
|
}
|
|
|
|
+.Ovh{
|
|
|
|
+ margin: 5px 0;
|
|
|
|
+ width: 4em;
|
|
|
|
+ -webkit-line-clamp: 2;
|
|
|
|
+ display: -webkit-box;
|
|
|
|
+
|
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ text-overflow: ellipsis;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|