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 '../../style/card.less'; 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) => { window.open(e.item.props.url,"_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 = ( { !this.isEmptyObject(data) && data.buttons.slice(3).map((item,index) => { return ( {item.name} ) }) } ); return ( !this.isEmptyObject(data) &&
{data.user.name} {data.user.sex == 0 ? : }
{data.user.email} {data.user.phone}
账号类型: {data.user.accountType} 状态: {data.user.status}
{ data.buttons.slice(0,3).map((item,index) => { return ( ) }) } { data.buttons.length > 3 ? : '' }
{ window.open(`/spa/workflow/static/index.html#/main/workflow/listDoing?resourceid=${data.user.ecId}`)}}>

流程总数

{data.statistical.workflowCount}

{ window.open(`/spa/document/static/index.html#/main/document/search?viewcondition=2&doccreaterid=${data.user.ecId}`)}}>

文档总数

{data.statistical.docCount}

{ window.open(`/spa/crm/static/index.html#/main/crm/customer/hrmView?searchHrmId=${data.user.ecId}`)}}>

我的客户

{data.statistical.cusCount}

{ window.open(`/spa/cowork/static/index.html#/main/cowork/hrmview?searchHrmid=${data.user.ecId}`) }}>

我的协作

{data.statistical.collaborationCount}

{ window.open(`/spa/blog/static/index.html#/user/${data.user.ecId}`) }}>

微博总数

{data.statistical.weiboCount}

{ data.formItems.map((item, index) => { return ( ) }) } { data.iframeList.map((item, index) => { return ( ) }) }
departmentExtend.changeVersion(val)}/> :
暂无历史版本
} onClose={this.onClose} onAnimationEnd={() => console.log('onAnimationEnd')} />
) } }