weaver_trunk_cli/pc4mobx/hrm/components/OutsideTabkey1.js

147 lines
4.7 KiB
JavaScript

import React from 'react';
import {
inject,
observer
} from 'mobx-react';
import {
WeaTop,
WeaTab,
WeaOrgTree,
WeaEchart,
WeaYear,
WeaDialog,
WeaPopoverHrm,
WeaCheckbox,
WeaRadioGroup,
WeaRightMenu,
WeaTools,
WeaErrorPage,
WeaAlertPage,
WeaDatePicker,
WeaBrowser,
WeaNewScroll,
WeaSearchGroup
} from 'ecCom';
import {
WeaTableNew
} from 'comsMobx';
const WeaTable = WeaTableNew.WeaTable;
import {
Modal,
Row,
Col,
Button,
Spin,
Icon,
Calendar,
Tooltip,
Timeline
} from 'antd';
import '../style/checking.less';
import '../style/outside.less';
import * as mobx from 'mobx';
import isEmpty from 'lodash/isEmpty';
import cloneDeep from 'lodash/cloneDeep';
import toString from 'lodash/toString';
import moment from 'moment';
import * as Util from '../util/index';
import Map from '../coms/Map';
import loadjs from 'loadjs';
import {
i18n
} from '../public/i18n';
import {
WeaLocaleProvider
} from 'ecCom';
import {
carousel
} from '../util/index'
import {addContentPath} from '../util/index.js'
const getLabel = WeaLocaleProvider.getLabel;
const toJS = mobx.toJS;
@observer
export default class OutSideTabkey1 extends React.Component{
handlerPosition(item) {
const {
hrmOutside
} = this.props;
hrmOutside.updatePosition(item);
hrmOutside.updateVisible(true);
}
render() {
const {
hrmOutside
} = this.props;
let {
timeData
} = hrmOutside;
timeData = toJS(timeData);
return <Timeline ecId={`${this && this.props && this.props.ecId || ''}_Timeline@9hwzs2`} className="list-wrapper grayBG">
{
timeData && timeData.map((item,index) => {
return <Timeline.Item ecId={`${this && this.props && this.props.ecId || ''}_undefined@u1y29p@${index}`} className="list-item">
<div className="list-item-wrapper">
<div className="list-item-title">{item.date}</div>
<div className="list-item-content">
{
isEmpty(item.items) && <div className="no-signinfo gray align-center">
<Icon ecId={`${this && this.props && this.props.ecId || ''}_Icon@pnvyaq@${index}`} type="frown gray" style={{marginRight : 10}} />
{getLabel('386505',"当天无外勤签到记录")}
</div>
}
{
!isEmpty(item.items) && item.items.map(i=> {
return <div className="list-item-single">
<div className="mb5">
{i.name}
<span className="gray" style={{marginLeft: 15}}>{i.time}</span>
<span style={{float: 'right', marginRight: 10, color: '#67AFF7'}}>{i.signTitle}</span>
</div>
{i.information && <div className="mb5 text-elli" dangerouslySetInnerHTML={{__html: i.information}}></div>}
{i.pics && <div className="mb5">
{
i.pics.map(pic=> {
return <div className='imgDiv'>{
<img src={addContentPath(pic)} border="0" width="100" height="110" onClick={event => carousel(pic,index,'ant-timeline-item')}/>
}
</div>
})
}
</div>
}
{
i.crm && i.crm.length > 0 &&
<div className='customer gray' style={{display: 'flex'}}>
<i className="icon-coms-currency-Customer" style={{marginRight: 10, fontSize: '14px'}}/>
<div style={{flex: 1, width: '98%'}}>
{
i.crm.map((d, i) => {
return (
<div className='text-elli' style={{color: '#666'}}>{d}</div>
)
})
}
</div>
</div>
}
<div className='customer gray' style={{display: 'flex'}} onClick={() => this.handlerPosition.bind(this, i)}>
<i className="icon-coms-position" style={{marginRight: 10, fontSize: '14px'}}/>
<div style={{flex: 1, width: '98%'}}>
<div className='text-elli'>{i.title}</div>
</div>
</div>
</div>
})
}
</div>
</div>
</Timeline.Item>
})
}
</Timeline>
}
}