import React from 'react';
import { Icon, message, Button, Spin, Checkbox } from 'antd';
import './create.less';
import ajax from 'jquery/src/ajax/xhr.js'
import $ from 'jquery/src/ajax';
import Steps from './steps';

const CreateEvaluate = React.createClass({
  getInitialState() {
    return {
      title: '',
      id: '',
      checked: false,
      loading: false,
      announce: ''
    };
  },
  componentWillMount() {
    if (this.props.id) {
      this.state.id = this.props.id;
      this.state.title = this.props.name;
    } else {
      this.setState({
        loading: true
      })
      $.ajax({
        url: globalConfig.context + '/open/html/get/evaluation_announcement'
      }).done(function (res) {
        if (res && res.data) {
          this.setState({
            loading: true,
            announce: res.data.content
          })
        }
      }.bind(this)).always(function () {
        this.setState({
          loading: false
        })
      }.bind(this));
    }
  },
  returnList() {
    if (this.props.handlekey) {
      this.props.handlekey('evaluate');
    }
  },
  announce() {
    return {
      __html: this.state.announce
    }
  },
  agree() {
    $.ajax({
      url: globalConfig.context + '/api/user/evaluate/create'
    }).done(function (res) {
      if (res && res.data) {
        this.setState({
          loading: true,
          id: res.data
        })
      }
    }.bind(this)).always(function () {
      this.setState({
        loading: false
      })
    }.bind(this));
  },
  onChanged(e) {
    this.setState({
      checked: e.target.checked
    });
  },
  titleChanged(title) {
    this.setState({
      title: title
    });
  },
  renderBody() {
    if (this.state.id) {
      return <Steps id={this.state.id} step={Number(this.props.step)} title={this.titleChanged} />
    } else {
      return <div>
        <div className="announce-head">
          本系统使用说明
          <p>使用本系统之前，请您务必仔细阅读并透彻理解本声明。当您使用本系统，将视为您认可本声明内容。</p>
        </div>
        <div className="announce-body" dangerouslySetInnerHTML={this.announce()} />
        <div className="announce-foot">
          <Checkbox checked={this.state.checked} onChange={this.onChanged}>我同意以上声明</Checkbox>
          <Button type="primary" onClick={this.agree} disabled={!this.state.checked}>继续</Button>
        </div>
      </div>
    }
  },
  render() {
    return (
      <Spin spinning={this.state.loading}>
        <div className="content-container">
          <div className="content-title">
            科技评估 {this.state.title ? '- ' + this.state.title : ''}
            <div className="content-actions"><Button type="primary" onClick={this.returnList}>返回列表</Button></div>
          </div>
          <div className="content-body">
            {this.renderBody()}
          </div>
        </div>
      </Spin>
    )
  },
});

export default CreateEvaluate;