Files
pad-nl-three-uni/pages/home/home1.vue
2025-10-10 09:40:30 +08:00

212 lines
5.3 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="home_content">
<view class="zd-row header">
<view class="zd-col-8 logo"></view>
<view class="zd-col-8 home_title">首页</view>
<view class="zd-col-8 zd-row jcflexend home_userinfo">
<uni-icons type="person" size="24" color="#fff"></uni-icons>
<view class="user_name">{{userName}}admin</view>
<view class="exit_text" @tap="Quit">退出</view>
</view>
</view>
<view class="welcome_text_wraper">
<view class="welcome_text">{{userName}}admin, 欢迎进入诺力三期平板系统</view>
</view>
<view class="zd_wrapper">
<view class="zd-row menu-wrap">
<view class="menu-item" v-for="(e, i) in menuList" :key="i" @tap="toPage(e)">
<view class="menu_name_bg" :style="{backgroundImage: `url('/static/images/theme/menu/${e.djlx}.png')`}">
<view class="menu-name">{{e.name}}</view>
<view v-show="Number(e.counts) > 0" class="bill_count">{{e.counts}}</view>
</view>
</view>
<view class="menu-item" @tap="toPage1('/pages/management/move-inventory')">
<view class="menu_name_bg bg_texture_YC">
<view class="menu-name">移库</view>
</view>
</view>
<view class="menu-item" @tap="toPage1('/pages/management/check')">
<view class="menu_name_bg bg_texture_PD">
<view class="menu-name">盘点</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import {getBillsCount} from '@/utils/getData2.js'
export default {
data() {
return {
intervalId: null,
// interTime: this.$store.getters.setTime,
interTime: 60000,
userName: this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).person_name : '',
menuList: []
};
},
onLoad () {
this._getBillsCount()
this.timerFun(this._getBillsCount, this.interTime)()
},
beforeDestroy () {
if (this.intervalId !== null) {
clearTimeout(this.intervalId)
this.intervalId = null
}
},
methods: {
timerFun(f, time) {
let _this = this
return function backFun() {
clearTimeout(_this.intervalId)
_this.intervalId = setTimeout(function () {
f()
backFun()
}, time)
}
},
async _getBillsCount () {
let res = await getBillsCount()
if (res.code === 1) {
this.menuList = [...res.result]
} else {
uni.showToast({
title: res.desc,
icon: 'none'
})
}
},
toPage (e) {
let url = ''
if (e.ywlx === 'DB') {
url = '/pages/management/alloc-maintenance_new?type=' + e.ywlx
} else if (e.ywlx === 'SH') {
url = '/pages/management/receive-confirm_new?type=' + e.ywlx
} else {
if (e.djlx === 'LLCKD') {
url = '/pages/management/in-storage_LLCKD?id=' + e.djlx + '&name=' + e.name + '&type=' + e.ywlx
} else {
url = '/pages/management/in-storage_new?id=' + e.djlx + '&name=' + e.name + '&type=' + e.ywlx
}
}
uni.redirectTo({
url: url
})
},
toPage1 (e) {
uni.redirectTo({
url: e
})
},
Quit () {
this.$store.dispatch('delUserInfo', '')
uni.redirectTo({
url: '/pages/login/login'
})
}
}
}
</script>
<style lang="stylus" scoped>
@import '../../common/style/mixin.styl';
.home_content
position relative
_wh(100%, 100vh)
background-color #f3f3f3
.header
height 40px
padding 0 15px
margin-bottom 10px
justify-content space-between
_bis(#3375f7,'../../static/images/theme/1/header_bg.jpg', 100%, 100%,center)
.logo
height 40px
// _bis(,'../../static/images/theme/logo.png', 68%, auto,left,center)
.home_title
_font(24px,35px,#F6F9FE,,center)
// font-family: YouSheBiaoTiHei;
.home_userinfo
height 35px
.user_icon
_wh(25px, 25px)
margin-right 5px
_bis(,'../../static/images/user_icon.png', 100%, 100%,center)
.user_name
_font(17px,17px,#fff,,center)
padding-right 5px
margin 9px 10px 9px 0
.exit_text
height 22px
_font(14px,22px,#fc4300,,center)
padding 0 20px
margin 2.5px 0
background-color #fff
border-radius 20px
.welcome_text_wraper
height 40px
margin 0 15px
.welcome_text
_font(26px, 40px, #373737,,)
padding-left 20px
font-family: YouSheBiaoTiHei
.zd_wrapper
_wh(calc(100% - 30px),calc(100% - 100px))
margin 0px 15px
// background-color #fff
// border 1px solid #ebebeb
.menu-wrap
flex-wrap wrap
justify-content flex-start
align-content center
height 100%
.menu-item
position relative
width calc(20% - 16px)
margin-right 20px
margin-top 16px
&:nth-child(5n)
margin-right 0
&:nth-child(-n+5)
margin-top 0
.menu_name_bg
position relative
_wh(100%, 90px)
margin 0 auto
border-radius 10px
background-color #fff
background-repeat no-repeat
background-size: auto calc(100% - 25px);
background-position top center
.menu-name
position absolute
bottom 5px
_wh(100%, 25px)
_font(18px, 25px, #0f0f0f,400,center)
.bill_count
position absolute
top -10px
right -13px
_wh(40px, 22px)
background-color $red
border-radius 14px
_font(14px, 22px, #fff,bold,center)
.left_bg
position absolute
left 0
top 0
_wh(25px, 100%)
_bis(,'../../static/images/hud_left.png', 100%, ,center)
.right_bg
left auto
right 0
background-image url('../../static/images/hud_right.png')
.bg_texture_YC
background-image: url('../../static/images/theme/menu/YC.png')
.bg_texture_PD
background-image: url('../../static/images/theme/menu/PD.png')
</style>