You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
4.7 KiB
136 lines
4.7 KiB
import React from 'react';
|
|
import Taro from '@tarojs/taro';
|
|
import { View, Button, Image } from '@tarojs/components';
|
|
import { logout } from '@/actions/auth';
|
|
import { getLogoutUrl } from '@/services/api';
|
|
import cfg from '../../config';
|
|
import { getState } from '../../store/globalState';
|
|
import './index.scss';
|
|
import headImg from '../../static/img/my/head.png';
|
|
import moreImg from '../../static/img/my/more.svg';
|
|
import pswdImg from '../../static/img/my/pswd.svg';
|
|
import reportImg from '../../static/img/my/report.svg';
|
|
|
|
import Common from '../../components/echartForWx/common'; // 如果这行删掉微信小程序编译就一直死循环,待解决
|
|
|
|
const { webUrl } = cfg;
|
|
|
|
const Index = ({ ...props }) => {
|
|
const userInfo = Taro.getStorageSync('userInfo') || {};
|
|
const isSuperAdmin = userInfo && userInfo.username === 'SuperAdmin' ? true : false
|
|
const isAdmin = userInfo && userInfo.isAdmin == true ? true : false
|
|
|
|
const changePassword = () => {
|
|
Taro.navigateTo({ url: '/packages/changePassword/index' })
|
|
}
|
|
|
|
const toMyReport = (kind) => {
|
|
Taro.navigateTo({
|
|
url: `/packages/patrolView/index?filter=my&kind=${kind}`
|
|
})
|
|
}
|
|
|
|
const toPatrolReport = (kind) => {
|
|
Taro.navigateTo({
|
|
url: `/packages/patrol/index?type=edit&kind=${kind}`
|
|
})
|
|
}
|
|
|
|
const onLogout = () => {
|
|
Taro.showModal({
|
|
title: '提示',
|
|
content: '确定退出登录吗',
|
|
success: function (res) {
|
|
let token = getState('token') || Taro.getStorageSync('token')
|
|
if (res.confirm) {
|
|
logout(getLogoutUrl(), { token }).then(() => {
|
|
Taro.reLaunch({
|
|
url: '/pages/auth/login/login'
|
|
});
|
|
});
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
function judgeRight(code) {
|
|
return userInfo && userInfo.userResources && userInfo.userResources.some(item => item.resourceId === code)
|
|
}
|
|
|
|
return (
|
|
<View className='page'>
|
|
<View className='myBox'>
|
|
<View className='my-top'>
|
|
<Image className='my-portrait' src={headImg} />
|
|
<View className='my-item'>
|
|
<View className='my-username'>{userInfo.name}</View>
|
|
<View className='my-phone'>{userInfo.phone}</View>
|
|
</View>
|
|
</View>
|
|
</View>
|
|
|
|
{
|
|
judgeRight('WXPATROLREPORT') ?
|
|
<View className='box' onClick={isSuperAdmin || isAdmin ? () => toPatrolReport('patrol') : () => toMyReport('patrol')}>
|
|
<Image className='box-img' src={reportImg} />
|
|
<View className='box-txt'>
|
|
{isSuperAdmin || isAdmin ? '巡查上报' : '巡查上报'}
|
|
</View>
|
|
<Image className='img' src={moreImg} />
|
|
</View> : ''
|
|
}
|
|
{
|
|
judgeRight('WXMAINTENANCEREPORT') ?
|
|
<View className='box' onClick={isSuperAdmin || isAdmin ? () => toPatrolReport('conserve') : () => toMyReport('conserve')}>
|
|
<Image className='box-img' src={reportImg} />
|
|
<View className='box-txt'>
|
|
{isSuperAdmin || isAdmin ? '养护上报' : '养护上报'}
|
|
</View>
|
|
<Image className='img' src={moreImg} />
|
|
</View>
|
|
: ''
|
|
}
|
|
{
|
|
judgeRight('WXBUILDINGROAD') ?
|
|
<View className='box' onClick={isSuperAdmin || isAdmin ? () => toPatrolReport('road') : () => toMyReport('road')}>
|
|
<Image className='box-img' src={reportImg} />
|
|
<View className='box-txt'>
|
|
{isSuperAdmin || isAdmin ? '在建项目上报' : '在建项目'}
|
|
</View>
|
|
<Image className='img' src={moreImg} />
|
|
</View> : ''
|
|
}
|
|
{
|
|
judgeRight('WXFEEDBACKMANAGE') ?
|
|
<View className='box' onClick={isSuperAdmin || isAdmin ? () => toPatrolReport('anomaly') : () => toMyReport('anomaly')}>
|
|
<Image className='box-img' src={reportImg} />
|
|
<View className='box-txt'>
|
|
{isSuperAdmin || isAdmin ? '异常反馈上报' : '异常反馈'}
|
|
</View>
|
|
<Image className='img' src={moreImg} />
|
|
</View>
|
|
: ''
|
|
}
|
|
{
|
|
judgeRight('WXTODOANDONE') ?
|
|
<View className='box' onClick={() => toMyReport('handle')}>
|
|
<Image className='box-img' src={reportImg} />
|
|
<View className='box-txt'>
|
|
已办事项
|
|
</View>
|
|
<Image className='img' src={moreImg} />
|
|
</View>
|
|
: ''
|
|
}
|
|
<View className='box' onClick={changePassword} style={{ marginTop: '2rpx' }}>
|
|
<Image className='box-img' src={pswdImg} />
|
|
<View className='box-txt'>修改密码</View>
|
|
<Image className='img' src={moreImg} />
|
|
</View>
|
|
|
|
<View className='logout' onClick={onLogout}>退出登录</View>
|
|
|
|
</View>
|
|
);
|
|
}
|
|
export default Index;
|
|
|