Quellcode durchsuchen

feature_20260427_经销商用户多身份切换

zhujindu vor 1 Woche
Ursprung
Commit
8113ddd942
3 geänderte Dateien mit 27 neuen und 10 gelöschten Zeilen
  1. 2 2
      src/api/week.js
  2. 18 7
      src/views/week/changeChain.vue
  3. 7 1
      src/views/week/index.vue

+ 2 - 2
src/api/week.js

@@ -27,9 +27,9 @@ export function writeAgainCustomAnswer(data) {
 }
 
 // 切换经销商身份接口
-export function switchchainIdentity(query) {
+export function switchChainIdentity(query) {
   return request({
-    url: '/mobile/switchchainIdentity',
+    url: '/mobile/switchChainIdentity',
     method: 'get',
     params: query,
   });

+ 18 - 7
src/views/week/changeChain.vue

@@ -3,10 +3,15 @@
     <van-nav-bar class="navBar" title="切换经销商" left-arrow @click-left="onClickLeft" />
     <div class="content">
       <div class="module">
-        <div class="box" v-if="userInfo.chainList && userInfo.chainList.length > 0">
+        <div
+          class="box"
+          v-if="userInfo.userMultipleChains && userInfo.userMultipleChains.length > 0">
           <van-radio-group v-model="userInfo.chainCode" @change="chainChange">
-            <van-radio v-for="value in userInfo.chainList" :key="value.id" :name="value.id">
-              {{ value.name }}
+            <van-radio
+              v-for="value in userInfo.userMultipleChains"
+              :key="value.chainCode"
+              :name="value.chainCode">
+              {{ value.chainName }}
             </van-radio>
           </van-radio-group>
         </div>
@@ -16,7 +21,7 @@
 </template>
 <script>
 import { mapState } from 'vuex';
-import { switchchainIdentity } from '@/api/week';
+import { switchChainIdentity } from '@/api/week';
 import store from '@/store';
 export default {
   name: 'changeChain',
@@ -31,12 +36,15 @@ export default {
   created() {},
   methods: {
     chainChange(value) {
-      console.log(value);
-      switchchainIdentity({ chainCode: value }).then((res) => {
+      this.toastLoading(0, '切换中,请稍候...', true);
+      switchChainIdentity({ chainCode: value }).then((res) => {
+        this.toastLoading().clear();
         if (res.code === 200) {
-          store.dispatch('user/getUserInfo').then(() => {
+          store.dispatch('getUserInfo').then(() => {
             this.$toast('切换成功');
           });
+        } else {
+          this.$toast(res.message || '切换失败');
         }
       });
     },
@@ -65,6 +73,9 @@ export default {
         justify-content: space-between;
         padding: 10px;
         font-size: 16px;
+        .van-radio {
+          padding: 8px 0;
+        }
       }
     }
   }

+ 7 - 1
src/views/week/index.vue

@@ -68,7 +68,7 @@
               <van-icon name="setting-o" class="zicon" color="#0158ba" />
             </template>
           </van-cell>
-          <van-cell title="切换经销商" is-link to="/changeChain">
+          <van-cell title="切换经销商" is-link to="/changeChain" v-if="userInfo.userMultipleChains">
             <template #icon>
               <van-icon name="exchange" class="zicon" color="#0158ba" />
             </template>
@@ -272,9 +272,15 @@ import storeselect from '@/assets/Icon/storeselect.png';
 import tabBar from '@/components/tabBar';
 import { getReportInfo, getstoreCoverPosition } from '@/api/index';
 import { selectAllocationPermission } from '@/api/week';
+import { mapState } from 'vuex';
 export default {
   name: 'MyList',
   components: { tabBar },
+  computed: {
+    ...mapState({
+      userInfo: (state) => state.user.userInfo,
+    }),
+  },
   data() {
     return {
       history: history,