mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 03:16:44 +08:00
feat:增加评估管理学员情况列表-查看评估详情答题信息展示
This commit is contained in:
@@ -18,4 +18,7 @@ export const QueryOnlineManagementDetail = (obj) => http.post('/admin/online/man
|
||||
export const GetCourseStudent = (obj) => http.get('/admin/student/getCourseStudent', {params: obj})
|
||||
|
||||
// 查询评估管理-管理学员的学习信息
|
||||
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>
|
||||
<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">
|
||||
<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="asstype">评估类型:</div>
|
||||
<div class="typename">单选</div>
|
||||
@@ -35,24 +36,53 @@
|
||||
<div class="box1" style="margin-left: 64px">
|
||||
<div class="asstype">题干:</div>
|
||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||
这个课程你觉得对你有用吗?
|
||||
{{values[0]?.singleStemName}}
|
||||
</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="asstype">选择1:</div>
|
||||
<a-radio :value="1">有用</a-radio>
|
||||
<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.singleOptionName}}
|
||||
</div>
|
||||
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
|
||||
</div>
|
||||
<div
|
||||
class="box1"
|
||||
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 style="margin-bottom:30px;"></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="asstype">评估类型:</div>
|
||||
<div class="typename">问答题</div>
|
||||
@@ -60,7 +90,7 @@
|
||||
<div class="box1" style="margin-left: 64px">
|
||||
<div class="asstype">标题:</div>
|
||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||
对这个课程有什么建议吗?
|
||||
{{values[0]?.assessmentQaTitle}}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
@@ -69,11 +99,12 @@
|
||||
>
|
||||
<div class="asstype">描述:</div>
|
||||
<div style="color: rgba(51, 51, 51, 1); font-size: 14px">
|
||||
希望以后这样的课程能够躲开,让我们多多了解!
|
||||
{{ values[0]?.assessmentQaDescribe }}
|
||||
</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="asstype">评估类型:</div>
|
||||
<div class="typename">评分题</div>
|
||||
@@ -81,26 +112,19 @@
|
||||
<div class="box1" style="margin-left: 64px">
|
||||
<div class="asstype">标题:</div>
|
||||
<div style="color: rgba(153, 153, 153, 1); font-size: 14px">
|
||||
请给当前课程打分
|
||||
{{values[0]?.assessmentScTitle}}{{ values[0]?.assessmentMinScore }}{{ values[0]?.assessmentMaxScore }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="lastbox">
|
||||
<div class="sorcetext">非常不满意</div>
|
||||
<div class="sorcebox">
|
||||
<div class="numbox">1</div>
|
||||
<div class="numbox">2</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 class="sorcebox" v-for="(iittem, index) in [1,2,3,4,5,6,7,8,9,10]" :key="index">
|
||||
|
||||
<div :class="index+1 >= values[0]?.assessmentMinScore && index+1 <= values[0]?.assessmentMaxScore ? 'numbox' : 'numbox1'">{{ iittem }}</div>
|
||||
</div>
|
||||
<div class="sorcetext">非常满意</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div style="margin-top: 30px;margin-bottom: 60px;"></div>
|
||||
|
||||
@@ -115,6 +139,8 @@
|
||||
|
||||
<script>
|
||||
import { reactive, toRefs } from "vue";
|
||||
import * as api from "@/api/indexTaskManage";
|
||||
|
||||
export default {
|
||||
name: "ViewAssess",
|
||||
props: {
|
||||
@@ -126,6 +152,12 @@ export default {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
basicdata: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
return {};
|
||||
},
|
||||
},
|
||||
datasource: {
|
||||
type: Object,
|
||||
default: function () {
|
||||
@@ -136,15 +168,46 @@ export default {
|
||||
setup(props, ctx) {
|
||||
const state = reactive({
|
||||
value: "1",
|
||||
questionListArr: [],
|
||||
valueq1:"",
|
||||
valueq2:""
|
||||
});
|
||||
const closeDrawer = () => {
|
||||
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) => {
|
||||
console.log("state", bool);
|
||||
if(bool){
|
||||
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>
|
||||
<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>
|
||||
|
||||
<script>
|
||||
|
||||
Reference in New Issue
Block a user