|
|
|
@ -2,7 +2,7 @@ import * as React from 'react'; |
|
|
|
|
import { ISummaryWebPartProps } from './ISummaryWebPartProps'; |
|
|
|
|
import { Spinner, SpinnerSize } from 'office-ui-fabric-react/lib/Spinner'; |
|
|
|
|
import SummaryGlobalComponent from './SummaryGlobalComponent/SummaryGlobalComponent' |
|
|
|
|
import { PrimaryButton } from 'office-ui-fabric-react'; |
|
|
|
|
import { PrimaryButton, MessageBar, MessageBarType } from 'office-ui-fabric-react'; |
|
|
|
|
import { IPageData } from '../interfaces/IPageData'; |
|
|
|
|
import {sp, Web} from '@pnp/sp' |
|
|
|
|
|
|
|
|
@ -11,6 +11,7 @@ export interface IComponentState{ |
|
|
|
|
isLoaded: boolean; |
|
|
|
|
isBlank: boolean; |
|
|
|
|
prjID: string | number; |
|
|
|
|
isPerm: boolean; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export default class SummaryWebPart extends React.Component<ISummaryWebPartProps, IComponentState > { |
|
|
|
@ -18,15 +19,24 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps |
|
|
|
|
pageData: null, |
|
|
|
|
isLoaded: false, |
|
|
|
|
isBlank: false, |
|
|
|
|
prjID: '' |
|
|
|
|
prjID: '', |
|
|
|
|
isPerm: false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
componentDidMount(){ |
|
|
|
|
const {requestUrl,context} = this.props; |
|
|
|
|
let relUrl = context.pageContext.web.serverRelativeUrl |
|
|
|
|
let relUrl = context.pageContext.web.serverRelativeUrl; |
|
|
|
|
let projectCode = relUrl ? relUrl.split('/')[relUrl.split('/').length - 1] : ''; |
|
|
|
|
|
|
|
|
|
let web = new Web('http://portal.vertex.spb.ru/PMIS'); |
|
|
|
|
let thisWeb = new Web('http://portal.vertex.spb.ru/PMIS/' + projectCode); |
|
|
|
|
|
|
|
|
|
thisWeb.lists.getByTitle('CustomPerm').items.get().then(e => { |
|
|
|
|
if(e.length){ |
|
|
|
|
this.setState({ isPerm: true }) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
web.lists.getById('eeba7db6-4c28-41a2-a54e-82a2aaf0ca15').items.filter("Code_project eq '" + projectCode +"'").select('ID').get().then(e=>{ |
|
|
|
|
this.setState({prjID: e[0].ID}) |
|
|
|
|
}) |
|
|
|
@ -45,8 +55,8 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public render(): React.ReactElement<ISummaryWebPartProps> { |
|
|
|
|
const { pageData, isLoaded, isBlank } = this.state; |
|
|
|
|
return isLoaded ? ( |
|
|
|
|
const { pageData, isLoaded, isBlank, isPerm } = this.state; |
|
|
|
|
return isPerm ? isLoaded ? ( |
|
|
|
|
<div style={{ display: "flex", flexDirection: "column" }}> |
|
|
|
|
<div style={{ display: "flex", justifyContent: "flex-end" }}> |
|
|
|
|
<PrimaryButton |
|
|
|
@ -68,6 +78,8 @@ export default class SummaryWebPart extends React.Component<ISummaryWebPartProps |
|
|
|
|
ariaLive="assertive" |
|
|
|
|
size={SpinnerSize.large} |
|
|
|
|
/> |
|
|
|
|
); |
|
|
|
|
) : <MessageBar messageBarType={MessageBarType.error} isMultiline={false} dismissButtonAriaLabel="Close"> |
|
|
|
|
{'Отсутствует доступ к странице'} |
|
|
|
|
</MessageBar> |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|