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