From 840e55adc10d028710de98aef0218cd4f68302af Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期二, 13 六月 2023 15:21:46 +0800
Subject: [PATCH] 部门修改
---
src/api/department.js | 10 +
vue.config.js | 2
src/views/exam/question/edit/multiple-choice.vue | 32 +++
src/views/education/subject/list.vue | 10
src/router.js | 13 +
src/views/education/department/list.vue | 98 ++++++++++++
src/views/exam/question/edit/single-choice.vue | 32 +++
src/views/exam/question/edit/true-false.vue | 34 +++
src/views/education/subject/edit.vue | 29 +++
src/views/education/department/edit.vue | 124 +++++++++++++++
src/views/exam/question/edit/short-answer.vue | 32 +++
src/views/exam/question/edit/gap-filling.vue | 32 +++
src/App.vue | 32 +++
13 files changed, 434 insertions(+), 46 deletions(-)
diff --git a/src/App.vue b/src/App.vue
index ec9032c..8e554d8 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -5,7 +5,37 @@
</template>
<script>
+import { mapGetters, mapState, mapActions } from 'vuex'
+import departmentApi from '@/api/department'
export default {
- name: 'App'
+ name: 'App',
+ data(){
+ return{
+ depart:[]
+ }
+ },
+ created () {
+ console.log(this.Islogin)
+ },
+ computed:{
+ ...mapState('enumItem',{Islogin:state => state.user.levelEnum})
+ },
+ mounted () {
+
+ console.log(this.Islogin)
+ 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
+ }
+ })
+ }
+ }
}
+
</script>
diff --git a/src/api/department.js b/src/api/department.js
new file mode 100644
index 0000000..ad2e75c
--- /dev/null
+++ b/src/api/department.js
@@ -0,0 +1,10 @@
+import { post } from '@/utils/request'
+
+export default {
+ list: query => post('/api/admin/education/department/list'),
+ pageList: query => post('/api/admin/department/page/list', query),
+ edit: query => post('/api/admin/department/update', query),
+ select: id => post('/api/admin/department/get/' + id),
+ deleteSubject: id => post('/api/admin/education/department/delete/' + id),
+ addData:query=>post('/api/admin/department/add',query)
+}
diff --git a/src/router.js b/src/router.js
index 30e4dd1..b4da040 100644
--- a/src/router.js
+++ b/src/router.js
@@ -179,11 +179,24 @@
meta: { title: '璇剧洰鍒楄〃', noCache: true }
},
{
+ path: 'department/list',
+ component: () => import('@/views/education/department/list'),
+ name: 'EducationDepartmentPage',
+ meta: { title: '閮ㄩ棬鍒楄〃', noCache: true }
+ },
+ {
path: 'subject/edit',
component: () => import('@/views/education/subject/edit'),
name: 'EducationSubjectEditPage',
meta: { title: '璇剧洰缂栬緫', noCache: true, activeMenu: '/education/subject/list' },
hidden: true
+ },
+ {
+ path: 'department/edit',
+ component: () => import('@/views/education/department/edit'),
+ name: 'EducationSubjectEditPage',
+ meta: { title: '閮ㄩ棬缂栬緫', noCache: true, activeMenu: '/education/department/list' },
+ hidden: true
}
]
},
diff --git a/src/views/education/department/edit.vue b/src/views/education/department/edit.vue
new file mode 100644
index 0000000..49d73c9
--- /dev/null
+++ b/src/views/education/department/edit.vue
@@ -0,0 +1,124 @@
+<template>
+ <div class="app-container">
+
+ <el-form :model="form" ref="form" label-width="100px" v-loading="formLoading">
+ <el-form-item label="閮ㄩ棬锛�" required>
+ <el-input v-model="form.name"></el-input>
+ </el-form-item>
+<!-- <el-form-item label="閮ㄩ棬锛�" required>-->
+<!-- <el-select v-model="form.level" placeholder="閮ㄩ棬">-->
+<!-- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>-->
+<!-- </el-select>-->
+<!-- </el-form-item>-->
+ <el-form-item>
+ <el-button type="primary" @click="submitForm">鎻愪氦</el-button>
+ <el-button @click="resetForm">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+</template>
+
+<script>
+import { mapGetters, mapState, mapActions } from 'vuex'
+import subjectApi from '@/api/subject'
+import departmentApi from '@/api/department'
+export default {
+ data () {
+ return {
+ form: {
+ id: null,
+ name: '',
+ // level: 1,
+ // levelName: ''
+ },
+ fig: 0,
+ formLoading: false
+ }
+ },
+ created () {
+ let id = this.$route.query.id
+ console.log(id)
+ let _this = this
+ if (id && parseInt(id) !== 0) {
+ _this.formLoading = true
+ departmentApi.select(id).then(re => {
+ _this.form = re.response
+ _this.formLoading = false
+ })
+ }
+ if (id == undefined) {
+ _this.fig = 1 //鏄柊澧�
+ } else {
+ _this.fig = 0 //鏄紪杈�
+ }
+ },
+ methods: {
+ submitForm () {
+ let _this = this
+ this.formLoading = true
+ // this.form.levelName = this.enumFormat(this.levelEnum, this.form.level)
+ let obj = {
+ name:this.form.name
+ }
+ if (_this.fig==1){
+ departmentApi.addData(this.form.name).then(res=>{
+ console.log(res)
+ if (res.code ==1){
+ _this.$message.success(res.message)
+ _this.delCurrentView(_this).then(() => {
+ _this.$router.push('/education/department/list')
+ })
+ }else {
+ _this.$message.error(res.message)
+ }
+ })
+ }else {
+ departmentApi.edit(this.form).then(res=>{
+ console.log(res)
+ if (res.code ==1){
+ _this.$message.success(res.message)
+ _this.delCurrentView(_this).then(() => {
+ _this.$router.push('/education/department/list')
+ })
+ }else {
+ _this.$message.error(res.message)
+ }
+ })
+ }
+ // departmentApi.edit(this.form).then(data => {
+ // if (data.code === 1) {
+ // _this.$message.success(data.message)
+ // _this.delCurrentView(_this).then(() => {
+ // _this.$router.push('/education/department/list')
+ // })
+ // } else {
+ // _this.$message.error(data.message)
+ // _this.formLoading = false
+ // }
+ // }).catch(e => {
+ // _this.formLoading = false
+ // })
+ },
+ resetForm () {
+ let lastId = this.form.id
+ this.$refs['form'].resetFields()
+ this.form = {
+ id: null,
+ name: '',
+ level: 1,
+ levelName: ''
+ }
+ this.form.id = lastId
+ },
+ ...mapActions('tagsView', { delCurrentView: 'delCurrentView' })
+ },
+ computed: {
+ ...mapGetters('enumItem', [
+ 'enumFormat'
+ ]),
+ ...mapState('enumItem', {
+ levelEnum: state => state.user.levelEnum
+ })
+ }
+}
+</script>
diff --git a/src/views/education/department/list.vue b/src/views/education/department/list.vue
new file mode 100644
index 0000000..9365faa
--- /dev/null
+++ b/src/views/education/department/list.vue
@@ -0,0 +1,98 @@
+<template>
+ <div class="app-container">
+ <el-form :model="queryParam" ref="queryForm" :inline="true">
+ <el-form-item label="閮ㄩ棬锛�">
+ <el-input v-model="queryParam.name"></el-input>
+<!-- <el-select v-model="queryParam.level" placeholder="閮ㄩ棬" clearable="">-->
+<!-- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>-->
+<!-- </el-select>-->
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="submitForm">鏌ヨ</el-button>
+ <router-link :to="{path:'/education/department/edit'}" class="link-left">
+ <el-button type="primary">娣诲姞</el-button>
+ </router-link>
+ </el-form-item>
+ </el-form>
+
+ <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%">
+ <el-table-column prop="id" label="Id" />
+ <el-table-column prop="name" label="閮ㄩ棬"/>
+<!-- <el-table-column prop="levelName" label="閮ㄩ棬" />-->
+ <el-table-column width="220px" label="鎿嶄綔" align="center">
+ <template slot-scope="{row}">
+ <router-link :to="{path:'/education/department/edit', query:{id:row.id}}" class="link-left">
+ <el-button size="mini">缂栬緫</el-button>
+ </router-link>
+ <el-button size="mini" type="danger" @click="delSubject(row)" class="link-left">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination v-show="total>0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize"
+ @pagination="search"/>
+ </div>
+</template>
+
+<script>
+import { mapGetters, mapState } from 'vuex'
+import Pagination from '@/components/Pagination'
+import subjectApi from '@/api/subject'
+import departmentApi from '@/api/department'
+export default {
+ components: { Pagination },
+ data () {
+ return {
+ queryParam: {
+ level: null,
+ pageIndex: 1,
+ pageSize: 10
+ },
+ listLoading: true,
+ tableData: [],
+ total: 0
+ }
+ },
+ created () {
+ this.search()
+ },
+ methods: {
+ search () {
+ this.listLoading = true
+ departmentApi.pageList(this.queryParam).then(data => {
+ const re = data.response
+ this.tableData = re.list
+ this.total = re.total
+ this.queryParam.pageIndex = re.pageNum
+ this.listLoading = false
+ })
+ },
+ submitForm () {
+ this.queryParam.pageIndex = 1
+ this.search()
+ },
+ delSubject (row) {
+ let _this = this
+ let obj = {
+ id :row.id,
+ deleted:1
+ }
+ departmentApi.edit(obj).then(re => {
+ if (re.code === 1) {
+ _this.search()
+ _this.$message.success(re.message)
+ } else {
+ _this.$message.error(re.message)
+ }
+ })
+ }
+ },
+ computed: {
+ ...mapGetters('enumItem', [
+ 'enumFormat'
+ ]),
+ ...mapState('enumItem', {
+ levelEnum: state => state.user.levelEnum
+ })
+ }
+}
+</script>
diff --git a/src/views/education/subject/edit.vue b/src/views/education/subject/edit.vue
index dd4bbfb..3961f61 100644
--- a/src/views/education/subject/edit.vue
+++ b/src/views/education/subject/edit.vue
@@ -6,8 +6,8 @@
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="閮ㄩ棬锛�" required>
- <el-select v-model="form.level" placeholder="閮ㄩ棬">
- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
+ <el-select ref="departRef" v-model="form.level" placeholder="閮ㄩ棬">
+ <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>
@@ -21,17 +21,24 @@
<script>
import { mapGetters, mapState, mapActions } from 'vuex'
import subjectApi from '@/api/subject'
+import departmentApi from '@/api/department'
export default {
data () {
return {
+ depart:[],
form: {
id: null,
name: '',
- level: 1,
+ level: null,
levelName: ''
},
- formLoading: false
+ formLoading: false,
+ queryParam: {
+ level: null,
+ pageIndex: 1,
+ pageSize: 100
+ },
}
},
created () {
@@ -44,12 +51,24 @@
_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
+ }
+ })
+ },
submitForm () {
let _this = this
this.formLoading = true
- this.form.levelName = this.enumFormat(this.levelEnum, this.form.level)
+ console.log(_this.$refs.departRef.selected.label)
+ // this.form.levelName = this.enumFormat(this.levelEnum, this.form.level)
+ this.form.levelName = _this.$refs.departRef.selected.label
subjectApi.edit(this.form).then(data => {
if (data.code === 1) {
_this.$message.success(data.message)
diff --git a/src/views/education/subject/list.vue b/src/views/education/subject/list.vue
index 6117f6e..8025b88 100644
--- a/src/views/education/subject/list.vue
+++ b/src/views/education/subject/list.vue
@@ -1,10 +1,11 @@
<template>
<div class="app-container">
<el-form :model="queryParam" ref="queryForm" :inline="true">
- <el-form-item label="閮ㄩ棬锛�">
- <el-select v-model="queryParam.level" placeholder="閮ㄩ棬" clearable="">
- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
- </el-select>
+ <el-form-item label="鏌ヨ鏉′欢锛�">
+ <el-input v-model="queryParam.name"></el-input>
+<!-- <el-select v-model="queryParam.level" placeholder="閮ㄩ棬" clearable="">-->
+<!-- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>-->
+<!-- </el-select>-->
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm">鏌ヨ</el-button>
@@ -55,6 +56,7 @@
this.search()
},
methods: {
+
search () {
this.listLoading = true
subjectApi.pageList(this.queryParam).then(data => {
diff --git a/src/views/exam/question/edit/gap-filling.vue b/src/views/exam/question/edit/gap-filling.vue
index f163e96..668fe9a 100644
--- a/src/views/exam/question/edit/gap-filling.vue
+++ b/src/views/exam/question/edit/gap-filling.vue
@@ -3,11 +3,12 @@
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
<el-form-item label="閮ㄩ棬锛�" prop="gradeLevel" required>
<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-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+' ( '+item.levelName+' )'"></el-option>
</el-select>
</el-form-item>
@@ -53,6 +54,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: {
@@ -60,11 +62,17 @@
},
data () {
return {
+ queryParam: {
+ level: null,
+ pageIndex: 1,
+ pageSize: 100
+ },
+ depart:[],
form: {
id: null,
questionType: 4,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [
],
@@ -79,7 +87,7 @@
gradeLevel: [
{ required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
],
- subjectId: [
+ subjectIds: [
{ required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
],
title: [
@@ -119,8 +127,18 @@
_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]
@@ -199,7 +217,7 @@
})
},
levelChange () {
- this.form.subjectId = null
+
this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel)
},
showQuestion () {
@@ -214,7 +232,7 @@
id: null,
questionType: 4,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [
],
diff --git a/src/views/exam/question/edit/multiple-choice.vue b/src/views/exam/question/edit/multiple-choice.vue
index 38301e0..6768d8b 100644
--- a/src/views/exam/question/edit/multiple-choice.vue
+++ b/src/views/exam/question/edit/multiple-choice.vue
@@ -3,11 +3,12 @@
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
<el-form-item label="閮ㄩ棬锛�" prop="gradeLevel" required>
<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-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+' ( '+item.levelName+' )'"></el-option>
</el-select>
</el-form-item>
@@ -60,6 +61,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: {
@@ -67,11 +69,17 @@
},
data () {
return {
+ queryParam: {
+ level: null,
+ pageIndex: 1,
+ pageSize: 100
+ },
+ depart:[],
form: {
id: null,
questionType: 2,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [
{ id: null, prefix: 'A', content: '' },
@@ -91,7 +99,7 @@
gradeLevel: [
{ required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
],
- subjectId: [
+ subjectIds: [
{ required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
],
title: [
@@ -134,8 +142,18 @@
_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]
@@ -191,7 +209,7 @@
})
},
levelChange () {
- this.form.subjectId = null
+
this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel)
},
showQuestion () {
@@ -206,7 +224,7 @@
id: null,
questionType: 2,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [
{ id: null, prefix: 'A', content: '' },
diff --git a/src/views/exam/question/edit/short-answer.vue b/src/views/exam/question/edit/short-answer.vue
index 829804c..aa42ad2 100644
--- a/src/views/exam/question/edit/short-answer.vue
+++ b/src/views/exam/question/edit/short-answer.vue
@@ -3,11 +3,12 @@
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
<el-form-item label="閮ㄩ棬锛�" prop="gradeLevel" required>
<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-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+' ( '+item.levelName+' )'"></el-option>
</el-select>
</el-form-item>
@@ -50,6 +51,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: {
@@ -57,11 +59,17 @@
},
data () {
return {
+ queryParam: {
+ level: null,
+ pageIndex: 1,
+ pageSize: 100
+ },
+ depart:[],
form: {
id: null,
questionType: 5,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [],
analyze: '',
@@ -75,7 +83,7 @@
gradeLevel: [
{ required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
],
- subjectId: [
+ subjectIds: [
{ required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
],
title: [
@@ -118,8 +126,18 @@
_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]
@@ -167,7 +185,7 @@
id: null,
questionType: 5,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [],
analyze: '',
@@ -178,7 +196,7 @@
this.form.id = lastId
},
levelChange () {
- this.form.subjectId = null
+
this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel)
},
showQuestion () {
diff --git a/src/views/exam/question/edit/single-choice.vue b/src/views/exam/question/edit/single-choice.vue
index af93b5a..6934df7 100644
--- a/src/views/exam/question/edit/single-choice.vue
+++ b/src/views/exam/question/edit/single-choice.vue
@@ -3,11 +3,12 @@
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
<el-form-item label="閮ㄩ棬锛�" prop="gradeLevel" required>
<el-select v-model="form.gradeLevel" placeholder="閮ㄩ棬" @change="levelChange" clearable>
- <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-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+' ( '+item.levelName+' )'"></el-option>
</el-select>
</el-form-item>
@@ -60,6 +61,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: {
@@ -67,11 +69,17 @@
},
data () {
return {
+ queryParam: {
+ level: null,
+ pageIndex: 1,
+ pageSize: 100
+ },
+ depart:[],
form: {
id: null,
questionType: 1,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [
{ prefix: 'A', content: '' },
@@ -90,7 +98,7 @@
gradeLevel: [
{ required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
],
- subjectId: [
+ subjectIds: [
{ required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
],
title: [
@@ -133,8 +141,18 @@
_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]
@@ -196,7 +214,7 @@
id: null,
questionType: 1,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [
{ prefix: 'A', content: '' },
@@ -212,7 +230,7 @@
this.form.id = lastId
},
levelChange () {
- this.form.subjectId = null
+
this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel)
},
showQuestion () {
diff --git a/src/views/exam/question/edit/true-false.vue b/src/views/exam/question/edit/true-false.vue
index 5b695e4..dbbe533 100644
--- a/src/views/exam/question/edit/true-false.vue
+++ b/src/views/exam/question/edit/true-false.vue
@@ -3,11 +3,12 @@
<el-form :model="form" ref="form" label-width="100px" v-loading="formLoading" :rules="rules">
<el-form-item label="閮ㄩ棬锛�" prop="gradeLevel" required>
<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-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+' ( '+item.levelName+' )'"></el-option>
</el-select>
</el-form-item>
@@ -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: '鏄�' },
@@ -86,7 +95,7 @@
gradeLevel: [
{ required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
],
- subjectId: [
+ subjectIds: [
{ required: true, message: '璇烽�夋嫨璇剧洰', trigger: 'change' }
],
title: [
@@ -129,8 +138,18 @@
_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 +168,7 @@
this.richEditor.dialogVisible = false
},
submitForm () {
+ console.log(this.form)
let _this = this
this.$refs.form.validate((valid) => {
if (valid) {
@@ -178,7 +198,7 @@
id: null,
questionType: 3,
gradeLevel: null,
- subjectId: null,
+
title: '',
items: [
{ id: null, prefix: 'A', content: '鏄�' },
@@ -192,7 +212,7 @@
this.form.id = lastId
},
levelChange () {
- this.form.subjectId = null
+
this.subjectFilter = this.subjects.filter(data => data.level === this.form.gradeLevel)
},
showQuestion () {
diff --git a/vue.config.js b/vue.config.js
index 43e9f92..2284dab 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -19,7 +19,7 @@
hotOnly: false,
proxy: {
'/api': {
- target: 'http://localhost:8000',
+ target: 'http://192.168.3.228:8000',
changeOrigin: true
}
}
--
Gitblit v1.8.0