From 2b6c807e0336063b25ce751dbe7f71de4ebb38e1 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 31 十月 2024 20:41:38 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/user/student/list.vue | 98 +++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 82 insertions(+), 16 deletions(-) diff --git a/src/views/user/student/list.vue b/src/views/user/student/list.vue index e62cc7c..925026a 100644 --- a/src/views/user/student/list.vue +++ b/src/views/user/student/list.vue @@ -1,22 +1,42 @@ <template> <div class="app-container"> <el-form :model="queryParam" ref="queryForm" :inline="true"> - <el-form-item label="鐢ㄦ埛鍚嶏細"> - <el-input v-model="queryParam.userName"></el-input> + <el-form-item label="鐪熷疄濮撳悕锛�"> + <el-input v-model="queryParam.realName" @input="search"></el-input> </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:'/user/student/edit'}" class="link-left"> - <el-button type="primary">娣诲姞</el-button> + <el-button type="primary" size="small">娣诲姞</el-button> </router-link> + <el-button class="link-left" type="danger" @click="exportExcel" size="small">涓嬭浇瀵煎叆妯℃澘</el-button> + <el-upload + class="link-left" + style="display: inline;" + accept=".xls,.xlsx" + :multiple="false" + action="/api/admin/user/import" + :with-credentials="true" + :on-success="importSuccess" + :show-file-list="false"> + <el-button type="success" size="small">瀵煎叆</el-button> + </el-upload> </el-form-item> </el-form> <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> <el-table-column prop="userName" label="鐢ㄦ埛鍚�"/> <el-table-column prop="realName" label="鐪熷疄濮撳悕" /> - <el-table-column prop="userLevel" label="瀛︾骇" :formatter="levelFormatter"/> +<!-- <el-table-column prop="userLevel" label="瀛︾骇" :formatter="levelFormatter"/>--> <el-table-column prop="sex" label="鎬у埆" width="60px;" :formatter="sexFormatter"/> + <el-table-column label="鐝骇"> + <template slot-scope="scope"> + <span v-if="Array.isArray(scope.row.className) && scope.row.className.length > 0"> + {{ scope.row.className.join(', ') }} + </span> + <span v-else>-</span> + </template> + </el-table-column> <el-table-column prop="phone" label="鎵嬫満鍙�"/> <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/> <el-table-column label="鐘舵��" prop="status" width="70px"> @@ -37,7 +57,14 @@ <router-link :to="{path:'/log/user/list', query:{userId:row.id}}" class="link-left"> <el-button size="mini" >鏃ュ織</el-button> </router-link> - <el-button size="mini" type="danger" @click="deleteUser(row)" class="link-left">鍒犻櫎</el-button> + <el-popconfirm + style="margin: 0 5px" + title="纭畾瑕佸垹闄よ鎴愬憳鍚楋紵" + @confirm="deleteUser(row)" + > + <el-button slot="reference" type="danger" size="mini">鍒犻櫎</el-button> + </el-popconfirm> + <el-button size="mini" @click="resetPassword(row)" type="success" class="link-left">閲嶇疆瀵嗙爜</el-button> </template> </el-table-column> </el-table> @@ -56,7 +83,7 @@ data () { return { queryParam: { - userName: '', + realName: '', role: 1, pageIndex: 1, pageSize: 10 @@ -70,6 +97,24 @@ this.search() }, methods: { + importSuccess (response) { + this.$message.success(response.message); + this.search(); + }, + exportExcel () { + let url = '/api/admin/user/importTemplate' + var x = new XMLHttpRequest() + x.open('GET', url, true) + x.responseType = 'blob' + x.onload = function () { + var url = window.URL.createObjectURL(x.response) + var a = document.createElement('a') + a.href = url + a.download = '鐢ㄦ埛瀵煎叆妯℃澘.xlsx' + a.click() + } + x.send() + }, search () { this.listLoading = true userApi.getUserPageList(this.queryParam).then(data => { @@ -92,14 +137,20 @@ }) }, deleteUser (row) { - let _this = this - userApi.deleteUser(row.id).then(re => { - if (re.code === 1) { - _this.search() - _this.$message.success(re.message) - } else { - _this.$message.error(re.message) - } + this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ垚鍛�, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + let _this = this + userApi.deleteUser(row.id).then(re => { + if (re.code === 1) { + _this.search() + _this.$message.success(re.message) + } else { + _this.$message.error(re.message) + } + }) }) }, submitForm () { @@ -120,7 +171,22 @@ }, statusBtnFormatter (status) { return this.enumFormat(this.statusBtn, status) - } + }, + resetPassword(row) { + this.$confirm('姝ゆ搷浣滃皢閲嶇疆璇ユ垚鍛樼殑瀵嗙爜, 鏄惁缁х画?', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + userApi.resetUserPassword(row.id).then(re => { + if (re.code === 1) { + this.$message.success(re.message) + } else { + this.$message.error(re.message) + } + }) + }) + }, }, computed: { ...mapGetters('enumItem', [ -- Gitblit v1.8.0