Browse Source

修改用户中心vuex报错问题

shenjj 7 years ago
parent
commit
658954d981
1 changed files with 23 additions and 14 deletions
  1. 23 14
      pages/mobile/user/index.vue

+ 23 - 14
pages/mobile/user/index.vue

@@ -8,7 +8,8 @@
         <ul class="en-list" v-show="showEnterpriseToggle">
           <li class="menu-item"
               v-for="en in sortEnterprises"
-              v-if="en.uu != enterpriseInfo.uu">
+              v-if="en.uu != enterpriseInfo.uu"
+              v-bind:key="en.uu">
             <a @click="switchEnterprise(en)">{{ en.enName }}</a>
           </li>
           <li class="menu-item"  v-if="enterpriseInfo.uu">
@@ -43,7 +44,7 @@
       </div>
       <seek-list :userType="userType" :seekType="seekType" :purchaseManList="purchaseManListData" :isDataChange="isDataChange"></seek-list>
     </div>
-    <div class="shop-list" v-bind:key="item" v-if="activeType == 'store'" v-for="item in focusPage.content" @click="goStoreDetail(item.storeInfo.uuid)">
+    <div class="shop-list" v-bind:key="item.id" v-if="activeType == 'store'" v-for="item in focusPage.content" @click="goStoreDetail(item.storeInfo.uuid)">
       <h3>{{item.storeName}}</h3>
       <div class="list-item">
         <div class="item-img">
@@ -298,24 +299,32 @@
         return this.$store.state.option.user
       },
       enterpriseInfo () {
-        let ens = this.userInfo.data.enterprises
-        if (ens && ens.length) {
-          for (let i = 0; i < ens.length; i++) {
-            if (ens[i].current) {
-              return ens[i]
+        if (this.userInfo.data.enterprises) {
+          let ens = this.userInfo.data.enterprises.slice()
+          if (ens && ens.length) {
+            for (let i = 0; i < ens.length; i++) {
+              if (ens[i].current) {
+                return ens[i]
+              }
             }
           }
+          return {enName: this.userInfo.data.userName + '(个人账户)'}
+        } else {
+          return ''
         }
-        return {enName: this.userInfo.data.userName + '(个人账户)'}
       },
       sortEnterprises () {
-        let ens = this.userInfo.data.enterprises
-        if (ens && ens.length) {
-          ens.sort(function (a, b) {
-            return b.lastLoginTime - a.lastLoginTime
-          })
+        if (this.user.data.enterprises) {
+          let ens = this.user.data.enterprises.slice()
+          if (ens && ens.length) {
+            ens.sort(function (a, b) {
+              return b.lastLoginTime - a.lastLoginTime
+            })
+          }
+          return ens
+        } else {
+          return ''
         }
-        return ens
       },
       isVendor () {
         return this.enterpriseInfo.isVendor === 313