From 662a6f089215503ea9742b6f971447670f28afab Mon Sep 17 00:00:00 2001 From: vapao Date: Thu, 16 Jan 2020 13:06:58 +0800 Subject: [PATCH] =?UTF-8?q?U=20=E5=90=88=E5=B9=B6=E6=8A=A5=E8=AD=A6?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E8=AE=BE=E7=BD=AE=E5=92=8C=E9=82=AE=E4=BB=B6?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/system/setting/AlarmSetting.js | 135 ++++++++++++++---- .../src/pages/system/setting/MailServer.js | 84 ----------- spug_web/src/pages/system/setting/index.js | 3 - 3 files changed, 111 insertions(+), 111 deletions(-) delete mode 100644 spug_web/src/pages/system/setting/MailServer.js diff --git a/spug_web/src/pages/system/setting/AlarmSetting.js b/spug_web/src/pages/system/setting/AlarmSetting.js index 128a85e..da67885 100644 --- a/spug_web/src/pages/system/setting/AlarmSetting.js +++ b/spug_web/src/pages/system/setting/AlarmSetting.js @@ -5,40 +5,127 @@ */ import React from 'react'; import { observer } from 'mobx-react'; -import { Button, Form, Input, message } from 'antd'; +import { Button, Form, Input, Radio, message } from 'antd'; import styles from './index.module.css'; import { http } from 'libs'; import store from './store'; import lds from 'lodash'; +@observer +class AlarmSetting extends React.Component { + constructor(props) { + super(props); + this.setting = JSON.parse(lds.get(store.settings, 'mail_service.value', "{}")); + this.state = { + mode: this.setting['server'] === undefined ? '1' : '2', + spug_key: lds.get(store.settings, 'spug_key.value') + } + } -export default observer(function () { - function handleSubmit() { + _doSubmit = (formData) => { store.loading = true; - const value = lds.get(store.settings, 'spug_key.value'); - http.post('/api/setting/', {data: [{key: 'spug_key', value}]}) + http.post('/api/setting/', {data: formData}) .then(() => { message.success('保存成功'); store.fetchSettings() }) .finally(() => store.loading = false) - } + }; - return ( - -
报警服务设置
-
- 该凭据用于调用spug内置的报警服务,请关注公众号Spug运维在我的页面查看调用凭据。}> - lds.set(store.settings, 'spug_key.value', e.target.value)} - placeholder="请输入"/> - - -
-
- ) -}) + handleSubmit = () => { + const {mode, spug_key} = this.state; + const formData = [{key: 'spug_key', value: spug_key}]; + if (mode === '1') { + formData.push({key: 'mail_service', value: '{}'}); + this._doSubmit(formData) + } else { + this.props.form.validateFields((err, data) => { + if (!err) { + formData.push({key: 'mail_service', value: JSON.stringify(data)}); + this._doSubmit(formData) + } + }) + } + }; + + render() { + const {getFieldDecorator} = this.props.form; + const {mode, spug_key} = this.state; + return ( + +
报警服务设置
+
+ 该凭据用于调用spug内置的报警服务,请关注公众号Spug运维在我的页面查看调用凭据。}> + this.setState({spug_key: e.target.value})} + placeholder="请输入"/> + + + this.setState({mode: e.target.value})}> + 内置 + 自定义 + +
+ + {getFieldDecorator('server', { + initialValue: this.setting['server'], rules: [ + {required: true, message: '请输入邮件服务器地址'} + ] + })( + + )} + + + {getFieldDecorator('port', { + initialValue: this.setting['port'], rules: [ + {required: true, message: '请输入邮件服务端口'} + ] + })( + + )} + + + {getFieldDecorator('username', { + initialValue: this.setting['username'], rules: [ + {required: true, message: '请输入邮箱账号'} + ] + })( + + )} + + + {getFieldDecorator('password', { + initialValue: this.setting['password'], rules: [ + {required: true, message: '请输入邮箱账号对应的密码'} + ] + })( + + )} + + + {getFieldDecorator('nickname', {initialValue: this.setting['nickname']})( + + )} + +
+
+ +
+
+ ) + } +} + +export default Form.create()(AlarmSetting) diff --git a/spug_web/src/pages/system/setting/MailServer.js b/spug_web/src/pages/system/setting/MailServer.js deleted file mode 100644 index 20c4907..0000000 --- a/spug_web/src/pages/system/setting/MailServer.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug - * Copyright (c) - * Released under the MIT License. - */ -import React, { useState } from 'react'; -import {observer} from 'mobx-react'; -import { Button, Form, Input, message } from 'antd'; -import { http } from 'libs'; -import styles from './index.module.css'; -import store from './store' -import lds from 'lodash'; - - -function MailServer(props) { - const [loading, setLoading] = useState(false); - - const handleSubmit = () => { - props.form.validateFields((err, formData) => { - if (!err) { - setLoading(true); - const data = {key: 'mail_service', value: JSON.stringify(formData), desc: 'mail service'}; - http.post('/api/setting/', {data: [data]}) - .then(() => { - message.success('保存成功') - }) - .finally(() => setLoading(false)) - } - }); - }; - const {getFieldDecorator} = props.form; - const setting = JSON.parse(lds.get(store.settings, 'mail_service.value', "{}")); - return ( - -
邮件服务设置
-
- - {getFieldDecorator('server', { - initialValue: setting['server'], rules: [ - {required: true, message: '请输入邮件服务器地址'} - ] - })( - - )} - - - {getFieldDecorator('port', { - initialValue: setting['port'], rules: [ - {required: true, message: '请输入邮件服务端口'} - ] - })( - - )} - - - {getFieldDecorator('username', { - initialValue: setting['username'], rules: [ - {required: true, message: '请输入邮件账号'} - ] - })( - - )} - - - {getFieldDecorator('password', { - initialValue: setting['password'], rules: [ - {required: true, message: '请输入邮箱账号对应的密码'} - ] - })( - - )} - - - {getFieldDecorator('nickname', {initialValue: setting['nickname']})( - - )} - - -
-
- ) -} - -export default observer(Form.create()(MailServer)) diff --git a/spug_web/src/pages/system/setting/index.js b/spug_web/src/pages/system/setting/index.js index c54f6b2..2674d59 100644 --- a/spug_web/src/pages/system/setting/index.js +++ b/spug_web/src/pages/system/setting/index.js @@ -8,7 +8,6 @@ import { Menu } from 'antd'; import {AuthDiv} from 'components'; import BasicSetting from './BasicSetting'; import AlarmSetting from './AlarmSetting'; -import MailServer from './MailServer'; import OpenService from './OpenService'; import styles from './index.module.css'; import store from './store'; @@ -38,13 +37,11 @@ class Index extends React.Component { onSelect={({selectedKeys}) => this.setState({selectedKeys})}> 基本设置 报警服务设置 - 邮件服务设置 开放服务设置
{selectedKeys[0] === 'basic' && } - {selectedKeys[0] === 'mail' && } {selectedKeys[0] === 'alarm' && } {selectedKeys[0] === 'service' && }