qirong
2023-11-28 d44a2361fa5173f0421ec05921bde28d59614d45
src/views/exam/question/edit/true-false.vue
@@ -1,14 +1,15 @@
<template>
  <div class="app-container">
    <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading"  :rules="rules">
      <el-form-item label="部门:" prop="gradeLevel" required>
      <el-form-item label="部门:" prop="gradeLevel" style="display: none">
        <el-select v-model="form.gradeLevel" placeholder="部门"  @change="levelChange">
          <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
          <el-option v-for="item in depart" :key="item.id" :value="item.id" :label="item.name"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="课目:" prop="subjectId" required>
        <el-select v-model="form.subjectId" placeholder="课目" >
          <el-option v-for="item in subjectFilter" :key="item.id" :value="item.id" :label="item.name+' ( '+item.levelName+' )'"></el-option>
      <el-form-item label="课目:" prop="subjectIds" required>
        <el-select v-model="form.subjectIds" placeholder="课目"  multiple
                   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="title" required>
@@ -58,6 +59,7 @@
import Ueditor from '@/components/Ueditor'
import { mapGetters, mapState, mapActions } from 'vuex'
import questionApi from '@/api/question'
import departmentApi from '@/api/department'
export default {
  components: {
@@ -65,11 +67,18 @@
  },
  data () {
    return {
      queryParam: {
        level: null,
        pageIndex: 1,
        pageSize: 100
      },
      depart:[],
      form: {
        id: null,
        questionType: 3,
        gradeLevel: null,
        subjectId: null,
        title: '',
        items: [
          { id: null, prefix: 'A', content: '是' },
@@ -83,10 +92,10 @@
      subjectFilter: null,
      formLoading: false,
      rules: {
        gradeLevel: [
          { required: true, message: '请选择部门', trigger: 'change' }
        ],
        subjectId: [
        // gradeLevel: [
        //   { required: true, message: '请选择部门', trigger: 'change' }
        // ],
        subjectIds: [
          { required: true, message: '请选择课目', trigger: 'change' }
        ],
        title: [
@@ -126,11 +135,25 @@
      _this.formLoading = true
      questionApi.select(id).then(re => {
        _this.form = re.response
        _this.form.subjectIds = []
        _this.form.questionSubjects.forEach(item=>{
          _this.form.subjectIds.push(item.subjectId)
        })
        _this.formLoading = false
      })
    }
    _this.seachPageDepartMentList()
  },
  methods: {
    seachPageDepartMentList(){
      let that = this
      departmentApi.pageList(this.queryParam).then(res=>{
        console.log(res)
        if (res.code == 1){
          that.depart = res.response.list
        }
      })
    },
    editorReady (instance) {
      this.richEditor.instance = instance
      let currentContent = this.richEditor.object[this.richEditor.parameterName]
@@ -149,6 +172,7 @@
      this.richEditor.dialogVisible = false
    },
    submitForm () {
      console.log(this.form)
      let _this = this
      this.$refs.form.validate((valid) => {
        if (valid) {
@@ -178,7 +202,7 @@
        id: null,
        questionType: 3,
        gradeLevel: null,
        subjectId: null,
        title: '',
        items: [
          { id: null, prefix: 'A', content: '是' },
@@ -192,7 +216,7 @@
      this.form.id = lastId
    },
    levelChange () {
      this.form.subjectId = null
      this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel)
    },
    showQuestion () {