207 lines
4.3 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="container">
<!-- 轮播图 -->
<uni-swiper-dot class="uni-swiper-dot-box" :info="bannerList" :current="current" field="content">
<swiper class="swiper-box" :current="swiperDotIndex" @change="changeSwiper">
<swiper-item v-for="(item, index) in bannerList" :key="index">
<view class="swiper-item" @click="clickBannerItem(item)">
<image :src="item.image" mode="aspectFill" :draggable="false" />
</view>
</swiper-item>
</swiper>
</uni-swiper-dot>
<!-- 宫格组件 -->
<uni-section title="产线管理" type="line"></uni-section>
<view class="grid-body">
<uni-grid :column="4" :showBorder="false" @change="changeProduceGrid">
<uni-grid-item v-for="(item, index) in produceOptions" :key="index" :index="index">
<view class="grid-item-box">
<uni-icons :type="item.icon" size="30"></uni-icons>
<text class="text">{{ item.name }}</text>
</view>
</uni-grid-item>
</uni-grid>
</view>
<uni-section title="物料管理" type="line"></uni-section>
<view class="grid-body">
<uni-grid :column="4" :showBorder="false" @change="changeMaterialGrid">
<uni-grid-item v-for="(item, index) in materialOptions" :key="index" :index="index">
<view class="grid-item-box">
<uni-icons :type="item.icon" size="30"></uni-icons>
<text class="text">{{ item.name }}</text>
</view>
</uni-grid-item>
</uni-grid>
</view>
</view>
</template>
<script>
import { fail } from 'assert';
export default {
onShow() {
uni.hideLoading();
},
data() {
return {
current: 0,
swiperDotIndex: 0,
bannerList: [
{
image: '/static/images/door/1.jpg'
},
{
image: '/static/images/door/2.jpg'
},
{
image: '/static/images/door/3.jpg'
}
],
// 生产模块
produceOptions: [
{
name: '产线报工(通用)',
icon: 'folder-add-filled',
url: '/pages/produceManagement/workorder/workorder'
},
{
name: '产线报工\n(U13线U16线)',
icon: 'folder-add-filled',
url: '/pages/produceManagement/workorder/workorder02'
},
{
name: '产线报工\n(U03线U05线)',
icon: 'folder-add-filled',
url: '/pages/produceManagement/workorder/workorder03'
},
{
name: '安灯报警',
icon: 'notification-filled',
url: '/pages/produceManagement/andon/alarm'
},
],
// 物料模块
materialOptions: [
{
name: '产线备料',
icon: 'upload-filled',
url: '/pages/materialManagement/preparationByPlan/index'
},
// {
// name: '工单备料',
// icon: 'upload-filled',
// url: '/pages/materialManagement/materialPreparation/index'
// }
]
};
},
methods: {
clickBannerItem(item) {
console.info(item);
},
changeSwiper(e) {
this.current = e.detail.current;
},
// 产线功能
changeProduceGrid(e) {
const _url = this.produceOptions[e.detail.index].url;
uni.navigateTo({
url: _url,
fail: () => {
this.$modal.showToast('模块建设中~');
}
});
},
// 物料功能
changeMaterialGrid(e) {
const _url = this.materialOptions[e.detail.index].url;
uni.navigateTo({
url: _url,
fail: () => {
this.$modal.showToast('模块建设中~');
}
});
}
}
};
</script>
<style lang="scss">
/* #ifndef APP-NVUE */
page {
display: flex;
flex-direction: column;
box-sizing: border-box;
background-color: #fff;
min-height: 100%;
height: auto;
}
view {
font-size: 14px;
line-height: inherit;
}
/* #endif */
.text {
text-align: center;
font-size: 26rpx;
margin-top: 10rpx;
}
.grid-item-box {
flex: 1;
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
align-items: center;
justify-content: center;
padding: 15px 0;
}
.uni-margin-wrap {
width: 690rpx;
width: 100%;
}
.swiper {
height: 300rpx;
}
.swiper-box {
height: 150px;
}
.swiper-item {
/* #ifndef APP-NVUE */
display: flex;
/* #endif */
flex-direction: column;
justify-content: center;
align-items: center;
color: #fff;
height: 300rpx;
line-height: 300rpx;
}
.card-box{
padding-bottom: 60px;
margin-bottom: 60px;
}
@media screen and (min-width: 500px) {
.uni-swiper-dot-box {
width: 400px;
/* #ifndef APP-NVUE */
margin: 0 auto;
/* #endif */
margin-top: 8px;
}
.image {
width: 100%;
}
}
</style>