You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.3 KiB
Vue
126 lines
3.3 KiB
Vue
<template>
|
|
<view class="page-SemiProduct">
|
|
<view class="header">
|
|
<view class="welcome">
|
|
<view class="name">Hi, {{ session.user.userName }}</view>
|
|
<view class="logout" @click="session.logout()">
|
|
<u-icon name="info-circle"></u-icon>
|
|
<text>{{ $t('message.rawMenu_SignOut') }}</text>
|
|
</view>
|
|
</view>
|
|
<view class="date">{{ today }}</view>
|
|
</view>
|
|
<view class="container">
|
|
<u-row :gutter="30">
|
|
<u-col :span="12" v-for="(item, index) in model.menuList" :key="index">
|
|
<u-button
|
|
@click="
|
|
uni.navigateTo({
|
|
url: `${item.href}?childData=${JSON.stringify(item.childResource)}`,
|
|
})
|
|
"
|
|
>
|
|
<u-icon size="80" :name="item.iconClass"></u-icon>
|
|
<text class="name">
|
|
{{
|
|
session.lang == 'en'
|
|
? index + 1 + ' ' + item.engResourceName
|
|
: index + 1 + ' ' + item.resourceName
|
|
}}</text
|
|
>
|
|
</u-button>
|
|
</u-col>
|
|
<!-- <u-col :span="12">
|
|
<u-button @click="toPage(page.SemiProduct.inbound.index)">
|
|
<u-icon size="80" name="/static/icons/icon-01.png"></u-icon>
|
|
<text class="name">1.{{ $t('message.SemiProductEnterTheWarehouse') }}</text>
|
|
</u-button>
|
|
</u-col>
|
|
<u-col :span="12">
|
|
<u-button @click="toPage(page.SemiProduct.outbound.index)">
|
|
<u-icon size="80" name="/static/icons/icon-01.png"></u-icon>
|
|
<text class="name">2.{{ $t('message.SemiProductGetOutOfTheWarehouse') }}</text>
|
|
</u-button>
|
|
</u-col>
|
|
<u-col :span="12">
|
|
<u-button @click="toPage(page.SemiProduct.DumpList.index)">
|
|
<u-icon size="80" name="/static/icons/icon-02.png"></u-icon>
|
|
<text class="name">3.{{ $t('message.SemiProductZC') }}</text>
|
|
</u-button>
|
|
</u-col> -->
|
|
</u-row>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import { Component } from 'vue-property-decorator';
|
|
import { BasePage } from '@/components/base/page';
|
|
import dayjs from 'dayjs';
|
|
import model from './model';
|
|
|
|
@Component
|
|
export default class RawHome extends BasePage {
|
|
today = dayjs().format('YYYY-MM-DD dddd');
|
|
model = model;
|
|
onLoad() {
|
|
this.model.getMenuList();
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.page-SemiProduct {
|
|
background-color: #f4f7fc;
|
|
min-height: 100%;
|
|
|
|
.header {
|
|
background-color: #255cea;
|
|
padding: 60rpx 30rpx 40rpx;
|
|
color: #fff;
|
|
box-shadow: 0 1rpx 5rpx #6b90ef;
|
|
.welcome {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
.name {
|
|
font-size: 44rpx;
|
|
font-weight: 500;
|
|
}
|
|
}
|
|
.date {
|
|
margin-top: 30rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 400;
|
|
opacity: 0.7;
|
|
}
|
|
}
|
|
|
|
.container {
|
|
margin-top: 36rpx;
|
|
padding: 30rpx 15rpx 0;
|
|
.u-row {
|
|
}
|
|
.u-col {
|
|
margin-bottom: 30rpx;
|
|
}
|
|
.u-btn {
|
|
height: 160rpx;
|
|
padding: 0 30rpx;
|
|
border: 1px solid #f0f5fc;
|
|
color: #42465a;
|
|
font-size: 30rpx;
|
|
font-weight: 400;
|
|
&:after {
|
|
border-color: #f0f5fc;
|
|
border-radius: 4rpx;
|
|
}
|
|
.name {
|
|
flex: 1;
|
|
margin-left: 32rpx;
|
|
text-align: left;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</style>
|