185 lines
8.4 KiB
JavaScript
185 lines
8.4 KiB
JavaScript
import React from 'react';
|
||
import { Button, Icon, Switch, Tooltip, message } from 'antd';
|
||
import { WeaTools, WeaDialog, WeaSearchGroup, WeaFormItem, WeaInput, WeaBrowser } from 'ecCom';
|
||
|
||
import './style/';
|
||
|
||
class WeaSystemSetting extends React.Component {
|
||
state = { visible: false, data: {} };
|
||
|
||
fn ; //保存事件
|
||
|
||
constructor(props) {
|
||
super(props);
|
||
this.getButtons = this.getButtons.bind(this);
|
||
this.getSettingData = this.getSettingData.bind(this);
|
||
this.setMulitLangPermission = this.setMulitLangPermission.bind(this);
|
||
this.onChange = this.onChange.bind(this);
|
||
this.onSave = this.onSave.bind(this);
|
||
this.onCancel = this.onCancel.bind(this);
|
||
this.onShow = this.onShow.bind(this);
|
||
}
|
||
componentDidMount(){
|
||
const { fn } = this.props;
|
||
this.fn = fn;
|
||
}
|
||
|
||
render() {
|
||
const { data } = this.state;
|
||
const {
|
||
canEdit = false, enableMultiLang = false,
|
||
oaaddress, licenseRemind, remindUserNames, remindDays, picturePath,
|
||
filesystem, filesystembackup, filesystembackuptime, needzip, isaesencrypt,
|
||
} = data;
|
||
|
||
return (
|
||
<WeaDialog
|
||
visible={this.state.visible}
|
||
title="系统设置"
|
||
icon="wevicon-wea-system-setting"
|
||
iconBgcolor="#a7adb5"
|
||
style={{ width: 720, height: 520 }}
|
||
zIndex={100}
|
||
hasScroll={true}
|
||
buttons={this.getButtons()}
|
||
onCancel={this.onCancel}
|
||
>
|
||
<WeaSearchGroup title="全局设置" needTigger={true} showGroup={true}>
|
||
<WeaFormItem label="OA访问地址" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<WeaInput value={oaaddress} disabled={!canEdit} onChange={value => this.onChange({ oaaddress: value })} />
|
||
</WeaFormItem>
|
||
{
|
||
canEdit ?
|
||
<WeaFormItem label="授权信息到期提醒" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<Switch checked={licenseRemind == '1'} onChange={checked => this.onChange({ licenseRemind: checked ? '1' : '0' })} />
|
||
</WeaFormItem> : ''
|
||
}
|
||
{
|
||
canEdit && licenseRemind == '1' ?
|
||
<WeaFormItem label="提醒对象" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<WeaBrowser
|
||
type={17}
|
||
title="人力资源"
|
||
isSingle={false}
|
||
replaceDatas={remindUserNames}
|
||
onChange={(ids, names, datas) => this.onChange({ remindUsers: ids, remindUserNames: datas })}
|
||
/>
|
||
</WeaFormItem> : ''
|
||
}
|
||
{
|
||
canEdit && licenseRemind == '1' ?
|
||
<WeaFormItem label="提前提醒天数" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<WeaInput value={remindDays} onChange={value => this.onChange({ remindDays: value })} />
|
||
</WeaFormItem> : ''
|
||
}
|
||
</WeaSearchGroup>
|
||
<WeaSearchGroup title="文件存储设置" needTigger={true} showGroup={true}>
|
||
<WeaFormItem label="图片存放目录" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<WeaInput
|
||
helpfulTip={canEdit ? '设置文件目录路径不能含有中文,不填写将默认存放在系统程序目录filesystem下' : ''}
|
||
value={picturePath}
|
||
disabled={!canEdit}
|
||
onChange={value => this.onChange({ picturePath: value })}
|
||
/>
|
||
</WeaFormItem>
|
||
<WeaFormItem label="文件存放目录" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<WeaInput
|
||
helpfulTip={canEdit ? '设置文件目录路径不能含有中文,不填写将默认存放在系统程序目录filesystem下' : ''}
|
||
value={filesystem}
|
||
disabled={!canEdit}
|
||
onChange={value => this.onChange({ filesystem: value })}
|
||
/>
|
||
|
||
</WeaFormItem>
|
||
<WeaFormItem label="文件备份目录" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<WeaInput
|
||
helpfulTip={canEdit ? '设置文件目录路径不能含有中文,不填写将默认存放在系统程序目录filesystem下' : ''}
|
||
value={filesystembackup}
|
||
disabled={!canEdit}
|
||
onChange={value => this.onChange({ filesystembackup: value })}
|
||
/>
|
||
</WeaFormItem>
|
||
<WeaFormItem label="文件备份周期" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<WeaInput
|
||
helpfulTip={canEdit ? '设置为0或空表示不进行备份,默认备份周期是一小时(60分钟),大于0且小于等于60分钟则按照60分钟备份,大于60分钟即按照设置的时间进行备份' : ''}
|
||
value={filesystembackuptime}
|
||
disabled={!canEdit}
|
||
onChange={value => this.onChange({ filesystembackuptime: value })}
|
||
/>
|
||
</WeaFormItem>
|
||
<WeaFormItem label="压缩存储" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<Switch checked={needzip == '1'} disabled={!canEdit} onChange={checked => this.onChange({ needzip: checked ? '1' : '0' })} />
|
||
</WeaFormItem>
|
||
<WeaFormItem label="加密存储" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<Switch checked={isaesencrypt == '1'} disabled={!canEdit} onChange={checked => this.onChange({ isaesencrypt: checked ? '1' : '0' })} />
|
||
</WeaFormItem>
|
||
</WeaSearchGroup>
|
||
{
|
||
enableMultiLang ?
|
||
<WeaSearchGroup title="多语言设置" needTigger={true} showGroup={true}>
|
||
<WeaFormItem label="授权设置" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
|
||
<div style={{ width: '80%', height: '30px', lineHeight: '30px', paddingLeft: '10px', borderBottom: '1px solid #e2e2e2' }}>
|
||
<span style={{ color: '#00a9ff', cursor: 'pointer' }} onClick={this.setMulitLangPermission}>设置</span>
|
||
</div>
|
||
</WeaFormItem>
|
||
</WeaSearchGroup> : ''
|
||
}
|
||
</WeaDialog>
|
||
);
|
||
}
|
||
|
||
getButtons() {
|
||
const { data } = this.state;
|
||
|
||
let buttons = [];
|
||
if (data.canEdit) {
|
||
buttons.push(<Button type="primary" onClick={this.onSave}>保存</Button>);
|
||
}
|
||
return buttons;
|
||
}
|
||
|
||
getSettingData() {
|
||
WeaTools.callApi('/api/portal/systemInfo/getSettingData', 'GET', {}).then((result) => {
|
||
const { data } = result;
|
||
this.setState({ data });
|
||
});
|
||
}
|
||
|
||
setMulitLangPermission() {
|
||
const dialog = new window.top.Dialog();
|
||
dialog.currentWindow = window;
|
||
dialog.Height = 650;
|
||
dialog.Width = 600;
|
||
dialog.Title = '多语言授权设置';
|
||
dialog.URL = '/docs/tabs/DocCommonTab.jsp?_fromURL=80&isdialog=1';
|
||
dialog.show();
|
||
}
|
||
|
||
onChange(obj) {
|
||
const { data } = this.state;
|
||
this.setState({ data: { ...data, ...obj } });
|
||
}
|
||
|
||
onSave() {
|
||
const { data } = this.state;
|
||
|
||
WeaTools.callApi('/api/portal/systemInfo/saveSettingData', 'POST', {
|
||
...data,
|
||
}).then((result) => {
|
||
typeof (this.fn)==='function'&&this.fn(data.oaaddress);
|
||
this.onCancel();
|
||
});
|
||
}
|
||
|
||
onCancel() {
|
||
this.setState({ visible: false });
|
||
}
|
||
|
||
onShow() {
|
||
this.setState({ visible: true });
|
||
this.getSettingData();
|
||
}
|
||
}
|
||
|
||
export default WeaSystemSetting;
|