From c19bb5ac1b4013aa700c0a658f20375be9703ea3 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 08 七月 2024 18:45:47 +0800
Subject: [PATCH] feat:选择学生增加全选按钮
---
src/views/user/student/edit.vue | 71 ++++++++++++++++++++++++++++++-----
1 files changed, 60 insertions(+), 11 deletions(-)
diff --git a/src/views/user/student/edit.vue b/src/views/user/student/edit.vue
index 9cd7831..ec30e33 100644
--- a/src/views/user/student/edit.vue
+++ b/src/views/user/student/edit.vue
@@ -6,7 +6,7 @@
<el-input v-model="form.userName"></el-input>
</el-form-item>
<el-form-item label="瀵嗙爜锛�" required>
- <el-input v-model="form.password"></el-input>
+ <el-input v-model="form.password" type="password"></el-input>
</el-form-item>
<el-form-item label="鐪熷疄濮撳悕锛�" prop="realName" required>
<el-input v-model="form.realName"></el-input>
@@ -19,15 +19,27 @@
<el-option v-for="item in sexEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
</el-select>
</el-form-item>
- <el-form-item label="鍑虹敓鏃ユ湡锛�">
- <el-date-picker v-model="form.birthDay" type="date" value-format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" />
+ <el-form-item label="鍑虹敓鏃ユ湡锛�" prop="birthDay">
+ <el-date-picker v-model="form.birthDay" required type="date" value-format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" />
</el-form-item>
<el-form-item label="鎵嬫満锛�">
<el-input v-model="form.phone"></el-input>
</el-form-item>
- <el-form-item label="閮ㄩ棬锛�" prop="userLevel" required>
- <el-select v-model="form.userLevel" placeholder="閮ㄩ棬">
- <el-option v-for="item in levelEnum" :key="item.key" :value="item.key" :label="item.value"></el-option>
+ <el-form-item label="閮ㄩ棬锛�" prop="deptIds" required>
+ <!-- <el-select v-model="form.deptIds" multiple collapse-tags placeholder="閮ㄩ棬" :disabled="this.$route.query.id">
+ <el-option v-for="item in depts" :key="item.id" :value="item.id" :label="item.name"></el-option>
+ </el-select> -->
+ <el-cascader
+ clearable
+ :disabled="this.$route.query.id"
+ v-model="form.deptIds"
+ :options="depts"
+ :props="{ emitPath: false, multiple: true, value: 'id', label: 'name', checkStrictly: true }"
+ ></el-cascader>
+ </el-form-item>
+ <el-form-item label="鏍囩锛�" prop="tagIds">
+ <el-select v-model="form.tagIds" multiple collapse-tags placeholder="鏍囩">
+ <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="鐘舵�侊細" required>
@@ -46,10 +58,14 @@
<script>
import { mapGetters, mapState, mapActions } from 'vuex'
import userApi from '@/api/user'
+import departmentApi from '@/api/department'
export default {
data () {
return {
+ depts: [],
+ tags: [],
+ value2:[],
form: {
id: null,
userName: '',
@@ -61,7 +77,8 @@
sex: '',
birthDay: null,
phone: null,
- userLevel: null
+ deptIds: [],
+ tagIds: []
},
formLoading: false,
rules: {
@@ -71,25 +88,54 @@
realName: [
{ required: true, message: '璇疯緭鍏ョ湡瀹炲鍚�', trigger: 'blur' }
],
- userLevel: [
+ deptIds: [
{ required: true, message: '璇烽�夋嫨閮ㄩ棬', trigger: 'change' }
+ ],
+ birthDay: [
+ { required: true, message: '璇烽�夋嫨鍑虹敓鏃ユ湡', trigger: 'blur' }
]
}
}
},
created () {
+ this.getTags();
+ this.getDepts();
+
+ console.log(this.levelEnum)
let id = this.$route.query.id
let _this = this
+
+
if (id && parseInt(id) !== 0) {
_this.formLoading = true
userApi.selectUser(id).then(re => {
_this.form = re.response
_this.formLoading = false
+ console.log(re.response.deptIds)
+ const isEmpty = re.response.deptIds.trim().length === 0;
+ if (isEmpty){
+ _this.form.deptIds = []
+ }else {
+ _this.form.deptIds = re.response.deptIds.split(',').map(Number)
+ }
+ console.log(isEmpty); // 杈撳嚭锛歵rue
+ console.log(_this.form.deptIds)
})
}
},
methods: {
+ getTags () {
+ userApi.tagList(null).then(data => {
+ this.tags = data.response
+ })
+ },
+ getDepts () {
+ departmentApi.getDeptAdmins().then(res => {
+ this.depts = res.response
+ })
+ },
submitForm () {
+ console.log("this.form", this.form)
let _this = this
this.$refs.form.validate((valid) => {
if (valid) {
@@ -126,7 +172,8 @@
sex: '',
birthDay: null,
phone: null,
- userLevel: null
+ deptIds: [],
+ tagIds: []
}
this.form.id = lastId
},
@@ -140,8 +187,10 @@
sexEnum: state => state.user.sexEnum,
roleEnum: state => state.user.roleEnum,
statusEnum: state => state.user.statusEnum,
- levelEnum: state => state.user.levelEnum
- })
+ levelEnum: state => state.user.levelEnum,
+
+ }),
+
}
}
</script>
--
Gitblit v1.8.0