|
@@ -0,0 +1,143 @@
|
|
|
+<template>
|
|
|
+ <div class="user-manage">
|
|
|
+ <div class="user-manage-list">
|
|
|
+ <el-form ref="registerForm" :model="form" :rules="rules" inline>
|
|
|
+ <el-form-item prop="org_id" label="机构">
|
|
|
+ <el-select v-model="org_id_list" filterable multiple collapse-tags>
|
|
|
+ <el-option v-for="item in institutionList" :key="item.id" :value="item.id" :label="item.name"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" @click="queryList">搜索</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <el-table :data="list">
|
|
|
+ <el-table-column
|
|
|
+ type="index"
|
|
|
+ label="序号"
|
|
|
+ width="60"
|
|
|
+ align="center"
|
|
|
+ :index="(cur_page - 1) * page_capacity + 1"
|
|
|
+ />
|
|
|
+ <el-table-column prop="user_name" label="真实姓名" align="center" />
|
|
|
+ <el-table-column prop="real_name" label="用户名" align="center" />
|
|
|
+ <el-table-column prop="email" label="邮箱" align="center" width="170" />
|
|
|
+ <el-table-column prop="org_name" label="所属机构" align="center" />
|
|
|
+ <el-table-column prop="is_org_manager" label="机构管理员" align="center">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <i class="el-icon-check" v-if="row.is_org_manager === 'true'"></i>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="register_time" label="注册时间" align="center" width="170" />
|
|
|
+ <el-table-column prop="is_audited" label="已审核" align="center"
|
|
|
+ ><template slot-scope="{ row }">
|
|
|
+ <i class="el-icon-check" v-if="row.is_audited === 'true'"></i>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="audit_time" label="审核时间" align="center" width="170" />
|
|
|
+
|
|
|
+ <el-table-column prop="operation" label="操作" fixed="right" width="200" align="center">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span class="link" @click="setOrgManager(row)">{{
|
|
|
+ row.is_org_manager === 'true' ? '取消机构管理员' : '设置机构管理员'
|
|
|
+ }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <PaginationPage ref="pagination" :total="total" @getList="queryUserList" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import PaginationPage from '@/components/PaginationPage.vue';
|
|
|
+
|
|
|
+import { queryUserList } from '@/api/list.js';
|
|
|
+import { setUserToOrgManager } from '@/api/org.js';
|
|
|
+import { orgIndexList } from '@/api/user';
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'UserManage',
|
|
|
+ components: {
|
|
|
+ PaginationPage,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ page_capacity: 10,
|
|
|
+ cur_page: 1,
|
|
|
+ org_id_list: [],
|
|
|
+ institutionList: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ queryUserList(data) {
|
|
|
+ let datas = {
|
|
|
+ page_capacity: data.page_capacity,
|
|
|
+ cur_page: data.cur_page,
|
|
|
+ org_id_list: this.org_id_list,
|
|
|
+ };
|
|
|
+ queryUserList(datas).then(({ total_count, user_list }) => {
|
|
|
+ this.total = total_count;
|
|
|
+ this.list = user_list;
|
|
|
+ this.page_capacity = data.page_capacity;
|
|
|
+ this.cur_page = data.cur_page;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 设置机构管理员
|
|
|
+ setOrgManager(row) {
|
|
|
+ let data = {
|
|
|
+ user_id: row.id,
|
|
|
+ is_org_manager: row.is_org_manager === 'true' ? 'false' : 'true',
|
|
|
+ };
|
|
|
+ setUserToOrgManager(data).then((res) => {
|
|
|
+ if (res.status === 1) {
|
|
|
+ this.queryUserList({ cur_page: this.cur_page, page_capacity: this.page_capacity });
|
|
|
+ this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '操作成功!',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 获取机构列表
|
|
|
+ getinstitutionList() {
|
|
|
+ let data = {
|
|
|
+ page_capacity: 10000,
|
|
|
+ cur_page: 1,
|
|
|
+ };
|
|
|
+ orgIndexList(data).then((res) => {
|
|
|
+ if (res.status === 1) {
|
|
|
+ this.institutionList = res.org_list;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ queryList() {
|
|
|
+ this.queryUserList({ cur_page: 1, page_capacity: this.page_capacity });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getinstitutionList();
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+@use '@/styles/mixin.scss' as *;
|
|
|
+
|
|
|
+.user-manage {
|
|
|
+ @include page-base;
|
|
|
+
|
|
|
+ &-list {
|
|
|
+ display: flex;
|
|
|
+ flex: 1;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .el-table {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|