Files
app-govern/pages/index/index.vue
2023-04-04 08:47:19 +08:00

230 lines
7.2 KiB
Vue

<template>
<Cn-page :loading="loading" noPadding>
<view slot="body">
<view class="index">
<!-- 运维 -->
<YunWei v-if="userInfo.role == 1" :store="store" :projectList="projectList" :projectType="projectType" />
<!-- 专职 -->
<ZhuanZhi v-if="userInfo.role == 2" :store="store" :projectList="projectList" :projectType="projectType" />
<!-- 工程 -->
<GongCheng v-if="userInfo.role == 3" :store="store" :projectList="projectList" :projectType="projectType" />
<!-- 主用户 -->
<ZhuYongHu v-if="userInfo.role == 4" :store="store" :projectList="projectList" :projectType="projectType" />
<!-- 子用户 -->
<ZiYongHu v-if="userInfo.role == 5" :store="store" :projectList="projectList" :projectType="projectType" />
<YouKe v-if="userInfo.role == 6"> </YouKe>
<uni-fab ref="fab" direction="vertical" horizontal="right" vertical="bottom" :content="content"
@trigger="trigger" />
</view>
</view>
</Cn-page>
</template>
<script>
import YunWei from "./comp/indexYunWei.vue";
import GongCheng from "./comp/indexGongCheng.vue";
import ZhuYongHu from "./comp/indexZhuYongHu.vue";
import ZiYongHu from "./comp/indexZiYongHu.vue";
import ZhuanZhi from "./comp/indexZhuanZhi.vue";
import YouKe from "./comp/indexYouKe.vue";
import list from '../../common/js/list'
import { getProjectList } from '../../common/api/project'
export default {
mixins: [list],
components: {
YunWei,
GongCheng,
ZhuYongHu,
ZiYongHu,
ZhuanZhi,
YouKe
},
data() {
return {
loading: true,
userInfo: {
role: 4
},
projectList: [],
projectType: [
{
text: '全部类型',
value: 0
},
{
text: '监测',
value: 1
},
{
text: '用能',
value: 2
},
{
text: '环境',
value: 3
},
{
text: '安防',
value: 4
},
{
text: '其他',
value: 5
}
],
}
},
computed: {
content() {
let arr = [1, 3, 4]
let content = [{
iconPath: '/static/mine3.png',
text: '运维管理',
}, {
iconPath: '/static/mine3.png',
text: '专职管理',
}, {
iconPath: '/static/mine3.png',
text: '工程',
}, {
iconPath: '/static/mine3.png',
text: '主用户',
}, {
iconPath: '/static/mine3.png',
text: '子用户',
}, {
iconPath: '/static/mine3.png',
text: '游客',
}
]
return content
}
},
methods: {
send() {
uni.createPushMessage({
title: '灿能',
content: '灿能推送',
success: function (res) {
console.log('推送成功')
},
fail: function (res) {
console.log('推送失败')
}
})
},
trigger(e) {
if (e.index === 500) {
uni.navigateTo({
url: '/pages/device/new'
})
} else {
this.userInfo.role = e.index + 1
uni.setStorageSync('userInfo', {
role: e.index + 1
})
let roleName = ''
switch (e.index + 1) {
case 1:
roleName = '运维管理'
uni.removeTabBarBadge({
index: 1
})
break
case 2:
roleName = '专职管理'
uni.removeTabBarBadge({
index: 1
})
break
case 3:
roleName = '工程'
uni.removeTabBarBadge({
index: 1
})
break
case 4:
roleName = '主用户'
uni.setTabBarBadge({
index: 1,
text: '6'
})
break
case 5:
roleName = '子用户'
uni.setTabBarBadge({
index: 1,
text: '6'
})
break
case 6:
roleName = '游客'
uni.setTabBarBadge({
index: 1,
text: '6'
})
break
}
this.$util.toast(roleName + '角色切换成功')
}
this.$refs.fab.close()
},
init() {
this.store = this.DataSource('/EquipmentDelivery/queryEquipmentByProject')
this.store.reload()
this.store.firstCallBack = () => {
this.loading = false
console.log(this.store);
}
this.getProjectList()
},
getProjectList() {
getProjectList({
currentPage: 1,
pageSize: 9999
}).then(res => {
console.log(res)
this.projectList = [{
text: '全部项目',
value: ''
}, ...res.data.records.map(item => {
return {
text: item.name,
value: item.id
}
})]
})
}
},
onLoad(options) {
this.init()
},
onShow() {
this.userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
if (!this.userInfo) {
this.userInfo = {
role: 4
}
uni.setStorageSync('userInfo', {
role: 4
})
}
if (this.userInfo.role == 4 || this.userInfo.role == 5 || this.userInfo.role == 6) {
uni.setTabBarBadge({
index: 1,
text: '6'
})
}
}
}
</script>
<style lang="scss">
.index {
padding: 34rpx 0 0;
}
/deep/ .uni-card {
background: $uni-theme-white;
}
</style>