193 lines
4.8 KiB
Vue
Raw Normal View History

<template>
<view class="specialOperations">
<view class="fixedheader">
<headers :themeType="true" :showBack="true">
<view class="headerName">
集中防腐管理
</view>
</headers>
</view>
<view class="sp-menu">
<!-- <view class="sp-menu" v-if="menuList.length > 0"> -->
<!-- <view class="menu-item" @click="handleNavigateTo(item.path)" v-for="(item,i) in menuList">
<view class="item-icon">
<image :src="'/static/specialOperations/'+item.iconImg"></image>
</view>
<view class="item-text">
<text>{{item.menuName}}</text>
</view>
</view> -->
<view class="menu-item" v-for="item in dataList" :key="item.id" @click="handleNavigateTo(item.id)">
<view class="item-icon">
<image :src="item.urlImage"></image>
</view>
<view class="item-text">
<text>{{item.appName}}</text>
</view>
</view>
<!-- <view class="menu-item" @click="handleNavigateTo(6)">
<view class="item-icon">
<image src="@/static/specialOperations/groundSafe.png"></image>
</view>
<view class="item-text">
<text>土建工程作业</text>
</view>
</view>
<view class="menu-item" @click="handleNavigateTo(3)">
<view class="item-icon">
<image src="@/static/specialOperations/bindPlatePlug.png"></image>
</view>
<view class="item-text">
<text>无损作业</text>
</view>
</view> -->
</view>
<levitatedsphere :x="100" :y="80"></levitatedsphere>
</view>
</template>
<script>
import levitatedsphere from "@/components/levitatedsphere/levitatedsphere.vue"
import headers from '../../../components/headers/headers.vue'
import centralizeAntisepticEntrust from "@/static/bthgIcon/centralizeAntisepticEntrust.png"
import centralizeAntisepticPlanDeclaration from "@/static/bthgIcon/centralizeAntisepticPlanDeclaration.png"
export default {
navigationBarTitleText: '页面标题',
data() {
return {
userInfo: {},
moduleList: [],
menuList: [],
dataList: [{
id: 1,
urlImage: centralizeAntisepticEntrust,
appName: "集中防腐委托",
appPath: '/project/constructionManage/centralizeAntisepticEntrust'
}, {
id: 2,
urlImage: centralizeAntisepticPlanDeclaration,
appName: "集中防腐计划申报",
appPath: '/project/constructionManage/centralizeAntisepticPlanDeclaration'
}, ]
};
},
onReady() {
},
created() {
},
mounted() {
},
onLoad() {
this.haveModuleList = uni.getStorageSync("haveModuleList");
this.dataListUp();
},
methods: {
dataListUp() {
this.dataList = this.dataList.filter(item => {
const res = this.$recursiveSearch(this.haveModuleList, item.appPath)
// console.log(5555555, res);
// debugger
return res ? true : false
});
// console.log(this.haveModuleList)
},
handleNavigateTo(val) {
if (val === 1) uni.navigateTo({
url: "./centralizeAntisepticEntrust/index"
})
if (val === 2) uni.navigateTo({
url: "./centralizeAntisepticPlanDeclaration/index"
})
// if(val === 3) uni.navigateTo({ url: "./losslessWorks/work" })
// if(val === 6) uni.navigateTo({ url: "./buildingProjectWorks/work" })
// if(val === 7) uni.navigateTo({ url: "./groundSafe/work" })
// if(val === 8) uni.navigateTo({ url: "./openCircuit/work" })
}
}
}
</script>
<style lang="scss">
.specialOperations {
background-image: url(@/static/bthgIcon/main_bg1.png);
background-repeat: no-repeat;
background-size: 100%;
padding-bottom: 20rpx;
height: 100%;
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 2;
:deep( .headerBox ){
background-color: transparent;
}
}
.sp-menu {
margin: 0 38rpx;
padding-top: 200rpx;
// height: 1200rpx;
// height: 1000rpx;
// background-color: darkred;
display: grid;
grid-gap: 24rpx;
grid-template-columns: repeat(2, 1fr);
// grid-template-columns: repeat(auto-fill, 220rpx);
// place-items: center;
// justify-content: center;
.menu-item {
// width: 220rpx;
height: 274rpx;
// background-color: darkblue;
box-shadow: 0px 8rpx 15rpx 0px rgba(219, 229, 255, 0.6);
border-radius: 10rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
background-color: #ffffff;
.item-icon {
// width: 220rpx;
// height: 220rpx;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 14rpx;
image {
width: 120rpx;
height: 120rpx;
}
}
.item-text {
align-items: center;
// width: 220rpx;
height: 54rpx;
display: flex;
justify-content: center;
align-items: center;
text {
text-align: center;
display: flex;
justify-content: center;
}
}
}
}
}
</style>