weaver_trunk_cli/pc4public/portal/wea-license/LicenseSubmit.js

172 lines
6.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react';
import { Button, Icon, message } from 'antd';
import { WeaTools, WeaDialog, WeaFormItem, WeaInput, WeaUpload } from 'ecCom';
import LicenseMessage from './LicenseMessage';
class LicenseSubmit extends React.Component {
state = { visible: false, isShowMsg: false, isChangeCode: false };
constructor(props) {
super(props);
this.getButtons = this.getButtons.bind(this);
this.getLicenseCode = this.getLicenseCode.bind(this);
this.onChange = this.onChange.bind(this);
this.onSubmit = this.onSubmit.bind(this);
this.onSubmitCode = this.onSubmitCode.bind(this);
this.onBack = this.onBack.bind(this);
this.onCancel = this.onCancel.bind(this);
}
render() {
const { code = '', code_old = '', code_new = '', code_rep = '' } = this.state;
let displayComp = (
<div className="wea-license-group">
<WeaFormItem label="验证码" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
<WeaInput type="password" value={code} style={{ width: '270px' }} viewAttr={3} onChange={value => this.setState({ code: value })} />
<span style={{ marginLeft: '20px', color: '#00a9ff', cursor: 'pointer' }} onClick={() => this.setState({ isChangeCode: true })}>更改验证码</span>
</WeaFormItem>
<WeaFormItem label="license文件" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
<WeaUpload
ref="WeaUpload"
uploadId="LicenseOperation"
uploadUrl="/api/system/license/LicenseOperation"
uploadParams={{ code }}
category="string"
clearWhenReset={false}
multiSelection={false}
maxFilesNumber={1}
showClearAll={false}
autoUpload={false}
limitType="license"
viewAttr={3}
onChange={this.onChange}
/>
</WeaFormItem>
<WeaFormItem label="识别码" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }} underline>
<WeaInput value={this.state.licenseCode} viewAttr={1} />
</WeaFormItem>
<div className="wea-license-tip-msg">
<Icon type="exclamation-circle" />
<span style={{ marginLeft: '10px' }}>提示将公司名称及识别码提交给软件供应商以获取License</span>
</div>
</div>
);
if (this.state.isShowMsg) {
displayComp = <LicenseMessage message={this.state.message} />;
}
if (this.state.isChangeCode) {
displayComp = (
<div className="wea-license-group">
<WeaFormItem label="旧验证码" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
<WeaInput type="password" value={code_old} viewAttr={3} onChange={value => this.setState({ code_old: value })} />
</WeaFormItem>
<WeaFormItem label="新验证码" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
<WeaInput type="password" value={code_new} viewAttr={3} onChange={value => this.setState({ code_new: value })} />
</WeaFormItem>
<WeaFormItem label="确认新验证码" labelCol={{ span: 6 }} wrapperCol={{ span: 16 }}>
<WeaInput type="password" value={code_rep} viewAttr={3} onChange={value => this.setState({ code_rep: value })} />
</WeaFormItem>
</div>
);
}
return (
<WeaDialog
visible={this.state.visible}
title="License提交"
icon="wevicon-wea-license"
iconBgcolor="#a7adb5"
style={{ width: 600, height: 310 }}
zIndex={101}
hasScroll={true}
buttons={this.getButtons()}
onCancel={this.onCancel}
>
{displayComp}
</WeaDialog>
);
}
getButtons() {
const { isShowMsg, isChangeCode } = this.state;
let buttons = [];
if (isChangeCode) {
buttons.push(<Button type="primary" onClick={this.onSubmitCode}>提交</Button>);
buttons.push(<Button type="primary" onClick={this.onBack}>返回</Button>);
} else {
if (isShowMsg) {
buttons.push(<Button type="primary" onClick={this.onBack}>返回</Button>);
} else {
buttons.push(<Button type="primary" onClick={this.onSubmit}>提交</Button>);
}
buttons.push(<Button type="primary" onClick={this.onCancel}>关闭</Button>);
}
return buttons;
}
getLicenseCode() {
WeaTools.callApi('/api/system/license/InLicense', 'POST', {}).then((data) => {
this.setState({ ...data });
});
}
onChange(ids, list, args) {
const _message = args[0].message;
this.setState({ isShowMsg: true, message: _message });
}
onSubmit() {
const { code = '' } = this.state;
if (code.trim() != '') {
this.refs.WeaUpload.doUpload();
} else {
message.warning('必要信息不完整!');
}
}
onSubmitCode() {
const { code_old = '', code_new = '', code_rep = '' } = this.state;
if (code_old.trim() != '' && code_new.trim() != '' && code_rep.trim() != '') {
if (code_new === code_rep) {
WeaTools.callApi('/api/system/license/CodeOperation', 'POST', {
passwordold: code_old,
passwordnew: code_new,
}).then((data) => {
const _message = data.message;
if (_message == '1') {
message.error('旧的验证码不正确!');
} else {
message.success(_message);
this.onBack();
}
});
} else {
message.warning('两次输入的新验证码不同!');
}
} else {
message.warning('必要信息不完整!');
}
}
onBack() {
this.setState({ isShowMsg: false, isChangeCode: false, message: '', code: '', code_old: '', code_new: '', code_rep: '' });
}
onCancel() {
this.setState({ visible: false, isShowMsg: false, isChangeCode: false, message: '', code: '', code_old: '', code_new: '', code_rep: '' });
}
onShow() {
this.setState({ visible: true });
this.getLicenseCode();
}
}
export default LicenseSubmit;