From 3011b9800d6c5bee031d87bc4e225b5b1fb52571 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期六, 23 十一月 2024 09:19:21 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1

---
 company/src/components/common/CommonHeader.vue |  101 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 85 insertions(+), 16 deletions(-)

diff --git a/company/src/components/common/CommonHeader.vue b/company/src/components/common/CommonHeader.vue
index a5705fc..606771e 100644
--- a/company/src/components/common/CommonHeader.vue
+++ b/company/src/components/common/CommonHeader.vue
@@ -6,16 +6,40 @@
         <!-- <div class="title-en">Diagnosis of Intelligent Manufacturing Integrated Service Platfrom</div> -->
       </div>
       <div class="user">
-        <el-dropdown v-if="isLogined" trigger="click">
+        <!--    浼佷笟    -->
+        <div style="display: flex; align-items: center;" v-if="userInfo.type === 1">
+          <div class="user_kf" v-if="info">
+            鏈嶅姟浜哄憳锛歿{info.name}} {{info.mobile}}
+          </div>
+          <el-dropdown v-if="isLogined" trigger="click">
           <span class="el-dropdown-link">
-            <!-- <img v-if="userInfo != null" :src="userInfo.avatar == null ? `${require('@/assets/avatar/man.png')}` : userInfo.avatar" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i> -->
-            <img v-if="userInfo != null" style="width: 30px !important;" src="@/assets/avatar/man.png" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i>
+            <img v-if="userInfo != null" class="img1" style="width: 20px !important;" src="@/assets/icons/ic_company@2x.png" alt="">{{userInfo.showCompany.name}}<i class="el-icon-arrow-down el-icon--right"></i>
           </span>
-          <el-dropdown-menu slot="dropdown">
-            <el-dropdown-item @click.native="changePwd">淇敼瀵嗙爜</el-dropdown-item>
-            <el-dropdown-item @click.native="logout">閫�鍑虹櫥褰�</el-dropdown-item>
-          </el-dropdown-menu>
-        </el-dropdown>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item @click.native="changeCompany(item)" v-for="(item, index) in userInfo.companyPermissionList" :key="index">{{item.companyName}}</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+          <el-dropdown v-if="isLogined" trigger="click" style="top: -7px;">
+          <span class="el-dropdown-link">
+            <img v-if="userInfo != null" class="img2" style="width: 30px !important;" src="@/assets/avatar/man.png" alt="">{{userInfo.realname}}<i class="el-icon-arrow-down el-icon--right"></i>
+          </span>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item @click.native="changePwd">淇敼瀵嗙爜</el-dropdown-item>
+              <el-dropdown-item @click.native="logout">閫�鍑虹櫥褰�</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </div>
+        <div v-else>
+          <el-dropdown v-if="isLogined" trigger="click" style="top: -7px;">
+          <span class="el-dropdown-link">
+            <img v-if="userInfo != null" class="img2" style="width: 30px !important;" src="@/assets/avatar/man.png" alt="">{{userInfo | displayName}}<i class="el-icon-arrow-down el-icon--right"></i>
+          </span>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item @click.native="changePwd">淇敼瀵嗙爜</el-dropdown-item>
+              <el-dropdown-item @click.native="logout">閫�鍑虹櫥褰�</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </div>
       </div>
     </div>
     <!-- 淇敼瀵嗙爜 -->
@@ -43,7 +67,8 @@
 <script>
 import { mapState, mapMutations } from 'vuex'
 import GlobalAlertWindow from './GlobalAlertWindow'
-import { logout, updatePwd } from '@/api/system/common'
+import { logout, updatePwd, switchCompany } from '@/api/system/common'
+import { findByCompanyId } from '@/api/business/customerService'
 export default {
   name: 'CommonHeader',
   components: { GlobalAlertWindow },
@@ -65,6 +90,7 @@
         changePwd: false
       },
       username: 'bob', // 鐢ㄦ埛鍚�
+      info: null,
       // 淇敼瀵嗙爜寮规
       changePwdData: {
         form: {
@@ -88,6 +114,9 @@
   },
   created () {
     document.title=this.systemTitle
+    if (this.userInfo.companyId) {
+      this.setFindByCompanyId(this.userInfo.companyId)
+    }
   },
   computed: {
     ...mapState(['menuData', 'userInfo']),
@@ -114,6 +143,24 @@
   },
   methods: {
     ...mapMutations(['setUserInfo', 'switchCollapseMenu']),
+    // 鍒囨崲浼佷笟
+    changeCompany(row) {
+      if (row.companyId === this.userInfo.companyId) {
+        this.$message.warning('涓嶈兘鍒囨崲褰撳墠浼佷笟')
+        return
+      }
+      switchCompany({ companyId: row.companyId })
+        .then(res => {
+          location.reload();
+        })
+    },
+    setFindByCompanyId(companyId) {
+      if (this.userInfo.type !== 1) return
+      findByCompanyId(companyId)
+        .then(res => {
+          this.info = res
+        })
+    },
     // 淇敼瀵嗙爜
     changePwd () {
       this.visible.changePwd = true
@@ -167,7 +214,11 @@
   }
 }
 </script>
-
+<style>
+  .el-dropdown-menu {
+    width: 240px !important;
+  }
+</style>
 <style scoped lang="scss">
 @import "@/assets/style/variables.scss";
 .common-header {
@@ -205,13 +256,31 @@
     padding-right: 25px;
     background: url('../../assets/images/top_ic_bolang@2x.png') no-repeat;
     flex-shrink: 0;
-    text-align: right;
-    .el-dropdown {
-      top: 10px;
-      color: #fff;
+    /*text-align: right;*/
+    display: flex;
+    align-items: center;
+    justify-content: end;
+    .user_kf {
+      color: #ffffff;
+      font-size: 14px;
+      margin-right: 30px;
     }
-    img {
-      width: 32px;
+    .el-dropdown {
+      top: -2px;
+      color: #fff;
+      margin-right: 30px;
+      &:last-child {
+        margin: 0 !important;
+      }
+    }
+    .img1 {
+      width: 20px;
+      position: relative;
+      top: 5px;
+      margin-right: 10px;
+    }
+    .img2 {
+      width: 20px;
       position: relative;
       top: 10px;
       margin-right: 10px;

--
Gitblit v1.9.3