Преглед изворни кода

1.用户模糊查询;2.用户列表数据删除

chuwuya пре 2 година
родитељ
комит
251451f9ed

+ 4 - 4
src/api/user/user.js

@@ -37,7 +37,7 @@ const addUser = (options) => {
     return post(`/users/user`, params);
 }
 //获取用户详情
-const getUserDetail = (
+const getUserInfo = (
     id
 ) => {
     return get(`/users/user?id=${id}`);
@@ -59,7 +59,7 @@ const delUserByBatched = () => {
     return del(`/users/batch_delete_user`);
 }
 //更新用户详情
-const updateUserDetail = (options) => {
+const updateUserInfo = (options) => {
     let params = new FormData();
     options.username !== '' && params.append('username', options.username);
     options.password !== '' && params.append('password', options.password);
@@ -87,11 +87,11 @@ const alterUserStatusByBatched = () => {
 export {
     getUserList,
     addUser,
-    getUserDetail,
+    getUserInfo,
     exportUserData,
     deleteSingleUser,
     delUserByBatched,
-    updateUserDetail,
+    updateUserInfo,
     alterUserStatus,
     alterUserStatusByBatched
 }

+ 2 - 1
src/views/dataManagement/statementConfig.vue

@@ -146,7 +146,7 @@ export default {
         pagerCount: 5,
         currentPage: 1,
         pageSizes: [5, 10, 20, 30],
-        total: 30,
+        total: 0,
         currentChange: (val) => {
           this.getTableData(val);
         },
@@ -253,6 +253,7 @@ export default {
         : (this.$refs.popupRef.formData.introduction = data.introduction);
     },
     deleteTemplate(data) {
+      console.log(data);
       deleteSingleTemplate(data.id).then((res) => {
         if (res.data.code === 0) {
           this.$message.success("模板已删除!");

+ 15 - 5
src/views/userManagement/personManagement/index.vue

@@ -7,14 +7,15 @@
             <el-button class="disableUser" @click="deactiveShow">
                 <i class="el-icon-user"></i>停用账户
             </el-button>
-            <el-input class="searchBox" v-model="query" placeholder="用户名;手机;单位" suffix-icon="el-icon-search"></el-input>
+            
+            <el-input class="searchBox" v-model="query.name" placeholder="用户名" suffix-icon="el-icon-search" @change="searchEvent"></el-input>
             <el-button class="addUser" @click="addUser">
                 <i class="el-icon-user"></i>添加用户
             </el-button>
         </div>
         <div class="showTable">
-            <activeuser ref="activeuser" v-show="show"></activeuser>
-            <deactiveuser ref="deactiveuser" v-show="show1"></deactiveuser>
+            <activeuser :name="show == true ? query.name : ''" ref="activeuser" v-show="show"></activeuser>
+            <deactiveuser :name="show1 == true ? query.name : ''" ref="deactiveuser" v-show="show1"/>
         </div>
         <!--弹窗-->
         <userinfo ref="addUser" @confirmEvent="confirmEvent"></userinfo>
@@ -32,10 +33,11 @@ export default {
     components: { activeuser, deactiveuser, userinfo, },
     data() {
         return {
-            input: '',
             show: true,
             show1: false,
-            query: ''
+            query: {
+                name:''
+            }
         };
     },
     mounted(){
@@ -87,6 +89,14 @@ export default {
                     }
                 })
             }
+        },
+        searchEvent(){
+            if(this.show){
+                this.$refs.activeuser.getTableData(this.$refs.activeuser.currentPage);
+            }
+            if(this.show1){
+                this.$refs.deactiveuser.getTableData(this.$refs.deactiveuser.currentPage);
+            }
         }
     }
 };

+ 17 - 6
src/views/userManagement/personManagement/messageDialog/addUser.vue

@@ -1,7 +1,7 @@
 <template>
     <div>
-        <el-dialog v-dialog-drag class="dialog" :title="popTitle" :visible.sync="dialogVisible" width="32%"
-            append-to-body center>
+        <el-dialog v-dialog-drag class="dialog" :title="popTitle" :visible.sync="dialogVisible" width="32%" append-to-body
+            center>
             <el-divider></el-divider>
             <div style="height: 550px; padding: 20px">
                 <el-form ref="form" :model="form" :rules="rules" label-position="right" label-width="75px">
@@ -65,7 +65,8 @@
                     <div style="display: flex;">
                         <el-form-item label="账户状态:" prop="account_status">
                             <el-select v-model="form.account_status">
-                                <el-option value="正常"></el-option>
+                                <el-option v-for="item in statusOptions" :key="item.value" :label="item.label"
+                                    :value="item.value"></el-option>
                             </el-select>
                         </el-form-item>
                         <el-form-item label="国籍:" prop="nationality">
@@ -92,9 +93,9 @@
 
 <script>
 export default {
-    props:{
-        popTitle:String,
-        default:''
+    props: {
+        popTitle: String,
+        default: ''
     },
     data() {
         return {
@@ -116,6 +117,16 @@ export default {
                 nationality: '',
                 photograph: require('@/assets/images/头像上传@3x.png')
             },
+            statusOptions:[
+                {
+                    value:0,
+                    label:'正常'
+                },
+                {
+                    value:1,
+                    label:'停用'
+                }
+            ],
             rules: {
                 username: [{ required: true, trigger: 'blur' }],
                 password: [{ required: true, trigger: 'blur' }]

+ 22 - 11
src/views/userManagement/personManagement/tables/activeUser.vue

@@ -2,7 +2,7 @@
     <div>
         <div class="batch_button">
             <el-button class="export" @click="exportData">导出数据</el-button>
-            <el-button class="activate" @click="batchActivate">批量激活</el-button>
+            <el-button class="activate" @click="batchActivate">批量禁用</el-button>
             <el-button class="delete" @click="batchDelete">批量删除</el-button>
         </div>
         <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" :header-cell-style="{ textAlign: 'center' }"
@@ -23,10 +23,9 @@
             </el-table-column>
             <el-table-column prop="operation" label="操作">
                 <template slot-scope="scope">
-                    <el-button size="mini" type="text" style="color: #2ea8e6" @click="userDetail(scope.row)">查看</el-button>
-                    <el-button size="mini" type="text" style="color: #2ea8e6"
-                        @click="userInfoEdit(scope.row)">编辑</el-button>
-                    <el-button size="mini" type="text" style="color: #2ea8e6" @click="deleteUser(scope.row)">删除</el-button>
+                    <el-button size="mini" type="text" style="color: #2ea8e6" v-show="scope.row.username == null ? false : true" @click="userDetail(scope.row)">查看</el-button>
+                    <el-button size="mini" type="text" style="color: #2ea8e6" v-show="scope.row.username == null ? false : true" @click="userInfoEdit(scope.row)">编辑</el-button>
+                    <el-button size="mini" type="text" style="color: #2ea8e6" v-show="scope.row.username == null ? false : true" @click="deleteUser(scope.row)">删除</el-button>
                 </template>
             </el-table-column>
         </el-table>
@@ -41,10 +40,16 @@
 
 <script>
 import page from '@/components/pagination/index';
-import { getUserList, deleteSingleUser, updateUserDetail } from '@/api/user/user';
+import { getUserList, getUserInfo, deleteSingleUser, updateUserInfo } from '@/api/user/user';
 import UserDetail from '../messageDialog/userInfoDetail';
 import userInfoEdit from '../messageDialog/userInfoEdit';
 export default {
+    props: {
+        name: {
+            type: String,
+            default: ''
+        }
+    },
     components: { page, UserDetail, userInfoEdit },
     data() {
         return {
@@ -57,7 +62,7 @@ export default {
                 pagerCount: 5,
                 currentPage: 1,
                 pageSizes: [5, 10, 20, 30],
-                total: 30,
+                total: 0,
                 currentChange: (val) => {
                     this.getTableData(val);
                 },
@@ -82,12 +87,13 @@ export default {
         },
         getTableData(page) {
             this.tableData = [];
-            getUserList(0, page, this.currentPageSize).then((res) => {
+            getUserList(0, page, this.currentPageSize, this.name).then((res) => {
                 if (res.data.code === 0 && res.data.data.length > 0) {
                     this.paginationData.total = res.data.total;
                     this.tableData = res.data.data.map((e) => {
                         return {
-                            username: e.name,
+                            id:e.id,
+                            username: e.user_name,
                             phone: e.phone == "undefined" || !e.phone ? "--" : e.phone,
                             email: e.email == "undefined" || !e.email ? "--" : e.email,
                             role: e.role == "undefined" || !e.role ? "--" : e.role,
@@ -119,12 +125,17 @@ export default {
         userInfoEdit() {
             this.$refs.userInfoEdit.dialogVisible = true;
         },
+
         deleteUser(data) {
+            
             let options = {
-                id: data.id,
+                id:data.id,
                 username: data.username,
-                password: data.password,
+                password: getUserInfo(data.id).then((res) =>{
+                    console.log(res);
+                }),
             };
+            console.log(options);
             deleteSingleUser(options).then((res) => {
                 if (res.data.code === 0) {
                     this.$message.success("删除成功");

+ 10 - 3
src/views/userManagement/personManagement/tables/deactiveUser.vue

@@ -2,7 +2,7 @@
     <div>
         <div class="batch_button">
             <el-button class="export" @click="exportData">导出数据</el-button>
-            <el-button class="disabled" @click="batchDisabled">批量禁用</el-button>
+            <el-button class="disabled" @click="batchDisabled">批量激活</el-button>
             <el-button class="delete" @click="batchDelete">批量删除</el-button>
         </div>
         <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" :header-cell-style="{ textAlign: 'center' }"
@@ -33,7 +33,7 @@
                 <template slot-scope="scope">
                     <el-button size="mini" type="text" style="color: #2ea8e6" @click="userDetail(scope.row)">查看</el-button>
                     <el-button size="mini" type="text" style="color: #2ea8e6"
-                        @click="userInfoEdit(scope.row)">编辑</el-button>
+                        @click="userInfoEdit(scope.row)">激活</el-button>
                     <el-button size="mini" type="text" style="color: #2ea8e6" @click="deleteUser(scope.row)">删除</el-button>
                 </template>
             </el-table-column>
@@ -48,6 +48,12 @@
 import page from '@/components/pagination/index';
 import { getUserList } from '@/api/user/user';
 export default {
+    props:{
+        name:{
+            type:String,
+            default:''
+        }
+    },
     components: { page },
     data() {
         return {
@@ -88,7 +94,8 @@ export default {
             getUserList(
                 1,
                 page,
-                this.currentPageSize
+                this.currentPageSize,
+                this.name
             ).then((res) => {
                 if (res.data.code === 0 && res.data.data.length > 0) {
                     this.paginationData.total = res.data.total;