Files
hht-hdyy-uni/pages/home/home.vue
2026-01-26 15:11:40 +08:00

291 lines
9.2 KiB
Vue
Raw 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_wraper">
<view class="zd_content">
<view class="header">首页</view>
<view class="userInfo-wrap">
<view class="userInfo">
<text v-if="userName !== ''" class="p1">{{userName}}</text>
<text class="p2">欢迎进入华东制药LMS手持系统</text>
</view>
<view class="exit" @tap="Quit">
<view class="icon-exit"></view>
<view class="exit-text">退出</view>
</view>
</view>
<view class="zd_home_wrapper">
<view class="menus_wrap">
<view class="fir_menu_wrap">
<view class="fir_menu-item" v-for="(e, i) in menuList" :key="i" @tap="toPage1(e)">
<image class="menu-img" :src="require('../../static/image/menu/' + e.path + '.png')" alt="">
<view class="menu-name">{{e.title}}</view>
</view>
</view>
</view>
<!-- <button type="primary" @tap="toTest">打印测试</button> -->
</view>
</view>
<view class="sec_menu_wraper" :class="show ? 'popshow' : 'pophide'">
<view class="pop-title">{{title}}</view>
<view class="sec_menu_w">
<view class="sec_menu-item" :style="{'background-image': 'url(' + require('../../static/image/menu/' + icon + '.png') + ')'}" v-for="(e, i) in secM" :key="'sontree' + i" @click="toPage2(e)">
<view class="menu-name_inner">{{e.title}}</view>
</view>
</view>
</view>
<view v-if="show" class="modal" @click.stop="show = false"></view>
</view>
</template>
<script>
export default {
data() {
return {
userName: '',
menuList: [
// {title: '通用功能0', path: 'RF07', sonTree: [
// {title: '入库组箱', path: '/pages/General/warehouse-box'},
// {title: '配送组箱', path: '/pages/General/distribution-box'},
// {title: '点对点转运', path: '/pages/General/line-transfer'},
// {title: '确认取放货', path: '/pages/General/pick-place-goods'},
// {title: '作业管理', path: '/pages/General/ops-mgmt'},
// {title: '点位更新', path: '/pages/General/pt-update'}
// ]},
// {title: '小料箱功能0', path: 'RF08', sonTree: [
// {title: '空载具出库', path: '/pages/Material/kzj-out-store'},
// {title: '空载具入库', path: '/pages/Material/kzj-in-store'},
// {title: '小料箱入库', path: '/pages/Material/xlx-in-store'}
// ]},
// {title: '大料箱功能0', path: 'RF09', sonTree: [
// {title: '空载具出入库', path: '/pages/Material/kzj-inout-store'},
// {title: '料箱入库', path: '/pages/Material/lx-in-store'},
// {title: '物料入库', path: '/pages/Material/mater-in-store'},
// {title: '大料箱出库', path: '/pages/Material/dlx-out-store'},
// {title: '退库确认', path: '/pages/Material/tuiku-confirm'},
// {title: '大料箱移库', path: '/pages/Material/dlx-move-store'},
// {title: '大料箱盘库', path: '/pages/Material/dlx-pan-store'}
// ]},
{title: '无人车对接', path: 'RF10', sonTree: [
{title: '无人车卸货', path: '/pages/hdyy/wrcdj/wrc-unload'},
{title: '无人车装货', path: '/pages/hdyy/wrcdj/wrc-load'}
]},
{title: '空载具管理', path: 'RF01', sonTree: [
{title: '空载具入库', path: '/pages/hdyy/kzj/kzj-instore'},
{title: '空载具出库', path: '/pages/hdyy/kzj/kzj-outstore'},
{title: '空载具堆叠', path: '/pages/hdyy/kzj/kzj-duidie'}
]},
{title: '组盘管理', path: 'RF02', sonTree: [
{title: '物料组袋', path: '/pages/hdyy/zpgl/mater-zudai'},
{title: '物料组盘', path: '/pages/hdyy/zpgl/mater-zupan'},
{title: '物料组桶', path: '/pages/hdyy/zpgl/mater-zutong'}
]},
{title: '仓储管理', path: 'RF03', sonTree: [
{title: '收货入库', path: '/pages/hdyy/ccgl/sh-instore'},
{title: '直接入库', path: '/pages/hdyy/ccgl/zj-instore'},
{title: '直接出库', path: '/pages/hdyy/ccgl/zj-outstore'},
{title: '库内合盘', path: '/pages/hdyy/ccgl/kn-hepan'}
]},
{title: '生产管理', path: 'RF04', sonTree: [
{title: '成品出料', path: '/pages/hdyy/scgl/cp-chuliao'},
{title: '料桶叫料', path: '/pages/hdyy/scgl/lt-callmater'},
{title: '料桶称重', path: '/pages/hdyy/scgl/lt-weight'},
{title: '点位取货', path: '/pages/hdyy/scgl/point-quhuo'},
{title: '生产出料', path: '/pages/hdyy/scgl/sc-chuliao'},
{title: '剩料回库', path: '/pages/hdyy/scgl/sl-huiku'},
{title: '托盘叫料', path: '/pages/hdyy/scgl/tp-callmater'},
{title: '预加工出料', path: '/pages/hdyy/scgl/yjg-chuliao'}
]},
{title: '外包材管理', path: 'RF05', sonTree: [
{title: '外包材收货', path: '/pages/hdyy/wbc/wbc-shouhuo'},
{title: '外包材转运', path: '/pages/hdyy/wbc/wbc-transfer'},
{title: '外包材送入', path: '/pages/hdyy/wbc/wbc-enter'},
{title: '外包材领用', path: '/pages/hdyy/wbc/wbc-getuse'},
{title: '外包材还回', path: '/pages/hdyy/wbc/wbc-return'}
]},
{title: '通用功能', path: 'RF06', sonTree: [
{title: '点对点转运', path: '/pages/hdyy/tygn/dtd-transfer'},
{title: '作业管理', path: '/pages/hdyy/tygn/work-manage'},
{title: '点位更新', path: '/pages/hdyy/tygn/pt-update'},
{title: 'AGV管理', path: '/pages/hdyy/tygn/agv-manage'},
{title: '库存查询', path: '/pages/hdyy/tygn/kc-query'}
]},
],
show: false,
secM: [],
icon: '',
title: ''
};
},
created () {
if (this.$store.getters.userInfo) {
this.userName = JSON.parse(this.$store.getters.userInfo).username
}
},
methods: {
toPage1 (e) {
if (e.sonTree.length > 0) {
this.show = true
this.secM = e.sonTree
this.icon = e.path
this.title = e.title
}
},
toPage2 (e) {
let url = e.path + '?title=' + e.title
if (e.active === false) {
return
}
uni.redirectTo({
url: url
})
},
Quit () {
this.$store.dispatch('delUserInfo', '')
uni.redirectTo({
url: '/pages/login/login'
})
},
toTest () {
uni.redirectTo({
url: '/pages/test'
})
}
}
}
</script>
<style lang="stylus">
@import '../../common/style/mixin.styl';
.home_wraper
_wh(100%, 100%)
overflow hidden
.zd_content
padding 0 24rpx
height 100%
top 0
padding-top calc(var(--status-bar-height) + 86rpx)
// background linear-gradient(to bottom, #fae2ca 0%, #fff5ea 20%, #fdfdfd 100%)
background linear-gradient(to bottom, #f5f6fb 0%, #fff 100%)
.header
position fixed
left 0
top 0
padding-top var(--status-bar-height)
z-index 100
_wh(100%, calc(var(--status-bar-height) + 86rpx))
_font(36rpx,86rpx,#333,,center)
.userInfo-wrap
_fj()
_wh(100%,190rpx)
padding 0 30rpx
background-color $red
_bis('../../static/image/info_bg.png',auto,100%,right,bottom)
border-radius 12rpx
margin-bottom 24rpx
.userInfo
_fj(,flex-start,column)
.p1
_font(34rpx,1,#fff)
padding-bottom 18rpx
.p2
_font(26rpx,1,#fff)
.exit
_fj()
height 50rpx
padding 0 20rpx
border 1px solid #FF967C
border-radius 20rpx
.icon-exit
_wh(22rpx, 22rpx)
_bis('../../static/image/exit.png',22rpx)
.exit-text
_font(32rpx,50rpx,#fff,,right)
padding-left 10rpx
.zd_home_wrapper
_wh(100%, calc(100% - 238rpx))
margin-bottom 24rpx
background-color #fff
border-radius: 12rpx;
padding: 14rpx;
margin-bottom 24rpx
box-shadow: 0 4rpx 10rpx 4rpx rgba(0,0,0,.1)
overflow-y scroll
.menus_wrap
width 100%
.fir_menu_wrap
_fj(flex-start,flex-start,,wrap)
align-content: flex-start
.fir_menu-item
_fj()
flex-direction column
_wh(30%, auto)
margin-bottom 40rpx
_font(26rpx, 60rpx,#e74f1a,,center)
&:nth-child(3n+2)
margin-left 5%
margin-right 5%
::v-deep .menu-img
_wh(100%, auto)
img
position relative
opacity 1
_wh(55%, auto)
margin 0 auto 0.2rpx
.menu-name
_font(28rpx, 38rpx, #444,,center)
padding 0 20rpx
.sec_menu_wraper
position fixed
bottom 0
left 0
width 100%
background-color #f4f5f5
box-shadow 0 -8px 16px 0 rgba(28,31,33,.1)
border-top-left-radius 20rpx
border-top-right-radius 20rpx
z-index 2017
transition all .3s
.modal
position fixed
bottom 0
left 0
_wh(100%, 100%)
background-color rgba(0,0,0,0.8)
z-index 2010
.sec_menu_w
width calc(100% - 76rpx)
margin 30rpx auto 60rpx auto
_fj(flex-start)
flex-wrap wrap
.sec_menu-item
_wh(30%, 120rpx)
margin-bottom 20rpx
border-radius 10rpx
background-size 40% auto
background-position right 90%
background-repeat no-repeat
&:nth-child(3n+2)
margin-left 5%
margin-right 5%
&:nth-child(5n+1) .menu-name_inner
background linear-gradient(to right, rgba(73,102,255,0.8) 0%, rgba(117,142,255,0.8) 100%)
&:nth-child(5n+2) .menu-name_inner
background linear-gradient(to right, rgba(254, 168, 20,0.8) 0%, rgba(255, 177, 1,0.8) 100%)
&:nth-child(5n+3) .menu-name_inner
background linear-gradient(to right, rgba(0, 228, 153,0.8) 0%, rgba(0, 241, 197,0.8) 100%)
&:nth-child(5n+4) .menu-name_inner
background linear-gradient(to right, rgba(196, 5, 219,0.8) 0%, rgba(183,120,190,0.8) 100%)
&:nth-child(5n+5) .menu-name_inner
background linear-gradient(to right, rgba(146, 94, 52,0.8) 0%, rgba(162, 116, 79,0.8) 100%)
.menu-name_inner
_wh(100%, 100%)
_fj(center)
_font(28rpx, 30rpx, #fff, 700, center)
border-radius 10rpx
padding 10rpx
overflow hidden
.pop-title
margin 60rpx 38rpx 0 38rpx
_font(30rpx, 60rpx, #000,700,center)
</style>