king
2023-03-24 deab3ddf1990cd25b4692d1358ac9d50856644f0
src/menu/components/share/clockcomponent/settingform/index.jsx
@@ -1,6 +1,6 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { Form, Row, Col, Select, Tooltip, Input, InputNumber } from 'antd'
import { Form, Row, Col, Select, Tooltip, Input, InputNumber, notification } from 'antd'
import { QuestionCircleOutlined } from '@ant-design/icons'
import './index.scss'
@@ -21,6 +21,15 @@
    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)
@@ -50,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: config.timer || ''
                })(
                  <Select onChange={(val) => this.setState({timer: val})}>
                  <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>
@@ -81,7 +100,7 @@
                })(<InputNumber min={0} max={500} precision={0} />)}
              </Form.Item>
            </Col> : null}
            {(config.subtype === 'balcony' || config.subtype === 'propcard') && timer ? <Col span={22}>
            {timer && timer !== '2s' ? <Col span={22}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="可以指定字段用于控制定时器的关闭。">
                  <QuestionCircleOutlined className="mk-form-tip" />
@@ -97,7 +116,7 @@
                )}
              </Form.Item>
            </Col> : null}
            {(config.subtype === 'balcony' || config.subtype === 'propcard') && clearField && timer ? <Col span={22}>
            {clearField && timer && timer !== '2s' ? <Col span={22}>
              <Form.Item label={
                <Tooltip placement="topLeft" title="当字段值与关闭值相等时,关闭定时器,多个值可用逗号分隔。">
                  <QuestionCircleOutlined className="mk-form-tip" />