|
@@ -0,0 +1,181 @@
|
|
|
+<template>
|
|
|
+ <div class="project">
|
|
|
+ <div class="project-list">
|
|
|
+ <el-button class="add-btn" type="primary" size="small" icon="el-icon-plus" @click="updateOrg('')"
|
|
|
+ >创建机构</el-button
|
|
|
+ >
|
|
|
+ <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="name" label="名称" align="center" />
|
|
|
+ <el-table-column prop="user_count" label="注册用户数" align="center" />
|
|
|
+ <el-table-column prop="user_count_audited" label="已审核用户数" align="center" />
|
|
|
+ <el-table-column prop="member_name_desc" label="机构管理员" align="center" />
|
|
|
+ <el-table-column prop="create_time" label="创建时间" align="center" />
|
|
|
+
|
|
|
+ <el-table-column prop="operation" label="操作" fixed="right" width="200" align="center">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <span class="link" @click="updateOrg(row)">修改</span>
|
|
|
+ <span class="link" @click="setOrgManager(row.id)">设置机构管理员</span>
|
|
|
+ <span class="link danger" @click="deleteOrg(row.id)">删除</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <PaginationPage ref="pagination" :total="total" @getList="queryOrgList" />
|
|
|
+ </div>
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="orgAddFlag"
|
|
|
+ width="300px"
|
|
|
+ append-to-body
|
|
|
+ :show-close="true"
|
|
|
+ :title="org_Info.name ? '编辑机构' : '创建机构'"
|
|
|
+ >
|
|
|
+ <el-form ref="formDialog" :model="org_Info" :rules="rules" inline>
|
|
|
+ <el-form-item class="label-input" label="名称" prop="name">
|
|
|
+ <el-input
|
|
|
+ v-model="org_Info.name"
|
|
|
+ autocomplete="off"
|
|
|
+ name="name"
|
|
|
+ @blur="org_Info.name = org_Info.name.trim()"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="orgAddFlag = false">取 消</el-button>
|
|
|
+ <el-button :loading="loading" type="primary" @click="submitOrg">确 定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import PaginationPage from '@/components/PaginationPage.vue';
|
|
|
+
|
|
|
+import { queryOrgList } from '@/api/list.js';
|
|
|
+import { createOrg } from '@/api/org.js';
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'ProjectPage',
|
|
|
+ components: {
|
|
|
+ PaginationPage,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ list: [],
|
|
|
+ total: 0,
|
|
|
+ page_capacity: 10,
|
|
|
+ cur_page: 1,
|
|
|
+ org_Info: {
|
|
|
+ name: '',
|
|
|
+ },
|
|
|
+ orgAddFlag: false,
|
|
|
+ rules: {
|
|
|
+ name: [{ required: true, trigger: 'blur', message: '请输入名称' }],
|
|
|
+ },
|
|
|
+ loading: false,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ queryOrgList(data) {
|
|
|
+ queryOrgList(data).then(({ total_count, org_list }) => {
|
|
|
+ this.total = total_count;
|
|
|
+ this.list = org_list;
|
|
|
+ this.page_capacity = data.page_capacity;
|
|
|
+ this.cur_page = data.cur_page;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 修改机构
|
|
|
+ * @param {string} id - 项目ID
|
|
|
+ */
|
|
|
+ updateOrg(row) {
|
|
|
+ if (row) {
|
|
|
+ this.org_Info = {
|
|
|
+ name: row.name,
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ this.org_Info = {
|
|
|
+ name: '',
|
|
|
+ };
|
|
|
+ }
|
|
|
+ this.orgAddFlag = true;
|
|
|
+ },
|
|
|
+ // 设置机构管理员
|
|
|
+ setOrgManager(id) {},
|
|
|
+ // 删除机构
|
|
|
+ deleteOrg(id) {
|
|
|
+ let _this = this;
|
|
|
+ _this
|
|
|
+ .$confirm('确定要删除此机构吗?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ .then(function () {
|
|
|
+ // transferFilesDelete({ id: id }).then((res) => {
|
|
|
+ // if (res.status === 1) {
|
|
|
+ _this.queryOrgList({ cur_page: _this.cur_page, page_capacity: _this.page_capacity });
|
|
|
+ _this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '删除成功!',
|
|
|
+ });
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ },
|
|
|
+ // 新增、编辑机构
|
|
|
+ submitOrg() {
|
|
|
+ const _this = this;
|
|
|
+ _this.$refs.formDialog.validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ this.loading = true;
|
|
|
+ createOrg(_this.org_Info)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.status === 1) {
|
|
|
+ this.loading = false;
|
|
|
+ _this.queryOrgList({ cur_page: _this.cur_page, page_capacity: _this.page_capacity });
|
|
|
+ _this.$message({
|
|
|
+ type: 'success',
|
|
|
+ message: '创建成功!',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+@use '@/styles/mixin.scss' as *;
|
|
|
+
|
|
|
+.project {
|
|
|
+ @include page-base;
|
|
|
+
|
|
|
+ .add-btn {
|
|
|
+ width: 120px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-list {
|
|
|
+ display: flex;
|
|
|
+ flex: 1;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .el-table {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|