| | |
| | | import ColspanForm from './colspanform' |
| | | import GridBtnForm from './gridbtnform' |
| | | import DragElement from './dragcolumn' |
| | | import MarkColumn from './markcolumn' |
| | | import './index.scss' |
| | | |
| | | const { confirm } = Modal |
| | |
| | | } |
| | | |
| | | /** |
| | | * @description 设置标志 |
| | | */ |
| | | markElement = (card) => { |
| | | this.setState({ |
| | | modaltype: 'mark', |
| | | card: card |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 操作列编辑 |
| | | */ |
| | | handleGridBtn = () => { |
| | |
| | | */ |
| | | handleSubmit = () => { |
| | | const { config } = this.props |
| | | const { modaltype } = this.state |
| | | const { modaltype, card } = this.state |
| | | |
| | | let _columnlist = fromJS(this.state.columnlist).toJS() |
| | | |
| | |
| | | return |
| | | } |
| | | |
| | | if (!card.focus && (card.type !== res.type || (res.field && card.field !== res.field))) { |
| | | let refers = [] |
| | | _columnlist.forEach(column => { |
| | | if (column.marks && column.marks.filter(mark => mark.field === card.field || mark.contrastField === card.field).length > 0) { |
| | | refers.push(column.label) |
| | | } |
| | | }) |
| | | |
| | | if (refers.length > 0) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '显示列《' + refers.join('、') + '》标记中含有该字段,此次修改会导致标记失效,请修改《' + refers.join('、') + '》标记设置!', |
| | | duration: 5 |
| | | }) |
| | | } |
| | | } |
| | | |
| | | this.setState({ |
| | | card: null, |
| | | columnlist: _columnlist, |
| | | modaltype: '' |
| | | }) |
| | |
| | | let _columnlist = fromJS(_this.state.columnlist).toJS() |
| | | |
| | | _columnlist = _columnlist.filter(item => item.uuid !== card.uuid) |
| | | |
| | | if (card.field) { |
| | | let refers = [] |
| | | _columnlist.forEach(column => { |
| | | if (column.marks && column.marks.filter(mark => mark.field === card.field || mark.contrastField === card.field).length > 0) { |
| | | refers.push(column.label) |
| | | } |
| | | }) |
| | | |
| | | if (refers.length > 0) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '显示列《' + refers.join('、') + '》标记中含有该字段,删除会导致标记失效,请修改《' + refers.join('、') + '》标记设置!', |
| | | duration: 5 |
| | | }) |
| | | } |
| | | } |
| | | |
| | | _this.setState({ |
| | | columnlist: _columnlist |
| | |
| | | }) |
| | | } |
| | | |
| | | markSubmit = () => { |
| | | const { config } = this.props |
| | | const { card } = this.state |
| | | let _columnlist = fromJS(this.state.columnlist).toJS() |
| | | let _marks = this.refs.markRef.state.marks |
| | | |
| | | if (_marks.length === 0) { |
| | | _marks = '' |
| | | } |
| | | |
| | | _columnlist = _columnlist.map(item => { |
| | | if (item.uuid === card.uuid) { |
| | | item.marks = _marks |
| | | } |
| | | |
| | | return item |
| | | }) |
| | | |
| | | this.setState({ |
| | | card: null, |
| | | columnlist: _columnlist, |
| | | modaltype: '' |
| | | }) |
| | | this.props.updatecolumn({...config, columns: _columnlist}) |
| | | |
| | | } |
| | | |
| | | /** |
| | | * @description 组件销毁,清除state更新 |
| | | */ |
| | |
| | | handleList={this.handleList} |
| | | handleMenu={this.handleColumn} |
| | | deleteMenu={this.deleteElement} |
| | | markMenu={this.markElement} |
| | | handleGridBtn={this.handleGridBtn} |
| | | showfield={this.state.showField} |
| | | placeholder={this.state.dict['header.form.column.placeholder']} |
| | |
| | | wrappedComponentRef={(inst) => this.gridBtnFormRef = inst} |
| | | /> |
| | | </Modal> |
| | | {/* 按钮使用系统存储过程时,验证信息模态框 */} |
| | | <Modal |
| | | wrapClassName="model-table-column-mark-modal" |
| | | title={'标记设置'} |
| | | visible={modaltype === 'mark'} |
| | | width={'75vw'} |
| | | maskClosable={false} |
| | | style={{minWidth: '900px', maxWidth: '1200px'}} |
| | | okText={dict['header.submit']} |
| | | onOk={this.markSubmit} |
| | | onCancel={() => { this.setState({ modaltype: '' }) }} |
| | | destroyOnClose |
| | | > |
| | | <MarkColumn |
| | | ref="markRef" |
| | | card={card} |
| | | dict={dict} |
| | | columns={columnlist} |
| | | /> |
| | | </Modal> |
| | | {this.state.loading && <Spin size="large" />} |
| | | </div> |
| | | ) |