From 3aa69066c6c9b06ba9c0defe4d01bd741e8ed97b Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期五, 17 五月 2024 17:28:53 +0800
Subject: [PATCH] fix:数据回显问题
---
src/views/exam/personalRandomTemplate/edit.vue | 95 +++++++++++++++++++++++++++++++++++++++++------
1 files changed, 83 insertions(+), 12 deletions(-)
diff --git a/src/views/exam/personalRandomTemplate/edit.vue b/src/views/exam/personalRandomTemplate/edit.vue
index 3009191..14931ed 100644
--- a/src/views/exam/personalRandomTemplate/edit.vue
+++ b/src/views/exam/personalRandomTemplate/edit.vue
@@ -2,18 +2,18 @@
<div class="app-container">
<el-form :model="form" ref="form" label-width="200px" v-loading="formLoading" :rules="rules">
<el-form-item label="鑰冪敓锛�" prop="menuIds" required>
-<!-- <el-cascader v-model="form.menuIds" :options="options" @change="cascaderChangeFun" :props="props" clearable collapse-tags>-->
-<!-- </el-cascader>-->
- <all-cascader :options="options"
- :optionsData = "optionsData"
- @change="cascaderChangeFun"
- :width="200"></all-cascader>
+ <el-select v-model="form.menuIds" :collapse-tags="true" multiple placeholder="璇烽�夋嫨" @focus="selectStudent"></el-select>
</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">
<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="deptId" required>
+ <el-select v-model="form.deptId" collapse-tags placeholder="閮ㄩ棬">
+ <el-option v-for="item in depts" :key="item.id" :value="item.id" :label="item.name"></el-option>
</el-select>
</el-form-item>
<el-form-item label="璇曞嵎绫诲瀷锛�" prop="paperType" required >
@@ -125,6 +125,35 @@
<el-button type="primary" @click="confirmQuestionSelect">纭畾</el-button>
</span>
</el-dialog>
+
+ <el-dialog :visible.sync="studentDialog" width="70%">
+ <el-form :model="student" ref="queryForm" :inline="true">
+ <el-form-item label="鏍囩锛�">
+ <el-select v-model="student.tagId" clearable>
+ <el-option v-for="item in tags" :key="item.id" :value="item.id" :label="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="閮ㄩ棬锛�">
+ <el-select v-model="student.deptId" clearable>
+ <el-option v-for="item in depts" :key="item.id" :value="item.id" :label="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="selectStudent">鏌ヨ</el-button>
+ </el-form-item>
+ </el-form>
+ <el-table v-loading="student.listLoading" :data="tableData" border fit highlight-current-row style="width: 100%" @selection-change="handleSelection">
+ <el-table-column type="selection"></el-table-column>
+ <el-table-column prop="realName" label="鐢ㄦ埛"/>
+ </el-table>
+ <pagination v-show="total > 0" :total="total"
+ :page.sync="student.pageIndex" :limit.sync="student.pageSize"
+ @pagination="selectStudent"/>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="studentDialog = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmStudentSelect">纭畾</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
@@ -134,6 +163,7 @@
import Pagination from '@/components/Pagination'
import QuestionShow from '../question/components/Show'
import examPaperApi from '@/api/examPaper'
+import userApi from '@/api/user'
import questionApi from '@/api/question'
import departmentApi from '@/api/department'
import allCascader from '@/components/Cascader'
@@ -142,6 +172,18 @@
data () {
return {
+ tags: [],
+ depts: [],
+ student: {},
+ studentDialog: false,
+ student: {
+ pageIndex: 1,
+ pageSize: 5,
+ listLoading: true,
+ multipleSelection: []
+ },
+ tableData: [],
+ total: 0,
props: {
multiple: true
// lazy: true,
@@ -157,6 +199,7 @@
// })
// }
},
+ depts: [],
options: [],
optionsData:[],
departCascaderProps:{
@@ -180,9 +223,11 @@
subjectFilter: null,
formLoading: false,
rules: {
-
subjectId: [
{ required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
+ ],
+ deptId: [
+ { required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
],
paperType: [
{ required: true, message: '璇烽�夋嫨璇曞嵎绫诲瀷', trigger: 'change' }
@@ -215,6 +260,9 @@
examPaperApi.selflist().then(res => {
console.log(res)
this.subjectFilter = res.response
+ })
+ departmentApi.getDeptAdmins().then(res => {
+ this.depts = res.response
})
},
async mounted () {
@@ -251,6 +299,29 @@
// this.subjectIdEvent(false)
},
methods: {
+ handleSelection (val) {
+ this.student.multipleSelection = val
+ },
+ confirmStudentSelect () {
+ this.student.multipleSelection.forEach(q => {
+ this.form.menuIds.push(q.id)
+ })
+ this.studentDialog = false
+ },
+ getTags () {
+ userApi.tagList(null).then(data => {
+ this.tags = data.response
+ })
+ },
+ selectStudent() {
+ this.getTags();
+ this.studentDialog = true;
+ examPaperApi.selectStudent(this.student).then(res => {
+ this.tableData = res.response.list
+ this.total = res.response.total
+ this.student.listLoading = false
+ })
+ },
cascaderChangeFun(event){
console.log(event)
this.form.menuIds = event
@@ -338,12 +409,12 @@
if (lastHasAll){
this.form.menuIds = this.form.menuIds.slice(1)
}
- let op = [];
- for(var ele of this.form.menuIds){
- op.push(ele[1])
- };
+ // let op = [];
+ // for(var ele of this.form.menuIds){
+ // op.push(ele[1])
+ // };
+ this.form.userIds = this.form.menuIds;
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 = [];
--
Gitblit v1.8.0