skyouc
2024-12-23 3bc055f2ee9e813db0f08c5aefc4799be943f77f
pages/home/home.vue
@@ -1,6 +1,22 @@
<template>
   <view>
      <view class="box-bg">
         <uni-nav-bar shadow left-icon="bars" title="主页" @clickLeft="selectLoc()" />
      </view>
      <scroll-view scroll-y class="page">
         <view>
            <uni-drawer ref="showLeft" mode="left" :width="320">
               <view>
                  <view>
                     <uni-section title="机构选择" type="line"></uni-section>
                  </view>
                  <uni-list v-for="(item, index) in hosts" :key="item.id">
                     <uni-list-item :title="item.name" clickable @click="itemClick(item)"></uni-list-item>
                  </uni-list>
               </view>
            </uni-drawer>
         </view>
         <view class="nav-list">
            <navigator hover-class='none' :url="'/pages' + item.url" class="nav-li" navigateTo
               :class="'bg-'+item.color" :style="[{animation: 'show ' + ((index+1)*0.2+1) + 's 1'}]"
@@ -22,9 +38,9 @@
            baseUrl: '',
            token: '',
            icon: '',
            hosts: [],
            elements: [],
            elements2: [
               {
            elements2: [{
                  title: '组托入库',
                  name: 'pakin',
                  color: 'cyan',
@@ -124,21 +140,73 @@
               },
            ],
            colorList: ['cyan','blue','mauve','pink','brown','red','orange','yellow','olive','olive','green','grey' ]
            colorList: ['cyan', 'blue', 'mauve', 'pink', 'brown', 'red', 'orange', 'yellow', 'olive', 'olive', 'green',
               'grey'
            ]
         };
      },
      onShow() {
         this.baseUrl = uni.getStorageSync('baseUrl');
         this.token = uni.getStorageSync('token');
         this.getCurrentHosts()
         this.getAuth()
      },
      methods: {
      methods: {
         selectLoc() {
            this.$refs['showLeft'].open()
         },
         closeDrawer() {
            this.$refs['showLeft'].close()
         },
         itemClick(event) {
            if (event != null && event.id != null) {
               this.$refs['showLeft'].close()
               uni.setStorageSync('hostId', event.id)
            }
         },
         getCurrentHosts() {
            let that = this
            uni.request({
               url: that.baseUrl + '/pda/current/host',
               data: {},
               header: {
                  'token': uni.getStorageSync('token')
               },
               method: "GET",
               success(res) {
                  let result = res.data
                  if (result.code == 200) {
                     that.hosts = result.data;
                     if (uni.getStorageSync('hostId') == null || uni.getStorageSync('hostId') == '') {
                        that.$refs['showLeft'].open()
                     }
                  }
               },
               fail(res) {
               }
            })
         },
         getAuth() {
            let that = this
            uni.request({
               url: that.baseUrl + '/menu/pda/auth',
               data: {},
               header: { 'token': uni.getStorageSync('token') },
               header: {
                  'token': uni.getStorageSync('token')
               },
               method: 'POST',
               success(res) {
                  res = res.data
@@ -179,7 +247,7 @@
                           url: '../login/login'
                        });
                     }, 1000);
                  } else if(res.status === 404) {
                  } else if (res.status === 404) {
                     that.elements = that.elements2
                     // uni.showToast({
                     //    title: '默认主页',
@@ -199,8 +267,9 @@
               }
            })
         },
         getIcon(e) {
            const ways = ['pakin','orderPakin','orderPutOn']
            const ways = ['pakin', 'orderPakin', 'orderPutOn']
            if (ways.includes(e)) {
               this.icon = 'pullup'
            }
@@ -209,7 +278,11 @@
   }
</script>
<style>
<style>
   .uni-section{
      margin-top: 0rpx;
   }
   .page {
      height: 100vh;
   }