Selaa lähdekoodia

feat: 权限切换

zh 2 vuotta sitten
vanhempi
commit
d85ccf93cb
3 muutettua tiedostoa jossa 37 lisäystä ja 6 poistoa
  1. 11 0
      src/api/setting.js
  2. 24 5
      src/layout/components/Navbar.vue
  3. 2 1
      src/store/getters.js

+ 11 - 0
src/api/setting.js

@@ -492,3 +492,14 @@ export function getRoleChecked(params) {
     params
   })
 }
+
+ // 切换账号权限
+export function setUserChanging(params) {
+  return request({
+    url: '/admin/user/changing',
+    method: 'post',
+    params
+  })
+}
+
+

+ 24 - 5
src/layout/components/Navbar.vue

@@ -16,6 +16,11 @@
           ></i>
         </el-tooltip>
       </div> -->
+      <div class="right-menu-item hover-effect" style="display: flex" v-if="isHongGe">
+        <el-select v-model="changeNum" filterable :disabled="!isHongGe" @change="handleChangeArea">
+          <el-option v-for="item in areaOpti" :key="item.value" :label="item.label" :value="item.value"> </el-option>
+        </el-select>
+      </div>
       <div class="right-menu-item hover-effect" style="display: flex" @click="handleShow">
         <el-badge>
           <i class="el-icon-message-solid" style="font-size: 24px; line-height: 50px" />
@@ -304,7 +309,7 @@ import { getNoticeList } from '@/api/stock'
 import { getListOrderTrack } from '@/api/supply/pickup'
 import { getListInvoiceOrder } from '@/api/dashboard'
 
-import { bindEngineAccount, checkEngineAccount } from '@/api/setting'
+import { bindEngineAccount, checkEngineAccount, setUserChanging } from '@/api/setting'
 import mixin from '@/mixin'
 import { type } from 'os'
 
@@ -352,7 +357,13 @@ export default {
       currentPage2: 1, // 当前页码
       pageSize2: 10, // 每页数量
       listTotal2: 0, // 列表总数
-      myType: ''
+      myType: '',
+      changeNum: 1,
+      areaOpti: [
+        { label: '弘格', value: 1 },
+        { label: '广州', value: 2 },
+        { label: '佛山', value: 3 }
+      ]
     }
   },
   mounted() {
@@ -400,7 +411,7 @@ export default {
         return e
       }
     },
-    ...mapGetters(['sidebar', 'avatar', 'device', 'name', 'isNotice', 'isCustomer'])
+    ...mapGetters(['sidebar', 'avatar', 'device', 'name', 'isNotice', 'isCustomer', 'isHongGe'])
   },
   methods: {
     getList() {
@@ -418,7 +429,7 @@ export default {
         this.listLoading = false
       })
     },
-    getNoticeLists(){
+    getNoticeLists() {
       this.listLoading = true
       getNoticeList({
         pageNum: 1,
@@ -717,6 +728,11 @@ export default {
     handleJump(id) {
       this.$router.push({ path: `/exwarehouse/sum_list?id=${id}` })
       this.isLogistics = false
+    },
+    handleChangeArea(changeNum) {
+      setUserChanging({ changeNum }).then(res => {
+        this.$successMsg('切换成功')
+      })
     }
   }
 }
@@ -724,7 +740,10 @@ export default {
 
 <style lang="scss" scoped>
 @import '~@/styles/variables.scss';
-
+::v-deep .el-input__inner {
+  width: 80px;
+  border: 0 !important;
+}
 ::v-deep .is-fixed {
   right: 10px !important;
 }

+ 2 - 1
src/store/getters.js

@@ -16,6 +16,7 @@ const getters = {
   showMessages: state => state.user.showMessages,
   code: state => state.sales.code,
   isCustomer: state => state.user.customerId && state.user.customerName && state.user.customerNumber,
-  userInfo :state =>state.user.userInfo
+  userInfo :state =>state.user.userInfo,
+  isHongGe:state => state.user.userInfo.isHongGe
 }
 export default getters