// 变更--驳回
import React, { Component } from "react";
import {
  Form,
  Select,
  Input,
  Button,
  message,
  Spin,
  Tag,
  Table,
  Col,
  Popconfirm,
  Modal,
  AutoComplete,
  DatePicker,
  Radio,
  Tooltip,
  Switch,
} from "antd";
import $ from "jquery/src/ajax";
import moment from "moment";
import ResolutionDetail from "@/resolutionDetail";
import PicturesWall from "./picturesWall";
import Rizhi from "./rizhi";
import {
  cuiJieDian,
  orderTypes,
  customerType,
  jiedian,
  tepi,
  boutique,
  vipYear,
  getProjectName,
} from "@/dataDic.js";
import { moneyVerify } from "@/tools.js"
import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
import ProjectOperation from "../../../../common/projectOperation";
import NewAddProject from "../../../../common/projectOperation/newAddProject"
import NewEditProject from "../../../../common/projectOperation/newEditProject"
import "./index.less";

const FormItem = Form.Item;
const confirm = Modal.confirm;
const Option = AutoComplete.Option;
const RadioGroup = Radio.Group;
const formItemLayout = {
  labelCol: { span: 8 },
  wrapperCol: { span: 14 }
};
class ChangeApply extends Component {
  constructor(props) {
    super(props);
    this.state = {
      data: {},
      voucherUrl: [],
      newContractUrl: [],
      dataSource: [],
      cuiDataSource: [],
      loading: false,
      changeCuiList: [
        {
          title: "变更状态",
          dataIndex: "type",
          key: "type",
          render: (text) => {
            let str = "";
            let color = "";
            if (text == 1) {
              str = "增";
              color = "#87d068";
            } else if (text == 2) {
              str = "改";
              color = "#108ee9";
            } else if (text == 3) {
              str = "删";
              color = "#f50";
            }
            return (
              <Tag
                color={color}
                style={{ display: text == 0 ? "none" : "inline-block" }}
              >
                {str}
              </Tag>
            );
          },
        },
        {
          title: "项目名称",
          dataIndex: "commodityName",
          key: "commodityName",
          render: (text, record, index) => {
            let dataArr = this.state.proDataSource || [];
            if (text) {
              if (record.ctid) {
                return <span>{text + "-" + record.ctid}</span>;
              } else {
                let tid = record.tid;
                let ctid = "";
                dataArr.forEach((item, index) => {
                  if (item.tid == tid) {
                    ctid = item.id;
                  }
                });
                return <span>{text + "-" + ctid}</span>;
              }
            }
            return (
              <Select
                placeholder="请选择名称"
                style={{ width: "150px" }}
                disabled={this.state.getLoad && record.sortName ? true : false}
                onChange={(e) => {
                  let num = e.lastIndexOf("-");
                  let ctid = e.substr(num + 1);
                  record.sortName = e.substring(0, num);
                  dataArr.forEach((item) => {
                    if (
                      item.commodityName == record.sortName &&
                      ctid == item.id
                    ) {
                      record.cname = item.cname;
                      record.ctid = item.id;
                      record.isSave = true;
                      record.sort = item.cSort;
                      cuiJieDian.forEach((item) => {
                        if (item.value == record.sort) {
                          record.arr = item.children;
                          let yearFlag = true;
                          if (record.sort == 6) {
                            yearFlag = false;
                          }
                          this.setState({
                            getLoad: true,
                            yearFlag,
                          });
                        }
                      });
                    }
                  });
                }}
              >
                {dataArr.map((item, index) => {
                  if (item.type == 3) {
                    return (
                      <Select.Option
                        key={item.id}
                        value={item.commodityName + "-" + item.id}
                        disabled
                      >
                        {item.commodityName + "-" + item.id}
                      </Select.Option>
                    );
                  } else {
                    return (
                      <Select.Option
                        key={item.id}
                        value={item.commodityName + "-" + item.id}
                      >
                        {item.commodityName + "-" + item.id}
                      </Select.Option>
                    );
                  }
                })}
              </Select>
            );
          },
        },
        {
          title: "项目分类",
          dataIndex: "projectType",
          key: "projectType",
          render: (text, record) => {
            if (text) {
              let arr = this.state.proDataSource || [];
              let str = "";
              for (let i = 0; i < arr.length; i++) {
                if (this.state.proDataSource[i].cSort == text) {
                  str = this.state.proDataSource[i].cname;
                  return <span>{str}</span>;
                }
              }
            }
            if (this.state.getLoad) {
              return (
                <Select
                  style={{ width: "150px" }}
                  placeholder="请选择分类"
                  value={record.cname}
                >
                  <Select.Option key={record.sort} value={record.cname}>
                    {record.cname}
                  </Select.Option>
                </Select>
              );
            } else {
              return (
                <Select style={{ width: "150px" }} placeholder="请选择分类">
                  <Select.Option key={record.sort} value={record.cname}>
                    {record.cname}
                  </Select.Option>
                </Select>
              );
            }
          },
        },
        {
          title: "催款科目",
          dataIndex: "dunTypeName",
          key: "dunTypeName",
          render: (text, record) => {
            if (text) {
              return <span>{text}</span>;
            }
            if (this.state.getLoad) {
              let arr = record.arr || [];
              return (
                <div>
                  <Select
                    style={{ width: "150px", marginRight: 5 }}
                    placeholder="请选择分类"
                    onChange={(e) => {
                      record.dunType = e;
                      if (record.dunType != 0) {
                        record.customizeTimes = "";
                        record.customizeName = "";
                      }
                      if (e == 0) {
                        record.dunTypeCustom = true;
                      } else {
                        record.dunTypeCustom = false;
                      }
                      if (e != 1) {
                        this.setState({
                          timeFlag: true,
                        });
                      } else {
                        this.setState({
                          timeFlag: false,
                        });
                      }
                      if (e == 1 && record.sort == 6) {
                        this.setState({
                          yearFlag: true,
                        });
                      } else if (e != 1 && record.sort == 6) {
                        this.setState({
                          yearFlag: false,
                        });
                      }
                      if (record.sort == 3 && e == 3) {
                        this.setState({
                          boFlag: true,
                        });
                      } else {
                        this.setState({
                          boFlag: false,
                        });
                      }
                    }}
                  >
                    {arr.map((item) => {
                      record;
                      return (
                        <Select.Option key={item.value} value={item.value}>
                          {item.key}
                        </Select.Option>
                      );
                    })}
                    <Select.Option key={0} value={0}>
                      自定义
                    </Select.Option>
                  </Select>
                  {record.dunType == 0 ? (
                    <Input
                      value={record.customizeName}
                      placeholder="请输入自定义名称"
                      required="required"
                      onChange={(e) => {
                        record.customizeName = e.target.value;
                        this.setState({
                          contactList: this.state.contactList,
                        });
                      }}
                      style={{ width: "120px" }}
                    />
                  ) : (
                    ""
                  )}
                </div>
              );
            } else {
              return (
                <Select style={{ width: "150px" }} placeholder="请选择分类">
                  <Select.Option key={0} value={"请选择上一项"}></Select.Option>
                </Select>
              );
            }
          },
        },
        {
          title: "收款时间(特批需选择时间)",
          dataIndex: "waitDay",
          key: "waitDay",
          render: (text, record) => {
            if (record.dunTypeName) {
              if (record.customizeTimes) {
                return record.customizeTimes;
              }
              if (text == 0) {
                var str = "当天";
              } else if (!text) {
                var str = "";
              } else {
                var str = text + "天";
              }
              return <span>{str}</span>;
            }
            return (
              <div>
                {record.dunType == 0 ? (
                  <DatePicker
                    style={{ width: 150 }}
                    disabledDate={(e) => {
                      let time = moment(e).valueOf();
                      let today = Date.parse(new Date());
                      if (time <= today) {
                        return true;
                      }
                    }}
                    onChange={(e, t) => {
                      record.customizeTimes = t;
                    }}
                  />
                ) : (
                  <Select
                    placeholder="请选择时间"
                    style={{ width: "160px" }}
                    disabled={
                      this.props.approval != 0 && !this.state.timeFlag
                        ? false
                        : true
                    }
                    onChange={(e) => {
                      record.waitDay = e;
                    }}
                  >
                    <Select.Option key={0}>当天</Select.Option>
                    <Select.Option key={3}>3天</Select.Option>
                    <Select.Option key={5}>5天</Select.Option>
                    <Select.Option key={7}>7天</Select.Option>
                    <Select.Option key={15}>15天</Select.Option>
                  </Select>
                )}
              </div>
            );
          },
        },
        {
          title: "金额(万元)",
          dataIndex: "money",
          key: "money",
          render: (text, record) => {
            if (record.dunTypeName) {
              if (record.appropriationRatio) {
                let percent = Number(record.appropriationRatio * 100).toFixed(2);
                percent += "%";
                return <span>{percent}(拨款比例)</span>;
              } else {
                return <span>{text}</span>;
              }
            }

            return (
              <div>
                <div style={{ width: 70, float: "left", marginRight: 5 }}>
                  <Select
                    placeholder="选择"
                    defaultValue={"金额"}
                    onChange={(e) => {
                      record.boStatus = e;
                    }}
                  >
                    <Select.Option key={true}>比例</Select.Option>
                    <Select.Option key={false}>金额</Select.Option>
                  </Select>
                </div>
                <div style={{ float: "right" }}>
                  <Input
                    type='number'
                    value={record.money}
                    key={record.id}
                    required="required"
                    onChange={(e) => {
                      record.money = e.target.value;
                      this.setState({
                        contactList: this.state.contactList,
                      });
                    }}
                    style={{ width: "120px" }}
                  />
                </div>
              </div>
            );

            // if (this.state.boFlag) {
            //   return (
            //     <div>
            //       <div style={{ width: 70, float: "left", marginRight: 5 }}>
            //         <Select
            //           placeholder="选择"
            //           defaultValue={"金额"}
            //           onChange={(e) => {
            //             record.boStatus = e;
            //           }}
            //         >
            //           <Select.Option key={true}>比例</Select.Option>
            //           <Select.Option key={false}>金额</Select.Option>
            //         </Select>
            //       </div>
            //       <div style={{ float: "right" }}>
            //         <Input
            //           type='number'
            //           value={record.money}
            //           key={record.id}
            //           required="required"
            //           onChange={(e) => {
            //             record.money = e.target.value;
            //             this.setState({
            //               contactList: this.state.contactList,
            //             });
            //           }}
            //           style={{ width: "120px" }}
            //         />
            //       </div>
            //     </div>
            //   );
            // } else {
            //   return (
            //     <div>
            //       <Input
            //         type='number'
            //         value={record.money}
            //         placeholder="请输入金额(必填项)"
            //         key={record.id}
            //         required="required"
            //         onChange={(e) => {
            //           record.money = e.target.value;
            //           this.setState({ contactList: this.state.contactList });
            //         }}
            //         style={{ width: "120px" }}
            //       />
            //     </div>
            //   );
            // }
          },
        },
        {
          title: "服务年限",
          dataIndex: "startDate",
          key: "startDate",
          render: (text, record) => {
            if (record.dunTypeName) {
              return <span>{text}</span>;
            }
            return (
              <div>
                {
                  record.dunType != 0 ?
                    <Select
                      placeholder="请选择年限"
                      style={{ width: "150px" }}
                      disabled={this.state.yearFlag ? true : false}
                      onChange={(e) => {
                        record.effectiveCount = e;
                      }}
                    >
                      {/* <Select.Option key={null}>无</Select.Option> */}
                      <Select.Option key={1}>一年</Select.Option>
                      <Select.Option key={3}>两年</Select.Option>
                      <Select.Option key={5}>三年</Select.Option>
                      <Select.Option key={7}>四年</Select.Option>
                      <Select.Option key={9}>五年</Select.Option>
                    </Select> : <div />
                }
              </div>
            );
          },
        },
        {
          title: "催款状态",
          dataIndex: "status",
          key: "status",
          render: (text) => {
            return <span>{text == 1 ? "已启动" : "未启动"}</span>;
          },
        },
        {
          title: "操作",
          dataIndex: "dels",
          key: "dels",
          render: (text, record, index) => {
            return (
              <div>
                <Popconfirm
                  title="是否删除?"
                  onConfirm={() => {
                    this.changeDeleteCui(record);
                  }}
                  okText="删除"
                  cancelText="不删除"
                >
                  <Button
                    disabled={this.state.listCuiFlag}
                    style={{
                      marginRight: "10px",
                      display: this.state.displayList ? "none" : "block",
                    }}
                  >
                    删除
                  </Button>
                </Popconfirm>
                {record.isSave ? (
                  <Button
                    type="primary"
                    style={{ marginTop: 5 }}
                    onClick={(e) => {
                      this.changeSaveCui(record);
                    }}
                  >
                    保存
                  </Button>
                ) : (
                  ""
                )}
              </div>
            );
          },
        },
      ],
      resVisible: false,
      proColumns: [
        {
          title: "变更状态",
          dataIndex: "type",
          key: "type",
          render: (text, record) => {
            let str = "";
            let color = "";
            if (text == 1) {
              str = "增";
              color = "#87d068";
            } else if (text == 2) {
              str = "改";
              color = "#108ee9";
            } else if (text == 3) {
              str = "删";
              color = "#f50";
            }
            return (
              <span>
                <Tag
                  color={color}
                  style={{ display: text == 0 ? "none" : "inline-block" }}
                >
                  {str}
                </Tag>
                {/* {record.splitStatus == 1 ? (
                  <Tag
                    color="#108ee9"
                  >
                    父项目
                  </Tag>
                ) : (
                  ""
                )}
                {record.splitStatus == 2 ? (
                  <Tag
                    color="#108ee9"
                  >
                    子项目
                  </Tag>
                ) : (
                  ""
                )} */}
              </span>
            );
          },
        },
        {
          title: "业务项目名称",
          dataIndex: "commodityName",
          key: "commodityName",
          render: (text, record) => {
                          return <span>
                {text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}
                <div>
                  {record.cSort == 6 && record.projectType == 1 && <span>(含{record.htMember == 1 ? '高新会员&' : ''}{record.additionalDeduction == 1 ? '加计扣除&' : ''}{record.rdAwardsubsidy == 1 ? '研发奖补' : ''})</span>}
                  {record.cSort == 6 && ([0, 3].indexOf(record.projectType) > -1) && <span>(仅提供单边会员服务)</span>}
                  {record.cSort == 6 && record.projectType == 2 && <span>(仅填报表,仅咨询,不出备查资料)</span>}
                  {record.cSort == 3 && <span>{record.technologyProjectType==0?'(简易项目)':record.technologyProjectType==1?'(市区级)':record.technologyProjectType==2?'(省级)':record.technologyProjectType==3?'(国家级)':''}</span>}
                  {record.cSort == 8 ? (record.type != 2 && record.patentType == 1) ? <span>(变更)</span> : <span>{record.ordinaryRisk == 0 ? '(普通申请)' : record.ordinaryRisk == 1 ? '(风险代理)' : ''}</span> : ""}
                  {record.type == 2 && <span>({record.days == 0 ? '普通' : record.days == 1 ? '加急' : ''}{record.scheme == 0 ? '&无方案' : record.scheme == 1 ? '&有方案' : ''})</span>}
                </div>
              </span>
          }
        },
        {
          title: "项目类别",
          dataIndex: "cname",
          key: "cname",
        },
        {
          title: "项目数量",
          dataIndex: "commodityQuantity",
          key: "commodityQuantity",
          width: 50,
        },
        {
          title: "金额(万元)",
          dataIndex: "commodityPrice",
          key: "commodityPrice",
          width: 50,
          render: (text, record) => {
            if (record.splitStatus == 2) {
              return "/";
            } else {
              return text;
            }
          },
        },
        {
          title: "主要项目",
          dataIndex: "main",
          key: "main",
          width: 50,
          render: (text) => {
            return text ? "是" : "否";
          },
        },
        {
          title: "项目负责人",
          dataIndex: "receiverName",
          key: "receiverName",
        },
        {
          title: "总年限",
          dataIndex: "yearSum",
          key: "yearSum",
          render: (text, record) => {
            return (
              <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
            );
          }
        },
        {
          title: "年限",
          dataIndex: "serviceLife",
          key: "serviceLife",
          render: (text, record) => {
            return (
              <div>{!!text && JSON.parse(text).toString()}</div>
            );
          }
        },
        {
          title: "本次派单",
          dataIndex: "serviceYear",
          key: "serviceYear",
          render: (text, record) => {
            return (
              <div>{!text ? "" : text}</div>
            );
          }
        },
        {
          title: "项目说明",
          dataIndex: "taskComment",
          key: "taskComment",
          render: (text, record) => {
            let textStr = text;
            return (
              <Tooltip title={textStr}>
                <div
                  style={{
                    width: 100,
                    overflow: "hidden",
                    whiteSpace: "nowrap",
                    textOverflow: "ellipsis",
                  }}
                >{textStr}</div>
              </Tooltip>
            )
          },
        },
        {
          title: "操作",
          dataIndex: "ABC",
          key: "ABC",
          render: (text, record) => {
            return (
              <div>
                <div>
                  <Button
                    onClick={(e) => {
                      e.stopPropagation();
                      this.showConfirm(this.changeDeletePro, record);
                    }}
                    disabled={this.state.listFlag}
                    style={{
                      display: this.state.displayList ? "none" : "block",
                    }}
                  >
                    删除
                  </Button>
                </div>

                <div>
                  <Button
                    onClick={(e) => {
                      e.stopPropagation();
                      this.editPro(record);
                    }}
                    disabled={this.state.listFlag}
                    style={{
                      display: this.state.displayList ? "none" : "block",
                    }}
                  >
                    编辑
                  </Button>
                </div>
              </div>
            );
          },
        },
      ],
      patentTypeList: [],
      displayFees: "none",
      serviceLife: [],
      isVip: undefined,//是否会员
      isIso: undefined,//是否贯标
      histYear: [],
      contractTerm: [],//合同期
      isEdit: false,//是否可编辑
      addyear: undefined,//
      isGive: undefined,//是否赠送
      cPeriod: false, // 合同期是否可编辑
      isNew: false,
    };
    this.departmentList = this.departmentList.bind(this);
    this.changeApply = this.changeApply.bind(this);
    this.getVoucherUrl = this.getVoucherUrl.bind(this);
    this.getNewContractUrl = this.getNewContractUrl.bind(this);
    this.proList = this.proList.bind(this);
    this.cuiList = this.cuiList.bind(this);
    this.showConfirm = this.showConfirm.bind(this);
    this.showConfirmChange = this.showConfirmChange.bind(this);
    this.changeAddPro = this.changeAddPro.bind(this);
    this.changeProSubmit = this.changeProSubmit.bind(this);
    this.changeDeletePro = this.changeDeletePro.bind(this);
    this.changeAddCui = this.changeAddCui.bind(this);
    this.changeDeleteCui = this.changeDeleteCui.bind(this);
    this.changeSaveCui = this.changeSaveCui.bind(this);
    this.submitChange = this.submitChange.bind(this);
    this.editCui = this.editCui.bind(this);
    this.editPro = this.editPro.bind(this);
    this.submitEditCui = this.submitEditCui.bind(this);
    this.submitEditPro = this.submitEditPro.bind(this);
    this.nextCancel = this.nextCancel.bind(this);
    this.customerChange = this.customerChange.bind(this);
    this.selectAuto = this.selectAuto.bind(this);
    this.supervisor = this.supervisor.bind(this);
    this.httpChange = this.httpChange.bind(this);
    this.showRes = this.showRes.bind(this);
    this.resCancel = this.resCancel.bind(this);
    this.deleteChange = this.deleteChange.bind(this);
    this.not = this.not.bind(this);
  }

  componentDidMount() {
    this.getpatentTypeList()
  }
  nextCancel(type) {
    this.setState({
      editProVisible: false,
      addnextVisible: false,
      changeVisible: false,
      addProjectType: undefined,
      isVip: undefined,
      isIso: undefined,
      commodityQuantity: undefined,
      histYear: [],
      yearSum: undefined,
      serviceLife: [],
      serviceYear: undefined,
      isEdit: false, // 可编辑
    }, () => {
      this.proList()
    });
  }

  showConfirm(fn, record) {
    confirm({
      title: "确定删除此项目吗?",
      content: (
        <span style={{ color: "red" }}>
          删除后会将该项目下的所有催款节点自动清除!!!
        </span>
      ),
      onOk() {
        fn(record);
      },
      onCancel() { }
    });
  }
  showConfirmChange(fn, record) {
    confirm({
      title: "确定取消本次变更吗?",
      content: (
        <span style={{ color: "red" }}>
          取消后本次变更将作废!!!
        </span>
      ),
      onOk() {
        fn();
      },
      onCancel() { }
    });
  }

  getpatentTypeList() {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + '/api/admin/orderProject/getPatentType',
      success: function (data) {
        if (data.error.length === 0) {
          this.setState({
            patentTypeList: data.data
          })
        } else {
          message.warning(data.error[0].message);
        };
      }.bind(this)
    });
  }

  //服务值改变时请求客户名称
  httpChange(e) {
    this.state.gid = "";
    if (e.length >= 1) {
      this.supervisor(e, false);
    }
    this.setState({
      commodityName: e
    });
  }
  //客户名称自动补全
  customerChange(e) {
    if (this.state.customType) {
      this.state.autoId = "";
      if (e.length >= 2) {
        this.supervisor(e, true);
      }
      this.setState({
        customerName: e
      });
    } else {
      this.setState({
        customerName: ""
      });
      message.warning("客户所属类型必须指定");
    }
  }
  //上级主管输入框失去焦点是判断客户是否存在
  selectAuto(value) {
    const newData = this.state.proDataSource
    let kid = [];
    let fwList = this.state.customerArr;
    fwList.map(function (item) {
      if (value == item.bname) {
        kid = item;
      }
    });
    if (kid.type == "1") {
      this.setState({
        displayFees: "block",
        patentTransfer: kid.patentTransfer,
      });
    } else {
      this.setState({
        displayFees: "none",
      });
    }
    this.setState({
      commodityName: value,
      gid: kid.id,
      addProjectType: kid.type,
      //commodityPrice:kid.price==0?kid.price.toString():kid.price,
      commodityFirstPayment: kid.firstPayment == 0 ? kid.firstPayment.toString() : kid.firstPayment,
      isIso: value.indexOf("贯标") !== -1,// 是否为贯标项目
      isVip: kid.cSort,//暂时判断等于6的时候会员
      commodityQuantity: kid.cSort == 6 ? 1 : undefined,//服务数量
      histYear: [],
    });


    if (newData && newData.length > 0 && kid.cSort == 6) {
      let llist = []
      for (var i = 0; i < newData.length; i++) {
        if (newData[i].commodityId == kid.id) {
          llist.push(newData[i].serviceYear)
        }
      }
      this.setState({
        histYear: llist
      })
      for (var i = newData.length - 1; i >= 0; i--) {
        if (newData[i].commodityId == kid.id) {
          this.setState({
            commodityPrice: newData[i].commodityPrice, // 实签价格
            main: "0", // 是否为主要项目
            yearSum: newData[i].yearSum.toString(), // 会员总服务年限
            serviceLife: !newData[i].serviceLife ? [] : JSON.parse(newData[i].serviceLife), // 会员服务年限
            contractTerm: !newData[i].contractTerm ? [] : JSON.parse(newData[i].contractTerm), // 合同期
            taskComment: newData[i].taskComment, // 项目说明
            // isEdit: true, // 不可编辑
            isEdit: true, // 同一会员项目有且只有一条时可编辑   其他情况不可编辑
            cPeriod: !newData[i].contractTerm ? false : true, //合同期
          })
          return
        } else {
          this.setState({
            commodityPrice: undefined,
            main: undefined,
            yearSum: undefined,
            serviceLife: [],
            contractTerm: [],
            taskComment: undefined,
            isEdit: false, // 可编辑
            cPeriod: false,
          })
        }
      }
    }

  }
  //加载(自动补全)
  supervisor(e, state) {
    //客户名称与服务名称自动补全
    let api = state
      ? "/api/admin/customer/getCustomerByName"
      : "/api/admin/order/getBusinessProjectByName";
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + api,
      data: state
        ? {
          name: e,
          type: this.state.customType
        }
        : {
          businessName: e
        },
      success: function (data) {
        let thedata = data.data;
        if (!thedata) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
          thedata = {};
        }
        this.setState({
          states: state,
          customerArr: thedata
        });
      }.bind(this)
    }).always(
      function () {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  }
  //变更申请
  changeApply() {
    if (this.state.data.totalAmount === "") {
      message.warning("合同金额不能为空!");
      return false;
    }
    if (this.state.data.firstAmount === "") {
      message.warning("首付款金额不能为空!");
      return false;
    }
    if (Number(this.state.data.totalAmount) < Number(this.state.data.firstAmount)) {
      message.warning("首付款不能大于合同额!");
      return;
    }
    if (moneyVerify(this.state.data.totalAmount)) {
      return false;
    }
    if (moneyVerify(this.state.data.changeAmount)) {
      return false;
    }
    if (
      this.state.data.type == 0 ||
      this.state.data.type == 1 ||
      this.state.data.type == 3 ||
      this.state.data.type == 8
    ) {
      if (Number(this.state.data.settlementAmount) < Number(this.state.data.changeAmount)) {
        message.warning("退款金额大于已收款金额");
        return;
      }
    }


    if (this.state.data.type == 0) {
      let reg1 = /^1[3456789]\d{9}$/
      let reg2 = /^0\d{2,3}-?\d{7,8}$/
      let reg3 = /[^\u4E00-\u9FA5]/g
      if (!this.state.data.managerContacts || reg3.test(this.state.data.managerContacts)) {
        message.warning("请正确填写企业总经理姓名");
        return false;
      }
      if (!this.state.data.managerContactMobile) {
        message.warning("请正确填写企业总经理联系电话");
        return false;
      }
      if (!reg1.test(this.state.data.managerContactMobile) && !reg2.test(this.state.data.managerContactMobile)) {
        message.warning("请正确填写企业总经理联系电话");
        return false;
      }
      if (!this.state.data.contacts || reg3.test(this.state.data.contacts)) {
        message.warning("请正确填写企业联系人姓名");
        return false;
      }
      if (!this.state.data.contactMobile) {
        message.warning("请正确填写企业联系人联系方式");
        return false;
      }
      if (!reg1.test(this.state.data.contactMobile) && !reg2.test(this.state.data.contactMobile)) {
        message.warning("请正确填写企业联系人联系方式");
        return false;
      }
    }


    let newContractUrl = [];
    if (this.state.newContractUrl.length) {
      let cArr = [];
      this.state.newContractUrl.map(function (item) {
        if (
          item.response &&
          item.response.data &&
          item.response.data.length
        ) {
          cArr.push(item.response.data);
        }
      });
      newContractUrl = cArr.join(",");
    }
    if (this.state.isNew && newContractUrl.length == 0) {
      message.warning("请上传新合同扫描件!");
      return
    }
    let theorgCodeUrl = [];
    if (this.state.voucherUrl.length) {
      let picArr = [];
      this.state.voucherUrl.map(function (item) {
        if (item.response &&
          item.response.data &&
          item.response.data.length
        ) {
          picArr.push(item.response.data);
        }
      });
      theorgCodeUrl = picArr.join(",");
    }
    Object.assign(this.state.data, {
      id: this.props.orderData.id, //订单编号
      changeType: 0,
      voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
      consultantExamine: [],
      managerExamine: [],
      contractPictureUrl: this.state.isNew
        ? newContractUrl : undefined,//合同替换件
    });
    this.setState({
      loading: true
    })
    $.ajax({
      method: "post",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderChange/updateOrderChange",
      data: this.state.data
    }).done(
      function (data) {
        if (!data.error.length) {
          message.success("变更成功!");
          this.props.onCancel();
          this.setState({
            loading: false
          });
        } else {
          message.warning(data.error[0].message);
          this.setState({
            loading: false
          });
        }
      }.bind(this)
    );
  }
  // componentDidMount() {
  //   window.setTimeout(() => {
  //     this.loadDataChange();
  //   }, 10);
  // }

  // loadDataChange() {
  //   console.log(this.props);

  //   $.ajax({
  //     method: "get",
  //     dataType: "json",
  //     crossDomain: false,
  //     url: globalConfig.context + "/api/admin/orderChange/orderChangeLogList",
  //     data: {
  //       changeId: this.props.data.id
  //     },
  //     success: function(data) {
  //       if (data.error.length || data.data.list == "") {
  //         if (data.error && data.error.length) {
  //           message.warning(data.error[0].message);
  //         }
  //       } else {
  //         this.setState({
  //           dataSource: data.data
  //         });
  //       }
  //     }.bind(this)
  //   });
  // }

  // 拆分详细
  showRes(record) {
    this.setState({
      resVisible: true,
      resRecord: record
    })
  }
  resCancel() {
    this.setState({
      resVisible: false
    })
  }

  cuiList(id) {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderChange/selectChangeDun",
      data: {
        id: id || this.state.data.id
      },
      success: function (data) {
        this.setState({
          cuiDataSource: data.data,
          loading: false,
        });
        if (data.data && data.data.length) {
          if (id) {
            this.setState({
              listCuiFlag: true,
            });
          }
          this.setState({
            cuiDataSource: data.data,
          });
          this.setState({
            loading: false,
          });
        } else if (data.error && data.error.length) {
          message.warning(data.error[0].message);
          this.setState({
            loading: false,
          });
        }
      }.bind(this)
    });
  }
  proList(id) {
    this.setState({
      loading: true
    })
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderChange/selectChangeTask",
      data: {
        id: id || this.state.data.id
      },
      success: function (data) {
        this.setState({
          loading: false
        })
        if (data.data && data.data.length) {
          if (id) {
            this.setState({
              listFlag: true
            });
          }
          data.data.forEach(item => {
            item.key = item.id
          })
          this.setState({
            proDataSource: data.data
          });
          this.setState({
            loading: false,
          });
        } else if (data.error && data.error.length) {
          // message.warning(data.error[0].message)
          this.setState({
            loading: false,
          });
        }
      }.bind(this)
    });
  }

  departmentList() {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/organization/selectSuperId",
      data: {},
      success: function (data) {
        let thedata = data.data;
        let theArr = [];
        if (!thedata) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          thedata.map(function (item, index) {
            theArr.push({
              key: index,
              name: item.name,
              id: item.id
            });
          });
        }
        this.setState({
          departmentArr: theArr
        });
      }.bind(this)
    });
  }

  getVoucherUrl(e) {
    this.setState({ voucherUrl: e });
  }

  getNewContractUrl(e) {
    this.setState({ newContractUrl: e });
  }

  changeAddPro() {
    this.setState({
      newData: this.state.proDataSource,
      changeVisible: true,
      gid: "",
      customerArr: [],
      commodityName: "",
      commodityQuantity: "",
      commodityId: "",
      taskComment: "",
      main: undefined,
      commodityPrice: ""
    });
  }
  changeProSubmit() {
    if (this.state.gid == undefined || !this.state.gid) {
      message.warning("服务名称不匹配!");
      return
    }
    let reg = /^([0]|[1-9][0-9]*)$/;
    if (
      !this.state.commodityQuantity ||
      !reg.test(this.state.commodityQuantity)
    ) {
      message.warning("请输入正确商品数量!");
      return
    }
    if (this.state.displayFees === 'block') {
      if (this.state.patentType === "" && !this.state.patentTransfer) {
        message.warning("请选择专利类型!");
        return
      }
      if (this.state.officialCost === '') {
        message.warning("请选择官费!");
        return
      }
      if (this.state.costReduction === "" && (this.state.patentType === 0 || this.state.patentType === 2) && this.state.officialCost === 1) {
        message.warning("请选择费减!");
        return
      }
    }
    if (isNaN(parseFloat(this.state.commodityPrice))) {
      message.warning("请输入正确的金额!");
      return;
    }
    if (this.state.addProjectType == "3") {// 3审计
      if (this.state.serviceLife.length === 0) {
        message.warning("请选择服务年限!");
        return
      }
      if (this.state.serviceLife.length != this.state.commodityQuantity) {
        message.warning("服务数量与服务年限不符!");
        return
      }
    }
    if (!this.state.main) {
      message.warning("请选择是否为主要项目!");
      return
    }
    if (this.state.addProjectType === 5) {// 5高新
      if (!this.state.declarationBatch) {
        message.warning("请选择企业要求申报批次!");
        return
      }
      if (!this.state.serviceYear) {
        message.warning("请选择申报年份!");
        return
      }
    }
    if (this.state.isVip == 6) {//会员
      if (this.state.yearSum === undefined) {
        message.warning("请选择会员总服务年限!");
        return
      }
      if (this.state.serviceLife.length === 0) {
        message.warning("请添加会员服务年限!");
        return
      }
      if (this.state.serviceLife.length != this.state.yearSum) {
        message.warning("会员服务年限与总年限不符合!");
        return
      }
      if (this.state.serviceYear === undefined) {
        message.warning("请选择本次派单年份!");
        return
      }
      if (this.state.contractTerm.length === 0) {
        message.warning("请填写合同期!");
        return
      }
    }
    this.setState({
      loading: true
    });
    let type = 0;
    if (this.state.typeChange == 4 || this.state.typeChange == 5) {
      type = 1;
    }
    let infor = {
      commodityId: this.state.gid, //商品ID
      orderNo: this.state.data.orderNo, //订单编号
      commodityName: this.state.commodityName, //商品名称
      commodityQuantity: this.state.commodityQuantity, //商品数量
      commodityPrice: this.state.commodityPrice, //签单总价
      taskComment: this.state.taskComment, //服务说明
      main: this.state.main, //是否为主要项目
      cid: this.state.data.id, //变更ID
      type,
    }
    if (this.state.displayFees === 'block') {
      infor.officialCost = this.state.officialCost //是否有官费
      infor.costReduction = (this.state.patentType === 0 || this.state.patentType === 2) ? (this.state.officialCost === 1 ? this.state.costReduction : 0) : 0//是否有费减
      infor.patentType = this.state.patentType //专利类型
    }
    if (this.state.isIso) {
      infor.ifCertificationFee = this.state.ifCertificationFee || undefined;//是否包含认证费用
    }
    if (this.state.addProjectType == "3") {//审计
      infor.serviceLife = JSON.stringify(this.state.serviceLife) //服务年限
    }
    if (this.state.addProjectType == "5") {//高新
      infor.declarationBatch = this.state.declarationBatch || 1//申报批次
      infor.serviceYear = this.state.serviceYear //申报年份
    }
    if (this.state.isVip == 6) {//会员
      infor.yearSum = this.state.yearSum //会员总服务年限
      infor.serviceLife = JSON.stringify(this.state.serviceLife) //会员服务年限
      infor.serviceYear = this.state.serviceYear //本次派单年份
      infor.contractTerm = JSON.stringify(this.state.contractTerm)//合同期
    }
    $.ajax({
      method: "post",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderChange/addChangeTask",
      data: infor,
      success: function (data) {
        let theArr = [];
        if (data.error && data.error.length) {
          message.warning(data.error[0].message);
        } else {
          message.success("保存成功");
          this.nextCancel();
          this.proList();
        }
      }.bind(this)
    }).always(
      function () {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  }
  changeDeletePro(record) {
    this.setState({
      loading: true
    });
    $.ajax({
      method: "post",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderChange/updateChangeTask",
      data: {
        id: record.id,
        type: 3,
        tid: record.tid,
        splitStatus: record.splitStatus
      },
      success: function (data) {
        let theArr = [];
        if (data.error && data.error.length) {
          message.warning(data.error[0].message);
        } else {
          message.success("删除成功");
          this.proList();
          this.cuiList();
        }
      }.bind(this)
    }).always(
      function () {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  }
  //点击新增变更催款节点
  changeAddCui() {
    this.state.cuiDataSource.push({
      key: this.state.cuiDataSource.length,
      money: "",
      dunSubject: undefined,
      orderNo: this.state.data.orderNo,
      dunTarget: this.state.kehuId
    });
    this.setState({
      cuiDataSource: this.state.cuiDataSource,
      cuiFlag: true
    });
  }
  //删除变更收款节点
  changeDeleteCui(index) {
    if (index.id) {
      this.state.cuiDataSource.splice(index.id, 1);
      this.setState({
        contactListNew: this.state.cuiDataSource,
        cuiFlag: false,
        addFlag: false,
        boFlag: false
      });
      $.ajax({
        url: globalConfig.context + "/api/admin/orderChange/updateChangeDun",
        method: "post",
        data: {
          id: index.id,
          type: 3,
          tid: index.tid,
          did: index.did
        }
      }).done(
        function (data) {
          this.setState({
            loading: false
          });
          if (!data.error.length) {
            message.success("删除成功!");
            this.setState({
              cuiFlag: false
            });
            this.cuiList();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    } else {
      this.state.cuiDataSource.splice(index.key, 1);
      this.setState({
        cuiDataSource: this.state.cuiDataSource,
        cuiFlag: false,
        addFlag: false,
        boFlag: false
      });
    }
  }
  changeSaveCui(record) {

    if (record.boStatus == "false") {
      record.boStatus = false;
    } else if (record.boStatus == "true") {
      record.boStatus = true;
    }
    if (!this.state.yearFlag) {
      if (!record.effectiveCount && !record.dunTypeCustom) {
        message.warning("请选择服务年限");
        return;
      }
    } else {
      record.effectiveCount = "";
    }
    if (isNaN(parseInt(record.money)) && !record.boStatus) {
      message.warning("请填写金额");
      return;
    } else if ((isNaN(parseInt(record.money)) && record.boStatus)) {
      message.warning("请填写比例");
      return;
    }
    if (record.boStatus) {
      if (
        typeof +record.money == "number" &&
        +record.money >= 0 &&
        +record.money <= 1
      ) {
        record.appropriationRatio = record.money;
      } else {
        message.warning("金额比例填写错误,比例范围0~1");
        return;
      }
    }
    if (!record.dunType && record.dunType != 0) {
      message.warning("请选择对应科目");
      return;
    }
    if (record.dunType != 1) {
      record.waitDay = "";
    }
    this.setState({
      loading: true
    });
    if (record.boStatus) {
      $.ajax({
        url: globalConfig.context + "/api/admin/orderChange/addChangeDun",
        method: "post",
        data: {
          orderNo: record.orderNo,
          ctid: record.ctid,
          projectType: record.sort,
          dunType: record.dunType,
          appropriationRatio: record.appropriationRatio,
          waitDay: record.waitDay,
          effectiveCount: record.effectiveCount,
          cid: this.state.data.id, //变更ID
          ustomizeTimes:
            record.dunType == 0 ? record.customizeTimes : undefined,
          customizeName:
            record.dunType == 0 ? record.customizeName : undefined,
        }
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("保存成功!");
            this.setState({
              cuiFlag: false,
              boFlag: false,
              addFlag: false,
            });
            this.cuiList();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    } else {
      $.ajax({
        url: globalConfig.context + "/api/admin/orderChange/addChangeDun",
        method: "post",
        data: {
          orderNo: record.orderNo,
          ctid: record.ctid,
          projectType: record.sort,
          dunType: record.dunType,
          money: record.money,
          waitDay: record.waitDay,
          effectiveCount: record.effectiveCount,
          cid: this.state.data.id, //变更ID
          customizeTimes:
            record.dunType == 0 ? record.customizeTimes : undefined,
          customizeName:
            record.dunType == 0 ? record.customizeName : undefined,
        }
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("保存成功!");
            this.setState({
              cuiFlag: false,
              boFlag: false,
              addFlag: false,
            });
            this.cuiList();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    }
  }
  submitChange() {
    if (
      this.state.typeChange == undefined ||
      (this.state.typeChange == "" && this.state.typeChange != 0)
    ) {
      message.warning("请选择变更类型");
      return false;
    }
    if (
      this.state.typeChange == 0 ||
      this.state.typeChange == 1 ||
      this.state.typeChange == 3 ||
      this.state.typeChange == 8
    ) {
      if (this.state.settlementAmount < this.state.changeAmount) {
        message.warning("退款金额大于已收款金额");
        return;
      }
    }
    if (this.state.processStatus != 6 || this.state.processStatus != 7) {
      message.warning("当前订单流程不能发起变更!");
      return false;
    }
    if (this.state.changeAmount === "") {
      message.warning("申请退款金额不能为空!");
      return false;
    }
    if (this.state.remarksC.trim() == "") {
      message.warning("请正确填写变更原因");
      return false;
    }
    if (this.state.startRemarks.trim() == "") {
      message.warning("请正确填写备注信息");
      return false;
    }
    let theorgCodeUrl = [];
    if (this.state.voucherUrl.length) {
      let picArr = [];
      this.state.voucherUrl.map(function (item) {
        if (item.response && item.response.data && item.response.data.length) {
          picArr.push(item.response.data);
        }
      });
      theorgCodeUrl = picArr.join(",");
    }
    this.setState({
      loading: true
    });
    $.ajax({
      url: globalConfig.context + "/api/admin/orderChange/updateOrderChange",
      method: "post",
      data: {
        id: this.state.changeId,
        changeType: 0,
        orderNo: this.state.orderNo, //订单编号
        processState: 0,
        startRemarks: this.state.startRemarks,
        remarks: this.state.remarksC,
        voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
        totalAmount: this.state.totalAmount,
        settlementAmount: this.state.settlementAmount,
        changeAmount: this.state.changeAmount,
        applicant: this.state.salesmanName,
        depName: this.state.depName,
        type: this.state.typeChange
      }
    }).done(
      function (data) {
        if (!data.error.length) {
          this.setState({
            loading: false
          });
          message.success("发起变更成功");
          this.handleCancelclose();
        } else {
          message.warning(data.error[0].message);
          this.setState({
            loading: false
          });
        }
      }.bind(this)
    );
  }
  editCui(record) {
    this.setState({
      editCuiVisible: true,
      editCuiMoney: record.appropriationRatio ? record.appropriationRatio : record.money,
      appropriationRatio: record.appropriationRatio,
      editCuiTid: record.tid,
      editCuiId: record.id
    });
  }
  editPro(record) {
    this.setState({
      editProVisible: true,
      dataInfor: record,
      // newData: this.state.proDataSource,
    });

    // this.setState({
    //   editProVisible: true,
    //   editSplitStatus: record.splitStatus,
    //   editProMoney: record.commodityPrice,
    //   editProCommodityQuantity: record.commodityQuantity,
    //   editProTid: record.tid,
    //   editProId: record.id
    // });
  }
  submitEditCui(type) {
    if (isNaN(parseFloat(this.state.editCuiMoney))) {
      if (type === 1) {
        message.warn('请输入比例')
      } else {
        message.warn('请输入金额')
      }
      return;
    }
    this.setState({
      loading: true
    });
    let data = {
      id: this.state.editCuiId,
      type: this.state.editCuiTid ? 2 : 1,
      tid: this.state.editCuiTid,
    }
    if (type === 1) {
      data.appropriationRatio = this.state.editCuiMoney;
    } else {
      data.money = this.state.editCuiMoney;
    }
    $.ajax({
      url: globalConfig.context + "/api/admin/orderChange/updateChangeDun",
      method: "post",
      data
    }).done(
      function (data) {
        this.setState({
          loading: false
        });
        if (!data.error.length) {
          message.success("修改成功!");
          this.cuiList();
          this.proList()
          this.setState({
            editCuiVisible: false
          });
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  }
  submitEditPro() {
    this.setState({
      loading: true
    });
    $.ajax({
      url: globalConfig.context + "/api/admin/orderChange/updateChangeTask",
      method: "post",
      data: {
        id: this.state.editProId,
        type: this.state.editProTid ? 2 : 1,
        commodityPrice: this.state.editProMoney,
        commodityQuantity: this.state.editProCommodityQuantity,
        tid: this.state.editProTid
      }
    }).done(
      function (data) {
        this.setState({
          loading: false
        });
        if (!data.error.length) {
          message.success("修改成功!");
          this.proList();
          this.cuiList()
          this.setState({
            editProVisible: false
          });
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  }
  componentWillMount() {
    this.departmentList();
    this.state.data = this.props.orderData;
    this.state.data.oldPrice = this.props.orderData.totalAmount;
    this.setState({
      data: this.state.data,
      voucherUrl: this.props.voucherUrl
    });

    this.proList();
    this.cuiList();
    let e = this.props.orderData.type;
    if (e == 1) {
      this.setState({
        hetongFlag: false,
        listFlag: false,
        listCuiFlag: false,
        tuiKuanFlag: false,
        displayList: false
      });
    } else if (e == 2) {
      this.setState({
        hetongFlag: true,
        listFlag: false,
        listCuiFlag: false,
        tuiKuanFlag: true,
        displayList: false
      });
    } else if (e == 3) {
      this.setState({
        listFlag: false,
        hetongFlag: false,
        listCuiFlag: false,
        tuiKuanFlag: false,
        displayList: true
      });
    } else if (e == 4) {
      this.setState({
        listFlag: false,
        listCuiFlag: false,
        hetongFlag: false,
        tuiKuanFlag: true,
        displayList: false
      });
    } else if (e == 5) {
      this.setState({
        listFlag: false,
        listCuiFlag: false,
        hetongFlag: true,
        tuiKuanFlag: true,
        displayList: false
      });
    } else if (e == 6) {
      this.setState({
        // listFlag: true,
        // listCuiFlag: true,
        // hetongFlag: true,
        // tuiKuanFlag: true,
        // displayList: false,

        listFlag: false,
        listCuiFlag: false,
        hetongFlag: false,
        tuiKuanFlag: false,
        displayList: false,
      });
    } else if (e == 7) {
      this.setState({
        listFlag: true,
        listCuiFlag: true,
        hetongFlag: true,
        tuiKuanFlag: true,
        displayList: false,
        isNew: true,
      });
    } else {
      this.setState({
        listFlag: false,
        listCuiFlag: false,
        hetongFlag: false,
        tuiKuanFlag: false,
        displayList: false,
      });
    }
  }
  // componentWillReceiveProps(nextProps) {

  //   this.state.data = nextProps.orderData;
  //   this.state.data.oldPrice = nextProps.orderData.totalAmount;
  //   this.setState({
  //     data: this.state.data,
  //     voucherUrl: nextProps.voucherUrl
  //   });

  //   // this.proList();
  //   // this.cuiList();
  //   let e = nextProps.orderData.type;
  //   if (e == 1) {
  //     this.setState({
  //       hetongFlag: false,
  //       listFlag: false,
  //       listCuiFlag: false,
  //       tuiKuanFlag: false,
  //       displayList: false
  //     });
  //   } else if (e == 2) {
  //     this.setState({
  //       hetongFlag: true,
  //       listFlag: false,
  //       listCuiFlag: false,
  //       tuiKuanFlag: true,
  //       displayList: false
  //     });
  //   } else if (e == 3) {
  //     this.setState({
  //       listFlag: false,
  //       hetongFlag: false,
  //       listCuiFlag: false,
  //       tuiKuanFlag: false,
  //       displayList: true
  //     });
  //   } else if (e == 4) {
  //     this.setState({
  //       listFlag: false,
  //       listCuiFlag: false,
  //       hetongFlag: false,
  //       tuiKuanFlag: true,
  //       displayList: false
  //     });
  //   } else if (e == 5) {
  //     this.setState({
  //       listFlag: false,
  //       listCuiFlag: false,
  //       hetongFlag: true,
  //       tuiKuanFlag: true,
  //       displayList: false
  //     });
  //   } else {
  //     this.setState({
  //       listFlag: true,
  //       hetongFlag: true,
  //       listCuiFlag: true,
  //       tuiKuanFlag: false,
  //       displayList: false
  //     });
  //   }
  // }


  not() {

  }
  deleteChange() {
    this.setState({
      loading: true,
    });
    $.ajax({
      url: globalConfig.context + "/api/admin/orderChange/cancelOrderChange",
      method: "post",
      data: {
        id: this.state.data.id,
        status: this.state.data.status,
        processState: this.state.data.processState,
        orderNo: this.state.data.orderNo
      },
    }).done(
      function (data) {
        this.setState({
          loading: false,
        });
        if (!data.error.length) {
          message.success("取消成功!");
          this.props.onCancel()
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  }

  handleClose(removedTag) {
    let serviceLife = this.state.serviceLife.filter(tag => { return tag !== removedTag });
    this.setState({ serviceLife, serviceYear: undefined });
  }
  // 可展开颜色不同
  addRowColor(record) {
    if (!!record.list && record.list.length > 0) {
      return 'light'
    } else {
      return 'dark'
    }
  }

  render() {
    const expandedRowRender = e => {
      const data = e.list;
      if (e.cSort != 6) {
        let columns = [];
        if (data instanceof Array && data.length) {
          columns = [
            {
              title: "变更状态",
              dataIndex: "type",
              key: "type",
              render: (text, record) => {
                let str = "";
                let color = "";
                if (text == 1) {
                  str = "增";
                  color = "#87d068";
                } else if (text == 2) {
                  str = "改";
                  color = "#108ee9";
                } else if (text == 3) {
                  str = "删";
                  color = "#f50";
                }
                return (
                  <span>
                    <Tag
                      color={color}
                      style={{ display: text == 0 ? "none" : "inline-block" }}
                    >
                      {str}
                    </Tag>
                    {/* {record.splitStatus == 1 ? (
                      <Tag
                        color="#108ee9"
                      // onClick={e => {
                      //   e.stopPropagation();
                      //   this.showRes(record);
                      // }}
                      >
                        父项目
                      </Tag>
                    ) : (
                      ""
                    )}
                    {record.splitStatus == 2 ? (
                      <Tag
                        color="#108ee9"
                      // onClick={e => {
                      //   e.stopPropagation();
                      //   this.showRes(record);
                      // }}
                      >
                        子项目
                      </Tag>
                    ) : (
                      ""
                    )} */}
                  </span>
                );
              },
            },
            {
              title: "业务项目名称",
              dataIndex: "commodityName",
              key: "commodityName",
              render: (text, record) => {
                              return <span>
                {text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}
                <div>
                  {record.cSort == 6 && record.projectType == 1 && <span>(含{record.htMember == 1 ? '高新会员&' : ''}{record.additionalDeduction == 1 ? '加计扣除&' : ''}{record.rdAwardsubsidy == 1 ? '研发奖补' : ''})</span>}
                  {record.cSort == 6 && ([0, 3].indexOf(record.projectType) > -1) && <span>(仅提供单边会员服务)</span>}
                  {record.cSort == 6 && record.projectType == 2 && <span>(仅填报表,仅咨询,不出备查资料)</span>}
                  {record.cSort == 3 && <span>{record.technologyProjectType==0?'(简易项目)':record.technologyProjectType==1?'(市区级)':record.technologyProjectType==2?'(省级)':record.technologyProjectType==3?'(国家级)':''}</span>}
                  {record.cSort == 8 ? (record.type != 2 && record.patentType == 1) ? <span>(变更)</span> : <span>{record.ordinaryRisk == 0 ? '(普通申请)' : record.ordinaryRisk == 1 ? '(风险代理)' : ''}</span> : ""}
                  {record.type == 2 && <span>({record.days == 0 ? '普通' : record.days == 1 ? '加急' : ''}{record.scheme == 0 ? '&无方案' : record.scheme == 1 ? '&有方案' : ''})</span>}
                </div>
              </span>
              }
            },
            {
              title: "项目类别",
              dataIndex: "cname",
              key: "cname",
            },
            {
              title: "项目数量",
              dataIndex: "commodityQuantity",
              key: "commodityQuantity",
            },
            {
              title: "金额(万元)",
              dataIndex: "commodityPrice",
              key: "commodityPrice",
              render: (text, record) => {
                if (record.splitStatus == 2) {
                  return "/";
                } else {
                  return text;
                }
              },
            },
            {
              title: "主要项目",
              dataIndex: "main",
              key: "main",
              render: (text) => {
                return text ? "是" : "否";
              },
            },
            {
              title: "项目负责人",
              dataIndex: "receiverName",
              key: "receiverName",
            },
            {
              title: "总年限",
              dataIndex: "yearSum",
              key: "yearSum",
              render: (text, record) => {
                return (
                  <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
                );
              }
            },
            {
              title: "年限",
              dataIndex: "serviceLife",
              key: "serviceLife",
              render: (text, record) => {
                return (
                  <div>{!!text && JSON.parse(text).toString()}</div>
                );
              }
            },
            {
              title: "本次派单",
              dataIndex: "serviceYear",
              key: "serviceYear",
              render: (text, record) => {
                return (
                  <div>{!text ? "" : text}</div>
                );
              }
            },
            {
              title: "项目说明",
              dataIndex: "taskComment",
              key: "taskComment",
              render: (text) => {
                return (
                  <Tooltip title={text}>
                    <div
                      style={{
                        width: 100,
                        overflow: "hidden",
                        whiteSpace: "nowrap",
                        textOverflow: "ellipsis",
                      }}
                    >{text}</div>
                  </Tooltip>
                )
              },
            },
            {
              title: "操作",
              dataIndex: "ABC",
              key: "ABC",
              render: (text, record) => {
                return (
                  <div>
                    <Button
                      onClick={(e) => {
                        e.stopPropagation();
                        this.showConfirm(this.changeDeletePro, record);
                      }}
                      disabled={this.state.listFlag}
                      style={{
                        display: this.state.displayList ? "none" : "block",
                      }}
                    >
                      删除
                    </Button>
                  </div>
                );
              },
            },
          ];
          return (
            <Table
              columns={columns}
              dataSource={data}
              scroll={{ x: "max-content", y: 0 }}
              pagination={false}
              onRowDoubleClick={this.state.listFlag ? this.not : this.editPro}
            />
          );
        } else {
          columns = [];
          return (
            <p style={{ fontWeight: "bold", color: "red", textAlign: "center" }}>
              此项目暂未拆分
            </p>
          );
        }
      } else {
        let columns = [];
        if (data instanceof Array && data.length) {
          columns = [
            {
              title: "变更状态",
              dataIndex: "type",
              key: "type",
              render: (text, record) => {
                let str = "";
                let color = "";
                if (text == 1) {
                  str = "增";
                  color = "#87d068";
                } else if (text == 2) {
                  str = "改";
                  color = "#108ee9";
                } else if (text == 3) {
                  str = "删";
                  color = "#f50";
                }
                return (
                  <span>
                    <Tag
                      color={color}
                      style={{ display: text == 0 ? "none" : "inline-block" }}
                    >
                      {str}
                    </Tag>
                  </span>
                );
              },
            },
            {
              title: "负责人",
              dataIndex: "receiverName",
              key: "receiverName",
            },
            {
              title: "负责人电话",
              dataIndex: "receiverMobile",
              key: "receiverMobile",
            },
            {
              title: "项目状态",
              dataIndex: "projectStatus",
              key: "projectStatus",
              render: (text) => {
                return text
                // return getProjectName(text);
              },
            },
            {
              title: "本次派单",
              dataIndex: "serviceYear",
              key: "serviceYear",
            },
            {
              title: "项目说明",
              dataIndex: "taskComment",
              key: "taskComment",
              render: (text, record) => {
                let textStr = text;
                let textArr = [];
                if (record.htMember === 1) {
                    textArr.push("高新会员");
                }
                if (record.additionalDeduction === 1) {
                    textArr.push("加计扣除");
                }
                if (record.rdAwardsubsidy === 1) {
                    textArr.push("研发补助");
                }
                if (textArr.length) {
                  textStr = `${textArr.join("&")} ${!!text ? `(${text})` : ''}`
                }
                return (
                  <Tooltip title={textStr}>
                    <div
                    >{textStr}</div>
                  </Tooltip>
                )
              },
            },
          ];
          return (
            <Table
              columns={columns}
              dataSource={data}
              pagination={false}
            />
          );
        } else {
          columns = [];
          return (
            <p
              style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
            >
              暂无派单
            </p>
          );
        }
      }
    };
    const { TextArea } = Input;
    const data = this.state.data;
    // let departmentArr = this.state.departmentArr || [];
    const dataSources = this.state.customerArr || [];
    const cuiDataList = this.state.contactList || [];
    let departmentArr = this.state.departmentArr || [];
    const options = this.state.states
      ? dataSources.map(group => (
        <Select.Option key={group.id} value={group.name}>
          {group.name}
        </Select.Option>
      ))
      : dataSources.map((group, index) => (
        <Select.Option key={index} value={group.bname}>
          {group.bname}
        </Select.Option>
      ));
    let children = vipYear.map(its => (
      <Option key={its}>{its}</Option>
    ));
    const { isVip, histYear, isEdit } = this.state
    return (
      <div>
        <Spin spinning={this.state.loading}>
          {this.state.resVisible ? (
            <ResolutionDetail
              cancel={this.resCancel}
              detail={this.state.resRecord}
              visible={this.state.resVisible}
              id={this.state.resRecord.orderNo}
            />
          ) : (
            ""
          )}
          <div className="clearfix">
            <FormItem
              className="half-item"
              {...formItemLayout}
              label="客户名称"
            >
              <span>{data.userName}</span>
              <EnterpriseNameChange
                type='journal'
                style={{ marginLeft: 10 }}
                enterpriseId={this.props.orderUid} />
            </FormItem>
          </div>
          <div className="clearfix">
            <FormItem
              className="half-item"
              {...formItemLayout}
              label="合同编号"
            >
              <span>{data.contractNo}</span>
            </FormItem>
          </div>
          <div className="clearfix">
            <FormItem
              className="half-item"
              {...formItemLayout}
              label="申请变更部门"
            >
              <span>{this.state.data.depName}</span>
            </FormItem>
            <FormItem className="half-item" {...formItemLayout} label="申请人">
              {/* <Input
              placeholder="请输入申请人"
              ref="signTotalAmount"
              value={data.applicant}
              onChange={e => {
                let data = this.state.data;
                data.applicant = e.target.value;
                this.setState({ data });
              }}
              style={{ width: "240px" }}
            /> */}
              <span>{data.applicant}</span>
            </FormItem>
          </div>
          <div className="clearfix">
            <FormItem
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="变更类型"
            >
              <Select
                placeholder="选择合同变更类型"
                style={{ width: 200 }}
                disabled={this.state.changeFlag}
                onChange={(e) => {
                  let data = this.state.data;
                  data.type = e;
                  this.setState({ data, changeFlag: true });
                  if (e == 1) {
                    this.setState({
                      hetongFlag: false,
                      listFlag: false,
                      listCuiFlag: false,
                      tuiKuanFlag: false,
                      displayList: false,
                    });
                  } else if (e == 2) {
                    this.setState({
                      hetongFlag: true,
                      listFlag: false,
                      listCuiFlag: false,
                      tuiKuanFlag: true,
                      displayList: false,
                    });
                  } else if (e == 3) {
                    this.setState({
                      listFlag: false,
                      hetongFlag: false,
                      listCuiFlag: false,
                      tuiKuanFlag: false,
                      displayList: true,
                    });
                  } else if (e == 4) {
                    this.setState({
                      listFlag: false,
                      listCuiFlag: false,
                      hetongFlag: false,
                      tuiKuanFlag: true,
                      displayList: false,
                    });
                  } else if (e == 5) {
                    this.setState({
                      listFlag: false,
                      listCuiFlag: false,
                      hetongFlag: true,
                      tuiKuanFlag: true,
                      displayList: false,
                    });
                  } else if (e == 6) {
                    this.setState({
                      // listFlag: true,
                      // listCuiFlag: true,
                      // hetongFlag: true,
                      // tuiKuanFlag: true,
                      // displayList: false,

                      listFlag: false,
                      listCuiFlag: false,
                      hetongFlag: false,
                      tuiKuanFlag: false,
                      displayList: false,
                    });
                  } else if (e == 7) {
                    this.setState({
                      listFlag: true,
                      listCuiFlag: true,
                      hetongFlag: true,
                      tuiKuanFlag: true,
                      displayList: false,
                      isNew: true, //上传替换合同
                    });
                  } else {
                    this.setState({
                      listFlag: false,
                      listCuiFlag: false,
                      hetongFlag: false,
                      tuiKuanFlag: false,
                      displayList: false,
                    });
                  }
                }}
                value={data.type}
              >
                <Option value={0}>退单退款</Option>
                <Option value={1}>项目及金额变更</Option>
                <Option value={2}>仅项目变更</Option>
                <Option value={3}>仅金额变更</Option>
                <Option value={4}>重报</Option>
                <Option value={5}>赠送</Option>
                <Option value={6}>退单不退款</Option>
                <Option value={7}>仅变更合同</Option>
                <Option value={8}>框架协议(仅已签框架合同适用)</Option>
              </Select>
              <Button
                style={{ marginLeft: 10 }}
                onClick={(e) => {
                  this.state.data.startRemarks = "";
                  this.state.data.remarks = "";
                  this.state.data.changeAmount = "0";
                  this.state.data.depNameChange = undefined;
                  this.state.data.typeChange = undefined;
                  this.state.data.totalAmount = this.state.data.oldPrice;
                  this.setState({
                    listFlag: true,
                    listCuiFlag: true,
                    hetongFlag: true,
                    tuiKuanFlag: true,
                    displayList: false,
                    isNew: false,

                    // listFlag: false,
                    // hetongFlag: false,
                    // listCuiFlag: false,
                    // tuiKuanFlag: false,
                    // displayList: false,
                    startRemarks: "",
                    data: this.state.data,
                    changeFlag: false,
                    voucherUrl: [],
                    // changeAmount: "0",
                    // applicant: undefined,
                    // depNameChange: undefined,
                    // typeChange: [],
                    // changeFlag: false
                  });
                }}
              >
                重置
              </Button>
              {(this.state.data.status == 3 || this.state.data.status == 0) ? (
                <Button
                  type="danger"
                  style={{
                    float: "right",
                    backgroundColor: "red",
                    color: "white",
                    position: "absolute",
                    right: 0,
                    height: 50,
                    borderRadius: 20,
                  }}
                  onClick={(e) => {
                    e.stopPropagation();
                    this.showConfirmChange(this.deleteChange);
                  }}
                >
                  取消本次变更
                </Button>
              ) : (
                ""
              )}
            </FormItem>
          </div>
          <div className="clearfix">
            <FormItem
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="合同额(万元)"
            >
              <Input
                placeholder="请输入合同额"
                ref="signTotalAmount"
                disabled={this.state.hetongFlag}
                value={data.totalAmount}
                onChange={(e) => {
                  let data = this.state.data;
                  data.totalAmount = e.target.value;
                  this.setState({ data });
                }}
                style={{ width: "240px" }}
              />
            </FormItem>
            <FormItem
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="首付款(万元)"
            >
              <Input
                placeholder="请输入首付款"
                ref="signTotalAmount"
                disabled={this.state.hetongFlag}
                value={data.firstAmount}
                onChange={(e) => {
                  let data = this.state.data;
                  data.firstAmount = e.target.value;
                  this.setState({ data });
                }}
                style={{ width: "240px" }}
              />
            </FormItem>
            <FormItem
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="已收款(万元)"
            >
              {/* <Input
              placeholder="请输入已收款"
              ref="signTotalAmount"
              value={data.settlementAmount}
              onChange={e => {
                let data = this.state.data;
                data.settlementAmount = e.target.value;
                this.setState({ data });
              }}
              style={{ width: "240px" }}
            /> */}
              <span>
                {this.state.data.settlementAmount}&nbsp;&nbsp;&nbsp;&nbsp;
                <span style={{ color: "red" }}>
                  (注:已收款与现实收款不符,请与财务专员联系)
                </span>
              </span>
            </FormItem>
            <FormItem
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="申请退款(万元)"
            >
              <Input
                placeholder="请输入申请退款"
                ref="signTotalAmount"
                disabled={this.state.tuiKuanFlag}
                value={data.changeAmount}
                onChange={(e) => {
                  let data = this.state.data;
                  data.changeAmount = e.target.value;
                  this.setState({ data });
                }}
                style={{ width: "240px" }}
              />
            </FormItem>
          </div>
          {/* 退单退款 */}
          {this.state.data.type == 0 &&
            <div className="clearfix">
              <div className="clearfix">
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label="企业总经理姓名"
                >
                  <Input
                    placeholder="请输入企业总经理姓名"
                    value={data.managerContacts}
                    onChange={(e) => {

                      let data = this.state.data;
                      data.managerContacts = e.target.value;
                      this.setState({ data });

                    }}
                    style={{ width: "240px" }}
                  />
                </FormItem>
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label="企业总经理联系电话"
                >
                  <Input
                    placeholder="请输入企业总经理联系电话"
                    value={data.managerContactMobile}
                    onChange={(e) => {

                      let data = this.state.data;
                      data.managerContactMobile = e.target.value;
                      this.setState({ data });

                    }}
                    style={{ width: "240px" }}
                  />
                </FormItem>
              </div>

              <div className="clearfix">
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label="企业联系人姓名"
                >
                  <Input
                    placeholder="请输入企业联系人姓名"
                    value={data.contacts}
                    onChange={(e) => {

                      let data = this.state.data;
                      data.contacts = e.target.value;
                      this.setState({ data });

                    }}
                    style={{ width: "240px" }}
                  />
                </FormItem>
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label="企业联系人联系方式"
                >
                  <Input
                    placeholder="请输入企业联系人联系方式"
                    value={data.contactMobile}
                    onChange={(e) => {

                      let data = this.state.data;
                      data.contactMobile = e.target.value;
                      this.setState({ data });

                    }}
                    style={{ width: "240px" }}
                  />
                </FormItem>
              </div>

              <div className="clearfix">
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label={<span style={{ color: "red" }}>注</span>}
                >
                  <span style={{ color: "red" }}>
                    请填写以上信息,公司总经理将与企业联系交流
                  </span>
                </FormItem>
              </div>
            </div>
          }

          <div>
            <div>
              <span
                style={{
                  marginLeft: "50px",
                  fontSize: "20px",
                }}
              >
                项目业务
              </span>
              <span style={{ color: "red" }}>
                (注:项目删除后,此项目的全部节点、全部工时,全部被删除,请谨慎删除!)
              </span>
              <Button
                type="primary"
                onClick={this.changeAddPro}
                disabled={this.state.listFlag}
                style={{
                  float: "right",
                  marginRight: "50px",
                  marginBottom: "15px",
                  display: this.state.displayList ? "none" : "block",
                }}
              >
                添加项目明细
              </Button>
            </div>
            <div className="patent-table" style={{ marginBottom: 10 }}>
              {/* <Spin spinning={this.state.loading}> */}
              <Table
                columns={this.state.proColumns}
                dataSource={this.state.proDataSource}
                scroll={{ x: "max-content", y: 0 }}
                expandedRowRender={expandedRowRender}
                rowClassName={this.addRowColor}
                pagination={false}
                // onRowDoubleClick={this.state.listFlag ? this.not : this.editPro}
                bordered
                size="small"
              />
              {/* </Spin> */}
            </div>
            <div>
              <span
                style={{
                  marginLeft: "50px",
                  fontSize: "20px",
                }}
              >
                催款节点
              </span>
              <span style={{ color: "red" }}>
                (注:节点删除后,无论节点是否触发,均会删除,请谨慎删除!双击可修改对应金额!)
              </span>
              <Button
                type="primary"
                onClick={(e) => {
                  this.changeAddCui();
                }}
                disabled={this.state.listCuiFlag}
                style={{
                  float: "right",
                  marginRight: "50px",
                  marginBottom: "15px",
                  display: this.state.displayList ? "none" : "block",
                }}
              >
                添加催款节点
              </Button>
            </div>
            <div className="clearfix">
              {/* <Spin spinning={this.state.loading}> */}
              <Form layout="horizontal">
                <Table
                  pagination={false}
                  columns={this.state.changeCuiList}
                  dataSource={this.state.cuiDataSource}
                  scroll={{ x: "max-content", y: 0 }}
                  onRowDoubleClick={
                    this.state.listCuiFlag ? this.not : this.editCui
                  }
                  bordered
                  size="small"
                />
                <Col span={24} offset={9} style={{ marginTop: "15px" }}></Col>
              </Form>
              {/* </Spin> */}
            </div>
          </div>
          <div className="clearfix">
            <FormItem
              style={{ height: "auto" }}
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="变更原因"
            >
              <TextArea
                rows={4}
                placeholder="因企业政府补助费用与营销员签单承诺费用不一"
                ref="signTotalAmount"
                style={{ width: "95%" }}
                value={data.remarks}
                onChange={(e) => {
                  let data = this.state.data;
                  data.remarks = e.target.value;
                  this.setState({ data });
                }}
              />
            </FormItem>
          </div>

          {/* 备注 */}
          <div className="clearfix">
            <FormItem
              style={{ height: "auto" }}
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="备注"
            >
              <TextArea
                rows={4}
                placeholder="请输入备注信息"
                ref="signTotalAmount"
                style={{ width: "95%" }}
                value={data.startRemarks}
                onChange={(e) => {
                  let data = this.state.data;
                  data.startRemarks = e.target.value;
                  this.setState({ data });
                }}
              />
            </FormItem>
          </div>

          <div className="clearfix">
            <FormItem
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="变更凭证"
            >
              <PicturesWall
                fileList={this.getVoucherUrl}
                pictureUrl={this.state.voucherUrl}
                url="/api/admin/orderChange/uploadFile"
                sign="order_change_file"
              />
              <Rizhi changeId={data.id} />
              <p>图片建议:要清晰。</p>
            </FormItem>
          </div>
          <div className="clearfix">
            <FormItem
              labelCol={{ span: 4 }}
              wrapperCol={{ span: 18 }}
              label="上传替换合同"
            >
              <Switch disabled={data.type == 7} checked={this.state.isNew} onChange={e => { this.setState({ isNew: e }) }} />,
              <p style={{ color: "red" }}>注:原上传合同为空或作废时,需上传替换合同</p>
            </FormItem>
          </div>
          {
            this.state.isNew &&
            <div className="clearfix">
              <FormItem
                labelCol={{ span: 4 }}
                wrapperCol={{ span: 18 }}
                label="合同扫描件"
              >
                <PicturesWall
                  domId={"newcontract"}
                  fileList={this.getNewContractUrl}
                  pictureUrl={this.state.newContractUrl}
                  url="/api/admin/orderChange/uploadFile"
                  sign=""
                />
                <p>图片建议:要清晰。</p>
              </FormItem>
            </div>
          }
          {/* <ul
          style={{
            width: "868px",
            overflow: "hidden",
            paddingLeft: "90px",
            marginBottom: "20px"
          }}
        >
          {this.state.dataSource.map((item, index) => (
            <li
              key={index}
              style={{
                width: "100%",
                height: "auto",
                wordBreak: "break-all",
                color: "black",
                marginBottom: "10px"
              }}
            >{`${item.aname}: ${item.remarks}`}</li>
          ))}
        </ul> */}
          {
            // 新需求 除湖南和内蒙古外 不让其他省操作
            (adminData.province == "21" || adminData.province == "11") &&
            <div className="clearfix">
              <Button
                type="primary"
                style={{ float: "right", marginRight: 40 }}
                onClick={this.changeApply}
              >
                发起变更申请
              </Button>
            </div>
          }
          {
            // 变更项目任务编辑
            this.state.editProVisible &&
            <NewEditProject
              type="change"
              children="list"
              typeChange={this.state.typeChange}
              cid={this.state.data.id}
              readOnly={false}
              orderNo={this.state.data.orderNo}
              visible={this.state.editProVisible}
              dataInfor={this.state.dataInfor}
              newData={this.state.newData}
              onCancel={() => [this.nextCancel("change")]}
            />

            // <ProjectOperation
            //   type="biangeng"
            //   readOnly={false}
            //   visible={this.state.editProVisible}
            //   dataInfor={this.state.dataInfor}
            //   newData={this.state.newData}
            //   onCancel={() => {
            //     this.setState({
            //       editProVisible: false,
            //     });
            //     this.proList()
            //   }}
            // />
          }
          {/* <Modal
            maskClosable={false}
            title="修改项目金额及数量"
            visible={this.state.editProVisible}
            onOk={this.submitEditPro}
            width={300}
            okText={"保存"}
            onCancel={() => {
              this.setState({
                editProVisible: false,
              });
            }}
          >
            <div className="clearfix">
              <FormItem
                labelCol={{ span: 6 }}
                wrapperCol={{ span: 14 }}
                label="项目金额"
                style={{
                  display: this.state.editSplitStatus == 2 ? "none" : "block",
                }}
              >
                <Input
                  placeholder="请输入金额"
                  rows={4}
                  value={this.state.editProMoney}
                  onChange={(e) => {
                    this.setState({ editProMoney: e.target.value });
                  }}
                />
              </FormItem>
              <FormItem
                labelCol={{ span: 6 }}
                wrapperCol={{ span: 14 }}
                label="项目数量"
              >
                <Input
                  placeholder="请输入数量"
                  rows={4}
                  value={this.state.editProCommodityQuantity}
                  onChange={(e) => {
                    this.setState({ editProCommodityQuantity: e.target.value });
                  }}
                />
              </FormItem>
            </div>
          </Modal> */}
          <Modal
            maskClosable={false}
            title={isNaN(parseFloat(this.state.appropriationRatio)) ? "修改催款节点金额" : "修改催款节点比例"}
            visible={this.state.editCuiVisible}
            onOk={() => {
              this.submitEditCui(isNaN(parseFloat(this.state.appropriationRatio)) ? 0 : 1);
            }}
            okText={"保存"}
            width={300}
            onCancel={(e) => {
              this.setState({
                editCuiVisible: false,
                appropriationRatio: ''
              });
            }}
          >
            <div className="clearfix">
              <FormItem
                labelCol={{ span: 6 }}
                wrapperCol={{ span: 14 }}
                label={isNaN(parseFloat(this.state.appropriationRatio)) ? "催款金额" : "催款比例"}
              >
                <Input
                  type='number'
                  placeholder={isNaN(parseFloat(this.state.appropriationRatio)) ? "请输入金额" : "请输入比例"}
                  rows={4}
                  value={this.state.editCuiMoney}
                  onChange={(e) => {
                    this.setState({ editCuiMoney: e.target.value });
                  }}
                />
              </FormItem>
            </div>
          </Modal>
          {
            this.state.changeVisible &&
            <NewAddProject
              type="change"
              children="list"
              typeChange={this.state.typeChange}
              cid={this.state.data.id}
              readOnly={false}
              orderNo={this.state.data.orderNo}
              visible={this.state.changeVisible}
              newData={this.state.newData}
              onCancel={() => [this.nextCancel("change")]}
            />
          }
        </Spin>
        {
          this.state.addYears &&
          <Modal
            title="添加服务年限"
            visible={this.state.addYears}
            okText="添加"
            onOk={() => {
              if (!this.state.addyear) {
                message.warn("请选择年份!")
                return
              }
              if (this.state.isGive == undefined) {
                message.warn("请选择是否赠送!")
                return
              }
              let slist = this.state.serviceLife
              if (this.state.isGive == 0) {
                slist.push(this.state.addyear)
              } else if (this.state.isGive == 1) {
                let newYear = this.state.addyear + "(赠)"
                slist.push(newYear)
              }
              this.setState({
                serviceLife: slist,
                addYears: false
              })
            }}
            onCancel={() => {
              this.setState({
                addYears: false
              })
            }}
          >
            <Select
              style={{ width: '200px', marginRight: 50 }}
              placeholder="请选择年份"
              onChange={e => {
                this.setState({
                  addyear: e,
                })
              }}
            >
              {
                vipYear.map(its => (
                  <Option
                    key={its}
                    disabled={this.state.serviceLife.toString().includes(its)}
                  >{its}</Option>
                ))
              }
            </Select>
            <RadioGroup
              onChange={e => {
                this.setState({
                  isGive: e.target.value
                })
              }}
              value={this.state.isGive}
            >
              <Radio value={0}>非赠送</Radio>
              <Radio value={1}>赠送</Radio>
            </RadioGroup>
          </Modal>
        }
      </div>
    );
  }
}

export default ChangeApply;