From 4f39d2d3ee69813f106e06fc8a8d168ecccc941c Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 15 三月 2024 15:32:17 +0800
Subject: [PATCH] 成绩统计详情增加时间查询
---
src/views/exam/paper/edit.vue | 154 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 111 insertions(+), 43 deletions(-)
diff --git a/src/views/exam/paper/edit.vue b/src/views/exam/paper/edit.vue
index 6317a3b..a3b03fd 100644
--- a/src/views/exam/paper/edit.vue
+++ b/src/views/exam/paper/edit.vue
@@ -1,21 +1,19 @@
<template>
<div class="app-container">
<el-form :model="form" ref="form" label-width="200px" v-loading="formLoading" :rules="rules">
- <el-form-item label="閮ㄩ棬锛�" prop="departmentIds" required>
- <el-select v-model="form.departmentIds" placeholder="閮ㄩ棬" @change="levelChange" multiple
- collapse-tags>
- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
- </el-select>
+ <el-form-item label="鑰冪敓锛�" prop="menuIds" required>
+ <el-cascader v-model="form.menuIds" :options="options" :props="props" @change="handleChange" clearable collapse-tags>
+ </el-cascader>
</el-form-item>
<el-form-item label="璇剧洰锛�" prop="subjectId" required>
<el-select ref="subjectIdRef" v-model="form.subjectId" placeholder="璇剧洰" multiple
- collapse-tags @visible-change="subjectIdEvent" >
+ collapse-tags >
<el-option v-for="item in subjectFilter" :key="item.id" :value="item.id"
:label="item.name+' '"></el-option>
</el-select>
</el-form-item>
<el-form-item label="璇曞嵎绫诲瀷锛�" prop="paperType" required>
- <el-select v-model="form.paperType" placeholder="璇曞嵎绫诲瀷" >
+ <el-select v-model="form.paperType" placeholder="璇曞嵎绫诲瀷" @visible-change="subjectIdEvent">
<el-option v-for="item in paperTypeEnum" :key="item.key" :value="item.key" :label="item.value" ></el-option>
</el-select>
</el-form-item>
@@ -37,13 +35,26 @@
</el-col>
</el-row>
</el-form-item>
- <el-form-item :key="index" :label="titlejs(key)" required v-for="(value,key,index) in form.subjectSource" v-if="form.paperType ==7">
+ <el-form-item :key="item.subjectId" :label="item.label" required v-for="(item,key,index) in form.questionTypeVMS" v-if="form.paperType ==7">
<el-row >
<el-col :span="3" >
- <span>棰樼洰鏁伴噺锛�</span>
+ <span>澶氶�夐锛�</span>
+
</el-col>
- <el-col :span="9">
- <el-input v-model="form.subjectSource[key]" style="width: 80%"/>
+ <el-col :span="3">
+ <el-input v-model="form.questionTypeVMS[key].multipleChoice" style="width: 80%"/>
+ </el-col>
+ <el-col :span="3" >
+ <span>鍗曢�夐锛�</span>
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="form.questionTypeVMS[key].singleChoice" style="width: 80%"/>
+ </el-col>
+ <el-col :span="3" >
+ <span>鍒ゆ柇棰橈細</span>
+ </el-col>
+ <el-col :span="3">
+ <el-input v-model="form.questionTypeVMS[key].trueFalse" style="width: 80%"/>
</el-col>
</el-row>
</el-form-item>
@@ -97,7 +108,6 @@
<el-table v-loading="questionPage.listLoading" :data="questionPage.tableData"
@selection-change="handleSelectionChange" border fit highlight-current-row style="width: 100%">
<el-table-column type="selection" width="35"></el-table-column>
- <el-table-column prop="id" label="Id" width="60px"/>
<el-table-column prop="questionType" label="棰樺瀷" :formatter="questionTypeFormatter" width="70px"/>
<el-table-column prop="shortTitle" label="棰樺共" show-overflow-tooltip/>
</el-table>
@@ -119,29 +129,51 @@
import QuestionShow from '../question/components/Show'
import examPaperApi from '@/api/examPaper'
import questionApi from '@/api/question'
+import departmentApi from '@/api/department'
export default {
components: { Pagination, QuestionShow },
data () {
return {
+ props: {
+ multiple: true
+ // lazy: true,
+ // lazyLoad (node, resolve) {
+ // console.log(node,"node");
+ // var that = this;
+ // departmentApi.selectUser(node.value).then(re=>{
+ // console.log(re,"re");
+ // const nodes = re.response.map(xxx=>{
+ // return {value: xxx.id,label: xxx.realName,leaf: node.level >= 1}
+ // });
+ // resolve(nodes);
+ // })
+ // }
+ },
+ options: [],
+ departCascaderProps:{
+ multiple: true
+ },
subjectIdList:[],
form: {
aggregateSource:100,
id: null,
departmentIds: [],
+ userIds: [],
subjectId: [],
paperType: 1,
limitDateTime: [],
name: '',
suggestTime: null,
titleItems: [],
- subjectSource:null
+ subjectSource:{},
+ questionTypeVMS:[]
},
subjectFilter: null,
formLoading: false,
rules: {
- departmentIds: [
- { required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
+ menuIds: [
+ { required: true, message: '璇烽�夋嫨', trigger: 'change' }
],
subjectId: [
{ required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
@@ -183,11 +215,21 @@
_this.formLoading = true
examPaperApi.select(id).then(re => {
_this.form = re.response
+ _this.form.menuIds = JSON.parse(re.response.menuIds)
+ console.log(_this.form)
_this.formLoading = false
})
}
+ departmentApi.selectDepartmentUser().then(res => {
+ console.log("res",res);
+
+ _this.options = res.response.map(x=>{return{value:x.department.id,label:x.department.name,children:x.userList.map(xx=>{return{value: xx.id,label: xx.realName}})}})
+ })
},
methods: {
+ handleChange(val){
+ console.log(val)
+ },
titlejs(val){
console.log(val)
let str = ''
@@ -207,49 +249,72 @@
this.$refs.subjectIdRef.selected.forEach(item=>{
arr.push({
label:item.label,
- id:item.value
+ subjectId:item.value,
+ singleChoice:'',
+ multipleChoice:'',
+ trueFalse:''
})
})
console.log(arr)
+ this.form.questionTypeVMS = arr
}
- if (arr.length>1){
+ if (this.form.paperType ==7){
//瑾槑鏄毃姗�
this.subjectIdList = arr
let obj1={}
+ let arr1 = []
arr.forEach((item,index)=>{
- let obj={
- item
- }
- for (let i in obj) {
- i=item.id
- obj[i]= ''
- obj1[i] = ''
- console.log('閿悕锛�', i);
- console.log('閿�硷細', obj[i]);
- }
+ // obj1[item.id]=''
+ arr1.push({
+ subjectId:item.id,
+ singleChoice:'',
+ multipleChoice:'',
+ trueFalse:''
+ })
+ // let obj={
+ // item
+ // }
+
+ // for (let i in obj) {
+ // i=item.id
+ // obj[i]= ''
+ // obj1[i] = ''
+ // console.log('閿悕锛�', i);
+ // console.log('閿�硷細', obj[i]);
+ // }
})
this.form.subjectSource = obj1
+
console.log(this.form.subjectSource)
+ console.log(this.form.questionTypeVMS)
// this.form.paperType = 7
this.form.titleItems = []
}else {
this.form.subjectSource={}
this.subjectIdList = []
- this.form.paperType = 1
+ this.form.questionTypeVMS=[]
+ // this.form.paperType = 1
}
},
submitForm () {
let _this = this
- console.log(this.subjectIdList)
- console.log(this.form.subjectSource)
this.$refs.form.validate((valid) => {
if (valid) {
- this.formLoading = true
- if (this.subjectIdList.length=1){
+ this.formLoading = true;
+ if (this.subjectIdList.length == 1){
this.form.subjectId= this.form.subjectId
+ };
+ let op = [];
+ for(var ele of this.form.menuIds){
+ op.push(ele[1])
+ };
+ this.form.menuIds = JSON.stringify(this.form.menuIds);
+ this.form.userIds = op;
+ console.log("laks",this.form)
+ if(this.form.questionTypeVMS == null){
+ this.form.questionTypeVMS = [];
}
-
examPaperApi.edit(this.form).then(re => {
if (re.code === 1) {
_this.$message.success(re.message)
@@ -299,7 +364,7 @@
this.questionPage.showDialog = false
},
levelChange () {
- this.form.subjectId = null
+ // this.form.subjectId = null
// this.subjectFilter = this.subjects.filter(data =>{
// return this.form.departmentIds.forEach(item=>{data.level == item})
// })
@@ -341,15 +406,18 @@
resetForm () {
let lastId = this.form.id
this.$refs['form'].resetFields()
- this.form = {
- id: null,
- departmentIds: [],
- subjectId: null,
- paperType: 1,
- limitDateTime: [],
- name: '',
- suggestTime: null,
- titleItems: []
+ this.form= {
+ aggregateSource:100,
+ id: null,
+ departmentIds: [],
+ subjectId: [],
+ paperType: 1,
+ limitDateTime: [],
+ name: '',
+ suggestTime: null,
+ titleItems: [],
+ subjectSource:null,
+ questionTypeVMS:[]
}
this.form.id = lastId
},
--
Gitblit v1.8.0