From c7aece35a62b6e91fd98a625bf0e53f64bfbd18d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 17 八月 2023 16:22:15 +0800
Subject: [PATCH] 2023-08-17

---
 src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx |  107 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 92 insertions(+), 15 deletions(-)

diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx
index cd970a6..04fa4a8 100644
--- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/datasource/index.jsx
@@ -1,6 +1,6 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Input, Radio, Tooltip, notification } from 'antd'
+import { Form, Row, Col, Input, Radio, Tooltip, notification, InputNumber } from 'antd'
 import { QuestionCircleOutlined } from '@ant-design/icons'
 
 import Utils from '@/utils/utils.js'
@@ -11,6 +11,7 @@
 
 class SettingForm extends Component {
   static propTpyes = {
+    btnType: PropTypes.any,
     setting: PropTypes.object,    // 鏁版嵁婧愰厤缃�
   }
 
@@ -20,10 +21,10 @@
   }
 
   UNSAFE_componentWillMount () {
-    const { setting } = this.props
+    const { setting, btnType } = this.props
 
     this.setState({
-      dataType: setting.dataType,
+      dataType: btnType === 'print' ? 'custom' : setting.dataType,
       defaultSql: setting.defaultSql || 'true'
     })
   }
@@ -75,6 +76,14 @@
               })
               reject()
               return
+            } else if (/,,/ig.test(values.dataresource)) {
+              notification.warning({
+                top: 92,
+                message: '鏁版嵁婧愪腑锛屼笉鍙嚭鐜拌繛缁殑鑻辨枃閫楀彿锛�,,锛�',
+                duration: 5
+              })
+              reject()
+              return
             }
 
             let error = Utils.verifySql(values.dataresource)
@@ -99,12 +108,22 @@
   }
 
   updateDataType = (e) => {
-    this.setState({dataType: e.target.value})
     this.props.updateDataType(e.target.value)
+
+    if (e.target.value === 'custom') {
+      setTimeout(() => {
+        this.setState({
+          dataType: e.target.value,
+          defaultSql: this.props.setting.defaultSql || 'true'
+        })
+      }, 10)
+    } else {
+      this.setState({dataType: e.target.value})
+    }
   }
 
   render() {
-    const { setting } = this.props
+    const { setting, btnType } = this.props
     const { getFieldDecorator } = this.props.form
     const { dataType, defaultSql } = this.state
 
@@ -123,7 +142,7 @@
       <div className="excelout-datasource-wrap">
         <Form {...formItemLayout}>
           <Row gutter={24}>
-            <Col span={8}>
+            {btnType !== 'print' ? <Col span={8}>
               <Form.Item label="瀵煎嚭鏁版嵁">
                 {getFieldDecorator('dataType', {
                   initialValue: setting.dataType
@@ -134,7 +153,7 @@
                   </Radio.Group>
                 )}
               </Form.Item>
-            </Col>
+            </Col> : null}
             {dataType === 'custom' ? <Col className="short-label" span={8}>
               <Form.Item label="琛ㄥ悕">
                 {getFieldDecorator('tableName', {
@@ -197,13 +216,15 @@
                 </Radio.Group>)}
               </Form.Item>
             </Col> : null}
+            {/* {dataType === 'custom' && defaultSql === 'true' ? <Col className="short-label" span={8}>
+              <Form.Item label="涓婚敭">
+                {getFieldDecorator('primaryKey', {
+                  initialValue: setting.primaryKey || 'ID',
+                })(<Input placeholder={''} autoComplete="off" />)}
+              </Form.Item>
+            </Col> : null} */}
             {dataType === 'custom' && defaultSql === 'true' ? <Col className="short-label" span={8}>
-              <Form.Item label={
-                <Tooltip placement="topLeft" title="鎺掑簭鏂瑰紡涓虹┖鏃讹紝浣跨敤琛ㄦ牸鎴栫粍浠朵腑鐨勬帓搴忔柟寮忋��">
-                  <QuestionCircleOutlined className="mk-form-tip" />
-                  鎺掑簭鏂瑰紡
-                </Tooltip>
-              }>
+              <Form.Item label="鎺掑簭鏂瑰紡">
                 {getFieldDecorator('order', {
                   initialValue: setting.order || '',
                   rules: [
@@ -215,9 +236,9 @@
                 })(<Input placeholder={'ID asc, UID desc'} autoComplete="off" />)}
               </Form.Item>
             </Col> : null}
-            {dataType === 'custom' ? <Col span={8}>
+            {dataType === 'custom' && btnType !== 'print' ? <Col span={8}>
               <Form.Item label={
-                <Tooltip placement="topLeft" title="涓嶄娇鐢ㄦ悳绱㈡潯浠舵椂锛屼笉浼氳繘琛屾悳绱㈡潯浠剁殑鎷兼帴涓庣浉鍏崇粺璁″瓧娈电殑鏇挎崲銆傛敞锛氳嚜瀹氫箟鏁版嵁鏉ユ簮鏃讹紝鍙娇鐢ㄥ唴閮ㄦ悳绱€��">
+                <Tooltip placement="topLeft" title="涓嶄娇鐢ㄦ悳绱㈡潯浠舵椂锛屼笉浼氳繘琛屾悳绱㈡潯浠剁殑鎷兼帴涓庣浉鍏崇粺璁″瓧娈电殑鏇挎崲銆�">
                   <QuestionCircleOutlined className="mk-form-tip" />
                   鎼滅储鏉′欢
                 </Tooltip>
@@ -231,6 +252,62 @@
                 </Radio.Group>)}
               </Form.Item>
             </Col> : null}
+            {btnType !== 'print' ? <Col span={8}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="瀵煎嚭excel涓伐浣滆〃鍚嶇О锛岄粯璁や负Sheet1銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  宸ヤ綔琛�
+                </Tooltip>
+              }>
+                {getFieldDecorator('sheet', {
+                  initialValue: setting.sheet || ''
+                })(<Input placeholder="" autoComplete="off" />)}
+              </Form.Item>
+            </Col> : null}
+            {btnType !== 'print' ? <Col span={8}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="瀵煎嚭excel涓殑琛岄珮銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  琛岄珮
+                </Tooltip>
+              }>
+                {getFieldDecorator('rowHeight', {
+                  initialValue: setting.rowHeight || ''
+                })(<InputNumber min={10} max={200} precision={0} />)}
+              </Form.Item>
+            </Col> : null}
+            {btnType !== 'print' ? <Col span={8}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="璇峰皢闇�瑕佸悎骞剁殑琛ㄥご浣跨敤涓í绾垮垎闅旓紙濡傦細鍟嗗搧-鏁伴噺銆佸晢鍝�-鍗曚环锛夛紝鍓嶉儴鍒嗗皢浣滀负涓昏〃澶达紝鍚庨儴鍒嗗皢浣滀负瀛愯〃澶淬��">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  琛ㄥご鍚堝苟
+                </Tooltip>
+              }>
+                {getFieldDecorator('merge', {
+                  initialValue: setting.merge || 'false'
+                })(
+                <Radio.Group>
+                  <Radio value="false">鍚�</Radio>
+                  <Radio value="true">鏄�</Radio>
+                </Radio.Group>)}
+              </Form.Item>
+            </Col> : null}
+            {btnType !== 'print' ? <Col span={8}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="Excel鍐呭鍖烘槸鍚﹁嚜鍔ㄦ崲琛屻��">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  鑷姩鎹㈣
+                </Tooltip>
+              }>
+                {getFieldDecorator('wrapText', {
+                  initialValue: setting.wrapText || 'false'
+                })(
+                <Radio.Group>
+                  <Radio value="false">鍚�</Radio>
+                  <Radio value="true">鏄�</Radio>
+                </Radio.Group>)}
+              </Form.Item>
+            </Col> : null}
           </Row>
         </Form>
       </div>

--
Gitblit v1.8.0