|
@@ -1,5 +1,4 @@
|
|
|
-import { Input, Radio, Select, Space } from 'antd'
|
|
|
-import { set } from 'lodash'
|
|
|
+import { Input, Radio, Select, Space, Tooltip } from 'antd'
|
|
|
import React, {
|
|
|
useState,
|
|
|
useImperativeHandle,
|
|
@@ -7,6 +6,7 @@ import React, {
|
|
|
useEffect,
|
|
|
} from 'react'
|
|
|
import styled from 'styled-components'
|
|
|
+import { QuestionCircleOutlined } from '@ant-design/icons'
|
|
|
|
|
|
const CronWrapper = styled.div`
|
|
|
.time_select {
|
|
@@ -36,7 +36,8 @@ const CronSelect = ({ cron_data }, ref) => {
|
|
|
|
|
|
useEffect(() => {
|
|
|
const cron_type = cron_data?.cron_select_type
|
|
|
- let keys = Object.keys(cron_data)
|
|
|
+ let keys = []
|
|
|
+ if (![null, undefined].includes(cron_type)) keys = Object.keys(cron_data)
|
|
|
setCronType(String(cron_type))
|
|
|
switch (cron_type) {
|
|
|
case 0:
|
|
@@ -254,12 +255,32 @@ const CronSelect = ({ cron_data }, ref) => {
|
|
|
</Space>
|
|
|
)
|
|
|
|
|
|
+ const cronExample = (
|
|
|
+ <Space direction="vertical">
|
|
|
+ <p>格式:分 时 天 月 周</p>
|
|
|
+ <p>0 * * * * (每小时)</p>
|
|
|
+ <p>0 0 * * * (每天)</p>
|
|
|
+ <p>0 0 * * 1(每周)</p>
|
|
|
+ <p>0 0 1 * *(每月)</p>
|
|
|
+ <p>*/15 * * * *(每隔15分钟执行一次)</p>
|
|
|
+ <p>* *12 * * *(每隔12小时执行一次)</p>
|
|
|
+ <p>15 10 16 * *(每月16日10:15分运行)</p>
|
|
|
+ </Space>
|
|
|
+ )
|
|
|
+
|
|
|
const cronSet = (
|
|
|
- <Input
|
|
|
- placeholder="cron表达式"
|
|
|
- value={cronVal}
|
|
|
- onChange={onChangeCronVal}
|
|
|
- />
|
|
|
+ <Space>
|
|
|
+ <Input
|
|
|
+ placeholder="cron表达式"
|
|
|
+ value={cronVal}
|
|
|
+ onChange={onChangeCronVal}
|
|
|
+ />
|
|
|
+ <Tooltip placement="right" title={cronExample}>
|
|
|
+ <QuestionCircleOutlined
|
|
|
+ style={{ color: '#d9d9d9', fontSize: '16px' }}
|
|
|
+ />
|
|
|
+ </Tooltip>
|
|
|
+ </Space>
|
|
|
)
|
|
|
|
|
|
return (
|