import {
inject,
observer,
} from 'mobx-react';
import {
Row,
Col,
Spin,
Form,
Modal,
Table,
Button,
message,
} from 'antd'
import {
WeaTop,
WeaTab,
WeaInput,
WeaScope,
WeaSelect,
WeaUpload,
WeaDialog,
WeaBrowser,
WeaFormItem,
WeaCheckbox,
WeaNewScroll,
WeaRightMenu,
WeaSearchGroup,
WeaMoreButton,
} from 'ecCom'
import React from 'react'
import * as mobx from 'mobx'
import {
WeaSwitch
} from 'comsMobx';
import {
WeaTableNew
} from 'comsMobx';
import {
WeaLocaleProvider
} from 'ecCom';
const getLabel = WeaLocaleProvider.getLabel;
import {
i18n
} from '../public/i18n';
import {addContentPath} from '../util/index.js'
import '../style/group.css'
const toJS = mobx.toJS;
const WeaTable = WeaTableNew.WeaTable;
const confirm = Modal.confirm;
const FormItem = Form.Item;;
@inject('hrmGroup')
@observer
class Group extends React.Component {
constructor(props) {
super(props);
}
componentWillMount() {
const {
hrmGroup
} = this.props;
const {
form1
} = hrmGroup;
let bool = window.location.href.indexOf("/spa/hrm/index_mobx.html") > -1;
if (bool) {
document.title = getLabel(81554, '常用组');
hrmGroup.setWeaTopStatus(true);
}
form1.reset();
}
componentDidMount() {
this.init();
}
componentWillReceiveProps(nextProps) {
const {
hrmGroup
} = this.props;
const {
form1
} = hrmGroup;
if (this.props.location.key !== nextProps.location.key) {
form1.reset();
this.init();
}
}
componentWillUnmount() {
const {
hrmGroup
} = this.props;
hrmGroup.showCanceled = false;
}
init = () => {
const {
hrmGroup
} = this.props;
hrmGroup.getPanelForm('1');
hrmGroup.getTableInfo('1');
hrmGroup.hasSuggestHint();
}
getPanelComponents = (condition, form, arg) => {
let arr = [];
let formParams = form.getFormParams();
const {
isFormInit
} = form;
isFormInit && condition.map(c => {
c.items.map((field, index) => {
arr.push(
{ }
)
})
})
return ( e.keyCode == 13 && e.target.tagName === "INPUT") && hrmGroup.getTableInfo(arg === "3" ? "7" : arg)}
>{arr}
}
getNewAndShareComponents = (condition, form, isLinkage) => {
let arr = [];
let formParams = form.getFormParams();
const {
isFormInit
} = form;
isFormInit && condition.map(c => {
let items = c.items;
for (let i = 0; i < items.length; i++) {
let field = items[i];
let dom;
if (isLinkage && this.fieldFilter(field)) continue;
if (isLinkage) {
dom = this.getShareDom(field, form, formParams);
} else {
dom = ;
}
arr.push(
{dom}
)
}
})
return {arr}
}
fieldFilter = (field) => {
const {
hrmGroup
} = this.props;
const {
form6
} = hrmGroup;
let sharetype;
let jobtitlelevel;
let formParams = form6.getFormParams();
if (formParams.sharetype) sharetype = formParams.sharetype;
if (formParams.jobtitlelevel) jobtitlelevel = formParams.jobtitlelevel;
let domkey = (field.domkey)[0];
if (sharetype == '1' && (domkey == 'sbid' || domkey == 'did' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'jobtitle' || domkey == 'jobtitlelevel' || domkey == 'seclevel' || domkey == 'jobtitledepartment' || domkey == 'jobtitlesubcompany' || domkey == 'customid' || domkey == 'alllevel')) return true;
if (sharetype == '2' && (domkey == 'rsid' || domkey == 'did' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'jobtitle' || domkey == 'jobtitlelevel' || domkey == 'jobtitledepartment' || domkey == 'jobtitlesubcompany' || domkey == 'customid')) return true;
if (sharetype == '3' && (domkey == 'rsid' || domkey == 'sbid' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'jobtitle' || domkey == 'jobtitlelevel' || domkey == 'jobtitledepartment' || domkey == 'jobtitlesubcompany' || domkey == 'customid')) return true;
if (sharetype == '4' && (domkey == 'rsid' || domkey == 'sbid' || domkey == 'did' || domkey == 'jobtitle' || domkey == 'jobtitlelevel' || domkey == 'jobtitledepartment' || domkey == 'jobtitlesubcompany' || domkey == 'customid' || domkey == 'alllevel')) return true;
if ((sharetype == '7' && (jobtitlelevel == '0' || !jobtitlelevel)) && (domkey == 'rsid' || domkey == 'sbid' || domkey == 'did' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'seclevel' || domkey == 'jobtitledepartment' || domkey == 'jobtitlesubcompany' || domkey == 'customid' || domkey == 'alllevel')) return true;
if ((sharetype == '7' && jobtitlelevel == '1') && (domkey == 'rsid' || domkey == 'sbid' || domkey == 'did' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'seclevel' || domkey == 'jobtitlesubcompany' || domkey == 'customid' || domkey == 'alllevel')) return true;
if ((sharetype == '7' && jobtitlelevel == '2') && (domkey == 'rsid' || domkey == 'sbid' || domkey == 'did' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'seclevel' || domkey == 'jobtitledepartment' || domkey == 'customid' || domkey == 'alllevel')) return true;
if (sharetype == '8' && (domkey == 'sbid' || domkey == 'rsid' || domkey == 'did' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'jobtitle' || domkey == 'jobtitlelevel' || domkey == 'jobtitledepartment' || domkey == 'jobtitlesubcompany' || domkey == 'alllevel')) return true;
if (sharetype == '5' && (domkey == 'sbid' || domkey == 'rsid' || domkey == 'did' || domkey == 'rid' || domkey == 'rolelevel' || domkey == 'jobtitle' || domkey == 'jobtitlelevel' || domkey == 'jobtitledepartment' || domkey == 'jobtitlesubcompany' || domkey == 'customid' || domkey == 'alllevel')) return true;
}
getShareDom = (field, form, formParams) => {
const {
hrmGroup
} = this.props;
const {
checkBoxVal,
selectvalue,
scopeValue
} = hrmGroup;
let dom;
const options = [{
key: '1',
selected: true,
showname: getLabel('27511', "部门")
}, {
key: '2',
showname: getLabel('33553', "分部")
}, {
key: '3',
showname: getLabel('140', "总部")
}]
if (field.domkey[0] == 'alllevel') {
dom = (
hrmGroup.setCheckBoxVal(val)}/>
{getLabel('125963',"含下级")}
);
} else if (field.domkey[0] == 'rolelevel') {
dom = (
{i18n.label.level()}
hrmGroup.setSelectValue(val)}
/>
);
} else if (field.domkey[0] == 'seclevel') {
dom = hrmGroup.setScopeValue(val)}
/>
} else {
dom =
}
return dom;
}
getImportComponents = (condition, form, arg) => {
let _arr = [];
const {
isFormInit
} = form;
isFormInit && condition.map((c, i) => {
let arr = [];
c.items.map((field, index) => {
if (field.domkey) {
let dom = this.getDOM(field, arg);
arr.push({
com: (
{dom}
{ field.domkey[0] == 'importlx' && this.getImportTypeValue() ? ({getLabel('131396',"覆盖时将替换原人员列表")}
) : '' }
),
colSpan: 1,
})
}
if (!field.domkey) {
let dom = this.getParagraph(field, arg);
arr.push({
com: ({dom}
),
colSpan: 1
})
}
})
_arr.push(
)
})
return _arr;
}
getDOM = (field, arg) => {
const {
hrmGroup
} = this.props;
const {
excelfile,
list,
upStatus,
form4,
form5
} = hrmGroup;
let dom;
let form;
if (arg == '1') form = form4;
if (arg == '2') form = form5;
let formParams = form.getFormParams();
if (field.domkey[0] == 'templet') {
let link;
let arr = field.value.split(';');
if (formParams.keyField == 'workcode') link = arr[0];
if (formParams.keyField == 'loginid') link = arr[1];
if (formParams.keyField == 'lastname') link = arr[2];
dom = {getLabel('386488',"常用组信息导入模板")}
} else if (field.domkey[0] == 'excelfile') {
dom = (
{hrmGroup.setExcelfile(id[0]); hrmGroup.setList(l); hrmGroup.updateFormFields( (parseInt(arg) + 2).toString(), id[0])}}
onUploading={s => this.onUploading(s)}
>
{getLabel('125333',"选择文件")}
{ list.length == 0 ?
{getLabel('384040',"未选择任何文件")}
: list.map(file =>
{file.filename}
) }
)
} else {
dom = ( )
}
return dom;
}
getImportTypeValue = () => {
const {
hrmGroup
} = this.props;
const {
form5
} = hrmGroup;
let formParams = form5.getFormParams();
if (formParams.importlx == 'update') {
return true;
} else {
return false;
}
}
getParagraph = (field, arg) => {
const {
hrmGroup
} = this.props;
const {
form4,
form5
} = hrmGroup;
let dom;
let form;
if (arg == '1') form = form4;
if (arg == '2') form = form5;
let formParams = form.getFormParams();
if (field.index == '1') {
let link;
let arr;
if (field.link) {
arr = field.link.split(';');
if (formParams.keyField == 'workcode') link = arr[0];
if (formParams.keyField == 'loginid') link = arr[1];
}
dom = (
{ (arg == '1') ? {field.value + ': '} {getLabel('386488',"常用组信息导入模板")}
: {field.value}
}
)
} else {
dom = (
{field.value}
)
}
return dom;
}
onUploading = (s) => {
const {
hrmGroup
} = this.props;
const {
list
} = hrmGroup;
hrmGroup.setUpStatus(s);
if (s == 'uploading') {
hrmGroup.setList([]);
} else {
hrmGroup.setList(list);
}
}
changeShowAll = (arg) => {
const {
hrmGroup
} = this.props;
const {
showCanceled
} = hrmGroup;
if (arg !="1") {
return
}
return (
hrmGroup.changeShowAll()} title={showCanceled ?getLabel(517080, '显示封存常用组'): getLabel(517081, '不显示封存常用组')}>
{showCanceled ?
: }
)
}
getSuggestIcon = (arg) => {
const {
hrmGroup
} = this.props;
const {
hasTrumpet,
hasHint
} = hrmGroup;
if (arg !== '1') {
return false;
}
return (
{hasTrumpet ? hrmGroup.setSuggestDialogStatus(true)} style={{cursor: 'pointer'}}/> : ''}
{hasHint ? : ''}
)
}
getImportIcon = (arg) => {
if (arg == '3' || arg == '4') {
return false;
}
return (
this.handleImportClick(arg) }
/>
)
}
getAddIcon = (arg) => {
const {
hrmGroup
} = this.props;
if (arg == '1' || arg == '3') {
return (
{arg == '3' ? hrmGroup.getForm((parseInt(arg) + 2).toString()) : hrmGroup.getForm(arg)}}
/>
)
}
if (arg == '2') {
return (
{
// 【清除】按钮触发的回调
if (args[2].length === 0) {
return;
}
hrmGroup.setMemberId(args[0]);
hrmGroup.save('3')}
}
>
)
}
}
getBatchDeleteIcon = (arg) => {
const {
hrmGroup
} = this.props;
if (arg == '4') {
return false;
}
let len;
if (arg == '1') len = hrmGroup.tableStore1.selectedRowKeys.length;
if (arg == '2') len = hrmGroup.tableStore2.selectedRowKeys.length;
if (arg == '3') len = hrmGroup.tableStore3.selectedRowKeys.length;
return (
0) ? {marginRight: 16, backgroundColor:'#34A2FF'} : {marginRight: 16, backgroundColor:'#D9D9D9'}}
className="icon-coms-Loss hrm-group-clickicon"
title={i18n.button.multiDelete()}
onClick={() => (len > 0) && this.handleBatchDelete(arg)}
/>
)
}
getAuthorityIcon = () => {
return (
{i18n.message.authFailed()}
)
}
handleImportClick = (arg) => {
const {
hrmGroup
} = this.props;
if (arg == '1') {
hrmGroup.getForm('3');
}
if (arg == '2') {
hrmGroup.getForm('4');
}
}
handleBatchDelete = (arg) => {
const {
hrmGroup
} = this.props;
const {
tableStore1,
tableStore2,
tableStore3
} = hrmGroup;
let store;
if (arg == '1') store = tableStore1;
if (arg == '2') store = tableStore2;
if (arg == '3') store = tableStore3;
let srk = this.getSelectedRow(toJS(store));
this.doDel(srk, arg);
}
getSelectedRow = (store) => {
return store.selectedRowKeys;
}
handleSearch = (arg) => {
const {
hrmGroup
} = this.props;
if (arg == '1') {
hrmGroup.getTableInfo('1');
hrmGroup.setPanelOneStatus(false);
}
if (arg == '2') {
hrmGroup.getTableInfo('2');
hrmGroup.setPanelTwoStatus(false);
}
if (arg == '3') {
hrmGroup.getTableInfo('7');
hrmGroup.setPanelThreeStatus(false);
}
}
handleSubmit = (arg) => {
const {
hrmGroup
} = this.props;
const {
excelfile
} = hrmGroup;
if (excelfile == '') {
message.warning(i18n.message.pleaseUploadFile());
return false;
}
if (arg == '1') {
hrmGroup.setImportInfoDialogStatus(true);
hrmGroup.save('5');
}
if (arg == '2') {
hrmGroup.setImportMemInfoDialogStatus(true);
hrmGroup.save('6');
}
}
handleImportHistory = () => {
const {
hrmGroup
} = this.props;
hrmGroup.setImportHistoryDialogStatus(true);
hrmGroup.getTableInfo('5');
}
handleOneDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '0') this.handleImportClick('1');
if (key == '1') hrmGroup.getForm('1');
if (key == '2') this.handleBatchDelete('1');
}
handleTwoDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '3') hrmGroup.save('1');
if (key == '4') hrmGroup.save('2');
}
handleThreeDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '5') this.handleSubmit('1');
if (key == '6') this.handleImportHistory();
}
handleFourDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '5') this.handleSubmit('2');
if (key == '7') {};
}
handleFiveDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '3') hrmGroup.save('4');
if (key == '7') {};
}
handleSixDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
hrmGroup.setSuggestDialogStatus(false);
}
handleSevenDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '0') this.handleImportClick('2');
if (key == '1') this.refs.weabrowser.openModal();
if (key == '2') this.handleBatchDelete('2');
}
handleEightDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '1') hrmGroup.getForm('5');
if (key == '2') this.handleBatchDelete('3');
}
handleNineDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
if (key == '3') hrmGroup.save('9');
if (key == '7') {};
}
handleDropMenuClick = (key) => {
const {
hrmGroup
} = this.props;
const {
editTabKey
} = hrmGroup;
if (editTabKey == '0') this.handleNineDropMenuClick(key);
if (editTabKey == '1') this.handleSevenDropMenuClick(key);
if (editTabKey == '2') this.handleEightDropMenuClick(key);
}
getTable = (params) => {
let tableStore = params.tableStore;
let loading = params.loading;
let title = params.title;
let customComponent = params.customComponent;
let isNeedScroll = params.isNeedScroll;
let isNeedRerender = params.isNeedRerender;
let tag = params.tag;
let height = params.height;
let isNeedSearchGroup = params.isNeedSearchGroup;
const tbProps = {};
isNeedRerender && Object.assign(tbProps, {getColumns: this.reRenderColumns});
switch(tag){
case 'base':
Object.assign(tbProps, {onOperatesClick: this.onOperatesClick1});
break;
case 'member':
Object.assign(tbProps, {onOperatesClick: this.onOperatesClick2});
break;
case 'share':
Object.assign(tbProps, {onOperatesClick: this.onOperatesClick3});
break;
case 'suggest':
Object.assign(tbProps, {onOperatesClick: this.onOperatesClick4});
break;
}
if (isNeedSearchGroup) {
if (isNeedScroll) {
return (
)
} else {
return (
)
}
} else {
return (
)
}
}
getAntTable = (params, isWrapBySearchgroup) => {
let col = params.col;
let ds = params.ds;
let loading = params.loading;
let isPagination = params.isPagination;
let action = params.action;
let num = params.num;
let height;
if (isWrapBySearchgroup) {
height = params.height - 85;
} else {
height = params.height - 48;
}
if (col.length > 0 && !this.isEmptyObject(action)) {
col[num].render = (text, record) => (
{action.download}
this.delImportHistory(record)}>{action.delete}
);
return (
)
}
return (
)
}
delImportHistory = (record) => {
const {
hrmGroup
} = this.props;
const {
dataSource
} = hrmGroup;
let num = this.getNumFromString(record.fileName);
hrmGroup.setDelFileNum(num);
let index = this.getRowIndex(record.key, toJS(dataSource));
this.showConfirm('4', [], index);
}
getNumFromString = (str) => {
return str.replace(/[^0-9]+/g, '');
}
getRowIndex = (key, dataSource) => {
let arr = [];
if (dataSource instanceof Array) {
for (let i = 0; i < dataSource.length; i++) {
arr.push(dataSource[i].key);
}
}
return arr.indexOf(key);
}
reRenderColumns = (columns, isNeedRerender) => {
const {
hrmGroup
} = this.props;
let _this = this;
if (isNeedRerender) {
columns.forEach((c, index) => {
let obj = {};
if (c.dataIndex == 'name') {
c.render = function(text, record) {
let rowData = toJS(record);
let id;
if (rowData.id) id = rowData.id;
if (rowData.groupid) id = rowData.groupid;
return _this.rowDataClick(id) } dangerouslySetInnerHTML={{__html:rowData.namespan}}>
}
} else if (c.dataIndex == 'result') {
c.render = function(text, record) {
let rowData = toJS(record);
return { hrmGroup.setGroupId(rowData.id); hrmGroup.getForm('2'); hrmGroup.tabClick('1');} } dangerouslySetInnerHTML={{__html: record.resultspan}} >
}
} else if (c.dataIndex == 'dsporder') {
c.render = function(text, record) {
let rowData = toJS(record);
if (rowData.dsporder < 0) {
rowData.dsporder = 1;
}
return (
hrmGroup.setDsporderArr(val, rowData)}
/>
)
}
} else {
c.render = function(text, record) {
let valueSpan = record[c.dataIndex + "span"] !== undefined ? record[c.dataIndex + "span"] : record[c.dataIndex];
return
}
}
})
}
return columns;
}
rowDataClick = (id) => {
const {
hrmGroup
} = this.props;
hrmGroup.setGroupId(id);
hrmGroup.getForm('2');
hrmGroup.tabClick('0');
}
doCancel = (id) => {
const {
hrmGroup
} = this.props;
hrmGroup.doCancel({
id
});
}
doISCanceled = (id) => {
const {
hrmGroup
} = this.props;
hrmGroup.doISCanceled({
id
});
}
onOperatesClick1 = (record, index, operate) => {
const {
hrmGroup
} = this.props;
let funcIndex = operate.index;
const func = operate.href ? operate.href.split(':')[1].split('(')[0] : '';
hrmGroup.setGroupId(record.id);
if (funcIndex == '0') hrmGroup.tabClick('0');
if (funcIndex == '1') hrmGroup.tabClick('1');
if (funcIndex == '2') hrmGroup.tabClick('2');
if (funcIndex == '0' || funcIndex == '1' || funcIndex == '2') {
hrmGroup.getForm('2');
}
if (func == 'doDel') this.doDel([], '1');
if(func=='doCancel'||func=='doISCanceled'){
hrmGroup[func] && hrmGroup[func]({id:record.id});
}
}
onOperatesClick2 = (record, index, operate) => {
const {
hrmGroup
} = this.props;
let funcIndex = operate.index;
hrmGroup.setMemberId(record.id);
if (funcIndex == '0') this.doDel([], '2');
}
onOperatesClick3 = (record, index, operate) => {
const {
hrmGroup
} = this.props;
let funcIndex = operate.index;
hrmGroup.setTypeId(record.id);
hrmGroup.getTableInfo('3');
if (funcIndex == '0') this.doDel([], '3');
}
onOperatesClick4 = (record, index, operate) => {
const {
hrmGroup
} = this.props;
let funcIndex = operate.index;
hrmGroup.setSuggestId(record.randomFieldId);
if (funcIndex == '0') {
hrmGroup.save('7');
}
if (funcIndex == '1') {
hrmGroup.delete('5');
}
if (funcIndex == '2') {
hrmGroup.save('8');
}
}
doDel = (arr, arg) =>{
const {
hrmGroup
} = this.props;
if (arg == '1') {
this.showConfirm('1', arr);
}
if (arg == '2') {
this.showConfirm('2', arr);
}
if (arg == '3') {
this.showConfirm('3', arr);
}
}
getCustomComponent = (arg) => {
const {
hrmGroup
} = this.props;
return (
[
this.changeShowAll(arg),
this.getSuggestIcon(arg),
this.getImportIcon(arg),
this.getAddIcon(arg),
this.getBatchDeleteIcon(arg)
]
)
}
showConfirm = (arg, arr, index) => {
let _this = this;
confirm({
title: i18n.confirm.defaultTitle(),
content: arr.length == 0 ? i18n.confirm.delete() : i18n.confirm.batchDeleteConfirm(),
okText: i18n.button.ok(),
cancelText: i18n.button.cancel(),
onOk() {
_this.ok(arg, arr, index);
},
onCancel() {
return false;
},
});
}
ok = (arg, arr, index) => {
const {
hrmGroup
} = this.props;
const {
dataSource
} = hrmGroup;
if (arr.length !== 0) {
for (let i = 0; i < arr.length; i++) {
if (arg == '1') hrmGroup.setGroupId(arr[i]);
if (arg == '2') hrmGroup.setMemberId(arr[i]);
if (arg == '3') hrmGroup.setTypeId(arr[i]);
hrmGroup.delete(arg, 'batch');
if (i == (arr.length - 1)) hrmGroup.delete(arg, 'batch', 'last');
}
} else {
if (arg == '4') dataSource.splice(index, 1);
hrmGroup.delete(arg);
}
}
isEmptyObject = (obj) => {
for (let key in obj) {
return false;
}
return true;
}
getGroupSettingBtns = (key) => {
let btns;
if (key == '0') {
btns = [];
} else if (key == '1') {
btns = this.getCustomComponent('2');
} else if (key == '2') {
btns = this.getCustomComponent('3');
}
return btns;
}
render() {
const {
hrmGroup
} = this.props;
const {
isSuggestDialogShow,
isPanelOneShow,
isPanelTwoShow,
isPanelThreeShow,
isNewDialogShow,
isEditDialogShow,
isImportBaseDialogShow,
isImportMemberDialogShow,
isShareDialogShow,
isImportInfoDialogShow,
isImportHistoryDialogShow,
isImportMemInfoDialogShow
} = hrmGroup;
const {
form1,
form2,
form3,
form4,
form5,
form6,
form7
} = hrmGroup;
const {
tableStore1,
tableStore2,
tableStore3,
tableStore4
} = hrmGroup;
const {
editTabKey,
suggestTabKey
} = hrmGroup;
const {
columns,
dataSource,
loading,
action,
logFilePath,
height
} = hrmGroup;
const {
condition1,
condition2,
condition3,
condition4,
condition5,
condition6,
condition7
} = hrmGroup;
const {
orderArr,
hasWeaTop,
hasAuthority
} = hrmGroup;
let searchsBaseValue1 = form1.getFormParams().name;
let searchsBaseValue2 = form2.getFormParams().resourcename;
let searchsBaseValue3 = form7.getFormParams().suggesttitle;
let type = form3.getFormParams().type;
let tbParams1 = {
tableStore: tableStore1,
loading: tableStore1.loading,
title: getLabel('386490', "常用组列表"),
customComponent: this.getCustomComponent('1'),
isNeedScroll: true,
isNeedRerender: true,
isNeedSearchGroup: true,
tag: 'base',
}
let tbParams2 = {
tableStore: tableStore2,
loading: tableStore2.loading,
title: getLabel('386491', "成员列表"),
customComponent: this.getCustomComponent('2'),
height: height,
isNeedRerender: true,
isNeedSearchGroup: true,
tag: 'member',
}
let tbParams3 = {
tableStore: tableStore3,
loading: tableStore3.loading,
title: getLabel('386492', "共享范围列表"),
customComponent: this.getCustomComponent('3'),
height: height,
isNeedRerender: false,
isNeedSearchGroup: true,
tag: 'share',
}
let tbParams4 = {
tableStore: tableStore4,
loading: tableStore4.loading,
height: height,
isNeedRerender: true,
isNeedSearchGroup: false,
tag: 'suggest',
}
let paramsForAntTable = {
col: columns,
ds: dataSource,
loading: loading,
isPagination: false,
action: action,
height: height,
num: 2,
}
const tabName = [{
key: '0',
title: getLabel('81711', "基本信息")
}, {
key: '1',
title: getLabel('431', "成员")
}, {
key: '2',
title: getLabel('82752', "共享范围")
}, {
key: '3',
title: getLabel('16349', "待处理")
}, {
key: '4',
title: getLabel('1454', "已处理")
}, ]
const dropMenuDatas = [{
key: '0',
content: i18n.button.import(),
icon:
}, {
key: '1',
content: i18n.button.add(),
icon:
}, {
key: '2',
content: i18n.button.multiDelete(),
icon:
}, {
key: '3',
content: i18n.button.save(),
icon:
}, {
key: '4',
content: i18n.button.saveAndSetting(),
icon:
}, {
key: '5',
content: i18n.button.submit(),
icon:
}, {
key: '6',
content: i18n.button.importHistoryQuery(),
icon:
}]
const dropMenuDatas1 = dropMenuDatas.slice(0, 3);
const dropMenuDatas2 = dropMenuDatas.slice(3, 5).concat(dropMenuDatas.slice(7, 8));
const dropMenuDatas3 = dropMenuDatas.slice(5, 7).concat(dropMenuDatas.slice(7, 8));
const dropMenuDatas4 = dropMenuDatas.slice(5, 6).concat(dropMenuDatas.slice(7, 8));
const dropMenuDatas5 = dropMenuDatas.slice(3, 4).concat(dropMenuDatas.slice(7, 8));
const dropMenuDatas6 = dropMenuDatas.slice(7, 8);
const dropMenuDatas7 = dropMenuDatas.slice(1, 3);
const btn1 = [
( this.handleSearch('1')}>{i18n.button.search()} ),
( form1.reset()}>{i18n.button.reset()} ),
( hrmGroup.setPanelOneStatus(false)}>{i18n.button.cancel()} ),
];
const btn2 = [
( hrmGroup.save('1')}>{i18n.button.save()} ),
( hrmGroup.save('2')}>{i18n.button.saveAndSetting()} ),
// ( )
]
const btn = [
( hrmGroup.save('9')}>{i18n.button.save()} ),
( hrmGroup.save('10')}>{i18n.button.save()} ),
// ( )
]
let btn3;
let datas;
if (editTabKey == '0') {
btn3 = btn.slice(0, 1).concat(btn.slice(2, 3));
datas = dropMenuDatas5;
}
if (editTabKey == '1') {
btn3 = btn.slice(1, 2).concat(btn.slice(2, 3));
datas = dropMenuDatas1;
}
if (editTabKey == '2') {
btn3 = btn.slice(2, 3);
datas = dropMenuDatas7;
}
const btn4 = [
( this.handleSearch('2')}>{i18n.button.search()} ),
( form2.reset()}>{i18n.button.reset()} ),
( hrmGroup.setPanelTwoStatus(false)}>{i18n.button.cancel()} ),
];
const btn5 = [
( this.handleSubmit('1')}>{i18n.button.submit()} ),
( this.handleImportHistory()}>{i18n.button.importHistoryQuery()} ),
( ),
]
const btn6 = [
( this.handleSubmit('2')}>{i18n.button.submit()} ),
( ),
]
const btn7 = [
( hrmGroup.save('4')}>{i18n.button.save()} ),
( ),
]
const btn8 = [
({getLabel('386493',"导入日志下载")} ),
(更多 >> ),
]
const btn9 = [
(更多 >> ),
]
const btn10 = [
(更多 >> ),
]
const btn11 = [
(更多 >> ),
]
const btn12 = [
( this.handleSearch('3')}>{i18n.button.search()} ),
( form7.reset()}>{i18n.button.reset()} ),
( hrmGroup.setPanelThreeStatus(false)}>{i18n.button.cancel()} ),
]
return (
{ true ? ( }
iconBgcolor='#217346'
loading={true}
/>) : ''}
hrmGroup.setPanelOneStatus(false) }
searchsAd= {this.getPanelComponents(condition1, form1, '1')}
advanceHeight={74}
buttonsAd={btn1}
buttons={this.getCustomComponent('1')}
onSearch={() => hrmGroup.getTableInfo('1')}
onSearchChange={val => hrmGroup.updateFormFields('1', val)}
/>
{this.getTable(tbParams1)}
{hrmGroup.setSuggestDialogStatus(false); hrmGroup.setPanelThreeStatus(false)}}
buttons={btn11}
style={{width: 890, height: 510}}
onChangeHeight={hrmGroup.changeHeight}
>
hrmGroup.setPanelThreeStatus(false) }
showSearchAd={isPanelThreeShow}
searchsAd= {this.getPanelComponents(condition7, form7, '3')}
advanceHeight={120}
buttonsAd={btn12}
onSearch={ () => hrmGroup.getTableInfo('7') }
onSearchChange={val => hrmGroup.updateFormFields('5', val)}
/>
{this.getTable(tbParams4)}
hrmGroup.setImportBaseDialogStatus(false)}
buttons={btn5}
style={{width: 870, height: 510}}
>
{this.getImportComponents(condition4, form4, '1')}
hrmGroup.setImportInfoDialogStatus(false)}
buttons={btn8}
style={{width: 700, height: 510}}
onChangeHeight={hrmGroup.changeHeight}
>
{this.getAntTable(paramsForAntTable, true)}
hrmGroup.setImportHistoryDialogStatus(false)}
buttons={btn9}
style={{width: 750, height: 510}}
onChangeHeight={hrmGroup.changeHeight}
>
{ hasAuthority ? this.getAntTable(paramsForAntTable, false) : this.getAuthorityIcon()}
hrmGroup.setImportMemberDialogStatus(false)}
buttons={btn6}
style={{width: 650, height: 430}}
>
{this.getImportComponents(condition5, form5, '2')}
hrmGroup.setImportMemInfoDialogStatus(false)}
buttons={btn10}
style={{width: 700, height: 510}}
onChangeHeight={hrmGroup.changeHeight}
>
{this.getAntTable(paramsForAntTable, true)}
hrmGroup.setNewDialogStatus(false)}
buttons={btn2}
style={{width: 650}}
>
{this.getNewAndShareComponents(condition3, form3, false)}
{hrmGroup.setEditDialogStatus(false); hrmGroup.setPanelTwoStatus(false); hrmGroup.tabReset()}}
buttons={btn3}
style={{width: 780, height: 510}}
onChangeHeight={hrmGroup.changeHeight}
>
hrmGroup.setPanelTwoStatus(false) }
showSearchAd={isPanelTwoShow}
searchsAd= { (editTabKey == '1') ? this.getPanelComponents(condition2, form2, '2') : []}
advanceHeight={120}
buttonsAd={btn4}
buttons={this.getGroupSettingBtns(editTabKey)}
onSearch={ () => hrmGroup.getTableInfo('2') }
onSearchChange={val => hrmGroup.updateFormFields('2', val)}
/>
{this.getNewAndShareComponents(condition3, form3, false)}
{this.getTable(tbParams2)}
{this.getTable(tbParams3)}
hrmGroup.setShareDialogStatus(false)}
buttons={btn7}
style={{width: 700, height: 250}}
>
{this.getNewAndShareComponents(condition6, form6, true)}
)
}
}
Group = Form.create({})(Group);
export default Group