xuxy
2024-07-27 4250e140336ac40e10ab4c3b650030f82098ca92
pages/home/home.vue
@@ -4,14 +4,20 @@
      <!-- 顶部,可能 -->
      <view class="school" :style="{'padding-top':(StatusBar)+'px'
      ,height:CustomBar+'rpx','line-height':CustomBar+'rpx' }">
         <picker @change="PickerChangeSchool" :value="areaIndex" :range="schools" range-key="name">
            <view class="picker flex">
               <uni-icons type="location" class="m-r-5" size="18"></uni-icons>
               <view>
                  {{ areaIndex>=0&&schools[areaIndex].name ? schools[areaIndex].name : '选择位置' }}
               </view>
         <!--   <picker @change="PickerChangeSchool" :value="areaIndex" :range="schools" range-key="name">
        <view class="picker flex">
          <uni-icons type="location" class="m-r-5" size="18"></uni-icons>
          <view>
            {{ areaIndex >= 0 && schools[areaIndex].name ? schools[areaIndex].name : '选择位置' }}
          </view>
        </view>
      </picker> -->
         <view class="picker flex" @click.stop="goToAddress">
            <uni-icons type="location" class="m-r-5" size="18"></uni-icons>
            <view>
               {{ address&&address.id?address.address: '选择地址' }}
            </view>
         </picker>
         </view>
      </view>
      <view class="search-container m-t-12 flex">
         <view class="flex1 input">
@@ -49,7 +55,7 @@
      <!-- tip -->
      <view class="m-t-12" @click="getNoticeMore">
         <uni-notice-bar class="notice-bar" color="#333" background-color="#fff" show-get-more show-icon
            :scrollable="scrollable" :text="currentNotice.title" :key="currentNotice.id" />
            :scrollable="scrollable" :text="currentNotice.title||'暂无公告'" :key="currentNotice.id" />
         <span v-if="!currentNotice||!currentNotice.id">&nbsp;</span>
      </view>
      <!-- 当前分类 -->
@@ -71,6 +77,9 @@
</template>
<script>
   import {
      mapState
   } from 'vuex'
   import homePrice from './components/home-price.vue'
   import homeBannerImgs from './components/home-banner-imgs.vue'
   import homeZones from './components/home-zones.vue'
@@ -78,6 +87,16 @@
   import homeCategory from './components/home-category.vue'
   export default {
      computed: {
         ...mapState({
            address: state => {
               return state.defaultaddress || {}
            },
            currentInfo: state => {
               return state.currentInfo || {}
            },
         }),
      },
      components: {
         homeCategory,
         homePrice,
@@ -142,9 +161,7 @@
            hide_footer: false,
            noticeList: [],
            currentNoticeIndex: 0,
            currentNotice: {
            }
            currentNotice: {}
         };
      },
      // onShareAppMessage() {
@@ -176,16 +193,14 @@
         //    if (res.code == 0) {
         //       this.schools = res.data || []
         //    }
         // })
         // })
         // uni.navigateTo({
         //    url: '/sub_pages/customer/trade/detail'
         // })
         //获取banner图
         this.$http.request('get', '/api/ua/banner/list', {
         }).then(res => {
         this.$http.request('get', '/api/pub/banner/list', {}).then(res => {
            if (res.code == 0) {
               this.banners = res.data.records || []
            }
@@ -197,17 +212,27 @@
         } else {
            this.areaIndex = areaIndex
         }
         //如果已经登录,加载一下默认地址
         let that = this
         setTimeout(()=>{
            if(that.currentInfo.id&&!that.address.id){
               that.$http.request('get', '/api/address/default/detail').then(res=>{
                  if(res.data){
                     that.$store.commit('setDefaultAddress', {...res.data})
                  }
               })
            }
         },2000)
         //公告
         this.$http.request('get', '/api/ua/announcement/list', {
         this.$http.request('get', '/api/announcement/page', {
            params: {
               size: 5,
               status: 'A'
            }
         }).then(res => {
            if (res.code == 0) {
            if (res.code === 0) {
               this.noticeList = (res.data && res.data.records || [])
               console.log('this.noticeList', this.noticeList)
               if (this.noticeList.length > 0) {
@@ -244,8 +269,20 @@
      },
      methods: {
         goToAddress() {
            if (!this.currentInfo.id) {
               this.$message.showToast('请先前往登录')
               return
            }
            uni.navigateTo({
               url: '/pages/user/address/address?source=select'
            })
         },
         buttonSearchFlow() {
            console.log('buttonSearchFlow')
            uni.navigateTo({
               url: '/sub_pages/trade/list?name=' + this.search_flow
            })
         },
         pop(status) {
            this.hide_footer = !!status