mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-09 19:06:48 +08:00
fix:修改参数传递
This commit is contained in:
@@ -25,8 +25,8 @@
|
|||||||
<img style="width: 15px; height: 17px" src="../../assets/image/time.png" />
|
<img style="width: 15px; height: 17px" src="../../assets/image/time.png" />
|
||||||
<div style="margin-left: 8px">
|
<div style="margin-left: 8px">
|
||||||
{{ dayjs(data.planDto?.beginTime).format('YYYY-MM-DD HH:MM') + " 至 " +
|
{{ dayjs(data.planDto?.beginTime).format('YYYY-MM-DD HH:MM') + " 至 " +
|
||||||
dayjs(data.planDto?.endTime).format('YYYY-MM-DD HH:MM')
|
dayjs(data.planDto?.endTime).format('YYYY-MM-DD HH:MM')
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="data.planDto?.address" class="time" style="margin-top: 23px">
|
<div v-if="data.planDto?.address" class="time" style="margin-top: 23px">
|
||||||
@@ -35,17 +35,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex">
|
<div style="display: flex">
|
||||||
|
|
||||||
<botton class="btn" style="margin-right: 20px" :style="{
|
<botton class="btn" style="margin-right: 20px" :style="{
|
||||||
background: data.signFlag ? '#999' : 'rgb(57, 146, 249)',
|
background: data.signFlag ? '#999' : 'rgb(57, 146, 249)',
|
||||||
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
||||||
</botton>
|
</botton>
|
||||||
<botton style="background: #999" class="btn" @click="toSurvery" v-if="data.planDto?.evalFlag == 0">
|
<botton style="background: #999" class="btn" @click="toSurvery" v-if="data.planDto?.evalFlag == 0">
|
||||||
评估
|
评估
|
||||||
</botton>
|
</botton>
|
||||||
<botton :style="{
|
<botton :style="{
|
||||||
background: `${new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : data.isSurvery ? '#999' : 'rgb(57, 146, 249)'}`,
|
background: `${new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : data.isSurvery ? '#999' : 'rgb(57, 146, 249)'}`,
|
||||||
}" class="btn" @click="toSurvery" v-else>{{ data.isSurvery ? "已评估" : "评估" }}
|
}" class="btn" @click="toSurvery" v-else>{{ data.isSurvery ? "已评估" : "评估" }}
|
||||||
</botton>
|
</botton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,10 +79,10 @@
|
|||||||
:style="{ borderBottom: '1px solid rgba(56, 125, 247, 0.2)' }">
|
:style="{ borderBottom: '1px solid rgba(56, 125, 247, 0.2)' }">
|
||||||
<div class="enclosureL">
|
<div class="enclosureL">
|
||||||
<FileTypeImg :v-model="el.slice(el.indexOf('-') + 1)" :style="{
|
<FileTypeImg :v-model="el.slice(el.indexOf('-') + 1)" :style="{
|
||||||
width: '22px',
|
width: '22px',
|
||||||
height: '26px',
|
height: '26px',
|
||||||
marginLeft: '10px',
|
marginLeft: '10px',
|
||||||
}"></FileTypeImg>
|
}"></FileTypeImg>
|
||||||
<div style="margin-left: 20px">{{ el.slice(el.indexOf('-') + 1) }}</div>
|
<div style="margin-left: 20px">{{ el.slice(el.indexOf('-') + 1) }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="new Date(data.planDto.beginTime).getTime() > new Date().getTime()" class="download">
|
<div v-if="new Date(data.planDto.beginTime).getTime() > new Date().getTime()" class="download">
|
||||||
@@ -111,10 +111,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
:style="{ background: new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : '' }"
|
:style="{ background: new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : '' }"
|
||||||
class="submit" @click="toWork" >
|
class="submit" @click="toWork">
|
||||||
交作业
|
交作业
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -137,8 +137,8 @@
|
|||||||
<div class="tag3" style="margin-left: 11px">考试</div>
|
<div class="tag3" style="margin-left: 11px">考试</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
:style="{ background: new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : '' }"
|
:style="{ background: new Date(data.planDto?.beginTime).getTime() > new Date().getTime() ? '#999' : '' }"
|
||||||
class="submit" @click="toExamItem(data.examinationDto)">
|
class="submit" @click="toExamItem(data.examinationDto)">
|
||||||
去考试
|
去考试
|
||||||
@@ -349,8 +349,7 @@ function toWork() {
|
|||||||
query: {
|
query: {
|
||||||
courseId: data.value.workDto.workId,
|
courseId: data.value.workDto.workId,
|
||||||
id: taskId,
|
id: taskId,
|
||||||
taskId: taskId,
|
infoId: taskId,
|
||||||
taskIds: taskId,
|
|
||||||
chapterOrStageId: 0,
|
chapterOrStageId: 0,
|
||||||
type,
|
type,
|
||||||
pName: "面授课",
|
pName: "面授课",
|
||||||
@@ -365,7 +364,7 @@ function toExamItem(obj) {
|
|||||||
let date2 = new Date().getTime()
|
let date2 = new Date().getTime()
|
||||||
if (date1 > date2) {
|
if (date1 > date2) {
|
||||||
ElMessage.warning("未到开始时间,请耐心等待!");
|
ElMessage.warning("未到开始时间,请耐心等待!");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log("obj", obj.examinationTestId);
|
console.log("obj", obj.examinationTestId);
|
||||||
|
|||||||
@@ -47,21 +47,23 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="threeBtn">
|
<div class="threeBtn">
|
||||||
<botton class="btn" :style="{
|
<botton class="btn" :style="{
|
||||||
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : 'rgb(59, 191, 252)'}`,
|
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : 'rgb(59, 191, 252)'}`,
|
||||||
}" @click="showClick">观看
|
}" @click="showClick">观看
|
||||||
</botton>
|
</botton>
|
||||||
|
|
||||||
<botton class="btn" :style="{
|
<botton class="btn" :style="{
|
||||||
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : data.signFlag ? '#999' : 'rgb(57, 146, 249)'}`,
|
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : data.signFlag ? '#999' : 'rgb(57, 146, 249)'}`,
|
||||||
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
}" @click="signClick">{{ data.signFlag ? "已签到" : "签到" }}
|
||||||
</botton>
|
</botton>
|
||||||
<botton style="background: #999" class="btn" @click="commitClick" v-if="data.isEvaluate == 0 ">
|
<botton style="background: #999" class="btn" @click="commitClick" v-if="data.isEvaluate == 0">
|
||||||
评估
|
评估
|
||||||
</botton>
|
</botton>
|
||||||
|
|
||||||
<botton :style="{
|
<botton :style="{
|
||||||
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : data.isSurvery ? '#999' : 'rgb(57, 146, 249)'}`,
|
background: `${new Date(data.liveStartTime).getTime() > new Date().getTime() ? '#999' : data.isSurvery ? '#999' : 'rgb(57, 146, 249)'}`,
|
||||||
}" class="btn" @click="commitClick" v-if="data.isEvaluate && data.isEvaluate == 1">{{ data.isSurvery ? "已评估": "评估"}}
|
}" class="btn" @click="commitClick" v-if="data.isEvaluate && data.isEvaluate == 1">{{ data.isSurvery ? "已评估" :
|
||||||
|
"评估"
|
||||||
|
}}
|
||||||
</botton>
|
</botton>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -138,7 +140,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { computed, reactive, toRefs,onUnmounted } from "vue";
|
import { computed, reactive, toRefs, onUnmounted } from "vue";
|
||||||
import img from "@/assets/image/uploadimg.png";
|
import img from "@/assets/image/uploadimg.png";
|
||||||
import { request, useRequest } from "@/api/request";
|
import { request, useRequest } from "@/api/request";
|
||||||
import { TASK_BROADCAST_DETAIL, TASK_BROADCAST_SIGN } from "@/api/api";
|
import { TASK_BROADCAST_DETAIL, TASK_BROADCAST_SIGN } from "@/api/api";
|
||||||
@@ -264,8 +266,7 @@ const commitClick = () => {
|
|||||||
path: "/surveydetail",
|
path: "/surveydetail",
|
||||||
query: {
|
query: {
|
||||||
courseId: data.value.assessmentId,
|
courseId: data.value.assessmentId,
|
||||||
taskId: data.value.liveId,
|
infoId: data.value.liveId,
|
||||||
taskIds: data.value.liveId,
|
|
||||||
chapterOrStageId: 0,
|
chapterOrStageId: 0,
|
||||||
pName: "直播",
|
pName: "直播",
|
||||||
sName: data.value.liveName,
|
sName: data.value.liveName,
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style=" background: #0078fc;height: 150px;width: 100%;position: absolute;top: 0;z-index:-9999;"></div>
|
<div style=" background: #0078fc;height: 150px;width: 100%;position: absolute;top: 0;z-index:-9999;"></div>
|
||||||
<div class="pathdetails" style="padding: 30px">
|
<div class="pathdetails" style="padding: 30px">
|
||||||
|
|
||||||
<div class="pdname">
|
<div class="pdname">
|
||||||
{{ data.name }}
|
{{ data.name }}
|
||||||
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300" :content="data.remark">
|
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300"
|
||||||
<template #reference><span style="font-size: 16px;font-weight: 600;">简介></span></template>
|
:content="data.remark">
|
||||||
</el-popover>
|
<template #reference><span style="font-size: 16px;font-weight: 600;">简介></span></template>
|
||||||
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 详细信息 -->
|
<!-- 详细信息 -->
|
||||||
@@ -29,13 +30,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-if="i.stageId == '0' && i.taskProcessList.length == 0"></div>
|
<div v-if="i.stageId == '0' && i.taskProcessList.length == 0"></div>
|
||||||
<div v-else class="course" v-for="(value, index) in i.taskProcessList.filter(
|
<div v-else class="course" v-for="(value, index) in i.taskProcessList.filter(
|
||||||
(e) => !whiteTypes(e.type)
|
(e) => !whiteTypes(e.type)
|
||||||
)" :key="index">
|
)" :key="index">
|
||||||
<div style="width: 70%">
|
<div style="width: 70%">
|
||||||
<div v-if="value.name.length > 50" class="coursename" :title="value.name">
|
<div v-if="value.name.length > 50" class="coursename" :title="value.name">
|
||||||
<el-popover ref="popover" placement="right" trigger="hover" :width="300" :content="value.name">
|
<el-popover ref="popover" placement="right" trigger="hover" :width="300" :content="value.name">
|
||||||
<template #reference></template>
|
<template #reference></template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-else class="coursename" :title="value.name">{{ value.name }}</div>
|
<div v-else class="coursename" :title="value.name">{{ value.name }}</div>
|
||||||
@@ -63,15 +64,15 @@
|
|||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div style="width: 291px">
|
<div style="width: 291px">
|
||||||
<el-progress :percentage="value.currentRatio" :show-text="false" :stroke-width="8" :color="
|
<el-progress :percentage="value.currentRatio" :show-text="false" :stroke-width="8" :color="
|
||||||
{
|
{
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[parseInt(value.currentRatio / 20)]
|
}[parseInt(value.currentRatio / 20)]
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
<div style="font-size: 14px;font-weight: 500;color: #277aff;margin-left: 10px;color:#677d86;">
|
<div style="font-size: 14px;font-weight: 500;color: #277aff;margin-left: 10px;color:#677d86;">
|
||||||
{{ value.currentRatio }}%
|
{{ value.currentRatio }}%
|
||||||
@@ -81,12 +82,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="goclass" @click="toFinish(value, i.stageName, i.stageId)">
|
<div class="goclass" @click="toFinish(value, i.stageName, i.stageId)">
|
||||||
{{
|
{{
|
||||||
value.status === 100
|
value.status === 100
|
||||||
? "已完成"
|
? "已完成"
|
||||||
: types.path[value.type]
|
: types.path[value.type]
|
||||||
? types.toName[value.type]
|
? types.toName[value.type]
|
||||||
: "未开放"
|
: "未开放"
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<!-- <div :style="{ display: value.status === 1 ? 'block' : 'none' }">-->
|
<!-- <div :style="{ display: value.status === 1 ? 'block' : 'none' }">-->
|
||||||
<!-- <div-->
|
<!-- <div-->
|
||||||
@@ -185,15 +186,15 @@
|
|||||||
<div style="width: 291px">
|
<div style="width: 291px">
|
||||||
<el-progress :percentage="parseInt(data.totalProgress * 100)" :show-text="false" :stroke-width="8"
|
<el-progress :percentage="parseInt(data.totalProgress * 100)" :show-text="false" :stroke-width="8"
|
||||||
:color="
|
:color="
|
||||||
{
|
{
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[parseInt((data.totalProgress * 100) / 20)]
|
}[parseInt((data.totalProgress * 100) / 20)]
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
<div style="font-size: 14px; font-weight: 500; margin-left: 10px;color:#677d86;">
|
<div style="font-size: 14px; font-weight: 500; margin-left: 10px;color:#677d86;">
|
||||||
{{ parseInt(data.totalProgress * 100) }}%
|
{{ parseInt(data.totalProgress * 100) }}%
|
||||||
@@ -208,15 +209,15 @@
|
|||||||
<div style="width: 291px">
|
<div style="width: 291px">
|
||||||
<el-progress :percentage="parseInt(data.compulsoryProgress * 100)" :show-text="false"
|
<el-progress :percentage="parseInt(data.compulsoryProgress * 100)" :show-text="false"
|
||||||
:stroke-width="8" :color="
|
:stroke-width="8" :color="
|
||||||
{
|
{
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[parseInt((data.compulsoryProgress * 100) / 20)]
|
}[parseInt((data.compulsoryProgress * 100) / 20)]
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
<div style="
|
<div style="
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -371,7 +372,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
dialogVisibleTip.value = '当前作业已结束';
|
dialogVisibleTip.value = '当前作业已结束';
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -437,7 +438,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (d.type == 3 || d.type == 7) {
|
if (d.type == 3 || d.type == 7) {
|
||||||
d.status || request(STUDY_RECORD, {
|
d.status || request(STUDY_RECORD, {
|
||||||
studentId: data.value.userInfoBo.userId,
|
studentId: data.value.userInfoBo.userId,
|
||||||
targetId: data.value.routerId,
|
targetId: data.value.routerId,
|
||||||
logo: 2,
|
logo: 2,
|
||||||
@@ -456,8 +457,7 @@ function toFinish(d, sName, chapterOrStageId) {
|
|||||||
query: {
|
query: {
|
||||||
id: d.projectTaskId,
|
id: d.projectTaskId,
|
||||||
type: 2,
|
type: 2,
|
||||||
taskId: data.value.projectId,
|
infoId: data.value.projectId,
|
||||||
taskIds: data.value.projectId,
|
|
||||||
courseId: d.courseId,
|
courseId: d.courseId,
|
||||||
pName: data.value.name,
|
pName: data.value.name,
|
||||||
sName,
|
sName,
|
||||||
@@ -475,8 +475,9 @@ function whiteTypes(type) {
|
|||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.example-showcase .el-loading-mask {
|
.example-showcase .el-loading-mask {
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pathdetails {
|
.pathdetails {
|
||||||
.el-dialog__header {
|
.el-dialog__header {
|
||||||
display: none;
|
display: none;
|
||||||
|
|||||||
@@ -1,65 +1,53 @@
|
|||||||
<template>
|
<template>
|
||||||
<div style=" background: #0078fc;height: 150px;width: 100%;position: absolute;top: 0;z-index:-9999;"></div>
|
<div style=" background: #0078fc;height: 150px;width: 100%;position: absolute;top: 0;z-index:-9999;"></div>
|
||||||
<div class="pathdetails" style="padding: 30px">
|
<div class="pathdetails" style="padding: 30px">
|
||||||
|
|
||||||
<!-- 面包屑导航 -->
|
<!-- 面包屑导航 -->
|
||||||
|
|
||||||
<div class="pdname">
|
<div class="pdname">
|
||||||
{{ data.name }}
|
{{ data.name }}
|
||||||
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300" :content="data.remark">
|
<el-popover v-if="data.remark" ref="popover" popper-class="jianjie" placement="right" trigger="hover" :width="300"
|
||||||
<template #reference><span style="font-size: 16px;font-weight: 600;">简介></span></template>
|
:content="data.remark">
|
||||||
</el-popover>
|
<template #reference><span style="font-size: 16px;font-weight: 600;">简介></span></template>
|
||||||
</div>
|
</el-popover>
|
||||||
|
</div>
|
||||||
<!-- 详细信息 -->
|
|
||||||
<div class="detailinfo">
|
|
||||||
<div class="detailL">
|
|
||||||
<div>
|
|
||||||
<div class="title">
|
|
||||||
<div class="titleL">{{ data.currentStageName }}</div>
|
|
||||||
<div class="titleR" :style="{ display: 'flex' }">
|
|
||||||
<img
|
|
||||||
:src="data.currentChapterCnt?circle:circle2"/>
|
|
||||||
<div class="titleRT" :style="{color:data.currentChapterCnt?'':'rgba(102, 102, 102, 1)'}">
|
|
||||||
{{ data.currentChapterCnt ? '进行中' : '未开始' }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div
|
|
||||||
class="course"
|
|
||||||
v-for="(value, index) in data.taskBoList?.filter(
|
|
||||||
(e) => !whiteTypes(e.type)
|
|
||||||
)"
|
|
||||||
:key="index"
|
|
||||||
>
|
|
||||||
<div style="width: 70%">
|
|
||||||
<div v-if="value.name.length >50" class="coursename" :title="value.name">
|
|
||||||
<el-popover ref="popover" placement="right" trigger="hover" :width="300" :content="value.name">
|
|
||||||
<template #reference>{{ value.name }}</template>
|
|
||||||
</el-popover>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-else class="coursename" :title="value.name">
|
<!-- 详细信息 -->
|
||||||
{{ value.name }}
|
<div class="detailinfo">
|
||||||
</div>
|
<div class="detailL">
|
||||||
<div class="coursetag">
|
<div>
|
||||||
<div
|
<div class="title">
|
||||||
class="tag1"
|
<div class="titleL">{{ data.currentStageName }}</div>
|
||||||
style="margin-right: 11px; margin-top: 16px"
|
<div class="titleR" :style="{ display: 'flex' }">
|
||||||
v-if="value.flag"
|
<img :src="data.currentChapterCnt ? circle : circle2" />
|
||||||
>
|
<div class="titleRT" :style="{ color: data.currentChapterCnt ? '' : 'rgba(102, 102, 102, 1)' }">
|
||||||
必修
|
{{ data.currentChapterCnt ? '进行中' : '未开始' }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
</div>
|
||||||
class="tag2"
|
</div>
|
||||||
style="margin-right: 11px; margin-top: 16px"
|
<div class="course" v-for="(value, index) in data.taskBoList?.filter(
|
||||||
v-if="!value.flag"
|
(e) => !whiteTypes(e.type)
|
||||||
>
|
)" :key="index">
|
||||||
选修
|
<div style="width: 70%">
|
||||||
</div>
|
<div v-if="value.name.length > 50" class="coursename" :title="value.name">
|
||||||
<div class="tag3" style="margin-right: 11px; margin-top: 16px">
|
<el-popover ref="popover" placement="right" trigger="hover" :width="300" :content="value.name">
|
||||||
{{ types.typeName[value.type] || "" }}
|
<template #reference>{{ value.name }}</template>
|
||||||
</div>
|
</el-popover>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-else class="coursename" :title="value.name">
|
||||||
|
{{ value.name }}
|
||||||
|
</div>
|
||||||
|
<div class="coursetag">
|
||||||
|
<div class="tag1" style="margin-right: 11px; margin-top: 16px" v-if="value.flag">
|
||||||
|
必修
|
||||||
|
</div>
|
||||||
|
<div class="tag2" style="margin-right: 11px; margin-top: 16px" v-if="!value.flag">
|
||||||
|
选修
|
||||||
|
</div>
|
||||||
|
<div class="tag3" style="margin-right: 11px; margin-top: 16px">
|
||||||
|
{{ types.typeName[value.type] || "" }}
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- <div-->
|
<!-- <div-->
|
||||||
<!-- v-for="(item, key) in value.flag"-->
|
<!-- v-for="(item, key) in value.flag"-->
|
||||||
@@ -75,35 +63,34 @@
|
|||||||
<div class="progress">
|
<div class="progress">
|
||||||
<div style="width: 291px">
|
<div style="width: 291px">
|
||||||
<el-progress :percentage="value.currentRatio" :show-text="false" :stroke-width="8" :color="
|
<el-progress :percentage="value.currentRatio" :show-text="false" :stroke-width="8" :color="
|
||||||
{
|
{
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[parseInt(value.currentRatio / 20)]
|
}[parseInt(value.currentRatio / 20)]
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
<div style="font-size: 14px;font-weight: 500;color: #277aff;margin-left: 10px;"
|
<div style="font-size: 14px;font-weight: 500;color: #277aff;margin-left: 10px;" :style="{
|
||||||
:style="{
|
color: {
|
||||||
color: {
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
}[parseInt(value.currentRatio / 20)],
|
||||||
}[parseInt(value.currentRatio / 20)],
|
}">
|
||||||
}">
|
|
||||||
{{ value.currentRatio }}%
|
{{ value.currentRatio }}%
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="goclass" :style="{
|
<div class="goclass" :style="{
|
||||||
background: `${types.path[value.type] ? '#2478ff' : '#999'}`,
|
background: `${types.path[value.type] ? '#2478ff' : '#999'}`,
|
||||||
}" @click="toFinish(value)">
|
}" @click="toFinish(value)">
|
||||||
{{ value.currentRatio === 100 ? "已完成" : types.path[value.type] ? types.toName[value.type] : "未开放" }}
|
{{ value.currentRatio === 100 ? "已完成" : types.path[value.type] ? types.toName[value.type] : "未开放" }}
|
||||||
</div>
|
</div>
|
||||||
<!-- <div :style="{ display: value.status === 1 ? 'block' : 'none' }">-->
|
<!-- <div :style="{ display: value.status === 1 ? 'block' : 'none' }">-->
|
||||||
@@ -203,26 +190,26 @@
|
|||||||
<div style="width: 291px">
|
<div style="width: 291px">
|
||||||
<el-progress :percentage="parseInt(data.currentChapterCnt / data.totalChapterCnt * 100)"
|
<el-progress :percentage="parseInt(data.currentChapterCnt / data.totalChapterCnt * 100)"
|
||||||
:show-text="false" :stroke-width="8" :color="
|
:show-text="false" :stroke-width="8" :color="
|
||||||
{
|
{
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[(parseInt(data.currentChapterCnt / data.totalChapterCnt) * 100) / 20]
|
}[(parseInt(data.currentChapterCnt / data.totalChapterCnt) * 100) / 20]
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
<div style="font-size: 14px; font-weight: 500; margin-left: 10px" :style="{
|
<div style="font-size: 14px; font-weight: 500; margin-left: 10px" :style="{
|
||||||
color: {
|
color: {
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[parseInt((data.currentChapterCnt / data.totalChapterCnt * 100) / 20)],
|
}[parseInt((data.currentChapterCnt / data.totalChapterCnt * 100) / 20)],
|
||||||
}">
|
}">
|
||||||
{{ parseInt(data.currentChapterCnt / data.totalChapterCnt * 100) }}%
|
{{ parseInt(data.currentChapterCnt / data.totalChapterCnt * 100) }}%
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -235,15 +222,15 @@
|
|||||||
<div style="width: 291px">
|
<div style="width: 291px">
|
||||||
<el-progress :percentage="parseInt(data.currentReqCnt / data.totalReqCnt * 100)" :show-text="false"
|
<el-progress :percentage="parseInt(data.currentReqCnt / data.totalReqCnt * 100)" :show-text="false"
|
||||||
:stroke-width="8" :color="
|
:stroke-width="8" :color="
|
||||||
{
|
{
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[parseInt((data.currentReqCnt / data.totalReqCnt * 100) / 20)]
|
}[parseInt((data.currentReqCnt / data.totalReqCnt * 100) / 20)]
|
||||||
" />
|
" />
|
||||||
</div>
|
</div>
|
||||||
<div style="
|
<div style="
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@@ -251,15 +238,15 @@
|
|||||||
color: #277aff;
|
color: #277aff;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
" :style="{
|
" :style="{
|
||||||
color: {
|
color: {
|
||||||
0: 'rgba(238, 112, 108, 1)',
|
0: 'rgba(238, 112, 108, 1)',
|
||||||
1: 'rgba(255, 151, 38, 1)',
|
1: 'rgba(255, 151, 38, 1)',
|
||||||
2: 'rgba(39, 122, 255, 1)',
|
2: 'rgba(39, 122, 255, 1)',
|
||||||
3: 'rgba(59, 94, 251, 1)',
|
3: 'rgba(59, 94, 251, 1)',
|
||||||
4: 'rgba(57, 219, 183, 1)',
|
4: 'rgba(57, 219, 183, 1)',
|
||||||
5: 'rgba(57, 219, 183, 1)',
|
5: 'rgba(57, 219, 183, 1)',
|
||||||
}[parseInt((data.currentReqCnt / data.totalReqCnt * 100) / 20)],
|
}[parseInt((data.currentReqCnt / data.totalReqCnt * 100) / 20)],
|
||||||
}">
|
}">
|
||||||
{{ parseInt(data.currentReqCnt / data.totalReqCnt * 100) }}%
|
{{ parseInt(data.currentReqCnt / data.totalReqCnt * 100) }}%
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -385,7 +372,7 @@ function toFinish(d) {
|
|||||||
if (date1 < date2) {
|
if (date1 < date2) {
|
||||||
dialogVisibleTip.value = '当前作业已结束';
|
dialogVisibleTip.value = '当前作业已结束';
|
||||||
dialogVisible.value = true;
|
dialogVisible.value = true;
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -446,7 +433,7 @@ function toFinish(d) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (d.type === 3 || d.type === 7) {
|
if (d.type === 3 || d.type === 7) {
|
||||||
d.status || request(STUDY_RECORD, {
|
d.status || request(STUDY_RECORD, {
|
||||||
studentId: userInfo.value.id,
|
studentId: userInfo.value.id,
|
||||||
targetId: data.value.routerId,
|
targetId: data.value.routerId,
|
||||||
logo: 1,
|
logo: 1,
|
||||||
@@ -463,11 +450,9 @@ function toFinish(d) {
|
|||||||
router.push({
|
router.push({
|
||||||
path: types.value.path[d.type],
|
path: types.value.path[d.type],
|
||||||
query: {
|
query: {
|
||||||
id: d.routerTaskId,
|
id: routerId,
|
||||||
// id: routerId,
|
|
||||||
type: 1,
|
type: 1,
|
||||||
taskId: routerId,
|
infoId: routerId,
|
||||||
taskIds: routerId,
|
|
||||||
courseId: d.courseId,
|
courseId: d.courseId,
|
||||||
pName: data.value.name,
|
pName: data.value.name,
|
||||||
sName: data.value.currentStageName,
|
sName: data.value.currentStageName,
|
||||||
@@ -508,6 +493,7 @@ function whiteTypes(type) {
|
|||||||
margin-top: 24px;
|
margin-top: 24px;
|
||||||
display: flex;
|
display: flex;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
|
|
||||||
.detailL {
|
.detailL {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
margin-right: 20px;
|
margin-right: 20px;
|
||||||
|
|||||||
@@ -46,8 +46,8 @@
|
|||||||
|
|
||||||
<div class="question" v-for="
|
<div class="question" v-for="
|
||||||
(value, index) in formateArr([data.assessmentEssayQuestionDtoList, data.assessmentMultipleChoiceDtoList, data.assessmentScoringQuestionDtoList, data.assessmentSingleChoiceDtoList]).sort((a, b) => {
|
(value, index) in formateArr([data.assessmentEssayQuestionDtoList, data.assessmentMultipleChoiceDtoList, data.assessmentScoringQuestionDtoList, data.assessmentSingleChoiceDtoList]).sort((a, b) => {
|
||||||
return a[0].orderNumber - b[0].orderNumber
|
return a[0].orderNumber - b[0].orderNumber
|
||||||
}) " :key="index" :style="{ 'margin-top': index === 0 ? '57px' : '41px' }">
|
}) " :key="index" :style="{ 'margin-top': index === 0 ? '57px' : '41px' }">
|
||||||
<div v-if="value[0].questionType == '4'">
|
<div v-if="value[0].questionType == '4'">
|
||||||
<div class="question" v-for="(value, index) in data.assessmentScoringQuestionDtoList" :key="index"
|
<div class="question" v-for="(value, index) in data.assessmentScoringQuestionDtoList" :key="index"
|
||||||
:style="{ 'margin-top': index === 0 ? '57px' : '41px' }">
|
:style="{ 'margin-top': index === 0 ? '57px' : '41px' }">
|
||||||
@@ -56,9 +56,9 @@
|
|||||||
<div class="answerL">完全没用</div>
|
<div class="answerL">完全没用</div>
|
||||||
<div class="answerC">
|
<div class="answerC">
|
||||||
<div class="answerCitem" v-for="(item, key) in Array.from(
|
<div class="answerCitem" v-for="(item, key) in Array.from(
|
||||||
{ length: value.assessmentMaxScore },
|
{ length: value.assessmentMaxScore },
|
||||||
(k, i) => i
|
(k, i) => i
|
||||||
)" :key="key" :style="{
|
)" :key="key" :style="{
|
||||||
'margin-left': key === 0 ? '15px' : '10px',
|
'margin-left': key === 0 ? '15px' : '10px',
|
||||||
background:
|
background:
|
||||||
value.selectAnswer === item
|
value.selectAnswer === item
|
||||||
@@ -86,17 +86,17 @@
|
|||||||
|
|
||||||
<div v-else-if="value[0].questionType == '1'">
|
<div v-else-if="value[0].questionType == '1'">
|
||||||
<div class="question" style="margin-top: 41px" v-if="
|
<div class="question" style="margin-top: 41px" v-if="
|
||||||
data.assessmentSingleChoiceDtoList &&
|
data.assessmentSingleChoiceDtoList &&
|
||||||
data.assessmentSingleChoiceDtoList.length
|
data.assessmentSingleChoiceDtoList.length
|
||||||
">
|
">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
{{ data.assessmentSingleChoiceDtoList[0]?.singleStemName }}
|
{{ data.assessmentSingleChoiceDtoList[0]?.singleStemName }}
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(value, index) in data.assessmentSingleChoiceDtoList" :key="index"
|
<div v-for="(value, index) in data.assessmentSingleChoiceDtoList" :key="index"
|
||||||
style="display: flex; align-items: center" :style="{
|
style="display: flex; align-items: center" :style="{
|
||||||
'margin-top': index === 0 ? '29px' : '22px',
|
'margin-top': index === 0 ? '29px' : '22px',
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
}" @click="
|
}" @click="
|
||||||
() => {
|
() => {
|
||||||
if (data.isSubmit) {
|
if (data.isSubmit) {
|
||||||
return;
|
return;
|
||||||
@@ -115,17 +115,17 @@
|
|||||||
|
|
||||||
<div v-else-if="value[0].questionType == '2'">
|
<div v-else-if="value[0].questionType == '2'">
|
||||||
<div class="question" style="margin-top: 41px" v-if="
|
<div class="question" style="margin-top: 41px" v-if="
|
||||||
data.assessmentMultipleChoiceDtoList &&
|
data.assessmentMultipleChoiceDtoList &&
|
||||||
data.assessmentMultipleChoiceDtoList.length
|
data.assessmentMultipleChoiceDtoList.length
|
||||||
">
|
">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
{{ data.assessmentMultipleChoiceDtoList[0]?.multipleStemName }}
|
{{ data.assessmentMultipleChoiceDtoList[0]?.multipleStemName }}
|
||||||
</div>
|
</div>
|
||||||
<div v-for="(value, index) in data.assessmentMultipleChoiceDtoList" :key="index"
|
<div v-for="(value, index) in data.assessmentMultipleChoiceDtoList" :key="index"
|
||||||
style="display: flex; align-items: center" :style="{
|
style="display: flex; align-items: center" :style="{
|
||||||
'margin-top': index === 0 ? '29px' : '22px',
|
'margin-top': index === 0 ? '29px' : '22px',
|
||||||
cursor: 'pointer',
|
cursor: 'pointer',
|
||||||
}" @click="
|
}" @click="
|
||||||
() => {
|
() => {
|
||||||
if (data.isSubmit) {
|
if (data.isSubmit) {
|
||||||
return;
|
return;
|
||||||
@@ -292,11 +292,11 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<div style="display: flex; justify-content: center" v-if="
|
<div style="display: flex; justify-content: center" v-if="
|
||||||
data.assessmentEssayQuestionDtoList?.length ||
|
data.assessmentEssayQuestionDtoList?.length ||
|
||||||
data.assessmentMultipleChoiceDtoList?.length ||
|
data.assessmentMultipleChoiceDtoList?.length ||
|
||||||
data.assessmentSingleChoiceDtoList?.length ||
|
data.assessmentSingleChoiceDtoList?.length ||
|
||||||
data.assessmentScoringQuestionDtoList?.length
|
data.assessmentScoringQuestionDtoList?.length
|
||||||
">
|
">
|
||||||
<div class="submit" @click="submit" :style="{ background: data.isSubmit ? '#999' : '#2478ff' }">
|
<div class="submit" @click="submit" :style="{ background: data.isSubmit ? '#999' : '#2478ff' }">
|
||||||
提交
|
提交
|
||||||
</div>
|
</div>
|
||||||
@@ -334,7 +334,7 @@ import { ElMessage } from "element-plus";
|
|||||||
import { ref } from "vue";
|
import { ref } from "vue";
|
||||||
|
|
||||||
const {
|
const {
|
||||||
query: { courseId, id: taskId, taskIds, type, pName, sName, chapterOrStageId },
|
query: { courseId, id: taskId, infoId, type, pName, sName, chapterOrStageId },
|
||||||
} = useRoute();
|
} = useRoute();
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const returnclick = () => {
|
const returnclick = () => {
|
||||||
@@ -353,8 +353,8 @@ function formateArr(arr1) {
|
|||||||
return newarr
|
return newarr
|
||||||
}
|
}
|
||||||
|
|
||||||
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId, type, chapterOrStageId, targetId: taskIds ? taskIds : 0 });
|
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId, type, chapterOrStageId, targetId: infoId ? infoId : 0 });
|
||||||
console.log('我是查询评估的参数', { id: courseId, type, chapterOrStageId, targetId: taskIds ? taskIds : 0 })
|
console.log('我是查询评估的参数', { id: courseId, type, chapterOrStageId, targetId: infoId ? infoId : 0 })
|
||||||
console.log('我是需要排序得题目', data)
|
console.log('我是需要排序得题目', data)
|
||||||
|
|
||||||
function goHome() {
|
function goHome() {
|
||||||
@@ -369,10 +369,10 @@ function submit() {
|
|||||||
if (1 > 0) {
|
if (1 > 0) {
|
||||||
console.log(data)
|
console.log(data)
|
||||||
console.log('我是提交的数据', {
|
console.log('我是提交的数据', {
|
||||||
targetId: taskId ? taskId : taskIds ? taskIds : 0, // 项目、路径图或开课的Id
|
targetId: infoId ? infoId : 0, // 项目、路径图或开课的Id
|
||||||
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
||||||
assessmentId: courseId,
|
assessmentId: courseId,
|
||||||
taskId: taskId ? taskId : taskIds ? taskIds : 0,
|
taskId: taskId ? taskId : 0,
|
||||||
type,
|
type,
|
||||||
result: JSON.stringify(data.value),
|
result: JSON.stringify(data.value),
|
||||||
})
|
})
|
||||||
@@ -424,10 +424,10 @@ function submit() {
|
|||||||
|
|
||||||
data.value.isSubmit = !data.value.isSubmit;
|
data.value.isSubmit = !data.value.isSubmit;
|
||||||
request(ASSESSMENT_SUBMIT, {
|
request(ASSESSMENT_SUBMIT, {
|
||||||
targetId: taskIds ? taskIds : 0, // 项目、路径图或开课的Id
|
targetId: infoId ? infoId : 0, // 项目、路径图或开课的Id
|
||||||
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
||||||
assessmentId: courseId,
|
assessmentId: courseId,
|
||||||
taskId: taskIds ? taskIds : 0,
|
taskId: taskId ? taskId : 0,
|
||||||
type,
|
type,
|
||||||
result: JSON.stringify(data.value),
|
result: JSON.stringify(data.value),
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user