App-Android(使用App+htnl5框架,解决消息推送兼容SignalR问题)
loulijun2021
2022-09-19 a263dd50386b73f9992919a932f98b4bd5585052
pages/xtsy/index.html
@@ -15,9 +15,9 @@
      <script src="../../js/vue.min.js"></script>
      <script src="../../js/vant.min.js"></script>
      <!-- <script type="text/javascript" src="../../js/jquery-1.6.4.min.js"></script> -->
      <!-- <script type="text/javascript" src="../../js/axios.min.js"></script> -->
      <!-- <script type="text/javascript" src="../../js/http.js"></script> -->
      <script type="text/javascript" src="../../js/jquery-1.6.4.min.js"></script>
      <script type="text/javascript" src="../../js/axios.min.js"></script>
      <script type="text/javascript" src="../../js/http.js"></script>
      <link rel="stylesheet" href="../css/global.css" type="text/css" charset="utf-8" />
@@ -27,30 +27,47 @@
      <div id="app">
         <div class="body">
            <div>
               <van-nav-bar title="标题" style="height:50px ;" right-text="按钮" left-arrow
                  @click-right="onClickRight" />
            </div>
            <van-nav-bar title="工作台" @click-right="onClickRight">
               <template #right>
                  <van-popover  placement="bottom-end" :offset="[13,8]" v-model="showPopover"
                     trigger="click" :actions="actions" @select="onSelect">
                     <template #reference>
                        <van-icon name="bars" size='20' color='#fff' />
                     </template>
                  </van-popover>
               </template>
            </van-nav-bar>
            <van-swipe :autoplay="3000">
               <van-swipe-item v-for="(image, index) in images" :key="index">
                  <img v-lazy="image" :src='image' style="background-size: 100% 100%;" />
                  <img v-lazy="image" :src='image' style="background-size: 100% 100%;width: 100%;" />
               </van-swipe-item>
            </van-swipe>
            <van-grid :gutter="10" square :column-num="3">
               <van-grid-item v-for="item in 9" @click='vanGridItem(item)' :key="item" icon="photo-o" text="文字" />
            <van-grid :gutter="20" :border='false' square :column-num="3" style="margin: 30px auto 0; width: 90%;">
               <van-grid-item v-for="item in firstMenu" @click='vanGridItem(item)' :key="item" :text="item.name">
                  <img :src="item.imgurl" alt=""
                     style="width: 56px;height:56px;margin-top: 10px;border-radius: 10px;">
                  <div style="margin-top: 5px;font-size: 14px;color: #929399;">{{item.name}}</div>
               </van-grid-item>
            </van-grid>
            <van-action-sheet lazy-render :closeable='false' close-on-click-action close-on-click-overlay
               safe-area-inset-bottom v-model="sheetShow" title="标题">
               <van-grid :gutter="10" square :column-num="3">
                  <van-grid-item v-for="item in 9" @click='vanGridItem(item)' :key="item" icon="photo-o"
                     text="文字" />
               safe-area-inset-bottom v-model="sheetShow" :title="firstMenuName">
               <van-grid :border='false' :gutter="5" square :column-num="3" style="width: 80%; margin: auto;">
                  <van-grid-item v-for="item in secondMenu" @click='vanGridSecondItem(item)' :key="item"
                     icon="photo-o">
                     <img :src="item.imgurl" alt=""
                        style="width: 48px;height:48px;margin-top: 10px;border-radius: 10px;">
                     <div style="margin-top: 5px;font-size: 12px;color: #929399;">{{item.name}}</div>
                  </van-grid-item>
               </van-grid>
            </van-action-sheet>
         </div>
         <van-overlay :show="overlayShow" @click="overlayShow=false" />
      </div>
@@ -64,21 +81,78 @@
                  '../../static/images/swiper01.png',
                  '../../static/images/swiper02.png',
               ],
               sheetShow: false
               sheetShow: false,
               overlayShow: false,
               showPopover: false,
               actions: [{
                  icon: 'description',
                  text: '操作指导'
               }, {
                  icon: 'award-o',
                  text: '成品追溯'
               }, {
                  icon: 'revoke',
                  text: '退出登录'
               }],
               firstMenu: [], //一级菜单
               firstMenuName: '',
               secondMenu: [], //二级菜单
            }
         },
         created() {
         },
         mounted() {
            this.getfirstMenu()
         },
         methods: {
            vanGridItem(item) {
               console.log(item)
               this.sheetShow = true
            // 获取一级菜单
            async getfirstMenu() {
               const data = {
                  usertype: 'APP',
                  usercode: localStorage.getItem('usercode')
               }
               const {
                  data: res
               } = await get('Login/LoginMenu', data)
               this.firstMenu = res
            },
            // 一级菜单点击
            vanGridItem(item) {
               this.sheetShow = true
               this.firstMenuName = item.name
               this.secondMenu = item.children
            },
            // 二级菜单点击
            vanGridSecondItem(item) {
               let url = ''
               switch (item.code) {
                  // 设备管理
                  case '2040':
                     url = '../sbgl/rcdj.html'
                     break;
                  case '2041':
                     url = '../sbgl/dqby.html'
                     break;
                  case '2042':
                     url = '../sbgl/sbwx.html'
                     break;
                  case '2043':
                     url = '../sbgl/wxyz.html'
                     break;
               }
               window.location = url
            },
            // 顶部右图标点击
            onClickRight() {
            }
               this.overlayShow = true
            },
            // 顶部右图标下拉选择
            onSelect(action) {
               vant.Toast(action.text);
               this.overlayShow = false
            },
         }
      })
   </script>
@@ -88,16 +162,21 @@
      }
      .body {
         width: 96%;
         height: 600px;
         background-color: grey;
         margin-top: 0px;
         margin-left: 2%;
         background-color: #fff;
         position: relative;
         /*       display: flex;
         justify-content: center;
         align-items: flex-start; */
      }
      .van-nav-bar__content {
         background-color: #2651d8;
         height: 44px;
      }
      .van-nav-bar__title {
         color: #fff;
         letter-spacing: 2px;
      }
   </style>
</html>