weaver_trunk_cli/pc4public/portal/wea-system-setting/index.js

185 lines
8.4 KiB
JavaScript
Raw Normal View History

2024-12-11 15:32:14 +08:00
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;