import React from 'react' import * as mobx from 'mobx' import { inject, observer } from 'mobx-react' import { WeaTop, WeaTab, WeaFormItem, WeaRightMenu, WeaAlertPage, WeaNewScrollPagination } 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 '../../style/card.less'; import FormItem from './FormItem'; import IframeItem from './IframeItem'; import AnchorDetect from './AnchorDetect'; import { renderNoright } from '../../util'; // 从util文件引入公共的方法 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,//激活的锚点 detectElements: [], // 受监控元素,可能存在空项 } this.flag = false; // 点击Anchor菜单项,不执行监听滚动事件 } 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; resourceCard.init(); this.buildDetectElements(); //生成受监控元素 } buildDetectElements = () => { const { resourceCard } = this.props,{ data } = resourceCard; data.anchorList.map((item,index) => { item.activity = index; item.offset = document.getElementById(item.id).offsetTop + document.getElementById(item.id).clientHeight; }) this.setState({ detectElements:data.anchorList }) } onScrollEnd = () => { const { resourceCard } = this.props; resourceCard.scrollLoading = true; resourceCard.iframeList.push({ id:"job", title:"岗位管理", url:'/spa/organization/static/index.html#/main/organization/companyExtend/7' }) setTimeout(() => { resourceCard.scrollLoading = false; }, 2000); }; handleMenuClick = (e) => { console.log('click', e); } onScroll = (event) => { const postion = event.target.scrollTop; let getActivityCurrent = this.state.activity; this.state.detectElements.map((item,index) => { if(postion >= document.getElementById(item.id).offsetTop &&postion <= item.offset){ return getActivityCurrent = item.activity; } }) this.setState({ activity: getActivityCurrent }) } scrollToAnchor = (anchorName,index) => { if (anchorName) { // 找到锚点 let anchorElement = document.getElementById(anchorName); // 如果对应id的锚点存在,就跳转到锚点 if (anchorElement) { anchorElement.scrollIntoView({ block: 'start', behavior: 'smooth' }); } } } render() { const { resourceCard } = this.props, { height, scrollLoading, offset, overtime, intervalTime, data, iframeList, } = resourceCard; const menu = ( 第一个菜单项 第二个菜单项 第三个菜单项 ); return (
{data.user.name} {data.user.sex == 0 ? : }
{data.user.email} {data.user.phone}
账号类型: {data.user.belongTo} 状态: {data.user.status}

流程总数

{data.statistical.workflowCount}

文档总数

{data.statistical.docCount}

我的客户

{data.statistical.cusCount}

我的协作

{data.statistical.collaborationCount}

微博总数

{data.statistical.weiboCount}

{ data.formItems.map((item,index)=>{ return( ) }) } { iframeList.map((item,index) => { return( ) }) }
) } }