Ver código fonte

人员列表

natasha 1 ano atrás
pai
commit
be3d128955
2 arquivos alterados com 150 adições e 67 exclusões
  1. 150 52
      src/views/organize_manage/PersonList.vue
  2. 0 15
      src/views/people_manage/index.vue

+ 150 - 52
src/views/organize_manage/PersonList.vue

@@ -5,16 +5,16 @@
         <nav-menu class="manage-root-contain-left" :activeMenuIndex="activeMenuIndex"></nav-menu>
         <div class="manage-root-contain-right personnel-manage-right">
             <breadcrumb :breadcrumbList="breadcrumbList" class="breadcrumb-box"></breadcrumb>
-            <div class="personal-inner">
+            <div class="personal-inner" v-if="info">
                 <div class="common-title-box">
-                    <h3>{{orgName}}<span class="total-number">共488人</span></h3>
+                    <h3>{{info.name}}<span class="total-number">共{{info.person_count_audited}}人</span></h3>
                     <div class="btn-box">
                         <el-button type="primary" size="small" @click="handleBatchImport">批量导入</el-button>
                     </div>
                 </div>
                 <div class="tabs">
                     <a :class="[tabsIndex===0?'active':'']" @click="handleChangeTabs(0)">人员列表</a>
-                    <a :class="[tabsIndex===1?'active':'']" @click="handleChangeTabs(1)">人员审核 25</a>
+                    <a :class="[tabsIndex===1?'active':'']" @click="handleChangeTabs(1)">人员审核 {{info.person_count_wait_audit}}</a>
                 </div>
                 <div class="search">
                     <div class="search-box">
@@ -30,18 +30,29 @@
                             <label>权限</label>
                             <el-select v-model="searchType" @change="getList" placeholder="请选择">
                                 <el-option
-                                    v-for="item in $orgType"
+                                    v-for="item in typeList"
+                                    :key="item.account_type"
+                                    :label="item.account_type_name"
+                                    :value="item.account_type">
+                                </el-option>
+                            </el-select>
+                        </div>
+                        <div class="search-item" v-if="tabsIndex===0">
+                            <label>状态</label>
+                            <el-select v-model="searchStatus" @change="getList" placeholder="请选择">
+                                <el-option
+                                    v-for="item in searchStatusList"
                                     :key="item.value"
                                     :label="item.label"
                                     :value="item.value">
                                 </el-option>
                             </el-select>
                         </div>
-                        <div class="search-item">
+                        <div class="search-item" v-if="tabsIndex===1">
                             <label>状态</label>
-                            <el-select v-model="searchStatus" @change="getList" placeholder="请选择">
+                            <el-select v-model="searchAuditStatus" @change="getList" placeholder="请选择">
                                 <el-option
-                                    v-for="item in searchStatusList"
+                                    v-for="item in searchAuditStatusList"
                                     :key="item.value"
                                     :label="item.label"
                                     :value="item.value">
@@ -171,7 +182,7 @@
                     </el-table>
                     <el-pagination
                         background
-                        @size-change="(val)=>handleSizeChange(val,'pageSize')"
+                        @size-change="(val)=>handleSizeChange(val,'pageSize','pageNumber')"
                         @current-change="(val)=>handleCurrentChange(val,'pageNumber')"
                         :current-page="pageNumber"
                         :page-sizes="[10, 20, 30, 40]"
@@ -282,7 +293,7 @@
                     </el-table>
                     <el-pagination
                         background
-                        @size-change="(val)=>handleSizeChange(val,'pageSizes')"
+                        @size-change="(val)=>handleSizeChange(val,'pageSizes','pageNumbers')"
                         @current-change="(val)=>handleCurrentChange(val,'pageNumbers')"
                         :current-page="pageNumbers"
                         :page-sizes="[10, 20, 30, 40]"
@@ -317,6 +328,7 @@ import BatchImport from './BatchImport.vue'
 import {
   provinceAndCityData
 } from "element-china-area-data";
+import { getLogin } from "@/api/ajax";
 
 export default {
   //import引入的组件需要注入到对象中才能使用
@@ -340,72 +352,67 @@ export default {
             }
         ],
         searchInput: '',
-        searchType: '',
-        searchStatus: '',
-        searchCreator: '', 
-        searchArea:[],
+        searchType: -1,
+        searchStatus: -1,
+        searchAuditStatus: -1,
         typeList:[
             {
-                value:'',
-                label:'全部'
-            },
-            {
-                value:'0',
-                label:'小学'
-            },
+                account_type:-1,
+                account_type_name:'全部'
+            }
+        ],
+        searchAuditStatusList:[
             {
-                value:'1',
-                label:'初中'
+                value:-1,
+                label:'全部'
             },
             {
-                value:'2',
-                label:'高中'
+                value:0,
+                label:'待审核'
             },
             {
-                value:'3',
-                label:'大学'
+                value:2,
+                label:'已拒绝'
             }
-        ],
+        ], // 审核状态列表
         searchStatusList:[
             {
-                value:'',
+                value:-1,
                 label:'全部'
             },
             {
-                value:'1',
+                value:1,
                 label:'正常'
             },
             {
-                value:'0',
+                value:0,
                 label:'停用'
             }
         ],
         statusList:{
-            '1':{
+            1:{
                 text:'正常',
                 bg:'#165DFF',
                 color:''
             },
-            '0':{
+            0:{
                 text:'停用',
                 bg:'#F53F3F',
                 color:'#F53F3F'
             }
         },
-        searchCreatorList:[
-            {
-                value:'',
-                label:'全部'
-            },
-            {
-                value:'1',
-                label:'张三'
+        auditStatusList:{
+            0:{
+                text:'待审核',
+                bg:'#165DFF',
+                color:''
             },
-            {
-                value:'0',
-                label:'李四'
+            2:{
+                text:'已拒绝',
+                bg:'#F53F3F',
+                color:'#F53F3F'
             }
-        ],
+        },
         tableData:[
             {
                 id:'1',
@@ -557,6 +564,7 @@ export default {
         pageSizes: window.localStorage.getItem('pageSize-check')?Number(window.localStorage.getItem('pageSize-check')):10, 
         pageNumbers: window.localStorage.getItem('pageNumber-check')?Number(window.localStorage.getItem('pageNumber-check')):1,
         importFlag: false, // 批量导入flag
+        info: null, 
     }
   },
   //计算属性 类似于data概念
@@ -569,6 +577,27 @@ export default {
   methods: {
     // 查询列表
     getList(){
+        let MethodName = "/OrgServer/Manager/PageQuery/PageQueryPersonList";
+        let data = {
+            org_id: this.id,
+            search_content:this.searchInput.trim(),
+            role_type:this.searchType,
+            status:this.tabsIndex===0?this.searchStatus:-1,
+            audit_status:this.tabsIndex===1?this.searchAuditStatus:-1,
+            page_capacity:this.pageSize,
+            cur_page:this.pageNumber,
+            list_type: this.tabsIndex*1
+        }
+        getLogin(MethodName, data)
+        .then((res) => {
+            if(res.status===1){
+               this.tableData = res.person_list
+               this.total_count = res.total_count
+            }
+        })
+        .catch(() => {
+            this.loading = false
+        }); 
     },
     // 处理账户类型
     formatterType(row){
@@ -623,11 +652,14 @@ export default {
     //     this.$set(this.tableData, index, updataData);
     //   });
     },
-    handleSizeChange(val,type) {
+    handleSizeChange(val,type,page) {
         this[type] = val
+        this[page] = 1
+        this.getList()
     },
     handleCurrentChange(val,type) {
         this[type] = val
+        this.getList()
     },
     //计算table高度(动态设置table高度)
     getTableHeight() {
@@ -664,6 +696,7 @@ export default {
     handleChangeTabs(value){
         this.tabsIndex = value
         this.pageNumber = 1
+        this.getList()
     },
     // 批量导入
     handleBatchImport(){
@@ -672,20 +705,85 @@ export default {
     // 关闭批量导入
     closeDialog(){
         this.importFlag = false
+        this.getList()
+        this.getInfo()
+    },
+    // 获取机构信息
+    getInfo(){
+        let MethodName = "/OrgServer/Manager/OrgManager/GetOrgTitleInfo";
+        let data = {
+            id: this.id,
+        }
+        getLogin(MethodName, data)
+        .then((res) => {
+            if(res.status===1){
+                this.info = res
+                let obj = {
+                    icon:'',
+                    url:'',
+                    text:res.name
+                }
+                this.breadcrumbList=[
+                    {
+                        icon:'school-line',
+                        url:'',
+                        text:''
+                    },
+                    {
+                        icon:'',
+                        url:'',
+                        text:'机构管理'
+                    }
+                ]
+                this.breadcrumbList.push(obj)
+            }
+        })
+        .catch(() => {
+            
+        });
+    },
+    // 权限列表
+    getUserAccountTypeList(){
+        let MethodName = "/OrgServer/DictManager/GetSysUserAccountTypeList";
+        getLogin(MethodName, {})
+        .then((res) => {
+            if(res.status===1){
+                this.typeList = this.typeList.concat(res.account_type_list)
+            }
+        })
+        .catch(() => {
+            this.loading = false
+        });
     }
   },
   //生命周期 - 创建完成(可以访问当前this实例)
   created() {
+    this.getList()
     this.getTableHeight();
+    this.getUserAccountTypeList()
     if(this.id){
-        this.orgName = '青岛科技大学'
-    }
-    let obj = {
-        icon:'',
-        url:'',
-        text:'青岛科技大学'
+        this.getInfo()
+    }else{
+        this.breadcrumbList=[
+            {
+                icon:'school-line',
+                url:'',
+                text:''
+            },
+            {
+                icon:'',
+                url:'',
+                text:'机构管理'
+            }
+        ]
+        let obj = {
+            icon:'',
+            url:'',
+            text:'青岛科技大学'
+        }
+        this.breadcrumbList.push(obj)
     }
-    this.breadcrumbList.push(obj)
+    
   },
   //生命周期 - 挂载完成(可以访问DOM元素)
   mounted() {

+ 0 - 15
src/views/people_manage/index.vue

@@ -253,21 +253,6 @@ export default {
             this.loading = false
         });
     },
-    // 处理账户类型
-    formatterType(row){
-        let typeCn = ''
-        let list = this.typeList
-        if(row.type){
-            for(let i=0;i<list.length;i++){
-                if(row.type===list[i].account_type){
-                    typeCn = list[i].account_type_name
-                }
-            }
-        }else{
-            typeCn = '未知'
-        }
-        return typeCn
-    },
     // 编辑账号
     handleEdit(row){
         // 根据登录用户判断当前用户是不是超管 在table里加上disabled