import React, { Component } from "react";
import { Form, Upload, Modal, Button, message, Select, Input } from "antd";
import AgreeButton from "./agreeButton.js";
import Rizhi from "./rizhi.js";
import { getProcessStatusNew, changeColor } from "@/tools.js";
import { shenghePeo } from "@/tools.js"
import $ from "jquery/src/ajax";
import tongguo from "../../../../../../image/tongguo.png";
import quxiao from "../../../../../../image/quxiao.png";
import ProAndCuiList from "./proAndCuiList.jsx";
import "./xButton.less";
// import ReactToPrint from "react-to-print";
const FormItem = Form.Item;
import Refund from "./refund.js"
import ImgList from "../../../../common/imgList";
import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
const { TextArea } = Input;
const formItemLayout = {
  labelCol: { span: 8 },
  wrapperCol: { span: 14 }
};
const changeType = [
  {
    value: "0",
    key: "退单退款"
  },
  {
    value: "1",
    key: "项目及金额变更"
  },
  {
    value: "2",
    key: "仅项目变更"
  },
  {
    value: "3",
    key: "仅金额变更"
  },
  {
    value: "4",
    key: "重报"
  },
  {
    value: "5",
    key: "赠送"
  }
];
const getChangeType = function (e) {
  if (e || e == 0) {
    let str = e.toString();
    let theType = "";
    changeType.map(function (item) {
      if (item.value == str) {
        theType = item.key;
      }
    });
    return theType;
  }
};
class Itemlist extends Component {
  constructor(props) {
    super(props);
  }
  render() {
    let pageData = this.props.pageData;
    return (
      
        
          
            {pageData.dataA}
            {pageData.labelA === '客户名称' ?  : null}
          
        
        
          {pageData.dataB}
        
       
    );
  }
}
class ChangeDetail extends Component {
  constructor(props) {
    super(props);
    this.state = {
      rotateDeg: 0,
      previewVisible: false,
      buttonStatus: true,
      changeType: 1,
      dataSource: [],
      reason: "",
      // 累计回收退票
      refundInvoice: 0,
      // 退票数组
      contactList: [],
      rejectState: 0,
      // 收款信息
      proceedsData: [],
      proceedsTotal: this.props.proceedsTotal,
      // 开票信息
      invoiceData: [],
      invoiceTotal: this.props.invoiceTotal,
      cost: 10,
      refund: 8,
      // 测试添加退票
      contactList: this.props.contactList,
      ContactsLists: [
        {
          title: "金额(万元)",
          dataIndex: "amount",
          key: "amount",
          render: (text, record) => {
            return (
              
                实际回收退票(万元)
                 {
                    record.amount = e.target.value;
                    this.setState({ contactList: this.state.contactList });
                  }}
                  style={{ width: "120px" }}
                />
              
            );
          },
        },
        {
          title: "时间",
          dataIndex: "createTimes",
          key: "createTimes",
          render: (text, record) => {
            return {record.createTimes}
;
          },
        },
      ],
    };
    this.getOrgCodeUrl = this.getOrgCodeUrl.bind(this);
    this.changeButtonStatus = this.changeButtonStatus.bind(this);
    this.moneyOld = this.moneyOld.bind(this);
    this.rotate = this.rotate.bind(this);
    this.downImg = this.downImg.bind(this);
    this.upImg = this.upImg.bind(this);
  }
  getOrgCodeUrl(e) {
    this.setState({
      orgCodeUrl: e,
    });
  }
  changeButtonStatus() {
    this.setState({
      buttonStatus: !this.state.buttonStatus,
    });
  }
  downImg() {
    let num = 0;
    for (let i = 0; i < this.props.pictureUrl.length; i++) {
      if (this.props.pictureUrl[i].url == this.state.previewImage) {
        num = i;
      }
    }
    if (num == this.props.pictureUrl.length - 1) {
      return message.warning("已经是最后一张了哦");
    }
    this.state.previewImage = this.props.pictureUrl[num + 1].url;
    this.setState({
      previewImage: this.state.previewImage,
      rotateDeg: 0,
    });
  }
  upImg() {
    let num = 0;
    for (let i = 0; i < this.props.pictureUrl.length; i++) {
      if (this.props.pictureUrl[i].url == this.state.previewImage) {
        num = i;
      }
    }
    if (num == 0) {
      return message.warning("已经是第一张了哦");
    }
    this.state.previewImage = this.props.pictureUrl[num - 1].url;
    this.setState({
      previewImage: this.state.previewImage,
      rotateDeg: 0,
    });
  }
  rotate() {
    let rotateDeg = this.state.rotateDeg + 90;
    this.setState({
      rotateDeg,
    });
  }
  moneyOld(str, money) {
    if (money) {
      return (
        
          {str}(原合同金额{money}万元)
        
      );
    } else {
      return (
        
          {str}
        
      );
    }
  }
  render() {
    const pageData = [
      {
        labelA: "客户名称",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.userName,
        labelB: "合同编号",
        formItemLayoutB: formItemLayout,
        dataB: this.props.data.contractNo,
      },
      {
        labelA: "时间",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.createTimes,
        labelB: "发起人",
        formItemLayoutB: formItemLayout,
        dataB: this.props.data.applicant,
      },
      {
        labelA: "当前进度",
        formItemLayoutA: formItemLayout,
        // 当前是咨询师以及咨询师经理时使用shenhePeo函数,其他流程正常显示
        dataA:
          this.props.data.processState == 2 || this.props.data.processState == 3
            ? shenghePeo(
                this.props.data.processState == 2
                  ? this.props.data.consultantExamine
                  : this.props.data.managerExamine,
                this.props.data.processState
              )
            : getProcessStatusNew(
                this.props.data.processState,
                this.props.data.status
              ),
        labelB: "变更类型",
        formItemLayoutB: formItemLayout,
        dataB: getChangeType(this.props.data.type),
      },
      {
        labelA: "合同额(万元)",
        formItemLayoutA: formItemLayout,
        dataA: "***",
        labelB: "已收款(万元)",
        formItemLayoutB: formItemLayout,
        dataB: "***",
      },
      {
        labelA: "欠款(万元)",
        formItemLayoutA: formItemLayout,
        dataA: "***",
        labelB: "申请退款(万元)",
        formItemLayoutB: formItemLayout,
        dataB: "***",
      },
      {
        labelA: "变更原因",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.remarks,
      },
    ];
    const planData = [
      {
        labelA: "项目进度",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.projectState,
        labelB: "发生成本费用(万元)",
        formItemLayoutB: formItemLayout,
        dataB: "***",
      },
      {
        labelA: "备注",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.zxsRemarks,
      },
    ];
    const financeData = [
      {
        labelA: "收款时间",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.paymentTimes,
        labelB: "收款金额(万元)",
        formItemLayoutB: formItemLayout,
        dataB: "***",
      },
      {
        labelA: "开票时间",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.invoiceTimes,
        labelB: "已开票金额(万元)",
        formItemLayoutB: formItemLayout,
        dataB: "***",
      },
      {
        labelA: "发生成本(万元)",
        formItemLayoutA: formItemLayout,
        dataA: "***",
        labelB: "应退金额(万元)",
        formItemLayoutB: formItemLayout,
        dataB: "***",
      },
      {
        labelA: "补充资料/备注",
        formItemLayoutA: formItemLayout,
        dataA: this.props.data.cwRemarks,
      },
    ];
    const buttonData = [
      {
        name: "同意",
        title: "理由",
        placeholder: "请输入理由",
        type: "primary",
        status: 2,
        onChange: (value) => {
          this.setState({
            remarks: value,
          });
        },
      },
      {
        name: "拒绝",
        title: "理由",
        placeholder: "请输入理由",
        type: "danger",
        status: 3,
        onChange: (value) => {
          this.setState({
            remarks: value,
          });
        },
      },
    ];
    const orgCodeUrl = this.props.pictureUrl;
    const attachment = this.props.attachment
    return (
      
         {
            this.refs = e;
          }}
        >
          
            {/* 
              通过
             */}
            
 
          
            合同变更记录
          
          {pageData.map((item, index) => {
            return 
;
          })}
          
            
             {
                this.state.rotateDeg = 0;
                this.setState({
                  previewVisible: false,
                  rotateDeg: this.state.rotateDeg,
                });
              }}
            >
               {/*
              
              
              
            
            
          
          {/* 
            {this.props.data.consultantExamine.map((item, index) => {
              return (
                - 
              )
            })}
          
*/}
          {/*变更日志
 */}
          
            {/* 操作人: */}
            {this.props.dataSource.map((item, index) => {
              if (item.status == 0) {
                item.status = "发起";
              } else if (item.status == 1) {
                item.status = "审核中";
              } else if (item.status == 2) {
                item.status = "通过";
              } else if (item.status == 3) {
                item.status = "驳回";
              } else if (item.status == 4) {
                item.status = "完成";
              }
              return (
                - 
                  {item.aname + ":" + "(" + item.status + ")" + item.remarks}
                );
            })}
{/* {this.props.data.processState >= 3 ? (
              
                当前项目进度(咨询师填写)
              
              {planData.map((item, index) => {
                return ;
              })}
            
          ) : (
            ""
          )} */}
          {/* {this.props.data.processState >= 5 ? (
            
              
                当前财务状态(财务填写)
              
              {financeData.map((item, index) => {
                return ;
              })}
            
          ) : (
            ""
          )} */}
                       {/* 完成审核,上传附件 */}
                       
            
          
              完成审核,上传附件{" "}
              
                (注:由营销员上传变更后附件,全变更流程完成。)
              
            
            
            
            
             { attachment.length > 0  ? 
 :'无附件'}
             {/*  */}
              
              
              
            
            {/*  */}
          
             
             
          
            
          
        
        {this.props.processState === this.props.data.processState ? (
          
            
              
                
            
            
              {buttonData.map((item, index) => {
                return (
                  
                );
              })}
            
 
        ) : (
          ""
        )}
        {/* 
 (
            
              
            
          )}
          content={() => this.refs}
        /> */}
       
    );
  }
}
export { ChangeDetail };