import React from 'react' import * as mobx from 'mobx' import { inject, observer } from 'mobx-react' import { WeaTop, WeaTab, WeaFormItem, WeaRightMenu, WeaAlertPage, WeaNewScrollPagination, WeaSlideModal } from 'ecCom' import { Row, Col, Spin, Modal, Button, message, Switch, Menu, Dropdown, Icon, Anchor } from 'antd'; import { WeaSwitch, WeaTableNew } from 'comsMobx'; import { i18n } from '../../public/i18n'; import FormItem from './FormItem'; import IframeItem from './IframeItem'; import AnchorDetect from './AnchorDetect'; import { renderNoright } from '../../util'; // 从util文件引入公共的方法 import VersionsSlider from '../VersionsSlider'; import isEmpty from 'lodash/isEmpty' const toJS = mobx.toJS; const confirm = Modal.confirm; @inject('resourceCard') @observer export default class ResourceCard extends React.Component { constructor(props) { super(props); this.state = { activity: 0,//激活的锚点 } } componentWillMount() { } componentDidMount() { this.init(); } // componentDidUpdate(prevProps) { // // 判断items是否更新 // if (prevProps.items !== this.props.items // && this.isDiff(prevProps.items, this.props.items)) { // // 重新生成受监控元素 // this.buildDetectElements(this.props.items); // } // } // // 判断两数组是否一摸一样 // isDiff = (before, after) => { // if (before.length !== after.length) return false; // // 先对数组进行排序 // const beforeTemp = [...before].sort(), afterTemp = [...after].sort(); // for (let i = 0; i < beforeTemp.length; i++) { // if (beforeTemp[i] !== afterTemp[i]) { // return false; // } // } // return true; // }; componentWillUnmount() { } componentWillReceiveProps(nextProps) { if (this.props.location.key !== nextProps.location.key) { this.init(); } } init() { const { resourceCard } = this.props; let { hash } = window.location; hash = hash.split("?")[0]; let id = hash.match("[^/]+(?=/$|$)")[0]; resourceCard.userid = id; resourceCard.init(); } onScrollEnd = () => { // resourceCard.scrollLoading = true; // setTimeout(() => { // // resourceCard.data.iframeList.push({ // // id: "job", // // title: "岗位管理", // // url: '/spa/organization/static/index.html#/main/organization/companyExtend/7' // // }) // resourceCard.scrollLoading = false; // }, 2000); }; // buildDetectElements = () => { // const { // resourceCard // } = this.props,{ // data // } =resourceCard; // !this.isEmptyObject(data) && data.anchorList.map((item, index) => { // item.activity = index; // item.offset = document.getElementById(item.id).offsetTop + document.getElementById(item.id).clientHeight; // }) // resourceCard.setDetectElements(data.anchorList); // } handleMenuClick = (e) => { const { resourceCard } = this.props, { data } = resourceCard; window.open(e.item.props.url.replaceAll("${id}",data.user.id),"_blank") } view = () => { const { resourceCard } = this.props; resourceCard.selectVersions(); } onClose = () => { const { resourceCard } = this.props; resourceCard.open = false; } onScroll = (event) => { const { resourceCard } = this.props,{ detectElements, flag } = resourceCard; const postion = event.target.scrollTop; let getActivityCurrent = this.state.activity; detectElements.map((item, index) => { if (postion >= document.getElementById(item.id).offsetTop && postion <= item.offset) { return getActivityCurrent = item.activity; } }) if(event.target.scrollHeight == postion + event.target.clientHeight) { getActivityCurrent = detectElements.length - 1 } this.setState({ activity: getActivityCurrent }) } scrollToAnchor = (anchorName, index) => { const { resourceCard } = this.props; let _this = this; if (anchorName) { // 找到锚点 let anchorElement = document.getElementById(anchorName); // 如果对应id的锚点存在,就跳转到锚点 if (anchorElement) { anchorElement.scrollIntoView({ block: 'start', behavior: 'smooth' }); } } } isEmptyObject(obj) { for (let key in obj) { return false; } return true; } render() { const { resourceCard } = this.props, { height, scrollLoading, offset, overtime, intervalTime, data, versionList, open } = resourceCard; const menu = (
); return ( !this.isEmptyObject(data) &&
流程总数
{data.statistical.workflowCount}
文档总数
{data.statistical.docCount}
我的客户
{data.statistical.cusCount}
我的协作
{data.statistical.collaborationCount}
微博总数
{data.statistical.weiboCount}