import React, { Component } from "react";
import { Button, message, Modal, Spin, Table } from "antd";
import { ShowModal } from "../../tools";
import $ from "jquery/src/ajax";


// 投资审核日志弹窗
class InvestmentLog extends Component {
  constructor(props) {
    super(props);
    this.state = {
      loading: false,
      visible: false,
      columnsDate: [
        {
          title: "操作人",
          dataIndex: "operator",
          key: "operator",
          width: 150,
        },
        {
          title: "操作",
          dataIndex: "status",
          key: "status",
          width: 150,
          render: (text, record) => {
            return (
              <span style={{ color: ["black", "black", "green", "red"][text] }}>
                {["草稿", "发起", "同意", "驳回"][text]}
              </span>
            );
          },
        },
        {
          title: "操作时间",
          dataIndex: "createTimes",
          key: "createTimes",
          width: 150,
        },
        {
          title: "备注",
          dataIndex: "comment",
          key: "comment",
        },
      ],
      recordData: [],
    };
  }

  componentDidMount() { }

  // 日志
  getData() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/amb/Invest/InvestLog?",
      data: {
        id: this.props.id,
      },
      success: function (data) {
        ShowModal(this);
        if (!data.data) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          this.setState({
            recordData: data.data,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  render() {
    return (
      <span>
        <Button
          type="primary"
          onClick={(e) => {
            e.stopPropagation();
            this.getData();
            this.setState({
              visible: true,
            })
          }}
          style={{ margin: 5 }}
        >
          日志
        </Button>
        <Modal
          maskClosable={false}
          visible={this.state.visible}
          footer=""
          title="操作日志"
          className="admin-desc-content"
          width="800px"
          onCancel={(e) => {
            this.setState({
              visible: false,
            });
          }}
          style={{ zIndex: 10 }}
        >
          <Spin spinning={this.state.loading}>
            <div className="patent-table">
              <Table
                columns={this.state.columnsDate}
                dataSource={this.state.recordData || []}
                pagination={false}
              />
            </div>
          </Spin>
        </Modal>
      </span>
    );
  }
}

export default InvestmentLog;
