소스 검색

角色管理部分接口

tianyabing 2 년 전
부모
커밋
cc7edb64fa

+ 12 - 0
src/api/company/company.js

@@ -0,0 +1,12 @@
+import {get, post, put, del, getFile, postFile} from "@/utils/requestMethod";
+
+/** 获取公司列表 */
+const getCompanyList = (name, page, page_size) => {
+    return get(
+        `/organization/company_list?name=${name}&page=${page}&page_size=${page_size}`
+    );
+}
+
+export {
+    getCompanyList
+}

+ 24 - 1
src/api/role/role.js

@@ -1,4 +1,4 @@
-import { get, post, put, del } from "@/utils/requestMethod";
+import {get, post, put, del, postform} from "@/utils/requestMethod";
 
 const getRoleList = (
     page,
@@ -9,6 +9,29 @@ const getRoleList = (
     );
 }
 
+// 添加角色
+const addRoleApi = (roleName, roleDesc) => {
+  return postform('role/role', {
+      role_name: roleName,
+      role_describe: roleDesc
+  })
+}
+
+// 获取角色成员
+const getRoleMember = (id) => {
+  return get('/role/member', {
+      role_id: id
+  })
+}
+
+// 获取权限信息
+const getPermissionList = () => {
+  return get('/permission/permission', {});
+}
+
 export {
     getRoleList,
+    addRoleApi,
+    getRoleMember,
+    getPermissionList,
 }

+ 20 - 7
src/views/permissionManagement/decisiongroup/index.vue

@@ -1,23 +1,36 @@
 <template>
     <div style="position: relative; height: 100%;">
         <div class="header">
-            <el-button ref="buttonFocus" class="roleDetail" @click="Show1()">权限详情</el-button>
-            <el-button class="roleMember" @click="Show2()">成员列表</el-button>
+            <Tags :tags.sync="tags" />
         </div>
-        <rolemembers-list v-if="memberShow"></rolemembers-list>
-        <permission-detail v-if="detailShow"></permission-detail>
+        <rolemembers-list :item="item" v-if="tags[1].show"></rolemembers-list>
+        <permission-detail :item="item" v-if="tags[0].show"></permission-detail>
     </div>
 </template>
 
 <script>
+import Tags from "@/components/tags/index.vue";
 import PermissionDetail from './permissionDetail';
 import RolemembersList from './rolemembersList';
 export default {
-    components: { RolemembersList, PermissionDetail },
+    props: {
+        item: Object,
+    },
+    components: { Tags, RolemembersList, PermissionDetail },
     data() {
         return {
-            memberShow:false,
-            detailShow:true
+            tags: [
+                {
+                    label: '权限详情',
+                    value: '0',
+                    show: true,
+                },
+                {
+                    label: '成员列表',
+                    value: '1',
+                    show: false,
+                }
+            ],
         }
     },
     mounted(){

+ 6 - 3
src/views/permissionManagement/decisiongroup/permissionDetail.vue

@@ -1,11 +1,11 @@
 <template>
     <div>
-        <el-form :model="form" label-position="left" label-width="80px" :disabled="disabled">
+        <el-form :model="form" label-position="left" label-width="80px" >
             <el-form-item :model="form.roleName" label="角色名称:">
-                <el-input style="width: 50%;" placeholder="决策组-1" type="text"></el-input>
+                <el-input :value="item.role_name" style="width: 50%;" type="text"></el-input>
             </el-form-item>
             <el-form-item :model="form.roleDesc" label="角色描述:">
-                <el-input type="textarea" placeholder="请输入" v-model="textarea" maxlength="200" show-word-limit></el-input>
+                <el-input type="textarea"  :value="item.role_describe" maxlength="200" show-word-limit></el-input>
             </el-form-item>
             <div class="permissionType">
                 <el-tabs v-model="activeName" @tab-click="handleClick">
@@ -77,6 +77,9 @@
 </template>
 <script>
 export default {
+    props: {
+      item: Object,
+    },
     data() {
         return {
             disabled: true,

+ 44 - 32
src/views/permissionManagement/decisiongroup/rolemembersList.vue

@@ -1,6 +1,8 @@
 <template>
     <div>
-        <el-button class="delete" type="text">批量删除</el-button>
+        <div class="opr-btn">
+            <el-button type="primary" @click="roleAddMemberVisible=true">添加人员</el-button>
+        </div>
         <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" :header-cell-style="{ textAlign: 'center' }"
             :cell-style="{ textAlign: 'center' }" style="width: 98%" @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="50">
@@ -30,16 +32,33 @@
         <div class="bottom">
             <page class="page" :paginationData="paginationData"></page>
         </div>
+
+        <el-dialog
+            title="添加人员"
+            v-if="roleAddMemberVisible"
+            :visible.sync="roleAddMemberVisible"
+            width="1000px"
+            :before-close="handleClose"
+            center
+        >
+            <RoleUserAdd />
+        </el-dialog>
     </div>
 </template>
 
 <script>
 import checkbox from '@/components/Checkbox/index'
 import page from '@/components/pagination/index'
+import RoleUserAdd from "@/views/permissionManagement/messageDialog/roleUserAdd.vue";
+import {getRoleMember} from "@/api/role/role";
 export default {
-    components: { checkbox, page },
+    components: { checkbox, page, RoleUserAdd, },
+    props: {
+      item: Object,
+    },
     data() {
         return {
+            roleAddMemberVisible: false,
             currentPageSize: 10,
             currentPage: 1,
             paginationData: {
@@ -55,39 +74,14 @@ export default {
                     this.handleSizeChange(val);
                 },
             },
-            tableData: [{
-                rolename: 'admin',
-                phone_num: '12345678901',
-                e_mail: 'admin@xxxxx.com',
-                working_address: '北京电信规划设计院',
-                registed_time: '2022-01-01 18:00',
-                status: true
-            }, {
-                rolename: 'admin',
-                phone_num: '12345678901',
-                e_mail: 'admin@xxxxx.com',
-                working_address: '北京电信规划设计院',
-                registed_time: '2022-01-01 18:00',
-                status: false
-            }, {
-                rolename: 'admin',
-                phone_num: '12345678901',
-                e_mail: 'admin@xxxxx.com',
-                working_address: '北京电信规划设计院',
-                registed_time: '2022-01-01 18:00',
-                status: true
-            }, {
-                rolename: 'admin',
-                phone_num: '12345678901',
-                e_mail: 'admin@xxxxx.com',
-                working_address: '北京电信规划设计院',
-                registed_time: '2022-01-01 18:00',
-                status: false
-            }],
+            tableData: [],
             multipleSelection: [],
             show: true
         }
     },
+    mounted() {
+      this.getTableData(1)
+    },
     methods: {
         cancleChecked() {
             //
@@ -96,7 +90,16 @@ export default {
             //
         },
         getTableData(page){
-
+            getRoleMember(this.item.id).then(res=>{
+                let data = res.data;
+                if (data.code==0) {
+                    this.tableData = data.data;
+                } else {
+                    this.$message.error(data.message)
+                }
+            }).catch(err=>{
+                this.$message.error(err.message)
+            })
         },
         handleSizeChange(){
             //
@@ -121,6 +124,15 @@ export default {
     padding: 0;
 }
 
+.opr-btn {
+    text-align: right;
+    .el-button {
+        height: 24px;
+        letter-spacing: 1px;
+        margin-right: 15px;
+    }
+}
+
 .el-table {
     position: relative;
     left: 0;

+ 160 - 93
src/views/permissionManagement/index.vue

@@ -1,62 +1,62 @@
 <template>
     <div class="container">
         <div class="left-pane">
-            <el-input placeholder="请输入关键字" suffix-icon="el-icon-search" v-model="filterText"></el-input>
-            <el-tree ref="tree" :data="data" :props="defaultProps" node-key="id" :filter-node-method="filterNode"
-                @node-click="handleNodeClick">
+            <el-input class="left-pane-input" placeholder="请输入关键字" suffix-icon="el-icon-search"
+                      v-model="filterText"></el-input>
+            <el-tree highlight-current
+                     ref="tree" :data="data" :props="defaultProps" node-key="id" :filter-node-method="filterNode"
+                     @node-click="handleNodeClick">
                 <span slot-scope="{node,data}">
-                    <el-image :src="data.url"></el-image>
-                    <span style="padding-left: 10px; vertical-align: text-bottom;">{{ node.label }}</span>
+                    <el-image :src="require('@/assets/tree/role/user-group@3x.png')"></el-image>
+                    <span style="padding-left: 10px; vertical-align: text-bottom;">{{ data.role_name }}</span>
                     <span class="operate_btns">
                         <dropdown :events="subMenuEvents" :data="{ node, data }"
-                            @itemClick="dropDownClick"></dropdown>
+                                  @itemClick="dropDownClick"></dropdown>
                     </span>
                 </span>
             </el-tree>
-            <el-button @click="addRole" style="color: #fff; background: #3da0d6"><i
-                    class="el-icon-s-order"></i>添加角色</el-button>
+            <el-button class="left-pane-btn" @click="addRoleVisible = true" style="color: #fff; background: #3da0d6"><i
+                    class="el-icon-s-order" style="padding-right: 6px"></i>添加角色
+            </el-button>
         </div>
         <div class="right-pane">
-            <overView v-if="viewShow"></overView>
-            <roleDetail v-if="roleShow"></roleDetail>
+            <overView ref="overview" v-if="viewShow"></overView>
+            <roleDetail :item="currentRole" v-if="roleShow"></roleDetail>
         </div>
+
+        <el-dialog title="新建角色"
+                   v-if="addRoleVisible"
+                   :visible.sync="addRoleVisible"
+                   width="500px" center style="display: flex;height:600px">
+            <RoleAdd :updateList="updateRoleList"></RoleAdd>
+        </el-dialog>
+
+
     </div>
 </template>
 <script>
 import overView from './roleOverview';
 import dropdown from '@/components/Dropdown/index';
 import roleDetail from './decisiongroup/index';
+import RoleAdd from "@/views/permissionManagement/messageDialog/roleAdd.vue";
+import {getRoleList} from "@/api/role/role"
+
 export default {
-    components: { overView, dropdown, roleDetail },
+    components: {overView, dropdown, roleDetail, RoleAdd},
     data() {
         return {
+            currentRole: {},
             filterText: '',
             viewShow: true,
-            roleShow:false,
-            data: [{
-                id: 1,
-                label: '决策组-1',
-                url: require('@/assets/tree/role/user-group@3x.png'),
-            }, {
-                id: 2,
-                label: '决策组-2',
-                url: require('@/assets/tree/role/user-group@3x.png')
-            },
-            {
-                id: 3,
-                label: '管理员组',
-                url: require('@/assets/tree/role/user-group@3x.png')
-            }, {
-                id: 4,
-                label: '普通用户组',
-                url: require('@/assets/tree/role/user-group@3x.png')
-            }],
+            roleShow: false,
+            addRoleVisible: false,
+            data: [],
             subMenuEvents: [
-                { label: '新建', funcName: 'addNode' },
-                { label: '上移', funcName: 'moveUp' },
-                { label: '下移', funcName: 'moveDown' },
-                { label: '编辑', funcName: 'editNode' },
-                { label: '删除', funcName: 'removeNode' }
+                {label: '新建', funcName: 'addNode'},
+                {label: '上移', funcName: 'moveUp'},
+                {label: '下移', funcName: 'moveDown'},
+                {label: '编辑', funcName: 'editNode'},
+                {label: '删除', funcName: 'removeNode'}
             ],
             defaultProps: {
                 children: 'children',
@@ -65,18 +65,34 @@ export default {
             currentNode: {}
         }
     },
-    
+
     watch: {
         filterText(val) {
             this.$refs.tree.filter(val);
         }
     },
+    mounted() {
+        this.getRoleList()
+    },
     methods: {
+        getRoleList() {
+            getRoleList(1, 999).then(res => {
+                let data = res.data;
+                if (data.code == 0) {
+                    this.data = data.data
+                }
+            })
+        },
         handleNodeClick(data) {
+            this.currentRole = data;
             this.roleShow = true;
             this.viewShow = false;
 
         },
+        updateRoleList() {
+            this.$refs.overview.getTableData(1);
+            this.addRoleVisible = false
+        },
         filterNode(value, data) {
             if (!value) return true;
             return data.label.indexOf(value) !== -1;
@@ -96,68 +112,119 @@ export default {
 
 <style lang="less" scoped>
 .container {
-    position: relative;
-    display: flex;
-    height: 100%;
-    line-height: 20px;
-    background-color: rgba(255, 255, 255, 1);
-    color: rgba(16, 16, 16, 1);
-    font-size: 14px;
-    text-align: center;
-    box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
-
-    .left-pane {
-        width: 300px;
-        padding: 15px;
-        height: calc(100% - 30px);
-
-        .el-tree {
-            margin-top: 10px;
-            height: calc(98% - 30px);
-            background-color: #FAFAFA;
-
-            /deep/.el-tree-node__content {
-                align-items: center;
-                height: 30px;
-                cursor: pointer;
-                font-size: 16px;
-                position: relative;
-                color: #999999;
-                padding-top: 10px;
-                padding-left: 30px !important;
-                .operate_btns {
-                    position: absolute;
-                    right: 20px;
-                    display: none;
-                }
+  position: relative;
+  display: flex;
+  height: 100%;
+  line-height: 20px;
+  background-color: rgba(255, 255, 255, 1);
+  color: rgba(16, 16, 16, 1);
+  font-size: 14px;
+  text-align: center;
+  box-shadow: 0px 0px 4px 0px rgba(0, 0, 0, 0.15);
 
-                &:hover,
-                :focus-within {
-                    background-color: #f7fbff;
+  .left-pane {
+    width: 300px;
+    padding: 15px;
+    height: calc(100% - 30px);
 
-                    .operate_btns {
-                        display: inline;
-                    }
-                }
-            }
-            /deep/.el-tree-node__children{
-                .el-tree-node__content{
-                    padding-left: 60px !important;
-                }
-            }
-        }
+    .el-button {
+      height: 30px;
+      text-align: center;
+      font-size: 14px;
+      padding: 8px 12px;
     }
-    .right-pane{
-        width: calc(100% - 330px);
+
+    .left-pane-input {
+      /deep/ .el-input__inner {
+        height: 30px !important;
+        line-height: 30px;
+        //border-right: none;
+      }
+
+      /deep/ .el-input__suffix {
+        border: none;
+        background-color: transparent;
+        padding: 0;
+      }
+
+      /deep/ .el-input__icon {
+        line-height: 30px !important;
+      }
     }
 
-    .el-button {
-        position: absolute;
-        left: 40px;
-        bottom: 15px;
-        width: 250px;
-        text-align: center;
-        font-size: 16px;
+    .el-tree {
+      margin-top: 10px;
+      height: calc(98% - 30px);
+      background-color: #FAFAFA;
+
+      .el-image {
+        vertical-align: middle;
+      }
+
+      /deep/ .el-tree-node__content {
+        align-items: center;
+        height: 30px;
+        cursor: pointer;
+        font-size: 14px;
+        position: relative;
+        color: #999999;
+        padding-top: 10px;
+        padding-left: 30px !important;
+
+        .operate_btns {
+          position: absolute;
+          right: 20px;
+          display: none;
+        }
+
+        &:hover,
+        :focus-within {
+          background-color: #f7fbff;
+
+          .operate_btns {
+            display: inline;
+          }
+        }
+      }
+
+      /deep/ .el-tree-node__children {
+        .el-tree-node__content {
+          padding-left: 60px !important;
+        }
+      }
     }
+  }
+
+  /deep/ .el-dialog__header {
+    text-align: left;
+    padding: 20px 20px 10px;
+
+  }
+
+  /deep/ .el-dialog__title {
+    font-size: 16px !important;
+  }
+
+  /deep/ .el-dialog__body {
+    padding: 0 20px !important;
+  }
+
+  /deep/ .el-divider--horizontal {
+    padding: 0;
+    margin: 0px 0 20px !important;
+  }
+
+  .right-pane {
+    width: calc(100% - 330px);
+  }
+
+  .el-button {
+    position: absolute;
+    left: 40px;
+    bottom: 15px;
+    width: 250px;
+    text-align: center;
+    font-size: 16px;
+  }
 }
 </style>

+ 77 - 0
src/views/permissionManagement/messageDialog/roleAdd.vue

@@ -0,0 +1,77 @@
+<template>
+    <div class="roleAdd">
+        <el-divider/>
+        <el-form ref="roleAddForm" :model="form" :rules="formRules" label-position="right" label-width="100px">
+            <el-form-item label="角色名称:" prop="roleName">
+                <el-input v-model="form.roleName" placeholder="请输入角色名称"/>
+            </el-form-item>
+            <el-form-item label="角色描述:">
+                <el-input type="textarea"
+                          :rows="8"
+                          placeholder="请输入角色描述" v-model="form.roleDesc"/>
+            </el-form-item>
+            <el-form-item>
+                <el-button>重置</el-button>
+                <el-button type="primary" @click="addRole">新建</el-button>
+            </el-form-item>
+        </el-form>
+    </div>
+</template>
+
+<script>
+import {addRoleApi} from "@/api/role/role";
+
+export default {
+    data() {
+        return {
+            form: {
+                roleName: '',
+                roleDesc: '',
+            },
+            formRules: {
+                roleName: [
+                    {required: true, message: '请输入角色名称', trigger: 'blur'}
+                ]
+            }
+        }
+    },
+    props: {
+        updateList: Function
+    },
+    mounted() {
+    },
+    methods: {
+        addRole() {
+            let app = this;
+            this.$refs.roleAddForm.validate(valid => {
+                if (valid) {
+                    addRoleApi(app.form.roleName, app.form.roleDesc).then(res => {
+                        let data = res.data;
+                        if (data.code == 0) {
+                            app.$message.success('添加成功');
+                            app.updateList();
+                        } else {
+                            app.$message.error(data.message)
+                        }
+                    }).catch(err => {
+                        app.$message.error(err.message)
+                    })
+
+                }
+            })
+
+        }
+    }
+}
+</script>
+
+<style lang="less" scoped>
+.roleAdd {
+  /deep/ .el-button {
+    width: 120px;
+    letter-spacing: 5px;
+    height: 30px;
+    padding: 6px;
+  }
+}
+</style>

+ 114 - 0
src/views/permissionManagement/messageDialog/roleUserAdd.vue

@@ -0,0 +1,114 @@
+<template>
+  <div class="roleAddMember">
+      <div class="left">
+          <el-input class="left-pane-input" placeholder="请输入关键字" suffix-icon="el-icon-search" v-model="filterText"></el-input>
+          <el-tree ref="tree" :data="data" :props="defaultProps" node-key="id" :highlight-current="true"
+                   :filter-node-method="filterNode" @node-click="handleNodeClick">
+                <span slot-scope="{node,data}">
+                    <el-image :src="data.url"></el-image>
+                    <span style="padding-left: 10px; vertical-align: text-bottom;">{{ node.label }}</span>
+
+                </span>
+          </el-tree>
+      </div>
+      <div class="right">
+          <el-table :data="tableData">
+              <el-table-column label="用户名" />
+              <el-table-column label="手机号" />
+              <el-table-column label="邮箱" />
+              <el-table-column label="单位" />
+              <el-table-column label="注册时间" />
+              <el-table-column label="状态" />
+              <el-table-column label="操作" />
+          </el-table>
+      </div>
+  </div>
+</template>
+
+<script>
+import dropdown from "@/components/Dropdown/index.vue";
+export default {
+    components: {dropdown},
+    data() {
+        return {
+            filterText: '',
+            tableData: [],
+        }
+    }
+}
+</script>
+
+<style lang="less" scoped>
+.roleAddMember {
+  width: 100%;
+  height: 550px;
+  overflow-y: auto;
+  padding-top: 6px;
+
+  .left {
+    display: inline-block;
+    box-sizing: border-box;
+    vertical-align: top;
+    width: 25%;
+    .left-pane-input {
+      /deep/ .el-input__inner {
+        height: 30px !important;
+        line-height: 30px;
+        //border-right: none;
+      }
+      /deep/ .el-input__suffix {
+        border: none;
+        background-color: transparent;
+        padding: 0;
+      }
+      /deep/ .el-input__icon {
+        line-height: 30px !important;
+      }
+    }
+
+    .el-tree {
+      margin-top: 10px;
+      height: calc(98% - 30px);
+      background-color: #FAFAFA;
+
+      .el-image {
+        vertical-align: middle;
+      }
+
+      /deep/.el-tree-node__content {
+        align-items: center;
+        height: 30px;
+        cursor: pointer;
+        font-size: 14px;
+        position: relative;
+        color: #999999;
+        padding-top: 10px;
+        .operate_btns {
+          position: absolute;
+          right: 20px;
+          display: none;
+        }
+
+        &:hover,
+        :focus-within {
+          background-color: #f7fbff;
+
+          .operate_btns {
+            display: inline;
+          }
+        }
+      }
+    }
+
+  }
+  .right {
+    display: inline-block;
+    vertical-align: top;
+    padding: 0 12px;
+    box-sizing: border-box;
+    width: 75%;
+  }
+
+
+}
+</style>

+ 11 - 14
src/views/permissionManagement/roleOverview.vue

@@ -7,9 +7,9 @@
             :cell-style="{ textAlign: 'center' }" height="400" style="width: 98%" @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="50">
             </el-table-column>
-            <el-table-column prop="rolename" label="角色名称">
+            <el-table-column prop="role_name" label="角色名称">
             </el-table-column>
-            <el-table-column prop="role_desc" label="角色描述">
+            <el-table-column prop="role_describe" label="角色描述">
             </el-table-column>
             <el-table-column prop="role_members" label="角色成员">
             </el-table-column>
@@ -26,6 +26,7 @@
         <div class="bottom">
             <page class="page" :paginationData="paginationData"></page>
         </div>
+
     </div>
 </template>
 
@@ -36,6 +37,7 @@ export default {
     components: { page },
     data() {
         return {
+            addRoleVisible: false,
             filterText: '',
             defaultProps: {
                 children: 'children',
@@ -89,15 +91,7 @@ export default {
             ).then((res) => {
                 if (res.data.code === 0 && res.data.data.length > 0) {
                     this.paginationData.total = res.data.total;
-                    console.log(res);
-                    this.tableData = res.data.data.map((e) => {
-                        return {
-                            rolename: e.rolename,
-                            role_desc: e.description,
-                            role_members: e.members,
-                            associated_ORN: e.org,
-                        }
-                    })
+                    this.tableData = res.data.data;
                 }
             })
         },
@@ -116,6 +110,9 @@ export default {
         },
         roleDetail() {
 
+        },
+        handleAddRoleClose() {
+            this.addRoleVisible = false;
         }
     }
 }
@@ -126,7 +123,7 @@ export default {
 
     .info {
         padding: 20px 20px 20px 40px;
-        font-size: 25px;
+        font-size: 16px;
     }
 }
 .el-table {
@@ -134,8 +131,8 @@ export default {
     top: 10px;
     margin-left: 1%;    
     border: 1px solid #f0f2f2;
-    font-size: 0.95rem;
-    font-family: PingFang SC;
+    font-size: 14px;
+    font-family: PingFang SC,serif;
     font-weight: 500;
     color: #b2b2b2;
     background: rgba(255, 255, 255, 0.8);

+ 40 - 14
src/views/userManagement/groupManagement/index.vue

@@ -1,8 +1,8 @@
 <template>
     <div class="container">
         <div class="left-pane">
-            <el-input placeholder="请输入关键字" suffix-icon="el-icon-search" v-model="filterText"></el-input>
-            <el-tree ref="tree" :data="data" :props="defaultProps" node-key="id" 
+            <el-input class="left-pane-input" placeholder="请输入关键字" suffix-icon="el-icon-search" v-model="filterText"></el-input>
+            <el-tree ref="tree" :data="data" :props="defaultProps" node-key="id" :highlight-current="true"
                 :filter-node-method="filterNode" @node-click="handleNodeClick">
                 <span slot-scope="{node,data}">
                     <el-image :src="data.url"></el-image>
@@ -26,6 +26,7 @@ import overView from './tables/corporationOverview';
 import corporation from './forms/corporationdetailEdit';
 import department from './forms/departmentdetailEdit';
 import dropdown from '@/components/Dropdown/index';
+import {getCompanyList} from '@/api/company/company'
 export default {
     components: { overView, dropdown, corporation, department },
     data() {
@@ -35,18 +36,15 @@ export default {
             corporShow: false,
             departShow: false,
             data: [{
-                id: 1,
-                label: '中讯邮电咨询设计院',
-                url: require('@/assets/tree/group/corporation@3x.png'),
+                id:2,
+                label: '北京电信规划设计院',
+                url: require('@/assets/tree/group/company@3x.png'),
+                type: 'company',
                 children: [{
-                    id:2,
-                    label: '北京电信规划设计院',
-                    url: require('@/assets/tree/group/company@3x.png'),
-                    children: [{
-                        id:3,
-                        url: require('@/assets/tree/group/affiliate@3x.png'),
-                        label: '天津办事处'
-                    }]
+                    id:3,
+                    url: require('@/assets/tree/group/affiliate@3x.png'),
+                    label: '天津办事处',
+                    type: 'dept',
                 }]
             }],
             menuEvents: [
@@ -71,7 +69,15 @@ export default {
             this.$refs.tree.filter(val);
         }
     },
+    mounted() {
+        this.getCompanyData()
+    },
     methods: {
+        getCompanyData() {
+            getCompanyList('', 1, 999).then(res=>{
+                console.log(res)
+            })
+        },
         handleNodeClick(data) {
             switch (data.id) {
                 case 2:
@@ -128,16 +134,36 @@ export default {
         padding: 15px;
         height: calc(100% - 30px);
 
+        .left-pane-input {
+            /deep/ .el-input__inner {
+                height: 30px !important;
+                line-height: 30px;
+                //border-right: none;
+            }
+            /deep/ .el-input__suffix {
+                border: none;
+                background-color: transparent;
+                padding: 0;
+            }
+            /deep/ .el-input__icon {
+                line-height: 30px !important;
+            }
+        }
+
         .el-tree {
             margin-top: 10px;
             height: calc(98% - 30px);
             background-color: #FAFAFA;
 
+            .el-image {
+                vertical-align: middle;
+            }
+
             /deep/.el-tree-node__content {
                 align-items: center;
                 height: 30px;
                 cursor: pointer;
-                font-size: 16px;
+                font-size: 14px;
                 position: relative;
                 color: #999999;
                 padding-top: 10px;

+ 19 - 11
src/views/userManagement/groupManagement/tables/corporationOverview.vue

@@ -1,19 +1,19 @@
 <template>
     <div style="height:100%">
-        <el-button class="addCompany" @click="addCompany" style="color: #fff; background: #3da0d6"><i
-                class="el-icon-s-order"></i>添加公司</el-button>
+        <el-button class="addCompany" @click="addCompany" style="color: #fff; background: #3da0d6">
+            <span ><i class="el-icon-s-order" style="padding-right: 5px"></i>添加公司</span>
+        </el-button>
                 <corporationAdd ref="corporationAdd"></corporationAdd>
         <p class="info">公司总览</p>
-        <el-button class="delete" @click="batchDelete">批量删除</el-button>
         <el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" :header-cell-style="{ textAlign: 'center' }"
             :cell-style="{ textAlign: 'center' }" height="400" style="width: 98%" @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="50">
             </el-table-column>
-            <el-table-column prop="corporation_name" label="公司名称">
+            <el-table-column prop="company_name" label="公司名称">
             </el-table-column>
-            <el-table-column prop="Sccode" label="社会信用代码">
+            <el-table-column prop="code" label="社会信用代码">
             </el-table-column>
-            <el-table-column prop="legal_person" label="公司法人">
+            <el-table-column prop="legal_person_name" label="公司法人">
             </el-table-column>
             <el-table-column prop="contact_person" label="联系人">
             </el-table-column>
@@ -37,6 +37,7 @@
 import checkbox from '@/components/Checkbox/index';
 import page from '@/components/pagination/index';
 import corporationAdd from '../messageDialog/corporationAdd';
+import {getCompanyList} from "@/api/company/company";
 export default {
     components: { checkbox, page,corporationAdd },
     data() {
@@ -98,7 +99,12 @@ export default {
             this.getTableData(1);
         },
         getTableData(page) {
-
+            getCompanyList('', this.paginationData.currentPage, this.paginationData.pageSize).then(res=>{
+                let data = res.data;
+                if (data.code == '0') {
+                    this.tableData = data.data
+                }
+            })
         },
         infoDetail() {
 
@@ -124,7 +130,7 @@ export default {
 <style lang="less" scoped>
 .info {
     padding: 20px 20px 20px 40px;
-    font-size: 25px;
+    font-size: 16px;
     text-align: left;
 }
 
@@ -147,8 +153,8 @@ export default {
     margin-left: 1%;
     height: 400px;
     border: 1px solid #f0f2f2;
-    font-size: 0.95rem;
-    font-family: PingFang SC;
+    font-size: 14px;
+    font-family: PingFang SC,serif;
     font-weight: 500;
     color: #b2b2b2;
     background: rgba(255, 255, 255, 0.8);
@@ -203,7 +209,9 @@ export default {
     bottom: 15px;
     width: 250px;
     text-align: center;
-    font-size: 16px;
+    font-size: 14px;
+    height: 30px;
+    padding: 8px 12px;
 }
 
 .bottom {

+ 14 - 28
src/views/userManagement/personManagement/tables/userTableData.vue

@@ -5,7 +5,7 @@
                   :cell-style="{ textAlign: 'center' }" style="width: 100%;min-height: 500px"
                   @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="50"></el-table-column>
-            <el-table-column prop="username" label="用户名"></el-table-column>
+            <el-table-column prop="user_name" label="用户名"></el-table-column>
             <el-table-column prop="phone" label="手机号"></el-table-column>
             <el-table-column prop="email" label="邮箱"></el-table-column>
             <el-table-column prop="role" label="角色"></el-table-column>
@@ -20,13 +20,13 @@
             <el-table-column prop="operation" label="操作">
                 <template slot-scope="scope">
                     <el-button size="mini" type="text" style="color: #2ea8e6"
-                               v-show="scope.row.username == null ? false : true" @click="view(scope.row)">查看
+                               @click="view(scope.row)">查看
                     </el-button>
                     <el-button size="mini" type="text" style="color: #2ea8e6"
-                               v-show="scope.row.username == null ? false : true" @click="edit(scope.row)">编辑
+                               @click="edit(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)">删除
+                               @click="deleteUser(scope.row)">删除
                     </el-button>
                 </template>
             </el-table-column>
@@ -74,7 +74,7 @@ export default {
     },
     methods: {
         initData() {
-            this.paginationData.currentPage=1;
+            this.paginationData.currentPage = 1;
             this.paginationData.pageSize = 10;
             this.paginationData.total = 0;
             this.getTableData(1);
@@ -93,28 +93,12 @@ export default {
                     this.paginationData.currentPage = 1;
                     this.paginationData.pageSize = 10
                     if (res.data.data.length > 0) {
-                        this.tableData = res.data.data.map((e) => {
-                            return {
-                                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,
-                                permission:
-                                    e.permission == "undefined" || !e.permission
-                                        ? e.permission
-                                        : "--",
-                                working_address:
-                                    e.company == "undefined" || !e.company ? "--" : e.company,
-                                register_time: this.$dayjs(e.register_time).format(
-                                    "YYYY-MM-DD HH:mm:ss"
-                                ),
-                                status:
-                                    e.on_job_status == "undefined" || !e.on_job_status
-                                        ? "--"
-                                        : e.on_job_status,
-                            };
-                        });
+                        this.tableData = res.data.data;
+                        this.tableData.forEach(item => {
+                            item.register_time = this.$dayjs(item.register_time).format(
+                                "YYYY-MM-DD HH:mm:ss"
+                            )
+                        })
                     }
                 }
             });
@@ -124,6 +108,7 @@ export default {
             this.getTableData(this.currentPage);
         },
         view(data) {
+            console.log(data)
             this.$emit('view', data);
         },
         edit(data) {
@@ -131,7 +116,7 @@ export default {
         },
         deleteUser(data) {
             let app = this;
-            this.$confirm('是否删除用户:'+data.username+' ?', '提示', {
+            this.$confirm('是否删除用户:' + data.username + ' ?', '提示', {
                 confirmButtonText: '确定',
                 cancelButtonText: '取消',
                 type: 'warning'
@@ -174,6 +159,7 @@ export default {
     .el-checkbox__input.is-checked .el-checkbox__inner::after {
       width: 70%;
       height: 70%;
+      margin-left: 1px;
       background: #2ea8e6;
       border-radius: 0;
       transform: rotate(0deg) scaleY(1);

+ 14 - 14
vue.config.js

@@ -18,20 +18,20 @@ module.exports = defineConfig({
   devServer:{
     port:8080,
     proxy:{
-      // '/api':{
-      //     target:'http://121.43.55.7:5000',
-      //     changeOrigin:true,
-      //     pathRewrite:{
-      //       '^/api':''
-      //     }
-      // }
-      '/api':{
-          target:'http://192.168.3.32:5000',
-          changeOrigin:true,
-          pathRewrite:{
-            '^/api':''
-          }
-      }
+       '/api':{
+           target:'http://121.43.55.7:5000',
+           changeOrigin:true,
+           pathRewrite:{
+             '^/api':''
+           }
+       }
+      //'/api':{
+      //    target:'http://192.168.3.32:5000',
+      //    changeOrigin:true,
+      //    pathRewrite:{
+      //      '^/api':''
+      //    }
+      //}
     }
   }
 })