409 lines
9.2 KiB
Vue
409 lines
9.2 KiB
Vue
|
|
<template>
|
|||
|
|
|
|||
|
|
<view class="work-container" style="">
|
|||
|
|
|
|||
|
|
<!-- <uni-nav-bar shadow right-icon="plusempty" @clickRight="rightClick" :fixed="true" :shadow="false"
|
|||
|
|
:border="false" title="工作台" /> -->
|
|||
|
|
<u-sticky>
|
|||
|
|
<!-- <view style="display: flex; width: 100vw;position: absolute;z-index: 1;"> -->
|
|||
|
|
<uni-search-bar style="width: 100%;position: absolute;top: 10px;" bgColor="#FFFFFF" placeholder="请输入搜索内容"
|
|||
|
|
ref="searchBar" cancelButton="none" @focus="goSearchClick" />
|
|||
|
|
<!-- </view> -->
|
|||
|
|
</u-sticky>
|
|||
|
|
<u-back-top :scroll-top="scrollTop" style="bottom: 100px;"></u-back-top>
|
|||
|
|
<view class="uni-flex uni-column">
|
|||
|
|
<view class="flex-item flex-item-V">
|
|||
|
|
<image :src="src" mode="aspectFill" style="width: 100%;height: 200rpx;" />
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
<view v-for="(item, index) in datalist" :key="index">
|
|||
|
|
<u-grid v-if="shouldShowGrid(item.data)" :border="false" col="4"
|
|||
|
|
style="background-color: #fff;margin: 10px 0;border-radius: 3px;">
|
|||
|
|
<uni-title type="h3" :title="item.name" style="margin: 10px 10px;width: 100%;flex: auto;"></uni-title>
|
|||
|
|
<u-grid-item v-for="(data,dataIndex) in item.data" :key="dataIndex" @click="selectgrid(data)"
|
|||
|
|
v-if="checkPermi([data.permission])">
|
|||
|
|
<uni-icons v-if="data.icon.includes('icon')" class="uni-icons"
|
|||
|
|
:style="{'background': data.color,'-webkit-background-clip': 'text','-webkit-text-fill-color': 'transparent',}"
|
|||
|
|
custom-prefix="iconfont" :type="data.icon" color="transparent" size="30" />
|
|||
|
|
<uni-icons v-else class="uni-icons" :type="data.icon"
|
|||
|
|
:style="{'background': data.color,'-webkit-background-clip': 'text','-webkit-text-fill-color': 'transparent'}"
|
|||
|
|
color="transparent" size="30" />
|
|||
|
|
<text class="text">{{data.style.navigationBarTitleText}}</text>
|
|||
|
|
</u-grid-item>
|
|||
|
|
</u-grid>
|
|||
|
|
</view>
|
|||
|
|
<!-- <u-picker :show="showMenu" @close="Menuclose" @confirm="confirm" @cancel="cancel" :columns="columns"
|
|||
|
|
:closeOnClickOverlay="true"></u-picker> -->
|
|||
|
|
<u-action-sheet :actions="columns" @select="confirm" cancelText="取消" @close="cancel" title="请选择模式"
|
|||
|
|
:show="showMenu" :closeOnClickOverlay="true"></u-action-sheet>
|
|||
|
|
<u-action-sheet :actions="list" @select="selectTask" cancelText='取消' @close="close" :closeOnClickOverlay="true"
|
|||
|
|
:closeOnClickAction="true" description='请选择任务' :show="show"></u-action-sheet>
|
|||
|
|
<u-action-sheet :actions="invQuicklist" @select="selectTask" cancelText='取消' @close="invQuickclose"
|
|||
|
|
:closeOnClickOverlay="true" :closeOnClickAction="true" description='请选择盘点类型'
|
|||
|
|
:show="invQuickshow"></u-action-sheet>
|
|||
|
|
|
|||
|
|
<!-- <view>
|
|||
|
|
<u-sticky>
|
|||
|
|
<u-tabs
|
|||
|
|
:current="currentTab"
|
|||
|
|
:list="datalist"
|
|||
|
|
@click="handleTabClick"
|
|||
|
|
></u-tabs>
|
|||
|
|
</u-sticky>
|
|||
|
|
|
|||
|
|
<view v-for="(item, index) in datalist" :key="index"> -->
|
|||
|
|
<!-- 锚点内容 -->
|
|||
|
|
<!-- <view :id="'section'+index" class="section">
|
|||
|
|
<view class="grid-body" style="background-color: #fff;margin: 10px 0;border-radius: 3px;">
|
|||
|
|
<uni-title type="h3" :title="item.name" style="margin-left: 10px;"></uni-title>
|
|||
|
|
<uni-grid :column="4" :showBorder="false" @change="changeGrid10" :open="true" v-for="(data,dataIndex) in item.data">
|
|||
|
|
<uni-grid-item :index="dataIndex+1" >
|
|||
|
|
<view class="grid-item-box" style="">
|
|||
|
|
<uni-icons class="uni-icons" custom-prefix="iconfont" :type="data.icon" :color="data.color" size="30"></uni-icons>
|
|||
|
|
</view>
|
|||
|
|
<text class="text">{{data.style.navigationBarTitleText}}</text>
|
|||
|
|
</uni-grid-item>
|
|||
|
|
</uni-grid>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</view> -->
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import {
|
|||
|
|
version
|
|||
|
|
} from "vue"
|
|||
|
|
import datalist from "./indexList.json"
|
|||
|
|
import {
|
|||
|
|
checkPermi,
|
|||
|
|
checkRole
|
|||
|
|
} from "@/utils/permission";
|
|||
|
|
export default {
|
|||
|
|
mounted() {
|
|||
|
|
// #ifdef APP-PLUS
|
|||
|
|
var version = plus.runtime.version;
|
|||
|
|
// #endif
|
|||
|
|
},
|
|||
|
|
components: {},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
invQuickshow: false,
|
|||
|
|
showMenu: false,
|
|||
|
|
scrollTop: 0,
|
|||
|
|
src: '/static/images/banner/mes_banner.jpg',
|
|||
|
|
datalist: datalist,
|
|||
|
|
show: false,
|
|||
|
|
list: [{
|
|||
|
|
name: '保养任务',
|
|||
|
|
path: '/pages/tpm/maintainTask'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '点检任务',
|
|||
|
|
path: '/pages/tpm/checkTask'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '维修任务',
|
|||
|
|
path: '/pages/tpm/repairTask'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
invQuicklist: [{
|
|||
|
|
name: '快速盘点',
|
|||
|
|
path: '/pages/wms/stock/addInvQuick?key=1'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '期初盘点',
|
|||
|
|
path: '/pages/wms/stock/addInvQuick?key=2'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
// 右边菜单内容
|
|||
|
|
options: [{
|
|||
|
|
value: 'update',
|
|||
|
|
text: '选修'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
value: 'forbit',
|
|||
|
|
text: '禁止'
|
|||
|
|
}
|
|||
|
|
],
|
|||
|
|
// columns: [
|
|||
|
|
// ['常规功能', 'MES智能终端']
|
|||
|
|
// ],
|
|||
|
|
columns: [{
|
|||
|
|
name: '常规功能',
|
|||
|
|
path: '/pages/work/index'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: 'MES智能终端',
|
|||
|
|
path: '/pages/work/mesIT'
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onPageScroll(e) {
|
|||
|
|
this.scrollTop = e.scrollTop;
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
shouldShowGrid(dataList) {
|
|||
|
|
for (const data of dataList) {
|
|||
|
|
if (this.checkPermi([data.permission])) {
|
|||
|
|
return true; // 如果有一个u-grid-item可以显示,则显示u-grid
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return false; // 如果没有一个u-grid-item可以显示,则不显示u-grid
|
|||
|
|
},
|
|||
|
|
checkPermi,
|
|||
|
|
Menuclose() {
|
|||
|
|
this.showMenu = false
|
|||
|
|
},
|
|||
|
|
confirm(e) {
|
|||
|
|
console.log(e)
|
|||
|
|
// if (e.value == '常规功能') {
|
|||
|
|
// this.$tab.reLaunch('/pages/work/index');
|
|||
|
|
// } else if (e.value == 'MES智能终端') {
|
|||
|
|
// this.$tab.reLaunch('/pages/work/mesIT');
|
|||
|
|
// }
|
|||
|
|
this.$tab.reLaunch(e.path);
|
|||
|
|
},
|
|||
|
|
cancel() {
|
|||
|
|
this.showMenu = false
|
|||
|
|
},
|
|||
|
|
onNavigationBarButtonTap(e) {
|
|||
|
|
console.log(e, "1231")
|
|||
|
|
this.showMenu = !this.showMenu;
|
|||
|
|
},
|
|||
|
|
rightClick() {
|
|||
|
|
console.log('rightClick');
|
|||
|
|
},
|
|||
|
|
selectgrid(item) {
|
|||
|
|
if (item) {
|
|||
|
|
if (item.path) {
|
|||
|
|
this.$tab.navigateTo(item.path);
|
|||
|
|
} else if (item.style.navigationBarTitleText == '任务查看') {
|
|||
|
|
this.show = true;
|
|||
|
|
} else if (item.style.navigationBarTitleText == '新增快速盘点') {
|
|||
|
|
this.invQuickshow = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
goSearchClick() {
|
|||
|
|
this.$tab.navigateTo("/pages/work/searchIndex/searchIndex");
|
|||
|
|
},
|
|||
|
|
selectTask(e) {
|
|||
|
|
console.log(e, "e");
|
|||
|
|
this.$tab.navigateTo(e.path);
|
|||
|
|
},
|
|||
|
|
close() {
|
|||
|
|
this.show = false;
|
|||
|
|
},
|
|||
|
|
invQuickclose() {
|
|||
|
|
this.invQuickshow = false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss">
|
|||
|
|
.menu {
|
|||
|
|
position: fixed;
|
|||
|
|
top: 44px;
|
|||
|
|
right: 0;
|
|||
|
|
width: 120px;
|
|||
|
|
background-color: #fff;
|
|||
|
|
border: 1px solid #ccc;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.wrap {
|
|||
|
|
height: 200vh;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.work-container {
|
|||
|
|
// background: white;
|
|||
|
|
min-height: 50vh;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tabs {
|
|||
|
|
position: sticky;
|
|||
|
|
z-index: 970;
|
|||
|
|
top: 0px;
|
|||
|
|
background-color: #fff;
|
|||
|
|
width: 100vw;
|
|||
|
|
|
|||
|
|
.tabsStyle {
|
|||
|
|
box-shadow: 0 2rpx 6rpx 0 rgba(153, 153, 153, 0.2);
|
|||
|
|
|
|||
|
|
::v-deep {
|
|||
|
|
.u-tabs {
|
|||
|
|
box-shadow: 0px 4px 6px 0 rgba(153, 153, 153, 0.2);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* #ifndef APP-NVUE */
|
|||
|
|
page {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
// background-color: #fff;
|
|||
|
|
min-height: 100%;
|
|||
|
|
height: auto;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
view {
|
|||
|
|
// font-size: 20px;
|
|||
|
|
line-height: inherit;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* #endif */
|
|||
|
|
|
|||
|
|
.text {
|
|||
|
|
text-align: center;
|
|||
|
|
// font-size: 30rpx;
|
|||
|
|
margin-top: 10px;
|
|||
|
|
// color: #fff;
|
|||
|
|
position: relative;
|
|||
|
|
bottom: 10px;
|
|||
|
|
font-weight: bold;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.grid-item-box {
|
|||
|
|
flex: 1;
|
|||
|
|
/* #ifndef APP-NVUE */
|
|||
|
|
display: flex;
|
|||
|
|
/* #endif */
|
|||
|
|
flex-direction: column;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
// padding: 15px 0;
|
|||
|
|
margin: 10px 21px;
|
|||
|
|
// background-color: #0F6C8E;
|
|||
|
|
border-radius: 7px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
.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;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@media screen and (min-width: 320px) {
|
|||
|
|
.uni-swiper-dot-box {
|
|||
|
|
width: 400px;
|
|||
|
|
/* #ifndef APP-NVUE */
|
|||
|
|
margin: 0 auto;
|
|||
|
|
/* #endif */
|
|||
|
|
margin-top: 8px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.image {
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//竖屏
|
|||
|
|
@media screen and (min-width: 600px) and (orientation:portrait) {
|
|||
|
|
.grid-item-box {
|
|||
|
|
margin: 20px 40px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.text {
|
|||
|
|
bottom: 10px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.uni-icons {
|
|||
|
|
font-size: 50px !important;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//横屏
|
|||
|
|
@media screen and (min-width: 600px) and (orientation:landscape) {
|
|||
|
|
// .uni-swiper-dot-box {
|
|||
|
|
// width: 400px;
|
|||
|
|
// /* #ifndef APP-NVUE */
|
|||
|
|
// margin: 0 auto;
|
|||
|
|
// /* #endif */
|
|||
|
|
// margin-top: 8px;
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
.image {
|
|||
|
|
width: 100%;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.grid-item-box {
|
|||
|
|
margin: 50px 70px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.text {
|
|||
|
|
bottom: 10px;
|
|||
|
|
font-size: 24px
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.uni-icons {
|
|||
|
|
font-size: 60px !important;
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep .uni-btn-icon {
|
|||
|
|
font-size: 60px !important;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep .uniui-search {
|
|||
|
|
font-size: 40px
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep .uni-h3 {
|
|||
|
|
font-size: 24px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep .uni-searchbar__box {
|
|||
|
|
height: 50px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
::v-deep.uni-searchbar__text-placeholder {
|
|||
|
|
font-size: 24px
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep .u-action-sheet__header__title {
|
|||
|
|
font-size: 24px
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
::v-deep .u-icon__icon .uicon-close {
|
|||
|
|
font-size: 35px
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep.u-action-sheet__item-wrap__item__name {
|
|||
|
|
font-size: 24px
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.u-action-sheet__cancel-text {
|
|||
|
|
font-size: 24px
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|