import {
inject,
observer
} from 'mobx-react';
import {
Button,
Form,
Modal,
message,
Spin
} from 'antd';
import isEmpty from 'lodash/isEmpty'
import {
WeaTop,
WeaTab,
// WeaOrgTree,
WeaLeftRightLayout,
WeaRightMenu,
WeaErrorPage,
WeaTools,
WeaSearchGroup,
WeaDialog,
WeaInput,
WeaInputSearch,
WeaDropMenu,
WeaFormItem,
WeaTransfer,
WeaSelect,
} from 'ecCom';
import trim from 'lodash/trim'
import {
WeaTableNew,
WeaSwitch
} from 'comsMobx';
const {
WeaTable
} = WeaTableNew;
import '../style/addressBook.less';
import * as PublicFunc from '../util/pulic-func';
import {
jumpToHrmCard,
jumpToHrmSubCompany,
jumpToHrmDept,
jumpToHrmPost
} from '../util/pulic-func'
import cloneDeep from 'lodash/cloneDeep';
import AddressBookExportSetting from './resourceExportTemplate/AddressBookExportSetting';
import {
i18n
} from '../public/i18n';
@inject('hrmAddressBook')
@observer
export default class AddressBook extends React.Component {
constructor(props) {
super(props);
this.state = {
transferVisible: false
}
}
componentDidMount() {
// const {
// from,
// lastname
// } = this.props.location.query;
const {
hrmAddressBook
} = this.props;
// hrmAddressBook.searchFrom = from || '';
// hrmAddressBook.searchKeyWord = lastname || '';
const paramsFromURL = this.props.location.query;
this.init(paramsFromURL);
}
componentWillReceiveProps(nextProps) {
if (this.props.location.key !== nextProps.location.key) {
// const {
// from,
// lastname
// } = nextProps.location.query;
const {
hrmAddressBook
} = this.props;
// hrmAddressBook.searchFrom = from || '';
// hrmAddressBook.searchKeyWord = lastname || '';
// this.refs.WeaOrgTree.reset(()=>{
// this.refs.WeaOrgTree.fetchData();
// });
const paramsFromURL = nextProps.location.query;
this.init(paramsFromURL);
}
}
init = (paramsFromURL) => {
const {
type,
id
} = this.props.location.query;
const {
hrmAddressBook
} = this.props;
hrmAddressBook.showAllLevel = true;
hrmAddressBook.rightMenus = []
hrmAddressBook.defaultShowLeft = false;
if (hrmAddressBook.searchFrom && hrmAddressBook.searchFrom == 'quickSearch') {
hrmAddressBook.tabkey = 'default_3';
} else {
hrmAddressBook.tabkey = 'default_3';
}
let params = {}
if (type && type != '' && id && id != '') {
if (type == '1') {
params['subcompanyid1'] = id;
}
if (type == '2') {
params['departmentid'] = id;
}
}
Object.assign(params, paramsFromURL);
hrmAddressBook.getData(params);
hrmAddressBook.getRightMenuConfig();
hrmAddressBook.updateShowSearchAd(false);
hrmAddressBook.updateVisible1(false);
hrmAddressBook.updateVisible2(false);
}
onTabEdit = (targetKey, action) => {
const {
hrmAddressBook
} = this.props;
if (action === 'remove') {
let params = {};
params.opera = "delete";
params.mouldid = targetKey;
hrmAddressBook.deleteTabs(params);
}
}
reRenderColumns = (columns) => {
let __this = this;
columns.forEach(c => {
if (c.dataIndex == 'lastname') {
c.render = function(text, record) {
return jumpToHrmCard(record.id)}>{record.lastname}
}
} else if (c.dataIndex == 'managerid') {
c.render = function(text, record) {
return jumpToHrmCard(record.managerid)} dangerouslySetInnerHTML={{__html: record.manageridspan}}>
}
} else if (c.dataIndex == 'subcompanyid1') {
c.render = function(text, record) {
return jumpToHrmSubCompany(record.subcompanyid1)} dangerouslySetInnerHTML={{__html: record.subcompanyid1span}}>
}
} else if (c.dataIndex == 'departmentid') {
c.render = function(text, record) {
return jumpToHrmDept(record.departmentid)} dangerouslySetInnerHTML={{__html: record.departmentidspan}}>
}
} else if (c.dataIndex == 'jobtitle') {
c.render = function(text, record) {
return jumpToHrmPost(record.jobtitle)} dangerouslySetInnerHTML={{__html: record.jobtitlespan}}>
}
} else {
c.render = function(text, record) {
let valueSpan = record[c.dataIndex + "span"] !== undefined ? record[c.dataIndex + "span"] : record[c.dataIndex];
return
}
}
})
return columns;
}
onOperatesClick = (record, index, operate, flag, argumentString) => {
const fn = operate.href ? operate.href.split(':')[1].split('(')[0] : '';
const id = record.id ? record.id : '';
PublicFunc[fn](id);
}
onClickHandle1 = () => {
this.props.hrmAddressBook.updateShowSearchAd(false);
this.doSearch();
}
onClickHandle2 = () => {
this.props.hrmAddressBook.updateVisible2(true)
}
onClickHandle3 = () => {
this.props.hrmAddressBook.formatTransfer();
this.props.hrmAddressBook.updateVisible1(true)
}
onClickHandle4 = () => this.props.hrmAddressBook.updateShowSearchAd(false)
getTabButtonsAd = () => {
const {
hrmAddressBook
} = this.props;
const {
tabkey,
form
} = hrmAddressBook;
const btns = [];
tabkey == 'default_3' && btns.push();
tabkey == 'default_3' && btns.push();
btns.push();
btns.push();
return btns;
}
getSearchs = () => {
const {
hrmAddressBook
} = this.props;
const {
conditioninfo,
conditioninfoAll,
form,
showAllCondition
} = hrmAddressBook;
const {
isFormInit
} = form;
let ci = showAllCondition ? conditioninfoAll : conditioninfo;
const group = [];
isFormInit && ci.forEach((c, i) => {
let items = [];
c.items.forEach((field, j) => {
if (field.isQuickSearch) {
this.quickSearchPara = field.domkey[0];
}
items.push({
com: (