From 8216d4e8396add5a01d6d9575ed9c5ce173f05e3 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期一, 09 十二月 2019 11:33:23 +0800
Subject: [PATCH] 阿里云服务器89元/年,双12年末特惠,爆款产品限时1折

---
 ruoyi-ui/src/views/system/user/index.vue |  128 ++++++++++++++++++++++++++++++++----------
 1 files changed, 96 insertions(+), 32 deletions(-)

diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue
index 295f9c7..00c3645 100644
--- a/ruoyi-ui/src/views/system/user/index.vue
+++ b/ruoyi-ui/src/views/system/user/index.vue
@@ -27,8 +27,8 @@
       </el-col>
       <!--鐢ㄦ埛鏁版嵁-->
       <el-col :span="20" :xs="24">
-        <el-form :inline="true" label-width="68px">
-          <el-form-item label="鐢ㄦ埛鍚嶇О">
+        <el-form :model="queryParams" ref="queryForm" :inline="true" label-width="68px">
+          <el-form-item label="鐢ㄦ埛鍚嶇О" prop="userName">
             <el-input
               v-model="queryParams.userName"
               placeholder="璇疯緭鍏ョ敤鎴峰悕绉�"
@@ -38,7 +38,7 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="鎵嬫満鍙风爜">
+          <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber">
             <el-input
               v-model="queryParams.phonenumber"
               placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�"
@@ -48,7 +48,7 @@
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
-          <el-form-item label="鐘舵��">
+          <el-form-item label="鐘舵��" prop="status">
             <el-select
               v-model="queryParams.status"
               placeholder="鐢ㄦ埛鐘舵��"
@@ -78,11 +78,53 @@
           </el-form-item>
           <el-form-item>
             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
-            <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:user:add']">鏂板</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
           </el-form-item>
         </el-form>
 
-        <el-table v-loading="loading" :data="userList">
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              size="mini"
+              @click="handleAdd"
+              v-hasPermi="['system:user:add']"
+            >鏂板</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="success"
+              icon="el-icon-edit"
+              size="mini"
+              :disabled="single"
+              @click="handleUpdate"
+              v-hasPermi="['system:user:edit']"
+            >淇敼</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="danger"
+              icon="el-icon-delete"
+              size="mini"
+              :disabled="multiple"
+              @click="handleDelete"
+              v-hasPermi="['system:user:remove']"
+            >鍒犻櫎</el-button>
+          </el-col>
+          <el-col :span="1.5">
+            <el-button
+              type="warning"
+              icon="el-icon-download"
+              size="mini"
+              @click="handleExport"
+              v-hasPermi="['system:user:export']"
+            >瀵煎嚭</el-button>
+          </el-col>
+        </el-row>
+
+        <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="40" align="center" />
           <el-table-column label="鐢ㄦ埛缂栧彿" align="center" prop="userId" />
           <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" prop="userName" />
           <el-table-column label="鐢ㄦ埛鏄电О" align="center" prop="nickName" />
@@ -100,7 +142,7 @@
           </el-table-column>
           <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="160">
             <template slot-scope="scope">
-              <span>{{ dateFormat(scope.row.createTime) }}</span>
+              <span>{{ parseTime(scope.row.createTime) }}</span>
             </template>
           </el-table-column>
           <el-table-column
@@ -246,19 +288,24 @@
 </template>
 
 <script>
-import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus } from "@/api/system/user";
+import { listUser, getUser, delUser, addUser, updateUser, exportUser, resetUserPwd, changeUserStatus } from "@/api/system/user";
 import { treeselect } from "@/api/system/dept";
-import { listPost } from "@/api/system/post";
-import { listRole } from "@/api/system/role";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
+  name: "User",
   components: { Treeselect },
   data() {
     return {
       // 閬僵灞�
       loading: true,
+      // 閫変腑鏁扮粍
+      ids: [],
+      // 闈炲崟涓鐢�
+      single: true,
+      // 闈炲涓鐢�
+      multiple: true,
       // 鎬绘潯鏁�
       total: 0,
       // 鐢ㄦ埛琛ㄦ牸鏁版嵁
@@ -375,18 +422,6 @@
       this.queryParams.deptId = data.id;
       this.getList();
     },
-    /** 鏌ヨ宀椾綅鍒楄〃 */
-    getPosts() {
-      listPost().then(response => {
-        this.postOptions = response.rows;
-      });
-    },
-    /** 鏌ヨ瑙掕壊鍒楄〃 */
-    getRoles() {
-      listRole().then(response => {
-        this.roleOptions = response.rows;
-      });
-    },
     // 鐢ㄦ埛鐘舵�佷慨鏀�
     handleStatusChange(row) {
       let text = row.status === "0" ? "鍚敤" : "鍋滅敤";
@@ -430,24 +465,39 @@
       this.queryParams.page = 1;
       this.getList();
     },
+    /** 閲嶇疆鎸夐挳鎿嶄綔 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 澶氶�夋閫変腑鏁版嵁
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.userId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd() {
       this.reset();
       this.getTreeselect();
-      this.getPosts();
-      this.getRoles();
-      this.open = true;
-      this.title = "娣诲姞鐢ㄦ埛";
-      this.form.password = this.initPassword;
+      getUser().then(response => {
+        this.postOptions = response.posts;
+        this.roleOptions = response.roles;
+        this.open = true;
+        this.title = "娣诲姞鐢ㄦ埛";
+        this.form.password = this.initPassword;
+      });
     },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
       this.reset();
       this.getTreeselect();
-      this.getPosts();
-      this.getRoles();
-      getUser(row.userId).then(response => {
+      const userId = row.userId || this.ids
+      getUser(userId).then(response => {
         this.form = response.data;
+        this.postOptions = response.posts;
+        this.roleOptions = response.roles;
         this.form.postIds = response.postIds;
         this.form.roleIds = response.roleIds;
         this.open = true;
@@ -500,16 +550,30 @@
     },
     /** 鍒犻櫎鎸夐挳鎿嶄綔 */
     handleDelete(row) {
-      this.$confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.userName + '"鐨勬暟鎹」?', "璀﹀憡", {
+      const userIds = row.userId || this.ids;
+      this.$confirm('鏄惁纭鍒犻櫎鐢ㄦ埛缂栧彿涓�"' + userIds + '"鐨勬暟鎹」?', "璀﹀憡", {
           confirmButtonText: "纭畾",
           cancelButtonText: "鍙栨秷",
           type: "warning"
         }).then(function() {
-          return delUser(row.userId);
+          return delUser(userIds);
         }).then(() => {
           this.getList();
           this.msgSuccess("鍒犻櫎鎴愬姛");
         }).catch(function() {});
+    },
+    /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夌敤鎴锋暟鎹」?', "璀﹀憡", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning"
+        }).then(function() {
+          return exportUser(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        }).catch(function() {});
     }
   }
 };

--
Gitblit v1.9.3