From cb9ade2afd2a367ad767bc605ab7086c695dd010 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 09 十二月 2022 15:53:32 +0800
Subject: [PATCH] 2022-12-09

---
 src/menu/components/share/clockcomponent/settingform/index.jsx |   79 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 72 insertions(+), 7 deletions(-)

diff --git a/src/menu/components/share/clockcomponent/settingform/index.jsx b/src/menu/components/share/clockcomponent/settingform/index.jsx
index d5ee583..0978f22 100644
--- a/src/menu/components/share/clockcomponent/settingform/index.jsx
+++ b/src/menu/components/share/clockcomponent/settingform/index.jsx
@@ -1,22 +1,35 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Select } from 'antd'
+import { Form, Row, Col, Select, Tooltip, Input, InputNumber, notification } from 'antd'
+import { QuestionCircleOutlined } from '@ant-design/icons'
 
 import './index.scss'
 
 class SettingForm extends Component {
   static propTpyes = {
-    timer: PropTypes.string,      // 缁勪欢鍚嶇О
-    inputSubmit: PropTypes.func   // 鍥炶溅浜嬩欢
+    config: PropTypes.string,
+    inputSubmit: PropTypes.func
   }
 
-  state = {}
+  state = {
+    clearField: this.props.config.clearField || '',
+    timer: this.props.config.timer || ''
+  }
 
   handleConfirm = () => {
     // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭�
     return new Promise((resolve, reject) => {
       this.props.form.validateFieldsAndScroll((err, values) => {
         if (!err) {
+          if (values.timer === '2s') {
+            if (!values.timerRepeats) {
+              notification.warning({ top: 92, message: '璇疯缃�2s瀹氭椂鍣ㄦ墽琛屾鏁般��', duration: 3 })
+              return
+            } else if (values.timerRepeats > 3) {
+              notification.warning({ top: 92, message: '2s瀹氭椂鍣ㄦ墽琛屾鏁颁笉鍙秴杩�3娆°��', duration: 3 })
+              return
+            }
+          }
           resolve(values)
         } else {
           reject(err)
@@ -26,6 +39,8 @@
   }
 
   render() {
+    const { config } = this.props
+    const { clearField, timer } = this.state
     const { getFieldDecorator } = this.props.form
 
     const formItemLayout = {
@@ -44,12 +59,22 @@
         <Form {...formItemLayout}>
           <Row gutter={24}>
             <Col span={22}>
-              <Form.Item label="瀹氭椂鍣�">
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="2s瀹氭椂鍣ㄦ渶澶氬彧鑳芥墽琛屼笁娆★紝瀹氭椂鍣ㄦ墽琛�3娆′互涓婇渶瑕佸湪鍗曠偣绯荤粺璁剧疆鏉冮檺銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  瀹氭椂鍣�
+                </Tooltip>
+              }>
                 {getFieldDecorator('timer', {
-                  initialValue: this.props.timer || ''
+                  initialValue: config.timer || ''
                 })(
-                  <Select>
+                  <Select onChange={(val) => this.setState({timer: val}, () => {
+                    if (val === '2s') {
+                      this.props.form.setFieldsValue({timerRepeats: 1})
+                    }
+                  })}>
                     <Select.Option value=""> 鏃� </Select.Option>
+                    <Select.Option value="2s"> 2绉� </Select.Option>
                     <Select.Option value="5s"> 5绉� </Select.Option>
                     <Select.Option value="15s"> 15绉� </Select.Option>
                     <Select.Option value="30s"> 30绉� </Select.Option>
@@ -63,6 +88,46 @@
                 )}
               </Form.Item>
             </Col>
+            {timer ? <Col span={22}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="瀹氭椂鍣ㄦ墽琛屾鏁般�傛敞锛�0琛ㄧず娌℃湁闄愬埗銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  鎵ц娆℃暟
+                </Tooltip>
+              }>
+                {getFieldDecorator('timerRepeats', {
+                  initialValue: config.timerRepeats || 0,
+                })(<InputNumber min={0} max={500} precision={0} />)}
+              </Form.Item>
+            </Col> : null}
+            {config.type === 'card' && (config.subtype === 'balcony' || config.subtype === 'propcard') && timer && timer !== '2s' ? <Col span={22}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="鍙互鎸囧畾瀛楁鐢ㄤ簬鎺у埗瀹氭椂鍣ㄧ殑鍏抽棴銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  鍏抽棴瀹氭椂
+                </Tooltip>
+              }>
+                {getFieldDecorator('clearField', {
+                  initialValue: clearField || ''
+                })(
+                  <Select allowClear onChange={(val) => this.setState({clearField: val})}>
+                    {config.columns.map(col => (<Select.Option key={col.uuid} value={col.field}>{col.label}</Select.Option>))}
+                  </Select>
+                )}
+              </Form.Item>
+            </Col> : null}
+            {(config.subtype === 'balcony' || config.subtype === 'propcard') && clearField && timer && timer !== '2s' ? <Col span={22}>
+              <Form.Item label={
+                <Tooltip placement="topLeft" title="褰撳瓧娈靛�间笌鍏抽棴鍊肩浉绛夋椂锛屽叧闂畾鏃跺櫒锛屽涓�煎彲鐢ㄩ�楀彿鍒嗛殧銆�">
+                  <QuestionCircleOutlined className="mk-form-tip" />
+                  鍏抽棴鍊�
+                </Tooltip>
+              }>
+                {getFieldDecorator('clearValue', {
+                  initialValue: config.clearValue || ''
+                })(<Input placeholder="" autoComplete="off" onPressEnter={this.props.inputSubmit}/>)}
+              </Form.Item>
+            </Col> : null}
           </Row>
         </Form>
       </div>

--
Gitblit v1.8.0