From b4db5d6f91ad2e3833a20c62800455a3f90d6d53 Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期四, 18 七月 2024 16:07:27 +0800 Subject: [PATCH] feat:通知弹窗增加阴影 --- src/views/education/department/list.vue | 131 +++++++++++++++++++++++++++++++++++-------- 1 files changed, 106 insertions(+), 25 deletions(-) diff --git a/src/views/education/department/list.vue b/src/views/education/department/list.vue index 2821948..884a261 100644 --- a/src/views/education/department/list.vue +++ b/src/views/education/department/list.vue @@ -2,51 +2,88 @@ <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-input v-model="queryParam.name" size="small"></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> + <el-button type="primary" @click="submitForm" size="small">鏌ヨ</el-button> <router-link :to="{path:'/education/department/edit'}" class="link-left"> - <el-button type="primary">娣诲姞</el-button> + <el-button type="primary" size="small">娣诲姞</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 + v-loading="listLoading" + :data="tableData" border fit + style="width: 100%" + :tree-props="{children: 'children', hasChildren: 'hasChildren'}" + :row-class-name="tableRowClassName" + row-key="id" + > <el-table-column prop="name" label="閮ㄩ棬"/> -<!-- <el-table-column prop="levelName" label="閮ㄩ棬" />--> - <el-table-column width="220px" label="鎿嶄綔" align="center"> + <el-table-column prop="adminNames" label="閮ㄩ棬璐熻矗浜�"/> + <el-table-column prop="special" label="鏄惁绠$悊涓夌骇閮ㄩ棬"> <template slot-scope="{row}"> + <el-tag :type="row.special === '1' ? 'success' : 'danger'">{{ row.special === '1' ? '鏄�' : '鍚�' }}</el-tag> + </template> + </el-table-column> +<!-- <el-table-column prop="levelName" label="閮ㄩ棬" />--> + <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.adminIds" @change="changSelect" multiple 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: { + id: null, + adminIds: [] + }, + depart: [], queryParam: { level: null, - pageIndex: 1, - pageSize: 10 }, listLoading: true, tableData: [], @@ -57,34 +94,73 @@ this.search() }, methods: { + tableRowClassName({row, rowIndex}) { + if (row.children && row.children.length > 0) { + return 'success-row'; + } + return ''; + }, + changSelect( value ) { + this.updateAdminForm.adminId = value + }, + handleClose () { + this.dialogVisible = false + this.title = '' + }, + submitUpdate () { + if (!this.updateAdminForm.adminIds) { + 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.adminIds = row.adminIds + console.log(this.updateAdminForm.adminIds, "dd") + 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 => { - const re = data.response - this.tableData = re.list - this.total = re.total - this.queryParam.pageIndex = re.pageNum + this.tableData = data.response + this.tableData.forEach(item => { + if (item.adminNames) { + item.adminNames = item.adminNames.join("銆�") + } + }) this.listLoading = false - this.depart = data.response.list - console.log(this.depart) - this.depart.map(item=>{ + this.depart = data.response + this.depart.forEach(item => { item.key = item.id item.value = item.name }) enumItem.state.user.levelEnum = this.depart - }) }, submitForm () { - this.queryParam.pageIndex = 1 this.search() }, 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) { @@ -106,3 +182,8 @@ } } </script> +<style scoped> +.el-table .success-row { + background: oldlace; +} +</style> -- Gitblit v1.8.0