/** * @Date: 2019-05-28T13:23:00+08:00 * @Last modified time: 2019-05-29T15:33:03+08:00 */ /** * Created by pengmin on 201210510. 该组件的作用是列表标题行通过存储过程返回值设定 不通过后台配置 */ import React, { Component } from 'react'; import { Form } from '@ant-design/compatible'; // import '@ant-design/compatible/assets/index.css'; import { Layout, Spin } from 'antd-v4'; import CommonListEvent from './CommonListEvent';/* 继承销售模块业务功能 */ import * as commonFunc from './commonFunc';/* 通用单据方法 */ /* 通用单据方法 */ import Toolbar from '../Common/ToolBar/ToolBarNew'; import StaticEditTable from './CommonTable';/* 可编辑表格 */ import styles from '../../index.less'; import CommonBase from './CommonBase';/* 获取配置及数据 */ import * as commonBusiness from './commonBusiness';/* 单据业务功能 */ import SearchComponent from './SearchComponent';/* 搜索组件 */ import commonConfig from '../../utils/config'; import * as commonUtils from '../../utils/utils'; // import SlaveMemo from './SlaveMemo'; import StaticEditTree from './Tree/StaticTree'; import Eject from '../../assets/eject.svg';/* 弹出图标 */ import Close from '../../assets/close.svg';/* 关闭图标 */ import AntdDraggableModal from './AntdDraggableModal'; import CommonListSelect from './CommonListSelect';/* 选择界面 */ const { Header, Content } = Layout; let NoTotalData = ''; class CommonList extends Component { constructor(props) { super(props); this.state = { }; } componentWillReceiveProps(nextProps) { const { slaveData, slaveColumnNew } = nextProps; /* 将数据集里中的字段作为标题行 */ if (commonUtils.isNotEmptyArr(slaveData) && commonUtils.isEmpty(slaveColumnNew)) { let column = []; const slaveConfig = {}; const gdsconfigformslave = []; const slaveRow = slaveData[0]; if (commonUtils.isNotEmptyObject(slaveRow)) { for (const key of Object.keys(slaveRow)) { if (commonUtils.isNotEmptyObject(key)) { column.push({ title: key, dataIndex: key, width: 120, bFind: true, bNotEmpty: false, /* 设置表格必填项*号 */ }); const configObj = {}; configObj.bVisible = true; if (key.includes('Id')) { configObj.bVisible = false; } configObj.bNotEmpty = true; configObj.showName = key; configObj.sName = key; configObj.iFitWidth = 120; gdsconfigformslave.push(configObj); } } slaveConfig.gdsconfigformslave = gdsconfigformslave; column = commonFunc.getHeaderConfig(slaveConfig); } this.props.onSaveState({ slaveColumnNew: column, slaveColumn: column, slaveConfig }); } } // ----------------------------数据修改回带end ---------------------------- // handleEject = () => { const { currentPane, panes } = this.props.app; if (commonUtils.isNotEmptyArr(panes) && commonUtils.isNotEmptyObject(currentPane)) { // const index = panes.indexOf(currentPane); const index = panes.findIndex(item => item.formId === currentPane.formId && item.key === currentPane.key && item.notCurrentPane === currentPane.notCurrentPane && item.route === currentPane.route && item.title === currentPane.title && item.sModelsType === currentPane.sModelsType && item.sProcName === currentPane.sProcName); /* 当前页签 */ let currentTab = document.getElementById('navTabWrap').children[index]; if (commonUtils.isEmpty(currentTab)) { const oChildren = document.getElementById('navTabWrap').getElementsByClassName('ant-tabs-content')[0].children; for (const child of oChildren) { if (child.nodeName === 'DIV' && index !== undefined && child.getAttribute('id') === `navTabWrap-panel-${panes[index].key}`) { currentTab = child; } } } // const currentTab = document.getElementById('tabs').getElementsByClassName('ant-tabs-content-no-animated')[0].children[index]; if (!commonUtils.isEmpty(currentTab)) { const filterTreeArr = currentTab.getElementsByClassName('xly-filter-tree');/* 获取当前页签下的树组件 */ if (commonUtils.isNotEmptyArr(filterTreeArr)) { const filterTree = filterTreeArr[0]; if (filterTree.style.display === 'block') { filterTree.style.display = 'none'; } else { filterTree.style.display = 'block'; } } } } }; /** 树节点选中 */ handleTreeSelect = (name, checkedKeys, e) => { this.props.onSelect(name, checkedKeys, e); /* 调用CommonListEvent通用处理 */ }; handleCancelModal = (modelVisible) => { this.props.onSaveState({ [modelVisible]: false, }); } handleSelectModal = (modelVisible) => { this.props.onSaveState({ [modelVisible]: false, }); } render() { const { pageLoading } = this.props; return (