小小儁爺
2024-05-28 11ac3666423de5c03da72c388e38d869f04d9af7
pages/xtsy/index.vue
@@ -1,9 +1,441 @@
<template>
   <view>1231241</view>
   <view>
      <!-- <u-notify ref="uNotify" message="登录成功!"></u-notify> -->
      <page-nav title="工作台"></page-nav>
      <u-swiper :list="list1" style="margin: 0 0rpx;" indicator height='250' indicatorActiveColor='#436df5'
         indicatorMode='dot' interval='3000' :autoplay='true'></u-swiper>
      <u-gap height="15" bgColor="#fff"></u-gap>
      <view style="font-weight: bolder;color: #929399; margin:24rpx 0 24rpx 20rpx;">功能管理:</view>
      <u-grid style='margin: 12rpx;' :border="false" v-if="$companyType==='A'">
         <u-grid-item @click="index=>clickGridPopup(index,item.name,item.code)" v-for="(item,index) in menuList"
            :key="item.code">
            <img :src="item.imgurl" alt="" style='width: 116rpx;height: 116rpx;border-radius: 20rpx;'>
            <text class="grid-text">{{item.name}}</text>
         </u-grid-item>
      </u-grid>
      <u-grid style='margin: 12rpx;' :border="false" v-if="$companyType==='A'">
         <u-grid-item @click="index=>clickGridPopup(index,item.name,item.code)" v-for="(item,index) in menuList"
            :key="item.code">
            <img :src="item.imgurl" alt="" style='width: 116rpx;height: 116rpx;border-radius: 20rpx;'>
            <text class="grid-text">{{item.name}}</text>
         </u-grid-item>
      </u-grid>
      <u-grid style='margin: 12rpx;' :border="false" v-if="$companyType==='B'">
         <u-grid-item @click="index=>clickGrid(index,item.name,item.code)" v-for="(item,index) in menuList"
            :key="item.code">
            <img :src="item.imgurl" alt="" style='width: 116rpx;height: 116rpx;border-radius: 20rpx;'>
            <text class="grid-text">{{item.name}}</text>
         </u-grid-item>
      </u-grid>
      <u-popup :show="popupShow" overlayOpacity='0.3' :round="10" v-if="$companyType==='B'" @close="popupClose"
         @open="popupOpen">
         <u-grid style='margin: 20rpx;padding-top: 30rpx;' :border="false">
            <u-grid-item @click="index=>clickGridPopup(index,item.name,item.code)"
               v-for="(item,index) in secondMenuList" :key="item.code">
               <img :src="item.imgurl" alt="" style='width: 96rpx;height: 96rpx;border-radius: 20rpx;'>
               <text class="grid-text" style="font-size: 26rpx;">{{item.name}}</text>
            </u-grid-item>
         </u-grid>
      </u-popup>
   </view>
</template>
<script>
   import {
      LoginMenu
   } from '../../config/api.js';
   export default {
      onShow: function() {
      },
      onHide: function() {
         // console.log('App Hide')
      },
      onReady() {
      },
      onPullDownRefresh() {
         setTimeout(() => {
            this.init(() => {
               uni.stopPullDownRefresh();
            })
         }, 1000);
      },
      data() {
         return {
            topRightMessageCount: 0,
            list1: [
               '../../static/img/swiper01.png',
               '../../static/img/swiper02.png',
            ],
            menuList: [], //菜单
            secondMenuList: [], //二级菜单
            popupShow: false, //控制二级菜单显隐
         }
      },
      onLoad(option) {
      },
      onUnload() {},
      created() {},
      mounted() {
         this.init()
      },
      methods: {
         init() {
            this.getLoginMenu()
            uni.stopPullDownRefresh();
         },
         // 获取菜单请求接口
         getLoginMenu() {
            LoginMenu({
               usertype: 'APP',
               usercode: uni.getStorageSync('usercode'),
               torg_code: uni.getStorageSync('storg_code')
            }).then(res => {
               console.log(res, 2)
               if (this.$companyType === 'A') {
                  this.menuList = res.data.filter(i => i.code === '2005')[0].children
               } else if (this.$companyType === 'B') {
                  this.menuList = res.data.sort((a, b) => a.seq - b.seq)
                  // this.menuList = []
                  // res.data.forEach(i => {
                  //    i.children.forEach(j => {
                  //       this.menuList.push(j)
                  //    })
                  // })
               }
               console.log(this.menuList, 123)
            })
         },
         // 一级菜单点击
         clickGrid(index, name, code) {
            // flag  0  显示  1 不显示
            this.secondMenuList = this.menuList.filter(item => item.code === code)[0].children.filter(item =>
               item
               .flag === '0')
            this.popupShow = true
         },
         popupOpen() {
         },
         popupClose() {
            this.popupShow = false
         },
         // 二级菜单点击
         clickGridPopup(index, name, code) {
            let url = ''
            console.log(code)
            switch (code) {
               // 个人中心
               case '2010':
                  url = 'grzx/gwqt'
                  break;
               case '2011':
                  url = 'grzx/gwqd'
                  break;
               case '2012':
                  url = 'grzx/gzrz'
                  break;
               case '2100':
                  url = 'grzx/gzcl' //工资产量
                  break;
               case '2101':
                  url = 'grzx/mmsz' //密码设置
                  break;
               case '2015':
                  url = 'grzx/xgbg'
                  break;
               case '2016':
                  url = 'grzx/gmbd'
                  break;
               case '2017':
                  url = 'grzx/gdyj'
                  break;
               case '2019':
                  url = 'grzx/lypz'
                  break;
                  // 生产管理
                  // case '2200':
                  //    url = 'scgl/sckg' //生产开工
                  //    break;
               case '2200':
                  url = 'scgl/scbg' //生产报工
                  break;
                  // 委外管理
               case '2300':
                  url = 'wwgl/wxfl' //外协发料
                  break;
               case '2301':
                  url = 'wwgl/wxsl' //外协收料
                  break;
                  // 质量管理
               case '2702':
                  url = 'zlgl/sjjy' //首检检验
                  break;
               case '2703':
                  url = 'zlgl/xjjy' //巡检检验
                  break;
               case '2704':
                  url = 'zlgl/wgjy' //完工检验
                  break;
                  // 设备管理
               case '2400':
                  url = 'sbgl/rcdj' //日常点检
                  break;
               case '2401':
                  url = 'sbgl/dqby' //定期保养
                  break;
               case '2404':
                  url = 'sbgl/wxsq' //维修申请
                  break;
               case '2402':
                  url = 'sbgl/sbwx' //设备维修
                  break;
               case '2403':
                  url = 'sbgl/wxyz' //维修验证
                  break;
               case '2032':
                  url = 'zlgl/jyfh' //检验复核
                  break;
               case '2033':
                  url = 'zlgl/qxtj' //缺陷统计
                  break;
               case '2034':
                  url = 'zlgl/qxsb' //缺陷上报
                  break;
               case '2035':
                  url = 'zlgl/zlcl' //质量处理
                  break;
               case '2036':
                  url = 'zlgl/rcjy' //入厂检验
                  break;
               case '2037':
                  url = 'zlgl/sjjy' //首检检验
                  break;
               case '2038':
                  url = 'zlgl/xjjy' //巡检检验
                  break;
               case '2039':
                  url = 'zlgl/wgjy' //完工检验
                  break;
                  // 生产分析
               case '2900':
                  url = 'znfx/scfx' //生产分析
                  break;
               case '2901':
                  url = 'znfx/scjd' //生产进度
                  break;
                  // 模具管理
               case '2500':
                  url = 'mjgl/mjcx' //模具点检
                  break;
               case '2501':
                  url = 'mjgl/mjdj' //模具点检
                  break;
               case '2502':
                  url = 'mjgl/mjby' //模具保养
                  break;
               case '2503':
                  url = 'mjgl/wxsq' //维修申请
                  break;
               case '2504':
                  url = 'mjgl/mjwx' //磨具维修
                  break;
               case '2505':
                  url = 'mjgl/wxyz' //维修验证
                  break;
               case '2506':
                  url = 'mjgl/mjsj' //模具上机
                  break;
               case '2507':
                  url = 'mjgl/mjxj' //模具下机
                  break;
               case '2508':
                  url = 'mjgl/mjrk' //模具入库
                  break;
               case '2509':
                  url = 'mjgl/mjck' //模具出库
                  break;
               case '2510':
                  url = 'mjgl/mjwj' //模具外借
                  break;
               case '2511':
                  url = 'mjgl/mjgh' //模具归还
                  break;
                  //安灯管理
               case '2800':
                  url = 'adgl/adhj' //安灯呼叫
                  break;
               case '2801':
                  url = 'adgl/adxy' //安灯响应
                  break;
                  // 物料管理
               case '2060':
                  url = 'wlgl/cgdh' //采购到货
                  break;
               case '2069':
                  url = 'wlgl/fgll' //返工领料
                  break;
               case '2070':
                  url = 'wlgl/zhrq' //转换容器
                  break;
               case '2071':
                  url = 'wlgl/sctl' //生产退料
                  break;
               case '2072':
                  url = 'wlgl/qtrk' //其他入库
                  break;
               case '2073':
                  url = 'wlgl/qtck' //其他出库
                  break;
               case '2061':
                  url = 'wlgl/cgrk' //采购入库
                  break;
               case '2062':
                  url = 'wlgl/scll' //生产领料
                  break;
               case '2063':
                  url = 'wlgl/blps' //备料配送
                  break;
               case '2064':
                  url = 'wlgl/scrk' //生产入库
                  break;
               case '2065':
                  url = 'wlgl/scck' //生产出库
                  break;
               case '2066':
                  url = 'wlgl/wltb' //物料调拨
                  break;
               case '2067':
                  url = 'wlgl/kcpd' //库存盘点
                  break;
               case '2068':
                  url = 'wlgl/qtll' //其他领料
                  break;
                  // 委外管理
               case '2080':
                  url = 'wwgl/wwfl' //委外发料
                  break;
               case '2081':
                  url = 'wwgl/wwsl' //委外收料
                  break;
               case '2082':
                  url = 'wwgl/wwck' //委外出库
                  break;
               case '2083':
                  url = 'wwgl/wwdh' //委外到货
                  break;
               case '2084':
                  url = 'wwgl/wwrk' //委外入库
                  break;
                  // 智能分析
               case '2100':
                  url = 'znfx/scfx' //生产分析
                  break;
               case '2101':
                  url = 'znfx/zlfx' //质量分析
                  break;
               case '2102':
                  url = 'znfx/wlfx' //物料分析
                  break;
               case '2103':
                  url = 'znfx/sbfx' //设备分析
                  break;
               case '2104':
                  url = 'znfx/scjd' //生产进度
                  break;
            }
            this.popupShow = false //二级菜单的显隐控制
            console.log(url)
            uni.navigateTo({
               url: '../' + url
            });
         }
      }
   }
</script>
<style>
<style lang="scss" scoped>
   .grid-text {
      font-size: 30rpx;
      color: #929399;
      letter-spacing: 2rpx;
      padding: 10rpx 0 20rpx 0rpx;
      /* #ifndef APP-PLUS */
      box-sizing: border-box;
      /* #endif */
   }
   ::v-deep .u-notify__warpper {
      height: 60rpx;
      line-height: 60rpx;
   }
</style>
<style lang="scss">
   page {
      background-color: #fff;
   }
</style>