/** * @Author: 程亮 * @Date: 2022-05-18 14:52:39 * @LastEditTime: 2022-12-15 19:29:14 * @Description: * @FilePath: /trunk/src4js/pc4mobx/organization/components/company/CompanyExtend.js */ import { Button, Modal, message, Row, Col, Spin, Select,Tooltip } from 'antd'; import { chunk,isEmpty } from 'lodash'; import cloneDeep from 'lodash/cloneDeep' import forEach from 'lodash/forEach' import { WeaAlertPage, WeaTools, WeaTableEdit, WeaSearchGroup, WeaRightMenu, WeaFormItem, WeaTab, WeaTop, WeaSlideModal } from 'ecCom' import { WeaSwitch } from 'comsMobx'; import { inject, observer } from 'mobx-react'; import * as mobx from 'mobx'; import { i18n } from '../../public/i18n'; import '../../style/common.less'; import VersionsSlider from '../VersionsSlider'; const toJS = mobx.toJS; import '../../style/common.less'; import AttachToNumberField from "../NewNumberField"; @inject('companyExtend') @inject('company') @observer export default class CompanyExtend extends React.Component { componentDidMount() { this.init(); } init = () => { const { companyExtend, company } = this.props; //const {id} = company; let { hash } = window.location; hash = hash.split("?")[0]; let id = hash.match("[^/]+(?=/$|$)")[0]; companyExtend.init(); companyExtend.setId(id); companyExtend.getData(); } getTabChildren = () => { const { companyExtend } = this.props; let { tableInfo, isEditor, tabkey, onRowSelect, selectedRowKeys, detailSelectedKey } = companyExtend; let tabChildren = []; tableInfo = toJS(tableInfo); tableInfo && tableInfo.map((t, i) => { if (detailSelectedKey == i) { tabChildren.push( companyExtend.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 { companyExtend } = this.props, { tableInfo, selectedRows, setSelectedRowKeys, selectedRowKeys } = companyExtend; 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 { companyExtend } = this.props; let { form, conditions, isEditor } = companyExtend; 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: ( {field.domkey[0] == 'comp_no' && field.viewAttr != '1' && } ), colSpan: 1 }); } }); group.push() }); return group; } tableEditChange = (data) => { const { companyExtend } = this.props; let { detailSelectedKey = '0', tableInfo } = companyExtend; tableInfo = toJS(tableInfo); let d = cloneDeep(tableInfo); d[Number(detailSelectedKey)].tabinfo.datas = data; companyExtend.updateTableInfo(d); } getRightMenu = () => { const { companyExtend } = this.props; const { isEditor, buttons } = companyExtend; 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(); } }, { icon: , content: i18n.button.version(), key: 'view', onClick: key => { this.view(); } } ] } } } catch (e) { } return arr; } getTopButtons = () => { const { companyExtend } = this.props; const { isEditor, buttons } = companyExtend; const save = ; const back = ; const edit = ; const view = ; const btns = []; try { if (isEditor) { if (buttons.hasSave) { btns.push(save); btns.push(back); } } else { if (buttons.hasEdit) { btns.push(edit); btns.push(view); } } } catch (e) { } return btns; } editCard = () => { const { companyExtend } = this.props; companyExtend.edit(); } saveEditCard = () => { const { companyExtend } = this.props; companyExtend.save(); } backCard = () => { this.init(); } view = () => { const { companyExtend } = this.props; companyExtend.selectVersions(); } onClose = () => { const { companyExtend } = this.props; companyExtend.open = false; } changeData(key) { const { companyExtend } = this.props; companyExtend.changeData(key); } render() { const { companyExtend } = this.props; const { loading, tabkey, tabInfo, topTab, selectedKey, date, detailSelectedKey, isEditor, open, versionList } = companyExtend; try { return (
} iconBgcolor='#217346' buttons={this.getTopButtons()} showDropIcon={true} dropMenuDatas={this.getRightMenu()} > {this.getSearchs()} { !isEmpty(tabInfo) &&
{ companyExtend.updateDetailSelectedKey(v); }} /> {this.getTabChildren()}
}
companyExtend.changeVersion(val)}/> :
暂无历史版本
} onClose={this.onClose} onAnimationEnd={() => console.log('onAnimationEnd')} />
) } catch (e) { return
{i18n.message.authFailed()}
} } }