2025-10-16 09:18:43 +08:00

190 lines
4.5 KiB
Vue

<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(2)">
<view class="item-icon">
<image src="@/static/bthgIcon/thematicActivitie.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 publicizReport from "@/static/bthgIcon/publicizReport.png"
import thematicActivitie from "@/static/bthgIcon/thematicActivitie.png"
export default {
navigationBarTitleText: '页面标题',
data() {
return {
userInfo: {},
moduleList: [],
menuList: [],
haveModuleList: [],
dataList: [{
id: 1,
urlImage: publicizReport,
appName: "采购状态表",
appPath: '/project/purchasingManage/purchaseStatusSheet'
}, {
id: 2,
urlImage: thematicActivitie,
appName: "监造周报",
appPath: '/project/purchasingManage/supervisionDaily'
}]
};
},
onReady() {
},
created() {
},
mounted() {
},
onLoad() {
this.haveModuleList = uni.getStorageSync("haveModuleList");
this.dataListUp();
},
methods: {
dataListUp() {
console.log(this.dataList)
// this.dataList = this.dataList.filter(item => {
// const res = this.$recursiveSearch(this.haveModuleList, item.appPath)
// console.log(5555555, res);
// // debugger
// return res ? true : false
// });
this.dataList = ['/project/guidancePartyBuilding/homePageBuilding'].some(item => {
const res = this.$recursiveSearch(this.haveModuleList, item)
console.log(5555555, res);
// debugger
return res ? true : false
}) ? this.dataList : [];
console.log(this.haveModuleList)
},
handleNavigateTo(val) {
if (val === 1) uni.navigateTo({
url: "./purchaseStatusSheet/index"
})
if (val === 2) uni.navigateTo({
url: "./supervisionDaily/index"
})
}
}
}
</script>
<style lang="scss">
.specialOperations {
background-image: url(@/static/bthgIcon/main_bg2.png);
background-repeat: no-repeat;
background-size: 100%;
padding-bottom: 20rpx;
min-height: 100%;
.fixedheader {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 2;
:deep( .headerBox ){
background-color: transparent !important;
// background-color: rgba(0,0,0,0.1);
}
}
.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: white;
.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>