From 0594fe8d97286a535177f8ba05972d0305fc7dee Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 17 二月 2020 14:15:58 +0800 Subject: [PATCH] 2020-02-17 --- src/templates/tableshare/verifycardexcelin/index.jsx | 89 ++++++++++++++++++++++++-------------------- 1 files changed, 49 insertions(+), 40 deletions(-) diff --git a/src/templates/tableshare/verifycardexcelin/index.jsx b/src/templates/tableshare/verifycardexcelin/index.jsx index cd13e2f..395a1eb 100644 --- a/src/templates/tableshare/verifycardexcelin/index.jsx +++ b/src/templates/tableshare/verifycardexcelin/index.jsx @@ -1,7 +1,6 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { Form, Tabs, Row, Col, Input, Button, Table, Popconfirm, Icon, notification, Modal, message, InputNumber } from 'antd' -import { formRule } from '@/utils/option.js' import Utils from '@/utils/utils.js' @@ -133,7 +132,7 @@ this.setState({ verify: { ..._verify, - sheet: _verify.sheet || '', + sheet: _verify.sheet || 'Sheet1', range: _verify.range || 0, columns: _verify.columns || [], scripts: _verify.scripts || [] @@ -272,38 +271,53 @@ }) } - sheetChange = (e) => { + handleConfirm = () => { const { verify } = this.state + // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� + return new Promise((resolve, reject) => { + this.props.form.validateFieldsAndScroll((err, values) => { + if (!err) { + let _verify = {...verify, ...values} - this.setState({}, () => { - this.props.form.validateFields(['sheet'], (errors, values) => { - if (!errors) { - this.setState({ - verify: { - ...verify, - ...values + let cols = _verify.columns.map(col => col.Column) + cols = Array.from(new Set(cols)) + + if (_verify.columns.length === 0) { + notification.warning({ + top: 92, + message: '璇疯缃瓻xcel鍒楀瓧娈�!', + duration: 10 + }) + return + } else if (_verify.columns.length > cols.length) { + notification.warning({ + top: 92, + message: 'Excel鍒楀瓧娈靛悕锛屼笉鍙噸澶�!', + duration: 10 + }) + return + } else if (_verify.range === 1) { + let tEmptys = _verify.columns.filter(op => !op.Text) + if (tEmptys.length > 0) { + notification.warning({ + top: 92, + message: '蹇界暐棣栬鏃讹紝浼氫娇鐢═ext鍊兼牎楠孍xcel棣栬鍐呭锛孴ext鍊间笌Excel琛ㄩ琛屽唴瀹圭浉鍚岋紝涓斿潎涓嶅彲涓虹┖锛�', + duration: 10 + }) + return } - }) + } + console.log(_verify) + + resolve(_verify) } else { - this.setState({ - verify: { - ...verify, - sheet: '' - } + notification.warning({ + top: 92, + message: '璇疯缃瓻xcel琛ㄥ悕!', + duration: 10 }) } }) - }) - } - - rangeChange = (value) => { - const { verify } = this.state - - this.setState({ - verify: { - ...verify, - range: value || 0 - } }) } @@ -365,28 +379,23 @@ <Form {...formItemLayout}> <Row gutter={24}> <Col span={8}> - <Form.Item label={this.props.dict['header.form.tablename']}> + <Form.Item label={'Excel琛ㄥ悕'}> {getFieldDecorator('sheet', { initialValue: verify.sheet || '', rules: [ { required: true, message: this.props.dict['form.required.input'] + this.props.dict['header.form.tablename'] + '!' - }, - { - pattern: formRule.table.pattern, - message: formRule.table.message - }, { - max: formRule.table.max, - message: formRule.table.maxMessage } ] - })(<Input placeholder="" autoComplete="off" onChange={this.sheetChange} />)} + })(<Input placeholder="" autoComplete="off" />)} </Form.Item> </Col> <Col span={8}> <Form.Item label={'蹇界暐琛�'}> - <InputNumber min={0} max={100} precision={0} defaultValue={0} onChange={this.rangeChange} /> + {getFieldDecorator('range', { + initialValue: verify.range || 0 + })(<InputNumber min={0} max={100} precision={0} />)} </Form.Item> </Col> </Row> @@ -437,7 +446,7 @@ </Col> <Col span={8}> <Form.Item label={'鍋滅暀鏃堕棿'}> - <InputNumber defaultValue={2} min={1} max={10000} precision={0} onChange={(val) => {this.timeChange(val, 'stime')}} /> + <InputNumber defaultValue={verify.stime || 2} min={1} max={10000} precision={0} onChange={(val) => {this.timeChange(val, 'stime')}} /> </Form.Item> </Col> </Row> @@ -460,7 +469,7 @@ </Col> <Col span={8}> <Form.Item label={'鍋滅暀鏃堕棿'}> - <InputNumber defaultValue={15} min={1} max={10000} precision={0} onChange={(val) => {this.timeChange(val, 'ntime')}} /> + <InputNumber defaultValue={verify.ntime || 15} min={1} max={10000} precision={0} onChange={(val) => {this.timeChange(val, 'ntime')}} /> </Form.Item> </Col> </Row> @@ -475,7 +484,7 @@ </Col> <Col span={8}> <Form.Item label={'鍋滅暀鏃堕棿'}> - <InputNumber defaultValue={15} min={1} max={10000} precision={0} onChange={(val) => {this.timeChange(val, 'ftime')}} /> + <InputNumber defaultValue={verify.ftime || 15} min={1} max={10000} precision={0} onChange={(val) => {this.timeChange(val, 'ftime')}} /> </Form.Item> </Col> </Row> -- Gitblit v1.8.0