From 0f79daefced8980fa571dd3d2c781a0e3646614f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 24 十一月 2020 16:57:19 +0800 Subject: [PATCH] 2020-11-24 --- src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx | 95 +++++++++++------------------------------------ 1 files changed, 23 insertions(+), 72 deletions(-) diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx index 32fe504..c2d4c20 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { fromJS } from 'immutable' -import { Form, Tabs, Row, Col, Button, Table, Popconfirm, Icon, notification, Modal, message, InputNumber, Radio } from 'antd' +import { Form, Tabs, Row, Col, Button, notification, Modal, message, InputNumber, Radio } from 'antd' import moment from 'moment' import Api from '@/api' @@ -9,10 +9,12 @@ import ColumnForm from './columnform' import CodeMirror from '@/templates/zshare/codemirror' +import asyncComponent from '@/utils/asyncComponent' import './index.scss' const { TabPane } = Tabs const { confirm } = Modal +const EditTable = asyncComponent(() => import('@/templates/zshare/editTable')) class VerifyCard extends Component { static propTpyes = { @@ -28,37 +30,26 @@ { title: this.props.dict['model.form.field'], dataIndex: 'Column', + inputType: 'input', + editable: true, + unique: true, width: '25%' }, { title: this.props.dict['model.name'], dataIndex: 'Text', + inputType: 'input', + editable: true, width: '25%' }, { title: this.props.dict['model.form.columnWidth'], dataIndex: 'Width', + inputType: 'number', + min: 5, + max: 200, + editable: true, width: '25%' - }, - { - title: '鎿嶄綔', - align: 'center', - dataIndex: 'operation', - render: (text, record) => - ( - <div> - <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record, 'columns')} style={{color: '#1890ff'}}><Icon type="edit" /></span> - <span className="operation-btn" title={this.props.dict['header.form.up']} onClick={() => this.handleUpDown(record, 'columns', 'up')} style={{color: '#1890ff'}}><Icon type="arrow-up" /></span> - <span className="operation-btn" title={this.props.dict['header.form.down']} onClick={() => this.handleUpDown(record, 'columns', 'down')} style={{color: '#ff4d4f'}}><Icon type="arrow-down" /></span> - <Popconfirm - overlayClassName="popover-confirm" - title={this.props.dict['model.query.delete']} - onConfirm={() => this.handleDelete(record, 'columns') - }> - <span style={{color: '#ff4d4f', cursor: 'pointer'}}><Icon type="delete" /></span> - </Popconfirm> - </div> - ) } ] } @@ -158,27 +149,17 @@ columnChange = (values) => { let verify = JSON.parse(JSON.stringify(this.state.verify)) - if (values.uuid) { - verify.columns = verify.columns.map(item => { - if (item.uuid === values.uuid) { - return values - } else { - return item - } + let fields = verify.columns.map(item => item.Column) + if (fields.includes(values.Column)) { + notification.warning({ + top: 92, + message: values.Column + '瀛楁宸插瓨鍦紒', + duration: 5 }) - } else { - let fields = verify.columns.map(item => item.Column) - if (fields.includes(values.Column)) { - notification.warning({ - top: 92, - message: values.Column + '瀛楁宸插瓨鍦紒', - duration: 5 - }) - return - } - values.uuid = Utils.getuuid() - verify.columns.push(values) + return } + values.uuid = Utils.getuuid() + verify.columns.push(values) this.setState({ verify: verify @@ -191,25 +172,6 @@ verify.columns = verify.columns.filter(item => item.uuid !== record.uuid) this.setState({ verify: verify }) - } - - handleEdit = (record, type) => { - this.columnForm.edit(record) - - let node = document.getElementById('verify-excelout-box-tab').parentNode - - if (node && node.scrollTop) { - let inter = Math.ceil(node.scrollTop / 10) - - let timer = setInterval(() => { - if (node.scrollTop - inter > 0) { - node.scrollTop = node.scrollTop - inter - } else { - node.scrollTop = 0 - clearInterval(timer) - } - }, 10) - } } handleUpDown = (record, type, direction) => { @@ -452,25 +414,14 @@ {verify.columns.length ? <span className="count-tip">{verify.columns.length}</span> : null} </span> } key="1"> - <ColumnForm - dict={this.props.dict} - columnChange={this.columnChange} - wrappedComponentRef={(inst) => this.columnForm = inst} - /> + <ColumnForm dict={this.props.dict} columnChange={this.columnChange}/> <Button className="excel-col-add mk-green" title="娣诲姞鏄剧ず鍒楀瓧娈�" onClick={this.columnFieldInput}> 鍚屾鏄剧ず鍒� </Button> <Button className="excel-col-add mk-red" title="娓呯┖Excel鍒�" onClick={this.clearField}> 娓呯┖Excel鍒� </Button> - <Table - bordered - rowKey="uuid" - className="custom-table" - dataSource={verify.columns} - columns={excelColumns} - pagination={false} - /> + <EditTable data={verify.columns} columns={excelColumns} onChange={(columns) => this.setState({verify: {...verify, columns}})}/> </TabPane> {card.intertype === 'system' ? <TabPane tab={ <span> -- Gitblit v1.8.0