sunlupeng před 1 rokem
rodič
revize
bf4eb3dc1f

+ 25 - 477
src/components/AppList/index.vue

@@ -170,149 +170,53 @@ export default {
         {
           "id": 1,
           "parentId": 0,
-          "name": "审批中心",
-          "path": "/task",
+          "name": "企业管理",
+          "path": "/system",
           "component": null,
           "componentName": null,
-          "icon": "cascader",
+          "icon": "system",
           "visible": true,
           "keepAlive": true,
           "alwaysShow": true,
           "children": [
           {
-              "id": 1207,
-              "parentId": 1200,
-              "name": "我的代办",
-              "path": "todo",
-              "component": "bpm/task/todo/index",
-              "componentName": "BpmTodoTask",
-              "icon": "eye-open",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
-            {
-              "id": 1208,
-              "parentId": 1200,
-              "name": "已处理",
-              "path": "done",
-              "component": "bpm/task/done/index",
-              "componentName": "BpmDoneTask",
-              "icon": "eye",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
-            {
-              "id": 1201,
-              "parentId": 1200,
-              "name": "已发起",
-              "path": "my",
-              "component": "bpm/processInstance/index",
-              "componentName": "BpmProcessInstance",
-              "icon": "people",
+              "id": 109,
+              "parentId": 1,
+              "name": "企业信息",
+              "path": "companyInfo",
+              "component": "system/companyInfo/index",
+              "componentName": "SystemCompanyInfo",
+              "icon": "tree-table",
               "visible": true,
               "keepAlive": true,
               "alwaysShow": true,
               "children": null
             },
-            
-           
-          ]
-        },
-        {
-          "id": 1224,
-          "parentId": 0,
-          "name": "租户管理",
-          "path": "/tenant",
-          "component": null,
-          "componentName": null,
-          "icon": "peoples",
-          "visible": true,
-          "keepAlive": true,
-          "alwaysShow": true,
-          "children": [
             {
-              "id": 1138,
-              "parentId": 1224,
-              "name": "租户列表",
-              "path": "list",
-              "component": "system/tenant/index",
-              "componentName": "SystemTenant",
-              "icon": "peoples",
+              "id": 102,
+              "parentId": 1,
+              "name": "菜单管理",
+              "path": "menu",
+              "component": "system/menu/index",
+              "componentName": "SystemMenu",
+              "icon": "tree-table",
               "visible": true,
               "keepAlive": true,
               "alwaysShow": true,
               "children": null
             },
             {
-              "id": 1225,
-              "parentId": 1224,
-              "name": "租户套餐",
-              "path": "package",
-              "component": "system/tenantPackage/index",
-              "componentName": "SystemTenantPackage",
-              "icon": "eye",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            }
-          ]
-        },
-        {
-          "id": 1,
-          "parentId": 0,
-          "name": "系统管理",
-          "path": "/system",
-          "component": null,
-          "componentName": null,
-          "icon": "system",
-          "visible": true,
-          "keepAlive": true,
-          "alwaysShow": true,
-          "children": [
-            {
-              "id": 1224,
+              "id": 103,
               "parentId": 1,
-              "name": "租户管理",
-              "path": "tenant",
-              "component": null,
-              "componentName": null,
-              "icon": "peoples",
+              "name": "部门管理",
+              "path": "dept",
+              "component": "system/dept/index",
+              "componentName": "SystemDept",
+              "icon": "tree",
               "visible": true,
               "keepAlive": true,
               "alwaysShow": true,
-              "children": [
-                {
-                  "id": 1138,
-                  "parentId": 1224,
-                  "name": "租户列表",
-                  "path": "list",
-                  "component": "system/tenant/index",
-                  "componentName": "SystemTenant",
-                  "icon": "peoples",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 1225,
-                  "parentId": 1224,
-                  "name": "租户套餐",
-                  "path": "package",
-                  "component": "system/tenantPackage/index",
-                  "componentName": "SystemTenantPackage",
-                  "icon": "eye",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                }
-              ]
+              "children": null
             },
             {
               "id": 100,
@@ -340,45 +244,7 @@ export default {
               "alwaysShow": true,
               "children": null
             },
-            {
-              "id": 102,
-              "parentId": 1,
-              "name": "菜单管理",
-              "path": "menu",
-              "component": "system/menu/index",
-              "componentName": "SystemMenu",
-              "icon": "tree-table",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
-            {
-              "id": 103,
-              "parentId": 1,
-              "name": "部门管理",
-              "path": "dept",
-              "component": "system/dept/index",
-              "componentName": "SystemDept",
-              "icon": "tree",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
-            {
-              "id": 104,
-              "parentId": 1,
-              "name": "岗位管理",
-              "path": "post",
-              "component": "system/post/index",
-              "componentName": "SystemPost",
-              "icon": "post",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
+
             {
               "id": 105,
               "parentId": 1,
@@ -391,324 +257,6 @@ export default {
               "keepAlive": true,
               "alwaysShow": true,
               "children": null
-            },
-            {
-              "id": 107,
-              "parentId": 1,
-              "name": "通知公告",
-              "path": "notice",
-              "component": "system/notice/index",
-              "componentName": "SystemNotice",
-              "icon": "message",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
-            {
-              "id": 108,
-              "parentId": 1,
-              "name": "审计日志",
-              "path": "log",
-              "component": "",
-              "componentName": null,
-              "icon": "log",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": [
-                {
-                  "id": 500,
-                  "parentId": 108,
-                  "name": "操作日志",
-                  "path": "operate-log",
-                  "component": "system/operatelog/index",
-                  "componentName": "SystemOperateLog",
-                  "icon": "form",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 501,
-                  "parentId": 108,
-                  "name": "登录日志",
-                  "path": "login-log",
-                  "component": "system/loginlog/index",
-                  "componentName": "SystemLoginLog",
-                  "icon": "logininfor",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                }
-              ]
-            },
-            {
-              "id": 1261,
-              "parentId": 1,
-              "name": "OAuth 2.0",
-              "path": "oauth2",
-              "component": null,
-              "componentName": null,
-              "icon": "people",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": [
-                {
-                  "id": 1263,
-                  "parentId": 1261,
-                  "name": "应用管理",
-                  "path": "oauth2/application",
-                  "component": "system/oauth2/client/index",
-                  "componentName": "SystemOAuth2Client",
-                  "icon": "tool",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 109,
-                  "parentId": 1261,
-                  "name": "令牌管理",
-                  "path": "token",
-                  "component": "system/oauth2/token/index",
-                  "componentName": "SystemTokenClient",
-                  "icon": "online",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                }
-              ]
-            },
-            {
-              "id": 2447,
-              "parentId": 1,
-              "name": "三方登录",
-              "path": "social",
-              "component": "",
-              "componentName": "",
-              "icon": "fa:500px",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": [
-                {
-                  "id": 2448,
-                  "parentId": 2447,
-                  "name": "三方应用",
-                  "path": "client",
-                  "component": "views/system/social/client/index.vue",
-                  "componentName": "SocialClient",
-                  "icon": "ep:set-up",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 2453,
-                  "parentId": 2447,
-                  "name": "三方用户",
-                  "path": "user",
-                  "component": "system/social/user/index.vue",
-                  "componentName": "SocialUser",
-                  "icon": "ep:avatar",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                }
-              ]
-            },
-            {
-              "id": 1093,
-              "parentId": 1,
-              "name": "短信管理",
-              "path": "sms",
-              "component": null,
-              "componentName": null,
-              "icon": "validCode",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": [
-                {
-                  "id": 1094,
-                  "parentId": 1093,
-                  "name": "短信渠道",
-                  "path": "sms-channel",
-                  "component": "system/sms/channel/index",
-                  "componentName": "SystemSmsChannel",
-                  "icon": "phone",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 1100,
-                  "parentId": 1093,
-                  "name": "短信模板",
-                  "path": "sms-template",
-                  "component": "system/sms/template/index",
-                  "componentName": "SystemSmsTemplate",
-                  "icon": "phone",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 1107,
-                  "parentId": 1093,
-                  "name": "短信日志",
-                  "path": "sms-log",
-                  "component": "system/sms/log/index",
-                  "componentName": "SystemSmsLog",
-                  "icon": "phone",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                }
-              ]
-            },
-            {
-              "id": 2130,
-              "parentId": 1,
-              "name": "邮箱管理",
-              "path": "mail",
-              "component": null,
-              "componentName": null,
-              "icon": "email",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": [
-                {
-                  "id": 2131,
-                  "parentId": 2130,
-                  "name": "邮箱账号",
-                  "path": "mail-account",
-                  "component": "system/mail/account/index",
-                  "componentName": "SystemMailAccount",
-                  "icon": "user",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 2136,
-                  "parentId": 2130,
-                  "name": "邮件模版",
-                  "path": "mail-template",
-                  "component": "system/mail/template/index",
-                  "componentName": "SystemMailTemplate",
-                  "icon": "education",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 2141,
-                  "parentId": 2130,
-                  "name": "邮件记录",
-                  "path": "mail-log",
-                  "component": "system/mail/log/index",
-                  "componentName": "SystemMailLog",
-                  "icon": "log",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                }
-              ]
-            },
-            {
-              "id": 2144,
-              "parentId": 1,
-              "name": "站内信管理",
-              "path": "notify",
-              "component": null,
-              "componentName": null,
-              "icon": "message",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": [
-                {
-                  "id": 2145,
-                  "parentId": 2144,
-                  "name": "模板管理",
-                  "path": "notify-template",
-                  "component": "system/notify/template/index",
-                  "componentName": "SystemNotifyTemplate",
-                  "icon": "education",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                },
-                {
-                  "id": 2151,
-                  "parentId": 2144,
-                  "name": "消息记录",
-                  "path": "notify-message",
-                  "component": "system/notify/message/index",
-                  "componentName": "SystemNotifyMessage",
-                  "icon": "edit",
-                  "visible": true,
-                  "keepAlive": true,
-                  "alwaysShow": true,
-                  "children": null
-                }
-              ]
-            },
-            {
-              "id": 1110,
-              "parentId": 1,
-              "name": "错误码管理",
-              "path": "error-code",
-              "component": "system/errorCode/index",
-              "componentName": "SystemErrorCode",
-              "icon": "code",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
-            {
-              "id": 1247,
-              "parentId": 1,
-              "name": "敏感词管理",
-              "path": "sensitive-word",
-              "component": "system/sensitiveWord/index",
-              "componentName": "SystemSensitiveWord",
-              "icon": "education",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
-            },
-            {
-              "id": 2083,
-              "parentId": 1,
-              "name": "地区管理",
-              "path": "area",
-              "component": "system/area/index",
-              "componentName": "SystemArea",
-              "icon": "row",
-              "visible": true,
-              "keepAlive": true,
-              "alwaysShow": true,
-              "children": null
             }
           ]
         }

+ 314 - 0
src/layout/components/Userbar.vue

@@ -0,0 +1,314 @@
+<template>
+  <div class="navbar">
+    <div class="left-menu">
+        <!-- <el-popover
+          popper-class="down-popover"
+          placement="bottom"
+          width="360"
+          :visible-arrow="false"
+          trigger="click">
+          <div class="corp-switch">
+            <div class="current-corp">sunny</div>
+            <el-button type="text" style="color: #00B899;" @click="showProcessInstance()">
+              <i class="el-icon-s-operation"></i>
+              切换企业/团队
+            </el-button>
+           
+          </div>
+          <i class="el-icon-s-grid icon-menu" slot="reference"></i>
+        </el-popover>
+        <div class="divider"></div> -->
+        <a class="text" href="/">
+          <img :src="logo" class="menu-icon dashboard" />
+          <!-- <div class="menu-icon dashboard" style="background-image: url(&quot;https://g.jdycdn.com/app/pc/311a8e2b1ed9.png&quot;);"></div> -->
+          工作台
+        </a>
+    </div>
+    
+    
+    
+
+    <div class="right-menu">
+      <template v-if="device!=='mobile'">
+        <el-tooltip content="文档地址" effect="dark" placement="bottom">
+          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
+        </el-tooltip>
+
+        <!-- <el-tooltip content="联系我们" effect="dark" placement="bottom">
+          <div class="right-menu-item hover-effect">
+            <i class="el-icon-service" @click="childMethod()"></i>
+          </div>
+
+        </el-tooltip> -->
+      </template>
+      <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
+        <div class="avatar-wrapper">
+          <!-- <img :src="avatar" class="user-avatar"> -->
+          <img src="https://static-legacy.dingtalk.com/media/lQLPD4bTZ9hFfEHNAl_NAl-wu2M_jTTO8eEGNqKVr0MUAA_607_607.png" class="user-avatar">
+          <span v-if="nickname" class="user-nickname">{{ nickname }}</span>
+          <!-- <i class="el-icon-caret-bottom" /> -->
+        </div>
+        <el-dropdown-menu slot="dropdown">
+          <router-link to="/user/profile">
+            <el-dropdown-item>个人中心</el-dropdown-item>
+          </router-link>
+          <el-dropdown-item @click.native="setting = true">
+            <span>企业管理</span>
+          </el-dropdown-item>
+          <el-dropdown-item divided @click.native="logout">
+            <span>退出登录</span>
+          </el-dropdown-item>
+        </el-dropdown-menu>
+      </el-dropdown>
+    </div>
+   
+  </div>
+</template>
+
+<script>
+import { mapGetters } from 'vuex'
+import Breadcrumb from '@/components/Breadcrumb'
+import TopNav from '@/components/TopNav'
+import Hamburger from '@/components/Hamburger'
+import Screenfull from '@/components/Screenfull'
+import SizeSelect from '@/components/SizeSelect'
+import Search from '@/components/HeaderSearch'
+import RuoYiGit from '@/components/RuoYi/Git'
+import RuoYiDoc from '@/components/RuoYi/Doc'
+import NotifyMessage from '@/layout/components/Message'
+import {getPath} from "@/utils/ruoyi";
+import logoImg from '@/assets/logo/work.png'
+export default {
+  data() {
+    return {
+      logo: logoImg
+    }
+  },
+  components: {
+    Breadcrumb,
+    TopNav,
+    Hamburger,
+    Screenfull,
+    SizeSelect,
+    Search,
+    RuoYiGit,
+    RuoYiDoc,
+    NotifyMessage
+  },
+  computed: {
+    ...mapGetters([
+      'sidebar',
+      'avatar',
+      'nickname',
+      'device'
+    ]),
+    setting: {
+      get() {
+        return this.$store.state.settings.showSettings
+      },
+      set(val) {
+        this.$store.dispatch('settings/changeSetting', {
+          key: 'showSettings',
+          value: val
+        })
+      }
+    },
+    topNav: {
+      get() {
+        return this.$store.state.settings.topNav
+      }
+    }
+  },
+  methods: {
+    showProcessInstance() {
+      this.$parent.showTeamWork();
+    },
+    childMethod() {
+        this.$parent.fatherMethod();
+    },
+    toggleSideBar() {
+      this.$store.dispatch('app/toggleSideBar')
+    },
+    async logout() {
+      this.$modal.confirm('确定注销并退出系统吗?', '提示').then(() => {
+        this.$store.dispatch('LogOut').then(() => {
+          location.href = getPath('/index');
+        })
+      }).catch(() => {});
+    }
+  }
+}
+</script>
+<style lang="scss">
+.down-popover {
+  top: 60px !important;
+}
+</style>
+<style lang="scss" scoped>
+a {
+  outline: none;
+  text-decoration: none;
+}
+.corp-switch{
+  align-items: center;
+  display: flex;
+  height: 65px;
+  justify-content: space-between;
+  padding-left: 20px;
+  .current-corp {
+      color: #141e31;
+      font-size: 18px;
+      line-height: 32px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      width: 240px;
+  }      
+}
+.navbar {
+  height: 60px;
+  overflow: hidden;
+  position: relative;
+  background: #fff;
+  box-shadow: 0 1px 4px rgba(0,21,41,.08);
+
+  .hamburger-container {
+    line-height: 46px;
+    height: 100%;
+    float: left;
+    cursor: pointer;
+    transition: background .3s;
+    -webkit-tap-highlight-color:transparent;
+
+    &:hover {
+      background: rgba(0, 0, 0, .025)
+    }
+  }
+
+  .breadcrumb-container {
+    float: left;
+  }
+
+  .topmenu-container {
+    position: absolute;
+    left: 50px;
+  }
+
+  .errLog-container {
+    display: inline-block;
+    vertical-align: top;
+  }
+  
+  .left-menu {
+    font-size: 16px;
+    padding: 0px 15px;
+    float: left;
+    height: 100%;
+    // line-height: 60px;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    cursor: pointer;
+    .icon-menu:hover {
+        background: #e6e8ed;
+        border-radius: 3px;
+    }
+    .icon-menu{
+      color: #525967;
+      cursor: pointer;
+      display: inline-block;
+      font-size: 20px;
+      height: 30px;
+      line-height: 30px;
+      text-align: center;
+      width: 30px;
+    }
+    .divider{
+      height: 20px;
+      margin: 0 5px;
+      border: solid #EBECEE;
+      border-width: 0 0 0 1px;
+      display: inline-block;
+      height: .9em;
+      // margin: 0 15px;
+      vertical-align: middle;
+    }
+    .text:hover {
+        background: #e6e8ed;
+    }
+    .text{
+      height: 30px;
+      align-items: center;
+      border-radius: 4px;
+      color: #141e31;
+      display: flex;
+      padding: 0 5px;
+      transition: background .2s ease;
+      .menu-icon{
+        background-size: 100px 20px;
+        height: 20px;
+        margin-right: 5px;
+        width: 20px;
+      }
+    }
+  }
+  
+  .right-menu {
+    float: right;
+    height: 100%;
+    line-height: 60px;
+
+    &:focus {
+      outline: none;
+    }
+
+    .right-menu-item {
+      display: inline-block;
+      padding: 0 8px;
+      height: 100%;
+      font-size: 18px;
+      color: #5a5e66;
+      vertical-align: text-bottom;
+
+      &.hover-effect {
+        cursor: pointer;
+        transition: background .3s;
+
+        &:hover {
+          background: rgba(0, 0, 0, .025)
+        }
+      }
+    }
+
+    .avatar-container {
+      margin-right: 20px;
+
+      .avatar-wrapper {
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        position: relative;
+
+        .user-avatar {
+          cursor: pointer;
+          width: 35px;
+          height: 35px;
+          border-radius: 50%;
+        }
+        .user-nickname{
+          margin-left: 5px;
+          font-size: 14px;
+        }
+
+        .el-icon-caret-bottom {
+          cursor: pointer;
+          position: absolute;
+          right: -20px;
+          top: 25px;
+          font-size: 12px;
+        }
+      }
+    }
+  }
+}
+</style>

+ 19 - 15
src/router/index.js

@@ -125,22 +125,26 @@ export const constantRoutes = [
   //   ]
   // },
   {
-    path: '/user',
-    component: Layout,
-    hidden: true,
-    redirect: 'noredirect',
-    children: [{
-        path: 'profile',
-        component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
-        name: 'Profile',
-        meta: {title: '个人中心', icon: 'user'}
-      }, {
-        path: 'notify-message',
-        component: (resolve) => require(['@/views/system/notify/my/index'], resolve),
-        name: 'MyNotifyMessage',
-        meta: { title: '我的站内信', icon: 'message' },
-    }]
+    path: '/user/profile',
+    component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
   },
+  // {
+  //   path: '/user',
+  //   component: Layout,
+  //   hidden: true,
+  //   redirect: 'noredirect',
+  //   children: [{
+  //       path: 'profile',
+  //       component: (resolve) => require(['@/views/system/user/profile/index'], resolve),
+  //       name: 'Profile',
+  //       meta: {title: '个人中心', icon: 'user'}
+  //     }, {
+  //       path: 'notify-message',
+  //       component: (resolve) => require(['@/views/system/notify/my/index'], resolve),
+  //       name: 'MyNotifyMessage',
+  //       meta: { title: '我的站内信', icon: 'message' },
+  //   }]
+  // },
   {
     path: '/dict',
     component: Layout,

+ 343 - 0
src/views/system/companyInfo/index.vue

@@ -0,0 +1,343 @@
+<template>
+  <div class="app-container" style="background: #f5f6f8;">
+    <div class="fx-biz-container">
+      <div class="panel-header">
+        <div class="header-left">
+          <div class="header-title">基础信息</div>
+          <div class="header-tip"></div>
+        </div>
+      </div>
+      <div class="panel-wrapper">
+        <div class="basic-content">
+          <div class="fx-row-info-panel">
+            <div class="label">企业名称</div>
+            <div class="content" v-if="!showComp">
+              <span class="team-name-wrapper">{{ companyName }}</span>
+              <el-button type="text" style="padding: 0 16px;" @click="editComp()">
+                <span>修改</span>
+              </el-button>
+            </div>
+            <div class="content" v-if="showComp">
+              <div style="display: flex;">
+                <el-input v-model="newCompanyName" style="width: 600px;">
+                </el-input>
+                <el-button size="mini" type="primary" @click="saveComp()" style="margin-left: 20px;">确定</el-button>
+                <el-button size="mini" @click="showComp = false">取消</el-button>
+              </div>
+
+            </div>
+          </div>
+          <div class="fx-row-info-panel">
+            <div class="label">账号模式</div>
+            <div class="content">
+              <div class="fx-corp-account-mode">
+                <div class="account-mode-header">
+                  <div class="fx-corp-mode-tag">
+                    <div class="x-tag mode-tag single-line is-rounded-rec has-border" title="公共模式">
+                      <div class="text-wrapper">公共模式</div>
+                    </div>
+                  </div>
+                </div>
+                <div class="corp-detail-wrapper">
+                  <div class="info-item">
+                    <span class="item-name">CorpID</span>
+                    <span class="item-value">
+                      <span>667936e871255a463e3e9186</span>
+                      <i class="el-icon-document-copy" style="cursor: pointer;
+    font-size: 16px;
+    margin-left: 16px;" @click="copy()"></i>
+                    </span>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { getAreaByIp, getAreaTree } from "@/api/system/area";
+
+export default {
+  components: {
+  },
+  data() {
+    return {
+      showComp: false,
+      companyName: 'sunny',
+      newCompanyName: '',
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 地区列表
+      list: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 重新渲染表格状态
+      refreshTable: true,
+      // 表单参数
+      form: {
+        ip: undefined,
+        result: undefined,
+      },
+      // 表单校验
+      rules: {
+        ip: [{ required: true, message: "IP 地址不能为控", trigger: "blur" }],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    copy(){
+        document.execCommand("Copy"); // 执行浏览器复制命令
+        this.$message({
+          message: '复制成功',
+          type: 'success'
+        });
+      },
+    editComp() {
+      this.showComp = true;
+      this.newCompanyName = this.companyName;
+    },
+    saveComp() {
+      this.showComp = false;
+      this.companyName = this.newCompanyName;
+    },
+    /** 查询列表 */
+    getList() {
+      this.loading = true;
+      getAreaTree().then(response => {
+        this.list = response.data;
+        this.loading = false;
+      })
+    },
+    /** 取消按钮 */
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    /** 表单重置 */
+    reset() {
+      this.form = {
+        ip: undefined,
+        result: undefined,
+      };
+      this.resetForm("form");
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (!valid) {
+          return;
+        }
+        getAreaByIp(this.form.ip).then(response => {
+          this.$modal.msgSuccess("查询成功");
+          this.form.result = response.data
+        });
+      });
+    }
+  }
+};
+</script>
+<style scoped lang="scss">
+.fx-biz-container {
+  margin-bottom: 20px;
+  font-size: 14px;
+}
+
+.fx-biz-container .panel-header,
+.fx-biz-container .panel-header .header-left {
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+}
+
+.fx-biz-container .panel-header {
+  -webkit-box-pack: justify;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+  margin-bottom: 12px;
+  min-height: 32px;
+}
+
+.fx-biz-container .panel-wrapper {
+  background: #fff;
+  border-radius: 6px;
+  padding: 20px;
+}
+
+.fx-biz-container .panel-wrapper .fx-row-info-panel:first-child {
+  padding-top: 0;
+}
+
+.fx-biz-container .panel-wrapper .fx-row-info-panel {
+  min-height: 36px;
+  padding: 16px 0;
+}
+
+.fx-row-info-panel {
+  border-bottom: 1px solid #ebecee;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  min-height: 70px;
+}
+
+.fx-biz-container .panel-wrapper .fx-row-info-panel .label {
+  background: transparent;
+  font-weight: 500;
+  margin-right: 48px;
+  padding: 6px 0;
+  text-align: left;
+  width: 140px;
+}
+
+.fx-row-info-panel .label {
+  -webkit-box-flex: 0;
+  background-color: #f5f6f8;
+  -ms-flex: none;
+  flex: none;
+  padding: 25px 0;
+  text-align: center;
+  width: 145px;
+}
+
+.fx-biz-container .panel-wrapper .fx-row-info-panel .content {
+  padding: 0;
+}
+
+.fx-row-info-panel .content {
+  -webkit-box-flex: 1;
+  -ms-flex: auto;
+  flex: auto;
+  line-height: 36px;
+  overflow: hidden;
+  padding: 17px 20px;
+}
+
+.fx-corp-account-mode {
+  display: inline-block;
+}
+
+.fx-corp-account-mode .account-mode-header {
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  -webkit-box-pack: justify;
+  -ms-flex-pack: justify;
+  align-items: center;
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  justify-content: space-between;
+  width: 100%;
+}
+
+.fx-corp-mode-tag {
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  display: -webkit-inline-box;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+}
+
+.fx-corp-mode-tag .mode-tag {
+  background: #e6f8f5;
+  border-color: #00b899;
+  cursor: default;
+}
+
+.x-tag.single-line {
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.x-tag.has-border {
+  border-color: #D7D9DC;
+}
+
+.x-tag.is-rounded-rec {
+  border-radius: 4px;
+}
+
+.x-tag {
+  -webkit-box-align: start;
+  -ms-flex-align: start;
+  align-items: flex-start;
+  background: rgba(5, 30, 80, .04);
+  border: 1px solid transparent;
+  border-radius: 12px;
+  color: #141E31;
+  cursor: pointer;
+  display: -webkit-inline-box;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  font-size: 14px;
+  line-height: 22px;
+  max-width: 100%;
+  overflow: hidden;
+  padding: 0 6px;
+  -webkit-transform-origin: left;
+  transform-origin: left;
+  white-space: nowrap;
+}
+
+.fx-corp-account-mode .corp-detail-wrapper {
+  border: 1px solid #d7d9dc;
+  border-radius: 4px;
+  margin-top: 16px;
+  padding: 20px;
+}
+
+.fx-corp-account-mode .corp-detail-wrapper .info-item:last-child {
+  margin-bottom: 0;
+}
+
+.fx-corp-account-mode .corp-detail-wrapper .info-item {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  line-height: 20px;
+  margin-bottom: 16px;
+}
+
+.fx-corp-account-mode .corp-detail-wrapper .info-item .item-name {
+  -webkit-box-flex: 0;
+  word-wrap: break-word;
+  -ms-flex: none;
+  flex: none;
+  width: 200px;
+  word-break: break-word;
+}
+
+.fx-corp-account-mode .corp-detail-wrapper .info-item .item-value {
+  -webkit-box-flex: 1;
+  word-wrap: break-word;
+  -ms-flex: auto;
+  flex: auto;
+  word-break: break-word;
+}
+
+.fx-biz-container .panel-wrapper .fx-row-info-panel:last-child {
+  border-bottom: none;
+  padding-bottom: 0;
+}
+</style>

+ 18 - 1
src/views/system/user/profile/index.vue

@@ -1,4 +1,8 @@
 <template>
+  <div>
+    <div class='fixed-header'>
+      <Userbar />
+    </div>
   <div class="app-container">
     <el-row :gutter="20">
       <el-col :span="6" :xs="24">
@@ -63,6 +67,8 @@
       </el-col>
     </el-row>
   </div>
+  </div>
+  
 </template>
 
 <script>
@@ -71,10 +77,11 @@ import userInfo from "./userInfo";
 import resetPwd from "./resetPwd";
 import userSocial from "./userSocial";
 import { getUserProfile } from "@/api/system/user";
+import Userbar from '@/layout/components/Userbar'
 
 export default {
   name: "Profile",
-  components: { userAvatar, userInfo, resetPwd, userSocial },
+  components: { userAvatar, userInfo, resetPwd, userSocial,Userbar },
   data() {
     return {
       user: {},
@@ -98,3 +105,13 @@ export default {
   }
 };
 </script>
+<style lang="scss" scoped>
+.fixed-header {
+  position: fixed;
+  top: 0;
+  right: 0;
+  z-index: 9;
+  width: 100%;
+  transition: width 0.28s;
+}
+</style>