From fe285713f52314ced23d1a5aa2654d8eaab522f9 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 08 三月 2024 14:47:05 +0800 Subject: [PATCH] 部门增加管理员,管理员修改 --- src/views/education/department/list.vue | 75 ++++++++++++++++++++++++++++++++----- 1 files changed, 65 insertions(+), 10 deletions(-) diff --git a/src/views/education/department/list.vue b/src/views/education/department/list.vue index 2821948..12a8c18 100644 --- a/src/views/education/department/list.vue +++ b/src/views/education/department/list.vue @@ -15,34 +15,60 @@ </el-form-item> </el-form> - <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> + <el-table v-loading="listLoading" :data="tableData" stripe border fit highlight-current-row style="width: 100%"> <el-table-column prop="name" label="閮ㄩ棬"/> + <el-table-column prop="adminName" label="閮ㄩ棬璐熻矗浜�"/> <!-- <el-table-column prop="levelName" label="閮ㄩ棬" />--> - <el-table-column width="220px" label="鎿嶄綔" align="center"> + <el-table-column width="400px" label="鎿嶄綔" align="center"> <template slot-scope="{row}"> + <el-button type="success" size="mini" @click="updateDeptAdmin(row)" class="link-left" plain>淇敼閮ㄩ棬璐熻矗浜�</el-button> <router-link :to="{path:'/education/department/edit', query:{id:row.id}}" class="link-left"> - <el-button size="mini">缂栬緫</el-button> + <el-button size="mini" plain>缂栬緫</el-button> </router-link> - <el-button size="mini" type="danger" @click="delSubject(row)" class="link-left">鍒犻櫎</el-button> + <el-button size="mini" type="danger" plain @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"/> + + <el-dialog + :title="title" + :visible.sync="dialogVisible" + width="400px" + :before-close="handleClose"> + <el-select v-model="updateAdminForm.adminId" filterable placeholder="閫夋嫨绠$悊鍛�"> + <el-option + v-for="item in deptUserList" + :key="item.id" + :label="item.value" + :value="item.id"> + </el-option> + </el-select> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="submitUpdate">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> </template> <script> import { mapGetters, mapState } from 'vuex' import Pagination from '@/components/Pagination' -import subjectApi from '@/api/subject' import departmentApi from '@/api/department' import enumItem from '@/store/modules/enumItem' export default { components: { Pagination }, data () { return { - depart:[], + // 閮ㄩ棬浜哄憳 + deptUserList: [], + dialogVisible: false, + title: '', + updateAdminForm: {}, + depart: [], queryParam: { level: null, pageIndex: 1, @@ -57,6 +83,36 @@ this.search() }, methods: { + handleClose () { + this.dialogVisible = false + this.title = '' + }, + submitUpdate () { + if (!this.updateAdminForm.adminId) { + this.$message.warning('璇烽�夋嫨閮ㄩ棬璐熻矗浜�') + return + } + departmentApi.updateDeptAdmin(this.updateAdminForm).then(res => { + if (res.code === 1) { + this.$message.success('淇敼鎴愬姛') + this.dialogVisible = false + this.title = '' + this.search() + } + }) + }, + updateDeptAdmin (row) { + this.updateAdminForm.id = row.id + this.updateAdminForm.adminId = row.adminId + this.title = row.name + '--绠$悊鍛樹慨鏀�' + this.getUserSelect(row.id) + this.dialogVisible = true + }, + getUserSelect (id) { + departmentApi.getDeptUserList(id).then(res => { + this.deptUserList = res.response + }) + }, search () { this.listLoading = true departmentApi.pageList(this.queryParam).then(data => { @@ -68,12 +124,11 @@ this.depart = data.response.list console.log(this.depart) - this.depart.map(item=>{ + this.depart.map(item => { item.key = item.id item.value = item.name }) enumItem.state.user.levelEnum = this.depart - }) }, submitForm () { @@ -83,8 +138,8 @@ delSubject (row) { let _this = this let obj = { - id :row.id, - deleted:1 + id: row.id, + deleted: 1 } departmentApi.edit(obj).then(re => { if (re.code === 1) { -- Gitblit v1.8.0