/** * @Author: 程亮 * @Date: 2022-05-26 14:07:12 * @LastEditTime: 2022-05-30 17:16:47 * @Description: * @FilePath: /trunk/src4js/pc4mobx/organization/components/job/JobExtend.js */ import { Button, Modal, message, Row, Col, Spin } from 'antd'; import isEmpty from 'lodash/isEmpty' import cloneDeep from 'lodash/cloneDeep' import forEach from 'lodash/forEach' import { WeaAlertPage, WeaTools, WeaTableEdit, WeaSearchGroup, WeaRightMenu, WeaFormItem, WeaTab,WeaTop } from 'ecCom' import { WeaSwitch } from 'comsMobx'; import { inject, observer } from 'mobx-react'; import * as mobx from 'mobx'; import { i18n } from '../../public/i18n'; const toJS = mobx.toJS; import '../../style/common.less'; @inject('jobExtend') @inject('job') @observer export default class JobExtend extends React.Component { componentDidMount() { this.init(); } init = () => { const { jobExtend,job } = this.props; let {hash} = window.location; hash = hash.split("?")[0]; let id = hash.match("[^/]+(?=/$|$)")[0]; jobExtend.init(); jobExtend.setId(id); jobExtend.getData(); } getTabChildren = () => { const { jobExtend } = this.props; let { tableInfo, isEditor, tabkey, onRowSelect, selectedRowKeys,detailSelectedKey } = jobExtend; let tabChildren = []; tableInfo = toJS(tableInfo); tableInfo && tableInfo.map((t, i) => { if (detailSelectedKey == i) { tabChildren.push( jobExtend.setPersonalEditTables(ref)} showTitle={isEditor} // title={'列表信息'} //addFirstRow={isEditor} columns={t.tabinfo.columns} datas={t.tabinfo.datas} onChange={this.tableEditChange} selectedRowKeys={toJS(selectedRowKeys)} onRowSelect={keys => onRowSelect(keys)} onBtnsSelect={key => this.onBtnsSelect(key, i)} viewAttr={isEditor ? 2 : 1} getRowSelection={isEditor ? (rowSelection) => { Object.assign(rowSelection, { getCheckboxProps: record => ({ disabled: record.viewAttr === 1, // 配置无法勾选的列 }) }) return rowSelection; } : () => null} /> ); } }) return tabChildren; } onBtnsSelect = (key, index) => { const { jobExtend } = this.props, { tableInfo, selectedRows, setSelectedRowKeys, selectedRowKeys } = jobExtend; const datas = tableInfo[index].tabinfo.datas; if (key === 'copy') { tableInfo[index].tabinfo.datas = datas.map((data, i) => { if (!selectedRows[index].includes(i)) { data.viewAttr = 2; } return data }) } if (key === 'delete') { tableInfo[index].tabinfo.datas = datas.map((data, i) => { if (selectedRows[index].includes(i)) { data.viewAttr = 1; } return data }); setSelectedRowKeys(selectedRowKeys.filter(row => !selectedRows[index].includes(row))) } } getSearchs = () => { const { jobExtend } = this.props; let { form, conditions, isEditor } = jobExtend; const { isFormInit } = form; let group = []; let tipPosition = 'bottom'; window.e9HideFormFieldKeys = []; isFormInit && conditions.forEach((c, i) => { let items = []; c.items.forEach((field, j) => { if (c.hide || (!isEmpty(field.otherParams) && field.otherParams.hide)) { window.e9HideFormFieldKeys.push(field.domkey[0]); } else { items.push({ com: ( ), colSpan: 1 }); } }); group.push() }); return group; } tableEditChange = (data) => { const { jobExtend } = this.props; let { detailSelectedKey = '0', tableInfo } = jobExtend; tableInfo = toJS(tableInfo); let d = cloneDeep(tableInfo); d[Number(detailSelectedKey)].tabinfo.datas = data; jobExtend.updateTableInfo(d); } getRightMenu = () => { const { jobExtend } = this.props; const { isEditor, buttons } = jobExtend; let arr = []; try { if (buttons.hasEdit) { if (isEditor) { arr = [{ icon: , content: i18n.button.save(), key: 'save', onClick: key => { this.saveEditCard(); } }, { icon: , content: i18n.button.back(), key: 'back', onClick: key => { this.backCard(); } }] } else { arr = [{ icon: , content: i18n.button.modify(), key: 'editCard', onClick: key => { this.editCard(); } } ] } } } catch (e) { } return arr; } getTopButtons = () => { const { jobExtend } = this.props; const { isEditor, buttons } = jobExtend; const save = ; const back = ; const edit = ; const btns = []; try { if (isEditor) { if (buttons.hasSave) { btns.push(save); btns.push(back); } } else { if (buttons.hasEdit) { btns.push(edit); } } } catch (e) { } return btns; } editCard = () => { const { jobExtend } = this.props; jobExtend.edit(); } saveEditCard = () => { const { jobExtend } = this.props; jobExtend.save(); } backCard = () => { this.init(); } changeData(key) { const { jobExtend } = this.props; jobExtend.changeData(key); } render() { const { jobExtend } = this.props; const { loading, tabkey, tabInfo,topTab,selectedKey,date,detailSelectedKey } = jobExtend; // if(!hasRight && !loading){ // return ( // //
{i18n.message.authFailed()}
//
// ) // } try { return (
{this.getSearchs()} { !isEmpty(tabInfo) &&
{ jobExtend.updateDetailSelectedKey(v); }} /> {this.getTabChildren()}
}
) } catch (e) { return
{i18n.message.authFailed()}
} } }