From d70e74cf8f4e5d788e37c5ad91d7b8923cb7a956 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 17 十月 2024 19:59:41 +0800
Subject: [PATCH] meet websocket

---
 src/views/user/student/list.vue |   77 +++++++++++++++++++++++++++++---------
 1 files changed, 59 insertions(+), 18 deletions(-)

diff --git a/src/views/user/student/list.vue b/src/views/user/student/list.vue
index 85005d9..75db484 100644
--- a/src/views/user/student/list.vue
+++ b/src/views/user/student/list.vue
@@ -1,22 +1,33 @@
 <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="id" label="Id" />
       <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 prop="phone" label="鎵嬫満鍙�"/>
       <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="160px"/>
@@ -38,7 +49,13 @@
           <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>
         </template>
       </el-table-column>
     </el-table>
@@ -57,7 +74,7 @@
   data () {
     return {
       queryParam: {
-        userName: '',
+        realName: '',
         role: 1,
         pageIndex: 1,
         pageSize: 10
@@ -71,10 +88,28 @@
     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 => {
-        const re = data.response
+        const re = data.data
         this.tableData = re.list
         this.total = re.total
         this.queryParam.pageIndex = re.pageNum
@@ -85,7 +120,7 @@
       let _this = this
       userApi.changeStatus(row.id).then(re => {
         if (re.code === 1) {
-          row.status = re.response
+          row.status = re.data
           _this.$message.success(re.message)
         } else {
           _this.$message.error(re.message)
@@ -93,14 +128,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 () {

--
Gitblit v1.8.0