lianbingjie 3 лет назад
Родитель
Сommit
74f4f8da62

+ 1 - 0
src/App.vue

@@ -24,6 +24,7 @@ export default {
 <style lang="scss">
 @import "~@/assets/style/common.scss";
 @import "~@/assets/style/reset-ele.scss";
+@import "~@/assets/style/reset-qiankun.scss";
 .v-w1200 {
   width: 1200px;
   margin: 0 auto;

+ 34 - 14
src/api/modules/coupon.js

@@ -4,13 +4,23 @@ import qs from 'qs'
 // 1. 查询当前价格产品可以使用的优惠券
 // 2. 自动领券功能JYR: 1
 export function getCouponList (data) {
-  data = qs.stringify(data)
-  return request({
-    baseURL: '/jyCoupon',
-    url: '/showCoupons',
-    method: 'POST',
-    data
-  })
+  if (data && data.token) {
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/jyCoupon',
+      url: '/offlineCoupons',
+      method: 'POST',
+      data
+    })
+  } else {
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/jyCoupon',
+      url: '/showCoupons',
+      method: 'POST',
+      data
+    })
+  }
 }
 
 // 优惠券最优选择接口
@@ -26,11 +36,21 @@ export function optimalCoupon (data) {
 
 // 产品下的赠品
 export function getGiftList (data) {
-  data = qs.stringify(data)
-  return request({
-    baseURL: '/jyCoupon',
-    url: '/giveInfo',
-    method: 'POST',
-    data
-  })
+  if (data && data.token) {
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/jyCoupon',
+      url: '/offlineGiveInfo',
+      method: 'POST',
+      data
+    })
+  } else {
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/jyCoupon',
+      url: '/giveInfo',
+      method: 'POST',
+      data
+    })
+  }
 }

+ 66 - 26
src/api/modules/svip.js

@@ -2,32 +2,64 @@ import request from '@/api'
 import qs from 'qs'
 
 // 获取用户超级订阅购买信息
-export function getSVIPBuyInfo () {
-  return request({
-    baseURL: '/subscribepay',
-    url: '/vipsubscribe/getSubBuyMsg',
-    method: 'POST'
-  })
+export function getSVIPBuyInfo (data) {
+  // 免登录获取信息
+  if (data && data.token) {
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/jypay',
+      url: '/free/seller/svip/getSubBuyMsg',
+      method: 'POST',
+      data
+    })
+  } else {
+    return request({
+      baseURL: '/subscribepay',
+      url: '/vipsubscribe/getSubBuyMsg',
+      method: 'POST'
+    })
+  }
 }
 
 // 获取超级订阅价格表
-export function getGoodsPrice () {
-  return request({
-    baseURL: '/subscribepay',
-    url: '/vipsubscribe/getPrice',
-    method: 'POST'
-  })
+export function getGoodsPrice (data) {
+  if (data && data.token) {
+    // 免登录状态查询
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/jypay',
+      url: '/free/seller/svip/getPrice',
+      method: 'POST',
+      data
+    })
+  } else {
+    return request({
+      baseURL: '/subscribepay',
+      url: '/vipsubscribe/getPrice',
+      method: 'POST'
+    })
+  }
 }
 
 // 获取超级订阅价格
 export function getSelectPrice (data) {
-  data = qs.stringify(data)
-  return request({
-    baseURL: '/subscribepay',
-    url: '/vipsubscribe/getSelectPrice',
-    method: 'POST',
-    data
-  })
+  if (data && data.token) {
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/jypay',
+      url: '/free/seller/svip/getSelectPrice',
+      method: 'POST',
+      data
+    })
+  } else {
+    data = qs.stringify(data)
+    return request({
+      baseURL: '/subscribepay',
+      url: '/vipsubscribe/getSelectPrice',
+      method: 'POST',
+      data
+    })
+  }
 }
 
 // 超级订阅购买
@@ -54,11 +86,19 @@ export function svipUpgrade (data) {
 
 // 统一下单接口
 export function createCommonOrder (data) {
-  // data = qs.stringify(data)
-  return request({
-    baseURL: '/jypay',
-    url: '/common/createorder',
-    method: 'POST',
-    data
-  })
+  if (data && data.token) {
+    return request({
+      baseURL: '/jypay',
+      url: '/free/seller/createOrder',
+      method: 'POST',
+      data
+    })
+  } else {
+    return request({
+      baseURL: '/jypay',
+      url: '/common/createorder',
+      method: 'POST',
+      data
+    })
+  }
 }

+ 8 - 0
src/assets/style/reset-qiankun.scss

@@ -0,0 +1,8 @@
+@import './_mixin';
+@import './_variables';
+
+.qmx_page_admin-micro-app {
+  .v-w1200 {
+    width: 100%;
+  }
+}

+ 1 - 0
src/components/common/ContentLayout.vue

@@ -115,6 +115,7 @@ export default {
     }
   }
   .content-main {
+    width: 100%;
     flex: 1;
     transition: .1s;
   }

+ 11 - 0
src/components/coupon/BuySubmit.vue

@@ -42,6 +42,7 @@
     </div>
     <BuySubmitSticky
       v-model="agreement"
+      v-if="stickyShow"
       :linkUnderline="linkUnderline"
       :confirmButtonDisabled="confirmButtonDisabled"
       :productionTotal="calcTotal"
@@ -113,11 +114,21 @@ export default {
           url: '/front/staticPage/serviceterms.html'
         }
       ],
+      stickyShow: false,
       agreement: false
     }
   },
+  created () {
+    this.checkStickyShow()
+  },
   methods: {
     formatPrice,
+    checkStickyShow () {
+      const inApp = window.__POWERED_BY_QIANKUN__ || window.__QIANKUN_ROUTER_BASE
+      if (!inApp) {
+        this.stickyShow = true
+      }
+    },
     buySubmit () {
       this.$emit('submit')
     }

+ 3 - 0
src/components/coupon/CheckPhone.vue

@@ -34,6 +34,9 @@ export default {
       error: ''
     }
   },
+  mounted () {
+    this.regPhone()
+  },
   methods: {
     onInput (val) {
       this.$emit('input', val)

+ 13 - 2
src/components/coupon/CouponCardList.vue

@@ -26,9 +26,9 @@
       </div>
       <div class="spec-footer">
         <span class="spec-time">
-          <span class="spec-start">{{ dateFormatter(coupon.lotteryBeginDate.replace(/-/g, '/'), 'yyyy.MM.dd') }}</span>
+          <span class="spec-start">{{ dateFormatter(coupon.lotteryBeginDate, 'yyyy.MM.dd') }}</span>
           <span class="spec-split">-</span>
-          <span class="spec-end">{{ dateFormatter(coupon.lotteryEndDate.replace(/-/g, '/'), 'yyyy.MM.dd') }}</span>
+          <span class="spec-end">{{ dateFormatter(coupon.lotteryEndDate, 'yyyy.MM.dd') }}</span>
         </span>
         <span class="spec-right spec-available" v-if="!coupon.available">暂不可用</span>
         <span class="spec-right spec-expire" v-else-if="coupon.expireTime">{{ coupon.expireTime }}</span>
@@ -64,6 +64,7 @@ export default {
     return {
       active: '',
       loading: false,
+      token: '', // 用户无身份查询接口
       couponList: []
     }
   },
@@ -77,13 +78,23 @@ export default {
       this.getCouponList()
     }
   },
+  created () {
+    this.getToken()
+  },
   methods: {
     dateFormatter,
+    getToken () {
+      const { token } = this.$route.query
+      if (token) {
+        this.token = token
+      }
+    },
     // 获取优惠券
     async getCouponList () {
       var info = {
         pId: this.productionId,
         price: this.price,
+        token: this.token,
         JYR: 1
       }
       if (!info.pId || !info.price) {

+ 13 - 0
src/components/coupon/CouponGiftList.vue

@@ -30,6 +30,7 @@ export default {
   data () {
     return {
       active: '',
+      token: '', // 用户无身份查询接口
       giftList: []
     }
   },
@@ -43,7 +44,16 @@ export default {
       return this.getActiveItem()
     }
   },
+  created () {
+    this.getToken()
+  },
   methods: {
+    getToken () {
+      const { token } = this.$route.query
+      if (token) {
+        this.token = token
+      }
+    },
     clickSpec (spec) {
       this.active = spec[this.activeType]
       this.$emit('change', spec)
@@ -54,6 +64,7 @@ export default {
     async getGiftList () {
       var info = {
         useProduct: this.productionId,
+        token: this.token,
         useProductType: 0
       }
       if (!info.useProduct) {
@@ -68,6 +79,8 @@ export default {
             giftInfo
           }
         })
+      } else {
+        this.giftList = []
       }
       this.giftListLoaded(this.giftList.length)
     },

+ 4 - 0
src/router/router.js

@@ -10,7 +10,11 @@ if (process.env.NODE_ENV !== 'production') {
 
 const router = new VueRouter({
   mode: 'history',
+<<<<<<< HEAD
   base: window.__POWERED_BY_QIANKUN__ ? window.__QIANKUN_ROUTER_BASE : process.env.VUE_APP_BASE_URL,
+=======
+  base: window.__POWERED_BY_QIANKUN__ ? (window.__QIANKUN_ROUTER_BASE || window.__RouterBase) : process.env.VUE_APP_BASE_URL,
+>>>>>>> master
   routes: [
     ...routers,
     ...workspace,

+ 3 - 0
src/utils/globalDirectives.js

@@ -29,6 +29,8 @@ Vue.directive('auto-focus', {
 // 传入距离顶部高度x,当滚动高度大于x则添加fix定位
 Vue.directive('stickyed', {
   inserted (el, binding) {
+    const inApp = window.__POWERED_BY_QIANKUN__
+    if (inApp) return
     const $el = $(el)
     const conf = {
       className: ['fixed-nav'], // 置顶后添加的默认类名
@@ -54,6 +56,7 @@ Vue.directive('stickyed', {
       }
       el.windowScrollStickyEventCallback && el.windowScrollStickyEventCallback(el, conf)
     }
+
     window.addEventListener('scroll', el.handleWindowScrollStickyEvent, false)
   },
   unbind (el) {

+ 2 - 1
src/utils/globalFunctions.js

@@ -152,7 +152,8 @@ export function formatPrice (s, n = -1, comma = false) {
 export function dateFormatter (date, fmt = 'yyyy-MM-dd HH:mm:ss') {
   // 将传入的date转为时间对象
   if (!date) return ''
-  date = moment(date).toDate()
+  date = moment(date).valueOf()
+  date = new Date(date)
   const o = {
     'y+': date.getFullYear(),
     'M+': date.getMonth() + 1, // 月份

+ 170 - 42
src/views/vipsubscribe/Buy.vue

@@ -6,6 +6,7 @@
         <AreaSelector
           ref="areaSelector"
           class="vip-sub-list-item"
+          v-show="moduleShow.areaSelector"
           :class="{ 'pd-b0': upgradeTipShow }"
           :showSearchInput="false"
           :onlyProvince="true"
@@ -16,6 +17,7 @@
         </AreaSelector>
         <SelectorCard
           class="vip-sub-tip"
+          v-if="moduleShow.areaSelector"
           :cardType="conf.selectorType">
           <div slot="header" class="vip-sub-item-title"></div>
           <div class="tip-content font-red" v-show="upgradeTipShow">
@@ -92,13 +94,13 @@ import CheckPhone from '@/components/coupon/CheckPhone.vue'
 import BuySubmit from '@/components/coupon/BuySubmit.vue'
 import Contrast from '@/views/vipsubscribe/components/Contrast.vue'
 import { Dialog } from 'element-ui'
+import qs from 'qs'
 
 import {
   getGoodsPrice,
   getSelectPrice,
   getSVIPBuyInfo,
   getUserAccountInfo,
-  getUserPower,
   createCommonOrder
 } from '@/api/modules/'
 
@@ -119,20 +121,18 @@ export default {
   data () {
     return {
       preTitle: '',
-      buyType: 'buy', // buy/upgrade
+      buyType: 'buy', // buy/upgrade/renew
       conf: {
         selectorType: 'line',
         maxAreaCount: 15
       },
       moduleShow: {
+        areaSelector: false,
         specList: true,
         coupon: false,
         gift: false
       },
       phoneRegPass: false,
-      powerInfo: {
-        viper: true
-      },
       userInfo: {
         phone: ''
       },
@@ -181,6 +181,7 @@ export default {
           tipText: ''
         }
       ],
+      token: '', // 用于管理后台创建订单
       computedPrice: {
         total: 0,
         discount: 0,
@@ -190,10 +191,11 @@ export default {
   },
   computed: {
     oldVip () { // 是否是老版本超级订阅
-      return !this.powerInfo.viper
+      const { upgrade } = this.buyInfo.buyset
+      return upgrade !== 1
     },
     upgradeTipShow () {
-      if (this.buyType === 'buy') {
+      if (this.buyType === 'buy' || this.buyType === 'renew') {
         return false
       } else {
         return !this.canUpgrade
@@ -203,7 +205,7 @@ export default {
       const buyset = this.buyInfo.buyset
       const selectCount = this.selectedCount
       console.log(buyset, selectCount, this.oldVip)
-      if (this.buyType === 'buy') {
+      if (this.buyType === 'buy' || this.buyType === 'renew') {
         return false
       } else {
         if (buyset.areacount === -1) {
@@ -233,6 +235,7 @@ export default {
     buyTypeText () {
       const map = {
         buy: '开通',
+        renew: '续费',
         upgrade: '升级'
       }
       return map[this.buyType]
@@ -242,16 +245,28 @@ export default {
     },
     selectedCountInfo () {
       const area = this.selectInfo.area
+      if (!area) {
+        return {
+          num: 0,
+          text: '',
+          detail: ''
+        }
+      }
       const count = Object.keys(area).length
       return {
+        num: count === 0 ? -1 : count,
         text: (count === 0 || count > this.conf.maxAreaCount) ? '全国' : `${count}个省`,
         detail: (count === 0 || count > this.conf.maxAreaCount) ? '全国' : Object.keys(area).join('、')
       }
     },
+    // 续费状态下,值为已购买的省份数量。
+    // 购买升级下,值为已选的省份数量
     selectedCount () {
-      const area = this.selectInfo.area
-      const length = Object.keys(area).length
-      return length === 0 ? -1 : length
+      if (this.buyType === 'renew') {
+        return this.buyInfo.buyset.areacount || 0
+      } else {
+        return this.selectedCountInfo.num
+      }
     },
     allPass () {
       const basicReg = this.phoneRegPass && !this.noSelect
@@ -263,29 +278,47 @@ export default {
         } else {
           return basicReg && (this.canUpgrade || this.oldVip)
         }
+      } else if (this.buyType === 'renew') {
+        return basicReg && this.computedPrice.pay > 0
       } else {
         return false
       }
     }
   },
-  created () {
+  async created () {
     this.getType()
+    await this.getUserBuyInfo()
     this.getGoodsPrice()
-    this.getUserPower() // 获取最新的power
-    this.getUserAccountInfo()
+    if (!this.token) {
+      // 有token时候可以不用请求getAccountInfo
+      this.getUserAccountInfo()
+    }
   },
   beforeRouteEnter (to, from, next) {
+    const map = {
+      buy: '开通',
+      renew: '续费',
+      upgrade: '升级'
+    }
     const title = document.title
-    let buyTypeText = '购买'
-    if (to.query && to.query.type === 'upgrade') {
-      buyTypeText = '升级'
+    const { type } = to.query || {}
+    if (type && map[type]) {
+      // 修改头部高亮
+      document.title = `${map[type]}超级订阅`
     }
-    // 修改头部高亮
-    document.title = `${buyTypeText}超级订阅`
     next(vm => {
       vm.preTitle = title
     })
   },
+  beforeRouteUpdate (to, from, next) {
+    this.$nextTick(async () => {
+      this.getType()
+      await this.getUserBuyInfo()
+      this.getGoodsPrice()
+      this.getUserAccountInfo()
+    })
+    next()
+  },
   beforeRouteLeave (to, from, next) {
     document.title = this.preTitle
     next()
@@ -298,16 +331,26 @@ export default {
   },
   methods: {
     getType () {
-      var type = this.$route.query.type
-      var types = ['buy', 'upgrade']
+      var { type, token, phone } = this.$route.query
+      var types = ['buy', 'upgrade', 'renew']
       if (types.includes(type)) {
         this.buyType = type || types[0]
       } else {
         this.buyType = types[0]
       }
+      if (token) {
+        this.token = token
+      }
+      if (phone) {
+        this.userInfo.phone = phone
+      }
       if (this.buyType === 'upgrade') {
+        this.moduleShow.areaSelector = true
         this.moduleShow.specList = false
-        this.getUserBuyInfo()
+      } else if (this.buyType === 'renew') {
+        this.moduleShow.areaSelector = false
+      } else {
+        this.moduleShow.areaSelector = true
       }
     },
     getInitSpec () {
@@ -333,18 +376,23 @@ export default {
     init () {
       if (this.buyType === 'upgrade') {
         // this.specChange(this.specList[2])
+        this.getInitSpec()
         this.specChange({})
+      } else if (this.buyType === 'renew') {
+        this.getInitSpec()
+        this.calcSpecPrice(this.selectedCount)
+        this.specIdActive = this.specList[0].id
       } else {
-        // 设置盛世选择器所有不选中
+        // 设置城市选择器所有不选中
         this.$refs.areaSelector.content.setAllNoSelected()
         // specIdActive改变会触发specChange
+        // 默认选中1年
         this.specIdActive = this.specList[2].id
+        this.calcSpecPrice(this.selectedCount || 1)
       }
-      this.calcSpecPrice(1)
-      this.getInitSpec()
     },
     async getGoodsPrice () {
-      const priceInfo = await getGoodsPrice()
+      const priceInfo = await getGoodsPrice({ token: this.token })
       const newPriceInfo = priceInfo.new
       for (const key in newPriceInfo) {
         this.$set(this.priceRules, key, newPriceInfo[key])
@@ -357,21 +405,86 @@ export default {
         Object.assign(this.userInfo, data)
       }
     },
-    async getUserPower () {
-      const { data, error_code: code } = await getUserPower()
-      if (code === 0) {
-        Object.assign(this.powerInfo, data)
-      }
-    },
     async getUserBuyInfo () {
-      const { data, success } = await getSVIPBuyInfo()
-      if (success && data) {
-        Object.assign(this.buyInfo, data)
+      const { data: buyInfo, success } = await getSVIPBuyInfo({ token: this.token })
+      if (success && buyInfo) {
+        Object.assign(this.buyInfo, buyInfo)
         this.selectInfo.area = this.buyInfo.area
         this.$refs.areaSelector.setCitySelected(this.buyInfo.area)
-        this.updatePrice()
+        // 页面重定向
+        this.redirectType(buyInfo)
+        const { buyset } = this.buyInfo
+        // 购买了全国的新超级订阅用户,升级不能再选择省份了
+        if (this.buyType === 'upgrade' && buyset && buyset.areacount === -1 && !this.oldVip) {
+          this.moduleShow.selectArea = false
+        }
       }
     },
+    showOldVipTip () {
+      // return this.$dialog({
+      //   title: '提示',
+      //   message: '超级订阅产品全面升级,为享受更多权益,请您先升级到最新版本后再进行续费。',
+      //   className: 'j-confirm-dialog',
+      //   messageAlign: 'left',
+      //   showCancelButton: false,
+      //   confirmButtonText: '我知道了'
+      // })
+      return this.$toast('超级订阅产品全面升级,为享受更多权益,请您先升级到最新版本后再进行续费。')
+    },
+    // 页面重定向
+    async redirectType (info) {
+      const { buyset, isvip, startTime: start, endTime: end } = info
+      const { path } = this.$route
+      const { redirected } = this.$route.query
+      if (redirected) return
+
+      const redirect = {
+        enable: false,
+        type: 'buy'
+      }
+
+      if (start && end && isvip) {
+        const nowStamp = Date.now()
+        const endStamp = end * 1000
+        if (endStamp > nowStamp) {
+          // 开通了,未过期
+          if (this.buyType === 'buy') {
+            redirect.enable = true
+            redirect.type = 'renew'
+          }
+          // buyset.upgrade=0为老超级订阅用户,只能升级,不能续费
+          if (buyset && buyset.upgrade !== 1 && this.buyType !== 'upgrade') {
+            redirect.enable = true
+            redirect.type = 'upgrade'
+            await this.showOldVipTip()
+          }
+        } else {
+          // 开通了,过期了
+          if (this.buyType !== 'buy') {
+            redirect.enable = true
+          }
+        }
+      } else {
+        // 未开通
+        if (this.buyType !== 'buy') {
+          redirect.enable = true
+        }
+      }
+
+      if (redirect.enable) {
+        const routerQuery = this.$route.query
+        if (routerQuery.tip) {
+          delete routerQuery.tip
+        }
+        const query = {
+          ...routerQuery,
+          type: redirect.type, // 覆盖routerQuery中的type
+          redirect: 1
+        }
+        const url = `${path}?${qs.stringify(query)}`
+        this.$router.replace(url)
+      } else {}
+    },
     onAreaChange (area) {
       this.selectInfo.area = area
       this.resetCouponList()
@@ -466,7 +579,10 @@ export default {
     },
     async updatePrice () {
       const params = this.getSubmitParam()
-      const { data, success } = await getSelectPrice(params)
+      if (this.token) {
+        params.token = this.token
+      }
+      const { errMsg, data, success } = await getSelectPrice(params)
       if (success) {
         this.computedPrice.total = data.original_price
         this.computedPrice.pay = data.order_price
@@ -475,6 +591,9 @@ export default {
         this.computedPrice.total = 0
         this.computedPrice.pay = 0
         this.computedPrice.discount = 0
+        if (errMsg && errMsg.includes('订阅周期')) {
+          this.$toast(errMsg)
+        }
       }
     },
     getSubmitParam () {
@@ -508,6 +627,12 @@ export default {
           area: JSON.stringify(selectArea),
           orderType: 3
         }
+      } else if (this.buyType === 'renew') {
+        return {
+          ...param,
+          time: this.specActiveItem.value,
+          orderType: 2
+        }
       } else {
         return {}
       }
@@ -530,6 +655,7 @@ export default {
       const t = {
         product: 'VIP订阅',
         productId: this.buyType === 'upgrade' ? 1015 : params.useProduct,
+        token: this.token,
         data: {
           type: type,
           order_phone: this.userInfo.phone,
@@ -538,16 +664,18 @@ export default {
       }
       Object.assign(t.data, params)
       return createCommonOrder(t)
-      // if (this.buyType === 'buy') {
-      //   return createSVIPOrder(params)
-      // } else if (this.buyType === 'upgrade') {
-      //   return svipUpgrade(params)
-      // }
     },
     async submit () {
       // eslint-disable-next-line
       const { data, error_msg } = await this.submitXHR()
       if (data) {
+        if (this.token) {
+          this.$toast('帮助用户下单成功')
+          setTimeout(() => {
+            history.back()
+          }, 1500)
+          return
+        }
         const orderCode = data.order_code
         if (data.needPay) {
           window.open(`/front/subvip/orderPay/${orderCode}`)

+ 11 - 9
src/views/vipsubscribe/components/Contrast.vue

@@ -295,6 +295,8 @@ export default {
     .contrast-main-center {
       display: flex;
       justify-content: center;
+      padding: 0 32px;
+      width: 100%;
       .gray {
         background: #F5F5FB;
       }
@@ -305,14 +307,14 @@ export default {
       /* 功能/价格 */
       /* li+li表示选中除第一个li其他所有的li */
       .center-left {
-        width: 468px;
+        flex: 4;
         & > ul {
-          width: 468px;
+          width: 100%;
           margin: 0;
           li + li {
             color: rgba(29, 29, 29, 1);
             padding-left: 24px;
-            width: 468px;
+            width: 100%;
             opacity: 1;
             border-left: 1px solid #ececec;
             border-bottom: 1px solid $border-color;
@@ -359,15 +361,15 @@ export default {
 
       // 免费版
       .center-center {
-        width: 336px;
+        flex: 3;
         transition: all 0.5s;
         & > ul {
-          width: 336px;
+          width: 100%;
           transition: all 0.5s;
           margin: 0;
           li + li {
             transition: all 0.5s;
-            width: 336px;
+            width: 100%;
             text-align: center;
             font-size: 14px;
             font-family: Microsoft YaHei;
@@ -449,17 +451,17 @@ export default {
 
       /* VIP订阅专属服务 */
       .center-right {
-        width: 336px;
+        flex: 3;
         transition: all 0.5s;
         border-right: 1px solid $border-color;
 
         & > ul {
-          width: 336px;
+          width: 100%;
           margin: 0;
           transition: all 0.5s;
 
           li + li {
-            width: 336px;
+            width: 100%;
             text-align: center;
             transition: all 0.5s;
             font-size: 14px;

+ 0 - 1
yarn.lock

@@ -926,7 +926,6 @@
   version "0.0.1"
   resolved "http://192.168.3.207:4873/@jianyu%2feasy-fix-sub-app/-/easy-fix-sub-app-0.0.1.tgz#e67307eff24e1a8243b0ddde7069143573bab532"
   integrity sha512-fLLdXxWjocygUEtV0wIMY1Sj1RdTVN5SmsipEcIeB0B/k1lM0jqBjN7d9BRL0KF7C4G+Q+KaXvYT8A1ZTDu5SQ==
-
 "@jianyu/easy-inject-qiankun@^0.1.7":
   version "0.1.7"
   resolved "http://192.168.3.207:4873/@jianyu%2feasy-inject-qiankun/-/easy-inject-qiankun-0.1.7.tgz#f01910cd84cd386c73b841cbb7a6a578353ea3ed"