import React from "react";
import {
  Table,
  Modal,
  message,
  Spin,
  Input,
  Select,
  Button,
  Form,
  Upload,
  Popconfirm,
  AutoComplete,
  DatePicker,
  Col,
  Tabs,
  Tag,
  Radio,
  Group,
} from "antd";
import $ from "jquery/src/ajax";
import "../userMangagement.less";
import "../billing.less";
import moment from "moment";
import { shenghePeo } from "@/tools.js";
import Picture from "@/manageCenter/publicComponent/picture";
import ResolutionDetail from "@/resolutionDetail";
import quxiao from "../../../../../image/quxiao.png";
import tongguo from "../../../../../image/tongguo.png";
import OrderRiZi from "@/orderRiZi.jsx";
import {
  orderTypes,
  customerType,
  jiedian,
  tepi,
  boutique,
} from "../../../dataDic.js";
import {
  splitUrl,
  getProcessStatus,
  getLiquidationStatus,
  getboutique,
  getApprovedState,
  getjiedian,
  getCuikuan,
  getProjectName,
  moneyVerify,
  getProcessStatusNew,
} from "../../../tools.js";
import { cuiJieDian } from "@/dataDic.js"
import PicturesWall from "./changeComponent/picturesWall.js";
import { changeType, getChangeType } from "./changeComponent/changeDetailYxgly";
import ImgList from "../../../common/imgList";
// const Options = Select.Option;
const Option = AutoComplete.Option;
const confirm = Modal.confirm;
const NewService = Form.create()(
  React.createClass({
    //查看项目列表
    loadData(record) {
      this.state.data = [];
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
        data: {
          orderNo: record ? record.orderNo : this.props.datauser.orderNo,
        },
        success: function (data) {
          let theArr = [];
          if (!data.data) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.length; i++) {
              let thisdata = data.data[i];
              thisdata.key = i;
              thisdata.sort = thisdata.cSort;
              thisdata.declarationBatch = thisdata.declarationBatch || undefined;//申报批次
              thisdata.ifCertificationFee = isNaN(parseInt(thisdata.ifCertificationFee)) ? undefined : thisdata.ifCertificationFee;//是否包含申报批次
              theArr.push(thisdata);
            }
          }
          this.departmentList();
          this.setState({
            dataSource: theArr,
            pagination: false,
            // 禁用变更类型
            changeFlag: false,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //收款节点
    loadDatas(record) {
      this.state.data = [];
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
        data: {
          orderNo: record ? record.orderNo : this.props.datauser.orderNo,
        },
        success: function (data) {
          let theArr = [];
          if (!data.data) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.length; i++) {
              let thisdata = data.data[i];
              theArr.push({
                key: i,
                id: thisdata.id,
              });
            }
          }
          this.setState({
            dataSource: theArr,
            pagination: false,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    getInitialState() {
      return {
        rotateDeg: 0,
        isCaoGao: false,
        cuiFlag: false,
        startRemarks: "",
        remarksC: "",
        loading: false,
        logData: [],
        visible: false,
        cuiDataSource: [],
        status: 4,
        orgCodeUrl: [],
        voucherUrl: [],
        replenishUrl: [],
        customerArr: [],
        declarationBatch: 1,//申报批次  默认第一批
        // 禁用变更类型转换
        changeFlag: false,
        // 合同额禁用
        hetongFlag: true,
        // 项目及催款禁用
        listFlag: true,
        mark: false,
        activeKey: "1",
        typeChange: undefined,
        bussStats: false,
        checkedKeys: [],
        lookflowList: [],
        contractUrl: [],
        applicationUrl: [],
        changeAmount: "0",
        active: {
          applySign: false,
        },
        lookState: false,
        signBillVisible: false,
        commod: "",
        columns: [
          {
            title: "业务项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              return (
                text + "-" + record.id
              )
            }
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname",
          },
          {
            title: "项目数量",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity",
            render: (text, record) => {
              if (record.splitStatus == 1) {
                return (
                  
                    {text}{" "}
                     {
                        e.stopPropagation();
                        this.showRes(record);
                      }}
                    >
                      已拆
                    
                  
                );
              } else {
                return text;
              }
            },
          },
          {
            title: "金额(万元)",
            dataIndex: "commodityPrice",
            key: "commodityPrice",
          },
          {
            title: "负责人",
            dataIndex: "contacts",
            key: "contacts",
          },
          {
            title: "负责人电话",
            dataIndex: "contactsMobile",
            key: "contactsMobile",
          },
          {
            title: "项目状态",
            dataIndex: "projectStatus",
            key: "projectStatus",
            render: (text) => {
              return getProjectName(text);
            },
          },
          {
            title: "主要项目",
            dataIndex: "main",
            key: "main",
            render: (text) => {
              return text ? "是" : "否";
            },
          },
          {
            title: "项目说明",
            dataIndex: "taskComment",
            key: "taskComment",
            render: (text) => {
              return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
            },
          },
          {
            title: "操作",
            dataIndex: "ABC",
            key: "ABC",
            render: (text, record) => {
              return (
                
                  {this.state.processStatus == 0 ? (
                    
                  ) : (
                    ""
                  )}
                
              );
            },
          },
        ],
        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 (
                
                  
                    {str}
                  
                  {record.splitStatus == 1 ? (
                    父项目
                  ) : (
                    ""
                  )}
                  {record.splitStatus == 2 ? (
                    子项目
                  ) : (
                    ""
                  )}
                
              );
            },
          },
          {
            title: "业务项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              return text + "-" + record.id;
            },
          },
          {
            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: "taskComment",
            key: "taskComment",
            render: (text) => {
              return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
            },
          },
          {
            title: "操作",
            dataIndex: "ABC",
            key: "ABC",
            render: (text, record) => {
              return (
                
                  
                
              );
            },
          },
        ],
        detailColumns: [
          {
            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 (
                
                  
                    {str}
                  
                  {record.splitStatus == 1 ? (
                    父项目
                  ) : (
                    ""
                  )}
                  {record.splitStatus == 2 ? (
                    子项目
                  ) : (
                    ""
                  )}
                
              );
            },
          },
          {
            title: "业务项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              return text + "-" + record.id;
            },
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname",
          },
          {
            title: "项目数量",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity",
          },
          {
            title: "金额(万元)",
            dataIndex: "commodityPrice",
            key: "commodityPrice",
            render: (text, record) => {
              if (this.props.isZxs) {
                return ***;
              } else if (record.splitStatus == 2) {
                return "/";
              } else {
                return {text};
              }
            },
          },
          {
            title: "主要项目",
            dataIndex: "main",
            key: "main",
            render: (text) => {
              return text ? "是" : "否";
            },
          },
          {
            title: "项目负责人",
            dataIndex: "receiverName",
            key: "receiverName",
          },
          {
            title: "项目说明",
            dataIndex: "taskComment",
            key: "taskComment",
            render: (text) => {
              return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
            },
          },
        ],
        detailContactsLists: [
          {
            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 (
                
                  {str}
                
              );
            },
          },
          {
            title: "项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              let dataArr = this.state.proDataSource || [];
              if (record.ctid) {
                return {text + "-" + record.ctid};
              } else {
                let tid = record.tid;
                let ctid = "";
                dataArr.forEach((item, index) => {
                  if (item.tid == tid) {
                    ctid = item.id;
                  }
                });
                return {text + "-" + ctid};
              }
            },
          },
          {
            title: "项目分类",
            dataIndex: "projectType",
            key: "projectType",
            render: (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 {str};
                }
              }
            },
          },
          {
            title: "催款科目",
            dataIndex: "dunTypeName",
            key: "dunTypeName",
            render: (text,record) => {
              return {text};
            },
          },
          {
            title: "时间",
            dataIndex: "waitDay",
            key: "waitDay",
            render: (text, record) => {
              if (record.dunTypeName) {
                if(record.customizeTimes) {
                  return record.customizeTimes
                }
                return {text};
              }
            },
          },
          {
            title: "金额(万元)",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.appropriationRatio && !record.money) {
                  return {record.appropriationRatio}(拨款比例);
                } else if (record.appropriationRatio && record.money) {
                  return (
                    
                      {text}(比例:{record.appropriationRatio})
                    
                  );
                } else {
                  if (this.props.isZxs) {
                    return ***;
                  }
                  return {text};
                }
              }
            },
          },
          {
            title: "服务年限",
            dataIndex: "startDate",
            key: "startDate",
            render: (text, record) => {
              if (record.dunTypeName) {
                return {text};
              }
            },
          },
          {
            title: "催款状态",
            dataIndex: "status",
            key: "status",
            render: (text) => {
              return {text == 1 ? "已启动" : "未启动"};
            },
          },
        ],
        resVisible: false,
        columnsrizhi: [
          {
            title: "流程",
            dataIndex: "processName",
            key: "processName",
          },
          {
            title: "操作人",
            dataIndex: "adminName",
            key: "adminName",
          },
          {
            title: "时间",
            dataIndex: "createDate",
            key: "createDate",
          },
        ],
        contactList: [],
        ContactsLists: [
          {
            title: "催款科目",
            dataIndex: "dunSubject",
            key: "dunSubject",
            render: (text, record) => {
              return (
                
              );
            },
          },
          {
            title: "金额(万元)",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              return (
                 {
                    record.money = e.target.value;
                    this.setState({ contactList: this.state.contactList });
                  }}
                  style={{ width: "120px" }}
                />
              );
            },
          },
          {
            title: "催款状态",
            dataIndex: "dunStatus",
            key: "dunStatus",
            render: (text) => {
              return getCuikuan(text);
            },
          },
          {
            title: "操作",
            dataIndex: "dels",
            key: "dels",
            render: (text, record) => {
              return (
                
                  {
                    
 {
                        this.confirmDelet(record.key);
                      }}
                      okText="删除"
                      cancelText="不删除"
                    >
                      
                    
                  }
                  {record.id ? (
                    ""
                  ) : (
                    
                  )}
                
                    
                    {record.dunType == 0 ? (
                       {
                          record.customizeName = e.target.value;
                          this.setState({
                            contactList: this.state.contactList,
                          });
                        }}
                        style={{ width: "120px" }}
                      />
                    ) : (
                      ""
                    )}
                  
                );
              } else {
                return (
                  
                );
              }
            },
          },
          {
            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 {str};
                }
                return (
                  
                    {record.dunType == 0 ? (
                       {
                          let time = moment(e).valueOf();
                          let today = Date.parse(new Date());
                          if(time <= today ) {
                            return true
                          }
                        }}
                        onChange={(e, t) => {
                          record.customizeTimes = t;
                        }}
                      />
                    ) : (
                      
                    )}
                  
                );
            },
          },
          {
            title: "金额(万元)",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.appropriationRatio && !record.money) {
                  return {record.appropriationRatio}(拨款比例);
                } else if (record.appropriationRatio && record.money) {
                  return (
                    
                      {text}(比例:{record.appropriationRatio})
                    
                  );
                } else {
                  return {text};
                }
              }
              if (this.state.boFlag) {
                return (
                  
                );
              } else {
                return (
                  
                     {
                        record.money = e.target.value;
                        this.setState({ contactList: this.state.contactList });
                      }}
                      style={{ width: "120px" }}
                    />
                  
                );
              }
            },
          },
          {
            title: "服务年限",
            dataIndex: "startDate",
            key: "startDate",
            render: (text, record) => {
              if (record.dunTypeName) {
                return {text};
              }
              return (
                
                  {
                    record.dunType != 0 ?
                        
 : 
                  }
                
                  {this.state.processStatus == 0 ? (
                    
 {
                        this.confirmDeletNew(record);
                      }}
                      okText="删除"
                      cancelText="不删除"
                    >
                      
                    
                  ) : (
                    ""
                  )}
                  {record.isSave ? (
                    
                  ) : (
                    ""
                  )}
                
                    
                    {record.dunType == 0 ? (
                       {
                          record.customizeName = e.target.value;
                          this.setState({
                            contactList: this.state.contactList,
                          });
                        }}
                        style={{ width: "120px" }}
                      />
                    ) : (
                      ""
                    )}
                  
                );
              } else {
                return (
                  
                );
              }
            },
          },
          {
            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 {str};
                }
                return (
                  
                    {record.dunType == 0 ? (
                       {
                          let time = moment(e).valueOf();
                          let today = Date.parse(new Date());
                          if (time <= today) {
                            return true;
                          }
                        }}
                        onChange={(e, t) => {
                          record.customizeTimes = t;
                        }}
                      />
                    ) : (
                      
                    )}
                  
                );
            },
          },
          {
            title: "金额(万元)",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.appropriationRatio && !record.money) {
                  return {record.appropriationRatio}(拨款比例);
                } else if (record.appropriationRatio && record.money) {
                  return (
                    
                      {text}(比例:{record.appropriationRatio})
                    
                  );
                } else {
                  return {text};
                }
              }
              if (this.state.boFlag) {
                return (
                  
                );
              } else {
                return (
                  
                     {
                        record.money = e.target.value;
                        this.setState({ contactList: this.state.contactList });
                      }}
                      style={{ width: "120px" }}
                    />
                  
                );
              }
            },
          },
          {
            title: "服务年限",
            dataIndex: "startDate",
            key: "startDate",
            render: (text, record) => {
              if (record.dunTypeName) {
                return {text};
              }
              return (
                
              );
            },
          },
          {
            title: "催款状态",
            dataIndex: "status",
            key: "status",
            render: (text) => {
              return {text == 1 ? "已启动" : "未启动"};
            },
          },
          {
            title: "操作",
            dataIndex: "dels",
            key: "dels",
            render: (text, record, index) => {
              return (
                
                   {
                      this.changeDeleteCui(record);
                    }}
                    okText="删除"
                    cancelText="不删除"
                  >
                    
                  
                  {record.isSave ? (
                    
                  ) : (
                    ""
                  )}
                
 
              );
            },
          },
        ],
      };
    },
    departmentList() {
      this.setState({
        loading: true,
      });
      $.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);
            }
            thedata = {};
          } else {
            thedata.map(function (item, index) {
              theArr.push({
                key: index,
                name: item.name,
                id: item.id,
                depNo: item.depNo,
              });
            });
          }
          this.setState({
            departmentArr: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    // 拆分详细
    showRes(record) {
      this.setState({
        resVisible: true,
        resRecord: record,
      });
    },
    resCancel() {
      this.setState({
        resVisible: false,
      });
    },
    //新建订单、编辑订单保存
    handleSubmit(e) {
      e.preventDefault();
      let theorgCodeUrl = [];
      if (this.state.orgCodeUrl.length) {
        let picArr = [];
        this.state.orgCodeUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            picArr.push(item.response.data);
          }
        });
        theorgCodeUrl = picArr.join(",");
      }
      let theReplenishUrl = [];
      if (this.state.replenishUrl.length) {
        let picArr = [];
        this.state.replenishUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            picArr.push(item.response.data);
          }
        });
        theReplenishUrl = picArr.join(",");
      }
      if (this.props.userDetaile) {
        if (this.state.totalAmount === "") {
          message.warning("签单金额不能为空");
          this.refs.signFirstPayment.focus();
          return false;
        }
        if (this.state.firstAmount === "") {
          message.warning("首付金额不能为空");
          this.refs.signFirstPayment.focus();
          return false;
        }
        if (moneyVerify(this.state.firstAmount)) {
          return;
        }
        if (moneyVerify(this.state.totalAmount)) {
          return;
        }
        if (!theorgCodeUrl) {
          message.warning("图片过大,上传失败");
          this.refs.signFirstPayment.focus();
          return false;
        }
        if (!this.state.signDate) {
          message.warning("签单日期不能为空");
          this.refs.signFirstPayment.focus();
          return false;
        }
        if (!this.state.orderRemarks) {
          message.warning("订单留言不能为空");
          this.refs.signFirstPayment.focus();
          return false;
        }
      }
      const arr = this.state.contactListNew || [];
      for (let i = 0; i < arr.length; i++) {
        if (
          arr[i].dunType == 1 &&
          arr[i].waitDay != null &&
          this.state.approval == 0
        ) {
          message.warning(
            "非特批存在填写催款节点首付时间的情况,请删除后重新填写保存"
          );
          return false;
        } else if (
          arr[i].dunType == 1 &&
          arr[i].waitDay == null &&
          this.state.approval == 1
        ) {
          message.warning(
            "特批存在首付催款节点未填写时间的情况,请删除后重新填写保存"
          );
          return false;
        }
        if (!this.state.contactListNew[i].id && this.props.userDetaile) {
          message.warning("请保存催款节点");
          return false;
        }
      }
      this.setState({
        loading: true,
      });
      let api = this.props.userDetaile
        ? "/api/admin/newOrder/updateServiceOrderNew"
        : "/api/admin/newOrder/createOrder";
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + api,
        data: !this.props.userDetaile
          ? {
              uid: this.state.autoId,
              orderType: this.state.orderType,
            }
          : {
              orderNo: this.state.orderNo, //订单编号
              totalAmount: this.state.totalAmount, //总金额
              firstAmount: this.state.firstAmount, //首付
              isSubmit: this.state.isSubmit, //保存草稿还是提交
              signDate: this.state.signDate, //签单日期
              contacts: this.state.contacts, //企业负责人
              contactMobile: this.state.contactMobile, //负责人联系方式
              legalPerson: this.state.legalPerson, //企业法人
              legalPersonTel: this.state.legalPersonTel, //企业法人联系电话
              approval: this.state.approval, //特批状态
              orderRemarks: this.state.orderRemarks, //订单备注
              contractPictureUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
              agreementUrl: theReplenishUrl.length ? theReplenishUrl : "",
              orderDep: this.state.organizationSearch,
            },
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("保存成功!");
            this.handleOk();
            if (this.state.autoId) {
              this.loadData();
            }
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    //订单详情修改
    xiangqingClick(e) {
      e.preventDefault();
      this.setState({
        loading: true,
      });
      if (this.state.approval == 2 || this.state.approval == 3) {
        message.warning("特批状态不正确");
        this.setState({
          loading: false,
        });
        return;
      }
      $.ajax({
        url: globalConfig.context + "/api/admin/newOrder/updateServiceOrderNew",
        method: "post",
        data: {
          orderNo: this.state.orderNo, //订单编号
          totalAmount: this.state.totalAmount, //总金额
          firstAmount: this.state.firstAmount, //首付
          isSubmit: this.state.isSubmit, //保存草稿还是提交
          signDate: this.state.selTime, //签单日期
          contacts: this.state.contacts, //企业负责人
          contactMobile: this.state.contactMobile, //负责人联系方式
          legalPerson: this.state.legalPerson, //企业法人
          legalPersonTel: this.state.legalPersonTel, //企业法人联系电话
          approval: this.state.approval, //特批状态
          orderRemarks: this.state.orderRemarks, //订单备注
        },
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("保存成功!");
            this.loaduser();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    not() {},
    //查看基本详情基本信息
    loaduser(record) {
      this.state.orderList = [];
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
        data: {
          orderNo: record ? record.orderNo : this.props.datauser.orderNo,
        },
        success: function (data) {
          let thisData = data.data;
          if (!thisData) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thisData = {};
          }
          if (thisData.approval == 2) {
            thisData.approval = "特批通过";
          } else if (thisData.approval == 3) {
            thisData.approval = "特批驳回";
          }
          this.setState({
            id: thisData.id,
            kehuId: thisData.buyerId,
            orderNo: thisData.orderNo, //订单编号
            orderType: thisData.orderType, //订单类型
            firstAmount: thisData.firstAmount, //首付金额
            totalAmount: thisData.totalAmount, //总金额
            settlementAmount: thisData.settlementAmount, //结算金额
            liquidationStatus: thisData.liquidationStatus, //清算状态
            processStatus: thisData.processStatus, //流程状态
            approval: thisData.approval.toString(), //特批状态
            orderRemarks: thisData.orderRemarks, //订单备注
            contractNo: thisData.contractNo, //合同编号
            contacts: thisData.contacts, //联系人
            contactMobile: thisData.contactMobile, //联系人电话
            legalPerson: thisData.legalPerson, //法人
            legalPersonTel: thisData.legalPersonTel, //法人电话
            orgCodeUrl: thisData.contractPictureUrl
              ? splitUrl(
                  thisData.contractPictureUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
              : [], //图片地址
            replenishUrl: thisData.agreementUrl
              ? splitUrl(
                  thisData.agreementUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
              : [], //图片地址
            signDate: thisData.signDate, //签单时间
            userName: thisData.userName, //客户名称
            salesmanName: thisData.salesmanName, //营销员名称
            salesmanMobile: thisData.salesmanMobile, //营销员电话
            oldSalesmanName: thisData.oldSalesmanName, //营销员名称
            oldSalesmanMobile: thisData.oldSalesmanMobile, //营销员电话
            financeName: thisData.financeName, //财务名称
            financeMobile: thisData.financeMobile, //财务电话
            nowFinanceMobile: thisData.nowFinanceMobile,
            nowFinance: thisData.nowFinance,
            approval:
              thisData.approval == 0
                ? thisData.approval.toString()
                : thisData.approval,
            organizationSearch: thisData.orderDep,
            depName: thisData.depName,
            status: thisData.status,
            outsource: thisData.outsource,
          });
          // console.log("kkkk",this.state.processStatus);
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //节点列表
    jiedian(orderNos) {
      this.setState({
        loadData: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
        data: {
          orderNo: orderNos,
        },
        success: function (data) {
          let theArr = [];
          let thisData = [];
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            for (let i = 0; i < data.data.length; i++) {
              thisData = data.data[i];
              theArr.push({
                key: i,
                dunSubject: thisData.dunSubject
                  ? thisData.dunSubject.toString()
                  : "", //催款科目
                id: thisData.id, //节点Id
                money: thisData.money, //催款金额
                dunStatus: thisData.dunStatus, //催款状态
                orderNo: thisData.orderNo,
              });
            }
            this.setState({
              contactList: theArr,
            });
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //查看催款节点
    jiedianNew(orderNos) {
      this.setState({
        loadData: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url:
          globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun",
        data: {
          orderNo: orderNos,
        },
        success: function (data) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          } else {
            let theArr = [];
            let thisData = [];
            let arr = data.data || [];
            let totalCui = 0;
            for (let i = 0; i < arr.length; i++) {
              thisData = arr[i];
              totalCui += +thisData.money;
              theArr.push({
                key: i,
                dunSubject: thisData.dunSubject
                  ? thisData.dunSubject.toString()
                  : "", //催款科目
                id: thisData.id, //节点Id
                money: thisData.money, //催款金额
                // orderNo: record ? record.orderNo : this.props.datauser.orderNo,
                commodityName: thisData.commodityName,
                projectType: thisData.projectType,
                dunTypeName: thisData.dunTypeName,
                status: thisData.status,
                waitDay: thisData.waitDay,
                effectiveCount: thisData.effectiveCount,
                startDate: thisData.startDate,
                dunType: thisData.dunType,
                appropriationRatio: thisData.appropriationRatio,
                customizeName: thisData.customizeName,
                customizeTimes: thisData.customizeTimes,
                tid: thisData.tid
              });
            }
            if (!totalCui) {
              totalCui = 0;
            }
            totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6);
            this.setState({
              contactListNew: theArr,
              totalCui:parseFloat(totalCui),
            });
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //催款节点保存
    contactSave(record) {
      for (let i = 0; i < this.state.contactList.length; i++) {
        if (moneyVerify(this.state.contactList[i].money)) {
          return;
        }
      }
      this.setState({
        loading: true,
      });
      $.ajax({
        url: globalConfig.context + "/api/admin/newOrder/createOrderDun",
        method: "post",
        data: {
          orderNo: this.state.orderNo,
          orderDun: JSON.stringify(this.state.contactList),
        },
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("保存成功!");
            this.jiedian(record.orderNo);
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    //催款节点保存
    contactSaveNew(record) {
      if(record.dunType == 0) {
        if(!record.customizeTimes) {
          message.warning("请输入自定义时间")
          return
        }else if(!record.customizeName) {
          message.warning("请输入自定义科目")
          return
        }
      }
      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 (record.money == "") {
        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/newOrderDun/createDun",
          method: "post",
          data: {
            orderNo: record.orderNo,
            tid: record.tid,
            projectType: record.sort,
            dunType: record.dunType,
            appropriationRatio: record.appropriationRatio,
            waitDay: record.waitDay,
            effectiveCount: record.effectiveCount,
            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.jiedianNew(record.orderNo);
            } else {
              message.warning(data.error[0].message);
            }
          }.bind(this)
        );
      } else {
        $.ajax({
          url: globalConfig.context + "/api/admin/newOrderDun/createDun",
          method: "post",
          data: {
            orderNo: record.orderNo,
            tid: record.tid,
            projectType: record.sort,
            dunType: record.dunType,
            money: record.money,
            waitDay: record.waitDay,
            effectiveCount: record.effectiveCount,
            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.jiedianNew(record.orderNo);
            } else {
              message.warning(data.error[0].message);
            }
          }.bind(this)
        );
      }
    },
    //点击新增催款节点
    addcontact() {
      this.state.contactList.push({
        key: this.state.contactList.length,
        money: "",
        dunSubject: undefined,
        orderNo: this.state.orderNo,
        dunTarget: this.state.kehuId,
      });
      this.setState({
        contactList: this.state.contactList,
      });
    },
    //点击新增催款节点
    addcontactNew() {
      this.state.contactListNew.push({
        key: this.state.contactListNew.length,
        money: "",
        dunSubject: undefined,
        orderNo: this.state.orderNo,
        dunTarget: this.state.kehuId,
      });
      this.setState({
        contactListNew: this.state.contactListNew,
        cuiFlag: true,
      });
    },
    //删除收款节点
    confirmDelet(index) {
      this.state.contactList.splice(index, 1);
      this.setState({
        contactList: this.state.contactList,
      });
      this.contactSave();
    },
    //删除收款节点
    confirmDeletNew(index) {
      if (index.id) {
        this.state.contactListNew.splice(index.id, 1);
        this.setState({
          contactListNew: this.state.contactListNew,
          cuiFlag: false,
          addFlag: false,
          boFlag: false,
        });
        $.ajax({
          url: globalConfig.context + "/api/admin/newOrderDun/deleteDun",
          method: "post",
          data: {
            id: index.id,
          },
        }).done(
          function (data) {
            this.setState({
              loading: false,
            });
            if (!data.error.length) {
              message.success("删除成功!");
              this.setState({
                cuiFlag: false,
              });
              this.jiedianNew(this.state.orderNo);
            } else {
              message.warning(data.error[0].message);
            }
          }.bind(this)
        );
      } else {
        this.state.contactListNew.splice(index.key, 1);
        this.setState({
          contactListNew: this.state.contactListNew,
          cuiFlag: false,
          addFlag: false,
          boFlag: false,
        });
      }
    },
    handleOk() {
      this.setState({
        visible: false,
        mark: false,
      });
      this.props.closeDesc(false, true);
    },
    handleCancel() {
      if (this.state.orderType == undefined) {
        return false;
      }
      if (!this.state.autoId) {
        return false;
      }
      this.setState({
        visible: false,
        mark: false,
      });
      this.props.closeDesc(false);
    },
    handleCancelclose() {
      this.setState(
        {
          visible: false,
          mark: false,
          cuiFlag: false,
          addFlag: false,
          boFlag: false,
          isJilu: false,
        },
        () => {
          this.setState({
            activeKey: "1",
          });
        }
      );
      this.props.closeDesc(false);
      this.reset();
    },
    //点击签单
    handleCancels() {
      this.setState({
        isSubmit: 1,
      });
    },
    //点击签单
    handleCancelq() {
      this.setState({
        isSubmit: 0,
      });
    },
    //删除
    delectRow(record) {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/deleteOrderTask",
        data: {
          id: record.id,
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            message.success("删除成功!");
            this.setState({
              loading: false,
            });
            this.jiedian(this.state.orderNo);
            this.jiedianNew(this.state.orderNo);
            this.loaduser();
            this.loadData();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    nextCancel() {
      this.setState({
        addnextVisible: false,
        changeVisible: false,
        displayFees: "none",
        officialCost: "", //是否有官费
        costReduction: "", //是否有费减
        addProjectType: "",
        ifCertificationFee: "",//是否包含认证费用
        isIso: false,//是否为贯标项目
        declarationBatch: 1,
      });
    },
    rizhi() {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: "/api/admin/newOrder/selectOrderLog",
        data: {
          orderNo: this.props.datauser.orderNo,
        },
        success: function (data) {
          let theArr = [];
          let thisData = data.data;
          if (!thisData.length) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thisData = {};
          } else {
            for (let i = 0; i < data.data.length; i++) {
              let thisdata = data.data[i];
              theArr.push({
                processName: thisdata.processName,
                adminName: thisdata.adminName,
                createDate: thisdata.createDate,
                remarks: thisdata.remarks,
              });
            }
          }
          this.setState({
            dataSourcerizhi: theArr,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //查看订单日志
    getOrderLog() {
      this.setState({
        rizhivisible: true,
      });
      this.rizhi();
    },
    closeOrderLog() {
      this.setState({
        rizhivisible: false,
      });
    },
    callback(key) {
      this.setState({
        activeKey: key,
      });
      if (key === "1") {
        this.jiedian(this.props.datauser.orderNo);
        this.jiedianNew(this.props.datauser.orderNo);
        this.loaduser();
        // this.loaduser();
      }
      if (key === "3") {
        this.getChangeData();
      }
      if (key === "2" || key === "3") {
        let url = window.location.href.substring(7);
        $.ajax({
          method: "get",
          dataType: "json",
          crossDomain: false,
          url:
            globalConfig.context + "/api/admin/orderChange/orderChangeDetails",
          data: {
            orderNo: this.props.datauser.orderNo,
          },
          success: function (data) {
            // console.log(data.data);
            if (data.data && data.data.length) {
              let thisdata = data.data[data.data.length - 1];
              if (
                thisdata.status === 0 ||
                (thisdata.processState == 0 && thisdata.status != 5)
              ) {
                this.setState({
                  changeId: thisdata.id,
                  typeChange: thisdata.type,
                  totalAmount: thisdata.totalAmount,
                  settlementAmount: thisdata.settlementAmount,
                  changeAmount: thisdata.changeAmount,
                  remarksC: thisdata.remarks,
                  startRemarks: thisdata.zxsRemarks,
                  isCaoGao: true,
                  arrears: thisdata.arrears,
                  changeFlag: true,
                  createTimes: thisdata.createTimes,
                  voucherUrl: thisdata.voucherUrl
                    ? splitUrl(
                        thisdata.voucherUrl,
                        ",",
                        globalConfig.avatarHost + "/upload",
                        url
                      )
                    : [],
                  processState: thisdata.processState,
                  status: thisdata.status,
                });
                this.proList();
                this.cuiList();
                let e = thisdata.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,
                  });
                }
              } else {
                this.setState({
                  listFlag: false,
                  hetongFlag: false,
                  listCuiFlag: false,
                  tuiKuanFlag: false,
                  displayList: false,
                  // 置空
                  changeId: undefined,
                  isCaoGao: false,
                });
              }
            } else {
              this.setState({
                isCaoGao: false,
              });
            }
          }.bind(this),
        });
      }
    },
    cuiList(id) {
      this.setState({
        loadData: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderChange/selectChangeDun",
        data: {
          id: id || this.state.changeId,
        },
        success: function (data) {
          this.setState({
            cuiDataSource: data.data,
          });
          if (data.data && data.data.length) {
            if (id) {
              this.setState({
                listCuiFlag: true,
              });
            }
            this.setState({
              cuiDataSource: data.data,
            });
            this.setState({
              loadData: false,
            });
          } else if (data.error && data.error.length) {
            message.warning(data.error[0].message);
            this.setState({
              loadData: false,
            });
          }
        }.bind(this),
      });
    },
    proList(id) {
      this.setState({
        loadData: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderChange/selectChangeTask",
        data: {
          id: id || this.state.changeId,
        },
        success: function (data) {
          if (data.data && data.data.length) {
            if (id) {
              this.setState({
                listFlag: true,
              });
            }
            data.data.forEach((item,index) => {
              item.key = index;
            });
            this.setState({
              proDataSource: data.data,
            });
            this.setState({
              loadData: false,
            });
          } else if (data.error && data.error.length) {
            message.warning(data.error[0].message);
            this.setState({
              loadData: false,
            });
          }
        }.bind(this),
      });
    },
    logList(id) {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        async: false,
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderChange/orderChangeLogList",
        data: {
          changeId: id,
        },
        success: function (data) {
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
              this.setState({
                loading: false,
              });
            }
          } else {
            this.setState({
              logData: data.data,
              loading: false,
            });
          }
        }.bind(this),
      });
    },
    getOrgCodeUrl(e) {
      this.setState({ orgCodeUrl: e });
    },
    getReplenishUrl(e) {
      this.setState({ replenishUrl: e });
    },
    getVoucherUrl(e) {
      this.setState({ voucherUrl: e });
    },
    //加载(自动补全)
    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)
      );
    },
    supervisorCui(e) {
      //客户名称与服务名称自动补全
      let api = "/api/admin/order/getBusinessProjectByName";
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + api,
        data: {
          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({
            customerCuiArr: thedata,
          });
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //上级主管输入框失去焦点是判断客户是否存在
    selectAuto(value) {
      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",
        });
      } else {
        this.setState({
          displayFees: "none",
        });
      }
      //0通用 1专利 2软著 3审计 4双软 5高新 6商标
      this.setState({
        commodityName: value,
        gid: kid.id,
        addProjectType:  kid.type,
        isIso: value.indexOf("贯标") !== -1,// 是否为贯标项目
        //commodityPrice:kid.price==0?kid.price.toString():kid.price,
        commodityFirstPayment:
          kid.firstPayment == 0
            ? kid.firstPayment.toString()
            : kid.firstPayment,
      });
    },
    selectAutoCui(value) {
      let kid = [];
      let fwList = this.state.customerCuiArr;
      fwList.map(function (item) {
        if (value == item.bname) {
          kid = item;
        }
      });
      this.setState({
        commodityNameCui: value,
        cid: kid.id,
        //commodityPrice:kid.price==0?kid.price.toString():kid.price,
        commodityFirstPayment:
          kid.firstPayment == 0
            ? kid.firstPayment.toString()
            : kid.firstPayment,
      });
    },
    //客户
    selectAutoCUT(value) {
      let autoIds;
      let fwList = this.state.customerArr;
      fwList.map(function (item) {
        if (value == item.name) {
          autoIds = item.id;
        }
      });
      this.setState({
        customerName: value,
        autoId: autoIds,
      });
    },
    //服务值改变时请求客户名称
    httpChange(e) {
      this.state.gid = "";
      if (e.length >= 1) {
        this.supervisor(e, false);
      }
      this.setState({
        commodityName: e,
      });
    },
    httpChangeCui(e) {
      if (e.length >= 1) {
        this.supervisorCui(e, false);
      }
      this.setState({
        commodityNameCui: 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("客户所属类型必须指定");
      }
    },
    //点击添加项目明细
    addDetailed() {
      this.setState({
        gid: "",
        customerArr: [],
        commodityName: "",
        commodityQuantity: "",
        commodityId: "",
        taskComment: "",
        main: undefined,
        commodityPrice: "",
        addState: 1,
        addnextVisible: true,
        dataInfor:{},
        displayFees: "none",
        officialCost: "",
        costReduction: "",
      });
    },
    //新建项目明细保存
    nextSubmit(e) {
      e.preventDefault();
      if (this.state.gid == undefined || !this.state.gid) {
        message.warning("服务名称不匹配!");
        return false;
      }
      if (this.state.displayFees=='block') {
        if(this.state.officialCost==''){
          message.warning("请选择官费!");
          return false;
        }
        if (this.state.costReduction == "") {
          message.warning("请选择费减!");
          return false;
        }
      }
      if(isNaN(parseFloat(this.state.commodityPrice))){
        message.warning("请输入正确的金额!");
        this.refs.commodityPrice.focus();
        return false;
      }
      let reg = /^([0]|[1-9][0-9]*)$/;
      if (
        !this.state.commodityQuantity ||
        !reg.test(this.state.commodityQuantity)
      ) {
        message.warning("请输入正确商品数量!");
        this.refs.commodityQuantity.focus();
        return false;
      }
      if (!this.state.main) {
        message.warning("请选择是否为主要项目!");
        this.refs.commodityQuantity.focus();
        return false;
      }
      if(this.state.addProjectType === 5 && !this.state.declarationBatch){
        message.warning("请选择企业要求申报批次!");
        return false;
      }
      if(this.state.isIso && !this.state.ifCertificationFee){
        message.warning("请选择是否包含认证费用!");
        return false;
      }
      this.setState({
        loading: true,
      });
      let infor = {
        commodityId: this.state.gid, //商品ID
        orderNo: this.props.datauser.orderNo, //订单编号
        commodityName: this.state.commodityName, //商品名称
        commodityQuantity: this.state.commodityQuantity, //商品数量
        commodityPrice: this.state.commodityPrice, //签单总价
        taskComment: this.state.taskComment, //服务说明
        main: this.state.main, //是否为主要项目
        officialCost: this.state.displayFees==='block' ? this.state.officialCost : '', //是否有官费
        costReduction: this.state.displayFees==='block' ?this.state.costReduction : '', //是否有费减
      }
      if(this.state.addProjectType === 5){
        infor.declarationBatch = this.state.declarationBatch || 1//申报批次
      }
       if(this.state.isIso){
         infor.ifCertificationFee = this.state.ifCertificationFee || undefined;//是否包含认证费用
       }
      let api = this.state.addState
        ? "/api/admin/newOrder/addOrderTask"
        : "/api/bianji";
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + api,
        data: infor,
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("保存成功!");
            this.nextCancel();
            //this.loaduser(this.props.datauser);
            this.loadData();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    //点击打卡项目详情
    tableRowClick(record) {
      if (record.type=='1'){
        this.setState({
          displayFees: "block",
          costReduction: record.costReduction,
          officialCost: record.officialCost,
        });
      }else{
        this.setState({
          displayFees: "none",
        });
      }
      this.setState({
        jid: record.id, //项目ID
        kid: record.commodityId, //商品ID
        commodityName: record.commodityName, //项目名称
        commodityPrice: record.commodityPrice, //金额
        commodityQuantity: record.commodityQuantity, //数量
        taskComment: record.taskComment, //备注
        main: record.main.toString(), //是否为主要
        addState: 0,
        addnextVisible: true,
        dataInfor:record,
        addProjectType: record.type,
        declarationBatch: record.declarationBatch || 1,//申报批次(只有高新有)
        ifCertificationFee: isNaN(parseInt(record.ifCertificationFee)) ? '' : record.ifCertificationFee,//是否包含认证费
        isIso: record.commodityName.indexOf("贯标") !== -1,
      });
    },
    //修改项目详情
    tabRowSave(e) {
      e.preventDefault();
      if(isNaN(parseFloat(this.state.commodityPrice))){
        message.warning("请输入正确的金额!");
        return false;
      }
      let reg = /^([0]|[1-9][0-9]*)$/;
      if (
        !this.state.commodityQuantity ||
        !reg.test(this.state.commodityQuantity)
      ) {
        message.warning("请输入正确商品数量!");
        return false;
      }
      if (!this.state.main) {
        message.warning("请选择是否为主要项目!");
        this.refs.commodityQuantity.focus();
        return false;
      }
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/updateOrderTask",
        data: {
          id: this.state.jid, //项目ID
          commodityId: this.state.kid, //商品ID
          orderNo: this.props.datauser.orderNo, //订单编号
          main: this.state.main, //是否为主要
          commodityPrice: this.state.commodityPrice, //金额
          commodityQuantity: this.state.commodityQuantity, //数量
          taskComment: this.state.taskComment, //备注
          officialCost: this.state.officialCost, //是否有官费
          costReduction: this.state.costReduction, //是否有费减
          declarationBatch: this.state.declarationBatch || undefined,//申报批次
          ifCertificationFee: isNaN(parseInt(this.state.ifCertificationFee)) ? undefined : this.state.ifCertificationFee,
        },
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("保存成功!");
            this.nextCancel();
            //this.loaduser(this.props.datauser);
            this.loadData();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    //签单时间选择
    selTime(e, index) {
      this.setState({
        entryTime: e,
        signDate: e,
        selTime: index,
      });
    },
    //退单操作
    //点击退单
    tuikuan() {
      this.setState({
        lookVisible: true,
        contractUrl: [],
        applicationUrl: [],
        reason: "",
      });
    },
    //关闭退单
    noCancel() {
      this.setState({
        lookVisible: false,
      });
    },
    //点击确认退单
    tuidanOk() {
      let contractUrls = [];
      let applicationUrls = [];
      if (this.state.contractUrl.length) {
        let picArr = [];
        this.state.contractUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            picArr.push(item.response.data);
          }
        });
        contractUrls = picArr.join(",");
      }
      if (this.state.applicationUrl.length) {
        let picArr = [];
        this.state.applicationUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            picArr.push(item.response.data);
          }
        });
        applicationUrls = picArr.join(",");
      }
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/addOrderRefund",
        data: {
          orderNo: this.state.orderNo, //订单编号
          contractUrl: contractUrls.length ? contractUrls : "", //终止合同
          applicationUrl: applicationUrls.length ? applicationUrls : "", //退单申请表
          reason: this.state.reason, //退单原因
        },
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("退单成功!");
            this.noCancel();
            this.handleCancelclose();
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    //开单选择订单类型骚操作
    orderTypeFn(e) {
      if (e == 0) {
        this.setState({
          bussStats: true,
          orderType: e,
        });
        this.category();
      } else {
        this.setState({
          contractType: undefined,
          bussStats: false,
          orderType: e,
        });
      }
    },
    //品类数据获取
    category() {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/Varieties/getSuperList",
        data: {},
        success: function (data) {
          let thedata = data.data;
          let theArr = [];
          if (!thedata) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thedata = {};
          } else {
            thedata.map(function (item, index) {
              theArr.push({
                key: index,
                name: item.cname,
                id: item.id,
              });
            });
          }
          this.setState({
            contractType: undefined,
            categoryArr: theArr,
          });
        }.bind(this),
      });
    },
    //变更申请
    changeApply() {
      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
      ) {
        if (this.state.settlementAmount < this.state.changeAmount) {
          message.warning("退款金额大于已收款金额");
          return;
        }
      }
      if (this.state.processStatus != 5 && this.state.processStatus != 6) {
        message.warning("当前订单流程不能发起变更!");
        return false;
      }
      if (this.state.changeAmount === "") {
        message.warning("申请退款金额不能为空!");
        // console.log(this.state.changeAmount);
        return false;
      }
      if (this.state.remarksC == "") {
        message.warning("请正确填写变更原因");
        return false;
      }
      if (this.state.startRemarks == "") {
        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,
      });
      if (this.state.typeChange == 0) {
        $.ajax({
          method: "post",
          dataType: "json",
          crossDomain: false,
          url: globalConfig.context + "/api/admin/orderChange/addOrderChange",
          data: {
            orderNo: this.state.orderNo, //订单编号
            processState: 1,
            status: 1,
            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) {
            this.setState({
              loading: false,
            });
            if (!data.error.length) {
              message.success("发起变更成功");
              this.handleCancelclose();
            } else {
              message.warning(data.error[0].message);
              this.setState({
                loading: false,
              });
            }
          }.bind(this)
        );
      } else {
        $.ajax({
          method: "post",
          dataType: "json",
          crossDomain: false,
          url: globalConfig.context + "/api/admin/orderChange/addOrderChange",
          data: {
            orderNo: this.state.orderNo, //订单编号
            processState: 0,
            status: 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) {
            this.setState({
              loading: false,
            });
            if (!data.error.length) {
              message.success("发起变更草稿");
              this.setState(
                {
                  isCaoGao: true,
                  loading: false,
                },
                () => {
                  this.callback("2");
                }
              );
            } else {
              message.warning(data.error[0].message);
            }
          }.bind(this)
        );
      }
    },
    reset() {
      this.setState({
        startRemarks: "",
        remarksC: "",
        voucherUrl: [],
        totalAmount: undefined,
        settlementAmount: undefined,
        changeAmount: "0",
        applicant: undefined,
        depNameChange: undefined,
        typeChange: undefined,
        displayFees: "none",
        officialCost: "",
        costReduction: "",
      });
    },
    componentWillReceiveProps(nextProps) {
      //props改变时触发
      this.state.visible = nextProps.showDesc;
      this.state.signBillVisible = nextProps.signBillVisible;
      if (this.state.signBillVisible) {
        this.loaduser(nextProps.uid);
      }
      if (nextProps.userDetaile && nextProps.showDesc) {
        this.loaduser(nextProps.datauser);
        this.jiedian(nextProps.datauser.orderNo);
        this.jiedianNew(nextProps.datauser.orderNo);
        this.loadData(nextProps.datauser);
        this.getChangeData(nextProps.datauser);
      } else {
        this.setState({
          orderType: undefined,
          customerName: "",
          autoId: "",
          customerArr: [],
          contractType: undefined,
          bussStats: false,
          customType: undefined,
        });
      }
    },
    //查看变更记录
    getChangeData(record) {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderChange/orderChangeDetails",
        data: {
          orderNo: record ? record.orderNo : this.props.datauser.orderNo,
        },
        success: function (data) {
          this.setState({
            loading: false,
          });
          let url = window.location.href.substring(7);
          // console.log(data.data);
          if (data.data && data.data.length) {
            let thisdata = data.data[data.data.length - 1];
            thisdata.typeChange = thisdata.type;
            thisdata.remarksC = thisdata.remarks;
            thisdata.startRemarks = thisdata.zxsRemarks;
            thisdata.voucherUrl = thisdata.voucherUrl
                ? splitUrl(
                    thisdata.voucherUrl,
                    ",",
                    globalConfig.avatarHost + "/upload",
                    url
                )
                : [];
            this.proList(thisdata.id);
            this.cuiList(thisdata.id);
            this.logList(thisdata.id);
            this.setState({
              //判断是否有合同变更记录
              isJilu: true,
              detailChange: thisdata,
            });
          }
        }.bind(this),
      });
    },
    showConfirm(fn, record) {
      confirm({
        title: "确定删除此项目吗?",
        content: (
          
            删除后会将该项目下的所有催款节点自动清除!!!
          
        ),
        onOk() {
          fn(record);
        },
        onCancel() {},
      });
    },
    changeAddPro() {
      this.setState({
        changeVisible: true,
        gid: "",
        customerArr: [],
        commodityName: "",
        commodityQuantity: "",
        commodityId: "",
        taskComment: "",
        main: undefined,
        commodityPrice: "",
        displayFees: "none",
        officialCost: "",
        costReduction: "",
      });
    },
    changeProSubmit() {
      if (this.state.gid == undefined || !this.state.gid) {
        message.warning("服务名称不匹配!");
        return false;
      }
      if (this.state.displayFees==='block') {
        if(this.state.officialCost===''){
          message.warning("请选择官费!");
          return false;
        }
        if (this.state.costReduction==='') {
          message.warning("请选择费减!");
          return false;
        }
      }
      if (!this.state.commodityPrice) {
        message.warning("请输入金额!");
        this.refs.commodityPrice.focus();
        return false;
      }
      let reg = /^([0]|[1-9][0-9]*)$/;
      if (
        !this.state.commodityQuantity ||
        !reg.test(this.state.commodityQuantity)
      ) {
        message.warning("请输入正确商品数量!");
        this.refs.commodityQuantity.focus();
        return false;
      }
      if (!this.state.main) {
        message.warning("请选择是否为主要项目!");
        this.refs.commodityQuantity.focus();
        return false;
      }
      this.setState({
        loading: true,
      });
      let type = 0;
      if (this.state.typeChange == 4 || this.state.typeChange == 5) {
        type = 1;
      }
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderChange/addChangeTask",
        data: {
          commodityId: this.state.gid, //商品ID
          orderNo: this.props.datauser.orderNo, //订单编号
          commodityName: this.state.commodityName, //商品名称
          commodityQuantity: this.state.commodityQuantity, //商品数量
          commodityPrice: this.state.commodityPrice, //签单总价
          taskComment: this.state.taskComment, //服务说明
          main: this.state.main, //是否为主要项目
          cid: this.state.changeId, //变更ID
          officialCost: this.state.displayFees==='block' ? this.state.officialCost : '', //是否有官费
          costReduction: this.state.displayFees==='block' ?this.state.costReduction : '', //是否有费减
          type,
        },
        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.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();
              this.proList();
            } 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.dunType == 0) {
        if (!record.customizeTimes) {
          message.warning("请输入自定义时间");
          return;
        } else if (!record.customizeName) {
          message.warning("请输入自定义科目");
          return;
        }
      }
      if (record.boStatus == "false") {
        record.boStatus = false;
      } else if (record.boStatus == "true") {
        record.boStatus = true;
      }
      if (!this.state.yearFlag) {
        if (!record.effectiveCount) {
          message.warning("请选择服务年限");
          return;
        }
      } else {
        record.effectiveCount = "";
      }
      if (record.money == "") {
        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.changeId, //变更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)
        );
      } 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.changeId, //变更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
      ) {
        if (this.state.settlementAmount < this.state.changeAmount) {
          message.warning("退款金额大于已收款金额");
          return;
        }
      }
      if (this.state.processStatus != 5 && this.state.processStatus != 6) {
        message.warning("当前订单流程不能发起变更!");
        return false;
      }
      if (this.state.changeAmount === "") {
        message.warning("申请退款金额不能为空!");
        return false;
      }
      if (this.state.remarksC == "") {
        message.warning("请正确填写变更原因");
        return false;
      }
      if (this.state.startRemarks == "") {
        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.money,
        editCuiTid: record.tid,
        editCuiDid: record.did,
        editCuiId: record.id,
      });
    },
    editPro(record) {
      this.setState({
        editProVisible: true,
        editSplitStatus: record.splitStatus,
        editProMoney: record.commodityPrice,
        editProCommodityQuantity: record.commodityQuantity,
        editProTid: record.tid,
        editProId: record.id,
      });
    },
    submitEditCui() {
      this.setState({
        loading: true,
      });
      $.ajax({
        url: globalConfig.context + "/api/admin/orderChange/updateChangeDun",
        method: "post",
        data: {
          id: this.state.editCuiId,
          type: this.state.editCuiDid ? 2 : 1,
          money: this.state.editCuiMoney,
          tid: this.state.editCuiTid,
        },
      }).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.cuiList();
            this.proList();
            this.setState({
              editProVisible: false,
            });
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    downImg() {
      let num = 0;
      for (let i = 0; i < this.state.orgCodeUrl.length; i++) {
        if (this.state.orgCodeUrl[i].url == this.state.previewImage) {
          num = i;
        }
      }
      if (num == this.state.orgCodeUrl.length - 1) {
        return message.warning("已经是最后一张了哦");
      }
      this.state.previewImage = this.state.orgCodeUrl[num + 1].url;
      this.setState({
        previewImage: this.state.previewImage,
        rotateDeg: 0,
      });
    },
    upImg() {
      let num = 0;
      for (let i = 0; i < this.state.orgCodeUrl.length; i++) {
        if (this.state.orgCodeUrl[i].url == this.state.previewImage) {
          num = i;
        }
      }
      if (num == 0) {
        return message.warning("已经是第一张了哦");
      }
      this.state.previewImage = this.state.orgCodeUrl[num - 1].url;
      this.setState({
        previewImage: this.state.previewImage,
        rotateDeg: 0,
      });
    },
    rotate() {
      let rotateDeg = this.state.rotateDeg + 90;
      this.setState({
        rotateDeg,
      });
    },
    downImgs() {
      let num = 0;
      for (let i = 0; i < this.state.replenishUrl.length; i++) {
        if (this.state.replenishUrl[i].url == this.state.previewImage) {
          num = i;
        }
      }
      if (num == this.state.replenishUrl.length - 1) {
        return message.warning("已经是最后一张了哦");
      }
      this.state.previewImage = this.state.replenishUrl[num + 1].url;
      this.setState({
        previewImage: this.state.previewImage,
        rotateDeg: 0,
      });
    },
    upImgs() {
      let num = 0;
      for (let i = 0; i < this.state.replenishUrl.length; i++) {
        if (this.state.replenishUrl[i].url == this.state.previewImage) {
          num = i;
        }
      }
      if (num == 0) {
        return message.warning("已经是第一张了哦");
      }
      this.state.previewImage = this.state.replenishUrl[num - 1].url;
      this.setState({
        previewImage: this.state.previewImage,
        rotateDeg: 0,
      });
    },
    rotates() {
      let rotateDeg = this.state.rotateDeg + 90;
      this.setState({
        rotateDeg,
      });
    },
    showConfirmChange(fn, record) {
      confirm({
        title: "确定取消本次变更吗?",
        content: (
            
          取消后本次变更将作废!!!
        
        ),
        onOk() {
          fn();
        },
        onCancel() { }
      });
    },
    deleteChange() {
      this.setState({
        loading: true,
      });
      $.ajax({
        url: globalConfig.context + "/api/admin/orderChange/cancelOrderChange",
        method: "post",
        data: {
          id: this.state.changeId,
          status: this.state.status,
          processState: this.state.processState,
          orderNo: this.state.orderNo
        },
      }).done(
          function (data) {
            this.setState({
              loading: false,
            });
            if (!data.error.length) {
              message.success("取消成功!");
              this.handleCancelclose()
            } else {
              message.warning(data.error[0].message);
            }
          }.bind(this)
      );
    },
    render() {
      const expandedRowRender = (e) => {
        const data = e.list;
        data.forEach((item) => {
          item.key = item.id;
        });
        let columns = [];
        if (e.list instanceof Array && e.list.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 (
                  
                    
                      {str}
                    
                    {record.splitStatus == 1 ? (
                       {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                      >
                        父项目
                      
                    ) : (
                      ""
                    )}
                    {record.splitStatus == 2 ? (
                       {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                      >
                        子项目
                      
                    ) : (
                      ""
                    )}
                  
                );
              },
            },
            {
              title: "业务项目名称",
              dataIndex: "commodityName",
              key: "commodityName",
              render: (text, record) => {
                return text + "-" + record.id;
              },
            },
            {
              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: "taskComment",
              key: "taskComment",
              render: (text) => {
                return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
              },
            },
            {
              title: "操作",
              dataIndex: "ABC",
              key: "ABC",
              render: (text, record) => {
                return (
                  
                    
                  
                );
              },
            },
          ];
          return (
            
          );
        } else {
          columns = [];
          return (
            
              此项目暂未拆分
            
          );
        }
      };
      const expandedRowRenderDetail = (e) => {
        const data = e.list;
        data.forEach((item) => {
          item.key = item.id;
        });
        let columns = [];
        if (e.list instanceof Array && e.list.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 (
                  
                    
                      {str}
                    
                    {record.splitStatus == 1 ? (
                       {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                      >
                        父项目
                      
                    ) : (
                      ""
                    )}
                    {record.splitStatus == 2 ? (
                       {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                      >
                        子项目
                      
                    ) : (
                      ""
                    )}
                  
                );
              },
            },
            {
              title: "业务项目名称",
              dataIndex: "commodityName",
              key: "commodityName",
            },
            {
              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: "taskComment",
              key: "taskComment",
              render: (text) => {
                return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
              },
            },
          ];
          return (
            
          );
        } else {
          columns = [];
          return (
            
              此项目暂未拆分
            
          );
        }
      };
      const FormItem = Form.Item;
      const { TabPane } = Tabs;
      const { TextArea } = Input;
      const formItemLayout = {
        labelCol: { span: 8 },
        wrapperCol: { span: 14 },
      };
      const contractData = this.state.contractData;
      const formItemList = [
        {
          label: "企业联系人",
          content: {this.state.contacts},
        },
        {
          label: "联系人电话",
          content: {this.state.contactMobile},
        },
        {
          label: "企业法人",
          content: {this.state.legalPerson},
        },
        {
          label: "法人电话",
          content: {this.state.legalPersonTel},
        },
        // {
        //   label: "签单金额(万元)",
        //   content: {this.state.totalAmount}
        // },
        // {
        //   label: "首付金额(万元)",
        //   content: {this.state.firstAmount}
        // },
        // {
        //   label: "特批立项",
        //   content: {getApprovedState(this.state.approval)}
        // },
        // {
        //   label: "合同签订时间",
        //   content: {this.state.signDate}
        // },
        // {
        //   label: "订单部门",
        //   content: {this.state.depName}
        // }
      ];
      let dataSources = this.state.customerArr || [];
      const cuiDataList = this.state.contactList || [];
      let departmentArr = this.state.departmentArr || [];
      let options = this.state.states
        ? dataSources.map((group) => (
            
              {group.name}
            
          ))
        : dataSources.map((group, index) => (
            
              {group.bname}
            
          ));
      return (
        
          {this.state.resVisible ? (
            
          ) : (
            ""
          )}
          
            
          
          
            
          
          
            
          
          {this.state.lookVisible ? 
            
           : 
}
          
 {
              this.setState({
                editProVisible: false,
              });
            }}
          >
            
              
                 {
                    this.setState({ editProMoney: e.target.value });
                  }}
                />
              
              
                 {
                    this.setState({ editProCommodityQuantity: e.target.value });
                  }}
                />
              
            
          
           {
              this.setState({
                editCuiVisible: false,
              });
            }}
          >
            
              
                 {
                    this.setState({ editCuiMoney: e.target.value });
                  }}
                />