mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-11 03:46:45 +08:00
feat:增加评估管理学员情况列表-查看评估详情答题信息展示
This commit is contained in:
@@ -19,3 +19,6 @@ export const GetCourseStudent = (obj) => http.get('/admin/student/getCourseStude
|
|||||||
|
|
||||||
// 查询评估管理-管理学员的学习信息
|
// 查询评估管理-管理学员的学习信息
|
||||||
export const QueryAssessmentManageMessage = (obj) => http.post('/admin/assessment/manage/queryAssessmentManageMessage', obj)
|
export const QueryAssessmentManageMessage = (obj) => http.post('/admin/assessment/manage/queryAssessmentManageMessage', obj)
|
||||||
|
|
||||||
|
// 评估管理评估详情查看
|
||||||
|
export const QueryAssessmentDetail = (obj) => http.post('/admin/assessment/manage/queryAssessmentDetail', obj)
|
||||||
|
|||||||
@@ -25,9 +25,10 @@
|
|||||||
<div class="asscontent">-</div>
|
<div class="asscontent">-</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-for="(values, index) in [{type:1},{type:2},{type:3},{type:4},{type:2},{type:3},{type:4}]"
|
v-for="(values, index) in questionListArr"
|
||||||
:key="index">
|
:key="index">
|
||||||
<div v-if="values.type==1 || values.type==2" class="assessbox" style="margin-top: 30px">
|
<!-- 单项选择 -->
|
||||||
|
<div v-if="values[0].questionType==1" class="assessbox" style="margin-top: 30px">
|
||||||
<div class="box1">
|
<div class="box1">
|
||||||
<div class="asstype">评估类型:</div>
|
<div class="asstype">评估类型:</div>
|
||||||
<div class="typename">单选</div>
|
<div class="typename">单选</div>
|
||||||
@@ -35,24 +36,53 @@
|
|||||||
<div class="box1" style="margin-left: 64px">
|
<div class="box1" style="margin-left: 64px">
|
||||||
<div class="asstype">题干:</div>
|
<div class="asstype">题干:</div>
|
||||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||||
这个课程你觉得对你有用吗?
|
{{values[0]?.singleStemName}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-radio-group v-model:value="value">
|
<div v-for="(iitem,indexs) in values" :key="indexs">
|
||||||
<div class="box1" style="margin-left: 55px; margin-top: 20px">
|
<div class="box1" style="margin-left: 55px; margin-top: 20px">
|
||||||
<div class="asstype">选择1:</div>
|
<div class="asstype">选择{{indexs+1}}:</div>
|
||||||
<a-radio :value="1">有用</a-radio>
|
<div style="display:flex;justify-content:center;align-items:center;">
|
||||||
|
<div v-if="iitem.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||||
|
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||||
|
</div>
|
||||||
|
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||||
|
{{iitem.singleOptionName}}
|
||||||
|
</div>
|
||||||
|
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
|
||||||
</div>
|
</div>
|
||||||
<div
|
</div>
|
||||||
class="box1"
|
<div style="margin-bottom:30px;"></div>
|
||||||
style="margin-left: 55px; margin-top: 20px; margin-bottom: 30px"
|
|
||||||
>
|
|
||||||
<div class="asstype">选择2:</div>
|
|
||||||
<a-radio :value="2">没用</a-radio>
|
|
||||||
</div>
|
|
||||||
</a-radio-group>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="values.type==3" class="assessbox" style="margin-top: 30px">
|
<!-- 多项选择 -->
|
||||||
|
<div v-if="values[0].questionType==2" class="assessbox" style="margin-top: 30px">
|
||||||
|
<div class="box1">
|
||||||
|
<div class="asstype">评估类型:</div>
|
||||||
|
<div class="typename">多选</div>
|
||||||
|
</div>
|
||||||
|
<div class="box1" style="margin-left: 64px">
|
||||||
|
<div class="asstype">题干:</div>
|
||||||
|
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||||
|
{{values[0]?.multipleStemName}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-for="(iitem,indexs) in values" :key="indexs">
|
||||||
|
<div class="box1" style="margin-left: 55px; margin-top: 20px">
|
||||||
|
<div class="asstype">选择{{indexs+1}}:</div>
|
||||||
|
<div style="display:flex;justify-content:center;align-items:center;">
|
||||||
|
<div v-if="iitem.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||||
|
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||||
|
</div>
|
||||||
|
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||||
|
{{iitem.multipleOptionName}}
|
||||||
|
</div>
|
||||||
|
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom:30px;"></div>
|
||||||
|
</div>
|
||||||
|
<!-- 问答题 -->
|
||||||
|
<div v-else-if="values[0].questionType==3" class="assessbox" style="margin-top: 30px">
|
||||||
<div class="box1">
|
<div class="box1">
|
||||||
<div class="asstype">评估类型:</div>
|
<div class="asstype">评估类型:</div>
|
||||||
<div class="typename">问答题</div>
|
<div class="typename">问答题</div>
|
||||||
@@ -60,7 +90,7 @@
|
|||||||
<div class="box1" style="margin-left: 64px">
|
<div class="box1" style="margin-left: 64px">
|
||||||
<div class="asstype">标题:</div>
|
<div class="asstype">标题:</div>
|
||||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||||
对这个课程有什么建议吗?
|
{{values[0]?.assessmentQaTitle}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@@ -69,11 +99,12 @@
|
|||||||
>
|
>
|
||||||
<div class="asstype">描述:</div>
|
<div class="asstype">描述:</div>
|
||||||
<div style="color: rgba(51, 51, 51, 1); font-size: 14px">
|
<div style="color: rgba(51, 51, 51, 1); font-size: 14px">
|
||||||
希望以后这样的课程能够躲开,让我们多多了解!
|
{{ values[0]?.assessmentQaDescribe }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="assessbox" style="margin-top: 30px">
|
<!-- 评分题 -->
|
||||||
|
<div v-else-if="values[0].questionType==4" class="assessbox" style="margin-top: 30px">
|
||||||
<div class="box1">
|
<div class="box1">
|
||||||
<div class="asstype">评估类型:</div>
|
<div class="asstype">评估类型:</div>
|
||||||
<div class="typename">评分题</div>
|
<div class="typename">评分题</div>
|
||||||
@@ -81,26 +112,19 @@
|
|||||||
<div class="box1" style="margin-left: 64px">
|
<div class="box1" style="margin-left: 64px">
|
||||||
<div class="asstype">标题:</div>
|
<div class="asstype">标题:</div>
|
||||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||||
请给当前课程打分
|
{{values[0]?.assessmentScTitle}}{{ values[0]?.assessmentMinScore }}{{ values[0]?.assessmentMaxScore }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="lastbox">
|
<div class="lastbox">
|
||||||
<div class="sorcetext">非常不满意</div>
|
<div class="sorcetext">非常不满意</div>
|
||||||
<div class="sorcebox">
|
<div class="sorcebox" v-for="(iittem, index) in [1,2,3,4,5,6,7,8,9,10]" :key="index">
|
||||||
<div class="numbox">1</div>
|
|
||||||
<div class="numbox">2</div>
|
<div :class="index+1 >= values[0]?.assessmentMinScore && index+1 <= values[0]?.assessmentMaxScore ? 'numbox' : 'numbox1'">{{ iittem }}</div>
|
||||||
<div class="numbox">3</div>
|
|
||||||
<div class="numbox">4</div>
|
|
||||||
<div class="numbox">5</div>
|
|
||||||
<div class="numbox">6</div>
|
|
||||||
<div class="numbox">7</div>
|
|
||||||
<div class="numbox">8</div>
|
|
||||||
<div class="numbox1">9</div>
|
|
||||||
<div class="numbox1">10</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="sorcetext">非常满意</div>
|
<div class="sorcetext">非常满意</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 30px;margin-bottom: 60px;"></div>
|
<div style="margin-top: 30px;margin-bottom: 60px;"></div>
|
||||||
|
|
||||||
@@ -115,6 +139,8 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs } from "vue";
|
import { reactive, toRefs } from "vue";
|
||||||
|
import * as api from "@/api/indexTaskManage";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "ViewAssess",
|
name: "ViewAssess",
|
||||||
props: {
|
props: {
|
||||||
@@ -126,6 +152,12 @@ export default {
|
|||||||
type: String,
|
type: String,
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
|
basicdata: {
|
||||||
|
type: Object,
|
||||||
|
default: function () {
|
||||||
|
return {};
|
||||||
|
},
|
||||||
|
},
|
||||||
datasource: {
|
datasource: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: function () {
|
default: function () {
|
||||||
@@ -136,15 +168,46 @@ export default {
|
|||||||
setup(props, ctx) {
|
setup(props, ctx) {
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
value: "1",
|
value: "1",
|
||||||
|
questionListArr: [],
|
||||||
|
valueq1:"",
|
||||||
|
valueq2:""
|
||||||
});
|
});
|
||||||
const closeDrawer = () => {
|
const closeDrawer = () => {
|
||||||
ctx.emit("update:Assessvisible", false);
|
ctx.emit("update:Assessvisible", false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 数组去空对象
|
||||||
|
function formateArr(arr1) {
|
||||||
|
console.log(arr1, arr1[0], arr1[0].length)
|
||||||
|
let newarr = []
|
||||||
|
for (let i = 0; i < arr1.length; i++) {
|
||||||
|
if (arr1[i].length !== 0) {
|
||||||
|
newarr.push(arr1[i])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return newarr
|
||||||
|
}
|
||||||
|
|
||||||
const afterVisibleChange = (bool) => {
|
const afterVisibleChange = (bool) => {
|
||||||
console.log("state", bool);
|
console.log("state", bool);
|
||||||
if(bool){
|
if(bool){
|
||||||
console.log('我是传递过来的参数', props.datasource)
|
console.log('我是传递过来的参数', props.datasource)
|
||||||
|
console.log('我是传递过来的参数2', props.basicdata)
|
||||||
|
api.QueryAssessmentDetail({
|
||||||
|
"assessmentSubmitId": props.datasource.assessmentSubmitId,
|
||||||
|
"courseId": props.datasource.courseId,
|
||||||
|
"studentId": props.datasource.studentId
|
||||||
|
}).then(res=>{
|
||||||
|
console.log(res)
|
||||||
|
if(res.data.code==200){
|
||||||
|
let qarr = [res.data.data.assessmentEssayQuestionDtoList, res.data.data.assessmentMultipleChoiceDtoList,res.data.data.assessmentScoringQuestionDtoList,res.data.data.assessmentSingleChoiceDtoList]
|
||||||
|
let newarr = formateArr(qarr).sort((a, b) => { return a[0].orderNumber - b[0].orderNumber})
|
||||||
|
state.questionListArr = newarr
|
||||||
|
console.log('我是经过排序后的题目',newarr)
|
||||||
|
}
|
||||||
|
}).catch(err=>{
|
||||||
|
console.log(err)
|
||||||
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -86,7 +86,7 @@
|
|||||||
<!-- 分页 -->
|
<!-- 分页 -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<view-assess v-model:Assessvisible="Assessvisible" :datasource="evalDataSource" :evalName="basicInfo.assessmentName"/>
|
<view-assess v-model:Assessvisible="Assessvisible" :datasource="evalDataSource" :evalName="basicInfo.assessmentName" :basicdata="basicInfo"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
Reference in New Issue
Block a user