// 开单=》合同变更发起
import React from "react";
import {
  Table,
  Modal,
  message,
  Spin,
  Input,
  Select,
  Button,
  Form,
  Upload,
  Popconfirm,
  AutoComplete,
  DatePicker,
  Col,
  Tabs,
  Tag,
  Radio,
  Icon,
  Tooltip,
  Switch
} 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 $ from "jquery";
import OrderRiZi from "@/orderRiZi.jsx";
import {
  orderTypes,
  customerType,
  jiedian,
  boutique,
  ssalesType,
  qsalesType,
  cuiJieDian,
  salesList,
  vipYear,
} from "@/dataDic.js";
import {
  splitUrl,
  getProcessStatus,
  getLiquidationStatus,
  getboutique,
  getApprovedState,
  getjiedian,
  getCuikuan,
  getProjectName,
  moneyVerify,
  getProcessStatusNew,
} from "../../../tools.js";
import PicturesWall from "./changeComponent/picturesWall.js";
import { getChangeType } from "./changeComponent/changeDetailYxgly";
import ImgList from "../../../common/imgList";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
import ProjectOperation from "../../../common/projectOperation";
import ProjectOperationVip from "../../../common/projectOperation/vip";
import NewAddProject from "../../../common/projectOperation/newAddProject"
import NewEditProject from "../../../common/projectOperation/newEditProject"
import { instanceOf } from "prop-types";
import UpdateSales from './updatesales';
const Option = AutoComplete.Option;
const confirm = Modal.confirm;
const RadioGroup = Radio.Group;

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 {
        dataView: null,
        PublicView: null,
        contentView: '',
        remarksView: '',
        contentViewLength: 0,
        contentViewLength1: 0,
        columnsView: [
          {
            title: "服务时间",
            dataIndex: "serviceTimes",
            key: "serviceTimes",
            width: '80px'
          },
          {
            title: "服务内容",
            dataIndex: "content",
            key: "content",
            width: '300'
          },
          {
            title: "备注",
            dataIndex: "remarks",
            key: "remarks",
            width: '300'
          },
          {
            title: "操作",
            dataIndex: "cz",
            key: "cz",
            width: '100px',
            render: (text, record) => {
              return (
                <div>
                  {this.state.processStatus == 0 ? (
                    <Button
                      onClick={(e) => {
                        e.stopPropagation();
                        this.viewConfirm(this.delectView, record);
                        // this.setState({
                        //   addFlag: false,
                        // });
                      }}
                    >
                      删除
                    </Button>
                  ) : (
                    ""
                  )}
                </div>
              );
            },
          },
        ],
        columnsRecord: [
          {
            title: "序号",
            dataIndex: "id",
            key: "id",
          },
          {
            title: "客户名称",
            dataIndex: "nickname",
            key: "nickname",
          },
          {
            title: "公出申请人",
            dataIndex: "aname",
            key: "aname",
          },
          {
            title: "公出时长",
            dataIndex: "duration",
            key: "duration",
            render: (text, record) => {
              return <div>{text + "小时"}</div>;
            },
          },
          {
            title: "公出地点",
            dataIndex: "userName",
            key: "userName",
          },
          {
            title: "公出时间",
            dataIndex: "releaseStarts",
            key: "releaseStarts",
            render: (text, record) => {
              return (
                <div>
                  <div>{text}</div>
                  <div style={{ paddingLeft: "44px" }}>至</div>
                  <div>{record.releaseEnds}</div>
                </div>
              );
            },
          },
          {
            title: "打卡时间",
            dataIndex: "clockInTimes",
            key: "clockInTimes",
          },
          {
            title: "公出目标",
            dataIndex: "remarks",
            key: "remarks",
            width: '300'
          },
        ],
        dataSourceView: [],
        coorVisible: "none",
        personnel: [],
        viewKey: 0,
        modalView: false,
        modalRecord: false,
        closable: false,
        disabledView: "none",
        patentType: "",
        patentTypeList: [],
        rotateDeg: 0,
        isCaoGao: false,
        cuiFlag: false,
        startRemarks: "",
        remarksC: "",
        loading: false,
        logData: [],
        visible: false,
        cuiDataSource: [],
        status: 4,
        orgCodeUrl: [],
        voucherUrl: [],
        replenishUrl: [],
        contentUrl: [],
        newContractUrl: [],
        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 <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}</span>
            }
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname",
          },
          {
            title: "项目数量",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity",
            render: (text, record) => {
              if (record.splitStatus == 1) {
                return (
                  <span>
                    {text}{" "}
                    {/* {
                      record.cSort != 6 &&
                      <Tag
                        color="#108ee9"
                        onClick={(e) => {
                          e.stopPropagation();
                          this.showRes(record);
                        }}
                      >
                        已拆
                      </Tag>
                    } */}
                  </span>
                );
              } else {
                return text;
              }
            },
          },
          {
            title: "金额(万元)",
            dataIndex: "commodityPrice",
            key: "commodityPrice",
            width: 50,
          },
          {
            title: "负责人",
            dataIndex: "contacts",
            key: "contacts",
          },
          {
            title: "负责人电话",
            dataIndex: "contactsMobile",
            key: "contactsMobile",
          },
          {
            title: "项目状态",
            dataIndex: "projectStatus",
            key: "projectStatus",
            width: 60,
            render: (text) => {
              return getProjectName(text);
            },
          },
          {
            title: "主要项目",
            dataIndex: "main",
            key: "main",
            width: 50,
            render: (text) => {
              return text ? "是" : "否";
            },
          },
          {
            title: "总年限",
            dataIndex: "yearSum",
            key: "yearSum",
            render: (text, record) => {
              return (
                <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
              );
            }
          },
          {
            title: "年限",
            dataIndex: "serviceLife",
            key: "serviceLife",

            render: (text, record) => {
              return (
                // !!text && JSON.parse(text).map(item =>
                //   <div>{item}</div>
                // )
                <div>{!!text && JSON.parse(text).toString()}</div>
              );
            }
          },
          {
            title: "本次派单",
            dataIndex: "serviceYear",
            key: "serviceYear",
            render: (text, record) => {
              return (
                <div>{!text ? "" : text}</div>
              );
            }
          },
          {
            title: "项目说明",
            dataIndex: "taskComment",
            key: "taskComment",
            render: (text) => {
              return (
                <Tooltip title={text}>
                  <div
                    style={{
                      width: 100,
                      overflow: "hidden",
                      whiteSpace: "nowrap",
                      textOverflow: "ellipsis",
                    }}
                  >{text}</div>
                </Tooltip>
              )
            },
          },
          {
            title: "操作",
            dataIndex: "ABC",
            key: "ABC",
            width: 80,
            render: (text, record) => {
              return (
                this.state.processStatus == 0 &&
                <div>
                  <div>
                    <Button
                      onClick={(e) => {
                        e.stopPropagation();
                        this.showConfirm(this.delectRow, record);
                        this.setState({
                          addFlag: false,
                        });
                      }}
                    >
                      删除
                    </Button>
                  </div>
                  <div>
                    <Button
                      onClick={(e) => {
                        e.stopPropagation();
                        this.tableRowClick(record)
                      }}
                    >
                      编辑
                    </Button>
                  </div>
                </div>
              );
            },
          },
        ],
        proColumns: [
          {
            title: "变更状态",
            dataIndex: "type",
            key: "type",
            width: 70,
            render: (text, record) => {
              let str = "";
              let color = "";
              if (text == 1) {
                str = "增";
                color = "#87d068";
              } else if (text == 2) {
                str = "改";
                color = "#108ee9";
              } else if (text == 3) {
                str = "删";
                color = "#f50";
              }
              return (
                <span>
                  <Tag
                    color={color}
                    style={{ display: text == 0 ? "none" : "inline-block" }}
                  >
                    {str}
                  </Tag>
                  {/* {record.splitStatus == 1 ? (
                    <Tag color="#108ee9">父项目</Tag>
                  ) : (
                    ""
                  )}
                  {record.splitStatus == 2 ? (
                    <Tag color="#108ee9">子项目</Tag>
                  ) : (
                    ""
                  )} */}
                </span>
              );
            },
          },
          {
            title: "业务项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              return <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}</span>
            }
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname",
          },
          {
            title: "项目数量",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity",
            width: 50,
          },
          {
            title: "金额(万元)",
            dataIndex: "commodityPrice",
            key: "commodityPrice",
            width: 50,
            render: (text, record) => {
              if (record.splitStatus == 2) {
                return "/";
              } else {
                return text;
              }
            },
          },
          {
            title: "主要项目",
            dataIndex: "main",
            key: "main",
            width: 50,
            render: (text) => {
              return text ? "是" : "否";
            },
          },
          {
            title: "项目负责人",
            dataIndex: "receiverName",
            key: "receiverName",
          },
          {
            title: "总年限",
            dataIndex: "yearSum",
            key: "yearSum",
            render: (text, record) => {
              return (
                <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
              );
            }
          },
          {
            title: "年限",
            dataIndex: "serviceLife",
            key: "serviceLife",
            render: (text, record) => {
              return (
                <div>{!!text && JSON.parse(text).toString()}</div>
              );
            }
          },
          {
            title: "本次派单",
            dataIndex: "serviceYear",
            key: "serviceYear",
            render: (text, record) => {
              return (
                <div>{!text ? "" : text}</div>
              );
            }
          },
          {
            title: "项目说明",
            dataIndex: "taskComment",
            key: "taskComment",
            render: (text) => {
              return (
                <Tooltip title={text}>
                  <div
                    style={{
                      width: 100,
                      overflow: "hidden",
                      whiteSpace: "nowrap",
                      textOverflow: "ellipsis",
                    }}
                  >{text}</div>
                </Tooltip>
              )
            },
          },
          {
            title: "操作",
            dataIndex: "ABC",
            key: "ABC",
            width: 80,
            render: (text, record) => {
              return (
                <div>
                  <div>
                    <Button
                      onClick={(e) => {
                        e.stopPropagation();
                        this.showConfirm(this.changeDeletePro, record);
                      }}
                      disabled={this.state.listFlag}
                      style={{
                        display: this.state.displayList ? "none" : "block",
                      }}
                    >
                      删除
                    </Button>
                  </div>
                  <div>
                    <Button
                      onClick={(e) => {
                        e.stopPropagation();
                        this.editPro(record);
                      }}
                      disabled={this.state.listFlag}
                      style={{
                        display: this.state.displayList ? "none" : "block",
                      }}
                    >
                      编辑
                    </Button>
                  </div>
                </div>
              );
            },
          },
        ],
        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 (
                <span>
                  <Tag
                    color={color}
                    style={{ display: text == 0 ? "none" : "inline-block" }}
                  >
                    {str}
                  </Tag>
                  {/* {record.splitStatus == 1 ? (
                    <Tag color="#108ee9">父项目</Tag>
                  ) : (
                    ""
                  )}
                  {record.splitStatus == 2 ? (
                    <Tag color="#108ee9">子项目</Tag>
                  ) : (
                    ""
                  )} */}
                </span>
              );
            },
          },
          {
            title: "业务项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              return <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}</span>
            }
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname",
          },
          {
            title: "项目数量",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity",
            width: 50,
          },
          {
            title: "金额(万元)",
            dataIndex: "commodityPrice",
            key: "commodityPrice",
            width: 50,
            render: (text, record) => {
              if (this.props.isZxs) {
                return <span>***</span>;
              } else if (record.splitStatus == 2) {
                return "/";
              } else {
                return <span>{text}</span>;
              }
            },
          },
          {
            title: "主要项目",
            dataIndex: "main",
            key: "main",
            width: 50,
            render: (text) => {
              return text ? "是" : "否";
            },
          },
          {
            title: "项目负责人",
            dataIndex: "receiverName",
            key: "receiverName",
          },
          {
            title: "总年限",
            dataIndex: "yearSum",
            key: "yearSum",
            render: (text, record) => {
              return (
                <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div>
              );
            }
          },
          {
            title: "年限",
            dataIndex: "serviceLife",
            key: "serviceLife",
            render: (text, record) => {
              return (
                <div>{!!text && JSON.parse(text).toString()}</div>
              );
            }
          },
          {
            title: "本次派单",
            dataIndex: "serviceYear",
            key: "serviceYear",
            render: (text, record) => {
              return (
                <div>{!text ? "" : text}</div>
              );
            }
          },
          {
            title: "项目说明",
            dataIndex: "taskComment",
            key: "taskComment",
            render: (text) => {
              return (
                <Tooltip title={text}>
                  <div
                    style={{
                      width: 100,
                      overflow: "hidden",
                      whiteSpace: "nowrap",
                      textOverflow: "ellipsis",
                    }}
                  >{text}</div>
                </Tooltip>
              )
            },
          },
        ],
        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 (
                <Tag
                  color={color}
                  style={{ display: text == 0 ? "none" : "inline-block" }}
                >
                  {str}
                </Tag>
              );
            },
          },
          {
            title: "项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record) => {
              let dataArr = this.state.proDataSource || [];
              if (record.ctid) {
                return <span>{text + "-" + record.ctid}</span>;
              } else {
                let tid = record.tid;
                let ctid = "";
                dataArr.forEach((item, index) => {
                  if (item.tid == tid) {
                    ctid = item.id;
                  }
                });
                return <span>{text + "-" + ctid}</span>;
              }
            },
          },
          {
            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 <span>{str}</span>;
                }
              }
            },
          },
          {
            title: "催款科目",
            dataIndex: "dunTypeName",
            key: "dunTypeName",
            render: (text, record) => {
              return <span>{text}</span>;
            },
          },
          {
            title: "时间",
            dataIndex: "waitDay",
            key: "waitDay",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.customizeTimes) {
                  return record.customizeTimes;
                }
                return <span>{text}</span>;
              }
            },
          },
          {
            title: "金额（万元）",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.appropriationRatio) {
                  let percent = Number(record.appropriationRatio * 100).toFixed(2);
                  percent += "%";
                  return <span>{percent}（拨款比例）</span>;
                } else {
                  if (this.props.isZxs) {
                    return <span>***</span>;
                  }
                  return <span>{text}</span>;
                }
              }
            },
          },
          {
            title: "服务年限",
            dataIndex: "startDate",
            key: "startDate",
            render: (text, record) => {
              if (record.dunTypeName) {
                return <span>{text}</span>;
              }
            },
          },
          {
            title: "催款状态",
            dataIndex: "status",
            key: "status",
            render: (text) => {
              return <span>{text == 1 ? "已启动" : "未启动"}</span>;
            },
          },
        ],
        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 (
                <Select
                  placeholder="请选择催款科目"
                  value={record.dunSubject}
                  style={{ width: "150px" }}
                  disabled
                  onChange={(e) => {
                    record.dunSubject = e;
                    this.setState({ contactList: this.state.contactList });
                  }}
                >
                  {jiedian.map(function (item) {
                    return (
                      <Select.Option key={item.value}>{item.key}</Select.Option>
                    );
                  })}
                </Select>
              );
            },
          },
          {
            title: "金额（万元）",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              return (
                <Input
                  type="number"
                  value={record.money}
                  placeholder="请输入金额(必填项)"
                  disabled
                  key={record.id}
                  required="required"
                  onChange={(e) => {
                    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 (
                <div>
                  {
                    <Popconfirm
                      title="是否删除?"
                      onConfirm={() => {
                        this.confirmDelet(record.key);
                      }}
                      okText="删除"
                      cancelText="不删除"
                    >
                      <Button
                        style={{
                          marginRight: "10px",
                          color: "#ffffff",
                          background: "#f00",
                          border: "none",
                          display:
                            this.state.processStatus == 0 ? "block" : "none",
                        }}
                      >
                        删除
                      </Button>
                    </Popconfirm>
                  }
                  {record.id ? (
                    ""
                  ) : (
                    <Button type="primary" onClick={this.contactSave}>
                      保存
                    </Button>
                  )}
                </div>
              );
            },
          },
        ],
        ContactsListsNew: [
          {
            title: "项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record, index) => {
              let dataArr = this.state.dataSource || [];
              if (text) {
                return <span>{text + "-" + record.tid}</span>;
              }
              return (
                <Select
                  placeholder="请选择名称"
                  style={{ width: "150px" }}
                  disabled={
                    this.state.getLoad && record.sortName ? true : false
                  }
                  onChange={(e) => {
                    // let num = e.lastIndexOf("-");
                    // let ctid = e.substr(num + 1);
                    // record.sortName = e.substring(0, num);
                    // dataArr.forEach((item) => {
                    //   if (
                    //     item.commodityName == record.sortName &&
                    //     ctid == item.id
                    //   ) {
                    //     record.cname = item.cname;
                    //     record.tid = item.id;
                    //     record.isSave = true;
                    //     record.sort = item.sort;
                    //     cuiJieDian.forEach((item) => {
                    //       if (item.value == record.sort) {
                    //         record.arr = item.children;
                    //         let yearFlag = true;
                    //         if (record.sort == 6) {
                    //           yearFlag = false;
                    //         }
                    //         this.setState({
                    //           getLoad: true,
                    //           yearFlag,
                    //         });
                    //       }
                    //     });
                    //   }
                    // });
                    let proData = dataArr[e];
                    record.cname = proData.cname;
                    record.tid = proData.id;
                    record.isSave = true;
                    record.sort = proData.sort;
                    cuiJieDian.forEach((item) => {
                      if (item.value == record.sort) {
                        record.arr = item.children;
                        let yearFlag = true;
                        if (record.sort == 6) {
                          yearFlag = false;
                        }
                        this.setState({
                          getLoad: true,
                          yearFlag,
                        });
                      }
                    });
                  }}
                >
                  {dataArr.map((item) => {
                    return (
                      <Select.Option key={item.id} value={item.key}>
                        {item.commodityName + "-" + item.id}
                      </Select.Option>
                    );
                  })}
                </Select>
              );
            },
          },
          {
            title: "项目分类",
            dataIndex: "projectType",
            key: "projectType",
            render: (text, record) => {
              if (text) {
                let arr = this.state.dataSource || [];
                let str = "";
                for (let i = 0; i < arr.length; i++) {
                  if (this.state.dataSource[i].sort == text) {
                    str = this.state.dataSource[i].cname;
                    return <span>{str}</span>;
                  }
                }
                if (!str) {
                  return <span>未知</span>;
                }
              }
              if (this.state.getLoad) {
                return (
                  <Select
                    style={{ width: "150px" }}
                    placeholder="请选择分类"
                    value={record.cname}
                  >
                    <Select.Option key={record.sort} value={record.cname}>
                      {record.cname}
                    </Select.Option>
                  </Select>
                );
              } else {
                return (
                  <Select style={{ width: "150px" }} placeholder="请选择分类">
                    <Select.Option key={record.sort} value={record.cname}>
                      {record.cname}
                    </Select.Option>
                  </Select>
                );
              }
            },
          },
          {
            title: "催款科目",
            dataIndex: "dunTypeName",
            key: "dunTypeName",
            render: (text, record) => {
              if (text) {
                if (record.customizeName) {
                  return text + record.customizeName;
                }
                return <span>{text}</span>;
              }
              if (this.state.getLoad) {
                let arr = record.arr || [];
                // console.log("record==", record)
                return (
                  <div>
                    <Select
                      style={{ width: "150px", marginRight: 5 }}
                      placeholder="请选择分类"
                      onChange={(e) => {
                        record.dunType = e;
                        if (record.dunType == 0) {
                          record.customizeTimes = "";
                          record.customizeName = "";
                        }
                        if (e == 0) {
                          record.dunTypeCustom = true;
                        } else {
                          record.dunTypeCustom = false;
                        }
                        if (e != 1) {
                          this.setState({
                            timeFlag: true,
                          });
                        } else {
                          this.setState({
                            timeFlag: false,
                          });
                        }
                        if (e == 1 && record.sort == 6) {
                          this.setState({
                            yearFlag: true,
                          });
                        } else if (e != 1 && record.sort == 6) {
                          this.setState({
                            yearFlag: false,
                          });
                        }
                        if (record.sort == 3 && e == 3) {
                          this.setState({
                            boFlag: true,
                          });
                        } else {
                          this.setState({
                            boFlag: false,
                          });
                        }
                      }}
                    >
                      {arr.map((item) => {
                        return (
                          <Select.Option key={item.value} value={item.value}>
                            {item.key}
                          </Select.Option>
                        );
                      })}
                      <Select.Option key={0} value={0}>
                        自定义
                      </Select.Option>
                    </Select>
                    {record.dunType == 0 ? (
                      <Input
                        value={record.customizeName}
                        placeholder="请输入自定义名称"
                        required="required"
                        onChange={(e) => {
                          record.customizeName = e.target.value;
                          this.setState({
                            contactList: this.state.contactList,
                          });
                        }}
                        style={{ width: "120px" }}
                      />
                    ) : (
                      ""
                    )}
                  </div>
                );
              } else {
                return (
                  <Select style={{ width: "150px" }} placeholder="请选择分类">
                    <Select.Option
                      key={0}
                      value={"请选择上一项"}
                    ></Select.Option>
                  </Select>
                );
              }
            },
          },
          {
            title: "收款时间(特批需选择时间)",
            dataIndex: "waitDay",
            key: "waitDay",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.customizeTimes) {
                  return record.customizeTimes;
                }
                if (text == 0) {
                  var str = "当天";
                } else if (!text) {
                  var str = "";
                } else {
                  var str = text + "天";
                }
                return <span>{str}</span>;
              }
              return (
                <div>
                  {record.dunType == 0 ? (
                    <DatePicker
                      style={{ width: 150 }}
                      disabledDate={(e) => {
                        let time = moment(e).valueOf();
                        let today = Date.parse(new Date());
                        if (time <= today) {
                          return true;
                        }
                      }}
                      onChange={(e, t) => {
                        record.customizeTimes = t;
                      }}
                    />
                  ) : (
                    <Select
                      placeholder="请选择时间"
                      style={{ width: "160px" }}
                      disabled={
                        this.state.approval != 0 && !this.state.timeFlag
                          ? false
                          : true
                      }
                      onChange={(e) => {
                        record.waitDay = e;
                      }}
                    >
                      <Select.Option key={0}>当天</Select.Option>
                      <Select.Option key={3}>3天</Select.Option>
                      <Select.Option key={5}>5天</Select.Option>
                      <Select.Option key={7}>7天</Select.Option>
                      <Select.Option key={15}>15天</Select.Option>
                    </Select>
                  )}
                </div>
              );
            },
          },
          {
            title: "金额（万元）",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.appropriationRatio) {
                  let percent = Number(record.appropriationRatio * 100).toFixed(2);
                  percent += "%";
                  return <span>{percent}（拨款比例）</span>;
                } else {
                  return <span>{text}</span>;
                }
              }
              return (
                <div>
                  <div style={{ width: 70, float: "left", marginRight: 5 }}>
                    <Select
                      placeholder="选择"
                      defaultValue={"金额"}
                      onChange={(e) => {
                        record.boStatus = e;
                      }}
                    >
                      <Select.Option key={true}>比例</Select.Option>
                      <Select.Option key={false}>金额</Select.Option>
                    </Select>
                  </div>
                  <div style={{ float: "right" }}>
                    <Input
                      type="number"
                      value={record.money}
                      key={record.id}
                      required="required"
                      onChange={(e) => {
                        record.money = e.target.value;
                        this.setState({
                          contactList: this.state.contactList,
                        });
                      }}
                      style={{ width: "120px" }}
                    />
                  </div>
                </div>
              )

              // if (this.state.boFlag) {
              //   return (
              //     <div>
              //       <div style={{ width: 70, float: "left", marginRight: 5 }}>
              //         <Select
              //           placeholder="选择"
              //           defaultValue={"金额"}
              //           onChange={(e) => {
              //             record.boStatus = e;
              //           }}
              //         >
              //           <Select.Option key={true}>比例</Select.Option>
              //           <Select.Option key={false}>金额</Select.Option>
              //         </Select>
              //       </div>
              //       <div style={{ float: "right" }}>
              //         <Input
              //           type="number"
              //           value={record.money}
              //           key={record.id}
              //           required="required"
              //           onChange={(e) => {
              //             record.money = e.target.value;
              //             this.setState({
              //               contactList: this.state.contactList,
              //             });
              //           }}
              //           style={{ width: "120px" }}
              //         />
              //       </div>
              //     </div>
              //   );
              // } else {
              //   return (
              //     <div>
              //       <Input
              //         type="number"
              //         value={record.money}
              //         placeholder="请输入金额(必填项)"
              //         key={record.id}
              //         required="required"
              //         onChange={(e) => {
              //           record.money = e.target.value;
              //           this.setState({ contactList: this.state.contactList });
              //         }}
              //         style={{ width: "120px" }}
              //       />
              //     </div>
              //   );
              // }
            },
          },
          {
            title: "服务年限",
            dataIndex: "startDate",
            key: "startDate",
            render: (text, record) => {
              if (record.dunTypeName) {
                return <span>{text}</span>;
              }
              return (
                <div>
                  {record.dunType != 0 ? (
                    <Select
                      placeholder="请选择年限"
                      style={{ width: "150px" }}
                      disabled={this.state.yearFlag ? true : false}
                      onChange={(e) => {
                        record.effectiveCount = e;
                      }}
                    >
                      {/* <Select.Option key={null}>无</Select.Option> */}
                      <Select.Option key={1}>一年</Select.Option>
                      <Select.Option key={3}>两年</Select.Option>
                      <Select.Option key={5}>三年</Select.Option>
                      <Select.Option key={7}>四年</Select.Option>
                      <Select.Option key={9}>五年</Select.Option>
                    </Select>
                  ) : (
                    <div />
                  )}
                </div>
              );
            },
          },
          {
            title: "催款状态",
            dataIndex: "status",
            key: "status",
            render: (text) => {
              return <span>{text == 1 ? "已启动" : "未启动"}</span>;
            },
          },
          {
            title: "操作",
            dataIndex: "dels",
            key: "dels",
            render: (text, record, index) => {
              return (
                <div>
                  {this.state.processStatus == 0 ? (
                    <Popconfirm
                      title="是否删除?"
                      onConfirm={() => {
                        this.confirmDeletNew(record);
                      }}
                      okText="删除"
                      cancelText="不删除"
                    >
                      <Button
                        style={{
                          marginRight: "10px",
                          color: "#ffffff",
                          background: "#f00",
                          border: "none",
                        }}
                      >
                        删除
                      </Button>
                    </Popconfirm>
                  ) : (
                    ""
                  )}
                  {record.isSave ? (
                    <Button
                      type="primary"
                      onClick={(e) => {
                        this.contactSaveNew(record);
                      }}
                    >
                      保存
                    </Button>
                  ) : (
                    ""
                  )}
                </div>
              );
            },
          },
        ],
        changeCuiList: [
          {
            title: "变更状态",
            dataIndex: "type",
            key: "type",
            render: (text) => {
              let str = "";
              let color = "";
              if (text == 1) {
                str = "增";
                color = "#87d068";
              } else if (text == 2) {
                str = "改";
                color = "#108ee9";
              } else if (text == 3) {
                str = "删";
                color = "#f50";
              }
              return (
                <Tag
                  color={color}
                  style={{ display: text == 0 ? "none" : "inline-block" }}
                >
                  {str}
                </Tag>
              );
            },
          },
          {
            title: "项目名称",
            dataIndex: "commodityName",
            key: "commodityName",
            render: (text, record, index) => {
              let dataArr = this.state.proDataSource || [];
              if (text) {
                // return <span>{text + "-" + record.ctid}</span>;
                if (record.ctid) {
                  return <span>{text + "-" + record.ctid}</span>;
                } else {
                  let tid = record.tid;
                  let ctid = "";
                  dataArr.forEach((item, index) => {
                    if (item.tid == tid) {
                      ctid = item.id;
                    }
                  });
                  return <span>{text + "-" + ctid}</span>;
                }
              }
              return (
                <Select
                  placeholder="请选择名称"
                  style={{ width: "150px" }}
                  disabled={
                    this.state.getLoad && record.sortName ? true : false
                  }
                  onChange={(e) => {
                    let proData = dataArr[e];
                    record.cname = proData.cname;
                    record.ctid = proData.id;
                    record.isSave = true;
                    record.sort = proData.cSort;
                    cuiJieDian.forEach((item) => {
                      if (item.value == record.sort) {
                        record.arr = item.children;
                        let yearFlag = true;
                        if (record.sort == 6) {
                          yearFlag = false;
                        }
                        this.setState({
                          getLoad: true,
                          yearFlag,
                        });
                      }
                    });
                  }}
                >
                  {dataArr.map((item, index) => {
                    if (item.type == 3) {
                      return (
                        <Select.Option key={item.id} value={item.key} disabled>
                          {item.commodityName + "-" + item.id}
                        </Select.Option>
                      );
                    } else {
                      return (
                        <Select.Option key={item.id} value={item.key}>
                          {item.commodityName + "-" + item.id}
                        </Select.Option>
                      );
                    }
                  })}
                </Select>
              );
            },
          },
          {
            title: "项目分类",
            dataIndex: "projectType",
            key: "projectType",
            render: (text, record) => {
              if (text) {
                let arr = this.state.proDataSource || [];
                let str = "";
                for (let i = 0; i < arr.length; i++) {
                  if (this.state.proDataSource[i].cSort == text) {
                    str = this.state.proDataSource[i].cname;
                    return <span>{str}</span>;
                  }
                }
              }
              if (this.state.getLoad) {
                return (
                  <Select
                    style={{ width: "150px" }}
                    placeholder="请选择分类"
                    value={record.cname}
                  >
                    <Select.Option key={record.sort} value={record.cname}>
                      {record.cname}
                    </Select.Option>
                  </Select>
                );
              } else {
                return (
                  <Select style={{ width: "150px" }} placeholder="请选择分类">
                    <Select.Option key={record.sort} value={record.cname}>
                      {record.cname}
                    </Select.Option>
                  </Select>
                );
              }
            },
          },
          {
            title: "催款科目",
            dataIndex: "dunTypeName",
            key: "dunTypeName",
            render: (text, record) => {
              if (text) {
                return <span>{text}</span>;
              }
              if (this.state.getLoad) {
                let arr = record.arr || [];
                return (
                  <div>
                    <Select
                      style={{ width: "150px", marginRight: 5 }}
                      placeholder="请选择分类"
                      onChange={(e) => {
                        record.dunType = e;
                        if (record.dunType != 0) {
                          record.customizeTimes = "";
                          record.customizeName = "";
                        }
                        if (e != 1) {
                          this.setState({
                            timeFlag: true,
                          });
                        } else {
                          this.setState({
                            timeFlag: false,
                          });
                        }
                        if (e == 1 && record.sort == 6) {
                          this.setState({
                            yearFlag: true,
                          });
                        } else if (e != 1 && record.sort == 6) {
                          this.setState({
                            yearFlag: false,
                          });
                        }
                        if (record.sort == 3 && e == 3) {
                          this.setState({
                            boFlag: true,
                          });
                        } else {
                          this.setState({
                            boFlag: false,
                          });
                        }
                      }}
                    >
                      {arr.map((item) => {
                        record;
                        return (
                          <Select.Option key={item.value} value={item.value}>
                            {item.key}
                          </Select.Option>
                        );
                      })}
                      <Select.Option key={0} value={0}>
                        自定义
                      </Select.Option>
                    </Select>
                    {record.dunType == 0 ? (
                      <Input
                        value={record.customizeName}
                        placeholder="请输入自定义名称"
                        required="required"
                        onChange={(e) => {
                          record.customizeName = e.target.value;
                          this.setState({
                            contactList: this.state.contactList,
                          });
                        }}
                        style={{ width: "120px" }}
                      />
                    ) : (
                      ""
                    )}
                  </div>
                );
              } else {
                return (
                  <Select style={{ width: "150px" }} placeholder="请选择分类">
                    <Select.Option
                      key={0}
                      value={"请选择上一项"}
                    ></Select.Option>
                  </Select>
                );
              }
            },
          },
          {
            title: "收款时间(特批需选择时间)",
            dataIndex: "waitDay",
            key: "waitDay",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.customizeTimes) {
                  return record.customizeTimes;
                }
                if (text == 0) {
                  var str = "当天";
                } else if (!text) {
                  var str = "";
                } else {
                  var str = text + "天";
                }
                return <span>{str}</span>;
              }
              return (
                <div>
                  {record.dunType == 0 ? (
                    <DatePicker
                      style={{ width: 150 }}
                      disabledDate={(e) => {
                        let time = moment(e).valueOf();
                        let today = Date.parse(new Date());
                        if (time <= today) {
                          return true;
                        }
                      }}
                      onChange={(e, t) => {
                        record.customizeTimes = t;
                      }}
                    />
                  ) : (
                    <Select
                      placeholder="请选择时间"
                      style={{ width: "160px" }}
                      disabled={
                        this.state.approval != 0 && !this.state.timeFlag
                          ? false
                          : true
                      }
                      onChange={(e) => {
                        record.waitDay = e;
                      }}
                    >
                      <Select.Option key={0}>当天</Select.Option>
                      <Select.Option key={3}>3天</Select.Option>
                      <Select.Option key={5}>5天</Select.Option>
                      <Select.Option key={7}>7天</Select.Option>
                      <Select.Option key={15}>15天</Select.Option>
                    </Select>
                  )}
                </div>
              );
            },
          },
          {
            title: "金额（万元）",
            dataIndex: "money",
            key: "money",
            render: (text, record) => {
              if (record.dunTypeName) {
                if (record.appropriationRatio) {
                  let percent = Number(record.appropriationRatio * 100).toFixed(2);
                  percent += "%";
                  return <span>{percent}（拨款比例）</span>;
                } else {
                  return <span>{text}</span>;
                }
              }

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

              // if (this.state.boFlag) {
              //   return (
              //     <div>
              //       <div style={{ width: 70, float: "left", marginRight: 5 }}>
              //         <Select
              //           placeholder="选择"
              //           defaultValue={"金额"}
              //           onChange={(e) => {
              //             record.boStatus = e;
              //           }}
              //         >
              //           <Select.Option key={true}>比例</Select.Option>
              //           <Select.Option key={false}>金额</Select.Option>
              //         </Select>
              //       </div>
              //       <div style={{ float: "right" }}>
              //         <Input
              //           type="number"
              //           value={record.money}
              //           key={record.id}
              //           required="required"
              //           onChange={(e) => {
              //             record.money = e.target.value;
              //             this.setState({
              //               contactList: this.state.contactList,
              //             });
              //           }}
              //           style={{ width: "120px" }}
              //         />
              //       </div>
              //     </div>
              //   );
              // } else {
              //   return (
              //     <div>
              //       <Input
              //         type="number"
              //         value={record.money}
              //         placeholder="请输入金额(必填项)"
              //         key={record.id}
              //         required="required"
              //         onChange={(e) => {
              //           record.money = e.target.value;
              //           this.setState({ contactList: this.state.contactList });
              //         }}
              //         style={{ width: "120px" }}
              //       />
              //     </div>
              //   );
              // }
            },
          },
          {
            title: "服务年限",
            dataIndex: "startDate",
            key: "startDate",
            render: (text, record) => {
              if (record.dunTypeName) {
                return <span>{text}</span>;
              }
              return (
                <Select
                  placeholder="请选择年限"
                  style={{ width: "150px" }}
                  disabled={this.state.yearFlag ? true : false}
                  onChange={(e) => {
                    record.effectiveCount = e;
                  }}
                >
                  {/* <Select.Option key={null}>无</Select.Option> */}
                  <Select.Option key={1}>一年</Select.Option>
                  <Select.Option key={3}>两年</Select.Option>
                  <Select.Option key={5}>三年</Select.Option>
                  <Select.Option key={7}>四年</Select.Option>
                  <Select.Option key={9}>五年</Select.Option>
                </Select>
              );
            },
          },
          {
            title: "催款状态",
            dataIndex: "status",
            key: "status",
            render: (text) => {
              return <span>{text == 1 ? "已启动" : "未启动"}</span>;
            },
          },
          {
            title: "操作",
            dataIndex: "dels",
            key: "dels",
            render: (text, record, index) => {
              return (
                <div>
                  <Popconfirm
                    title="是否删除?"
                    onConfirm={() => {
                      this.changeDeleteCui(record);
                    }}
                    okText="删除"
                    cancelText="不删除"
                  >
                    <Button
                      disabled={this.state.listCuiFlag}
                      style={{
                        marginRight: "10px",
                        display: this.state.displayList ? "none" : "block",
                      }}
                    >
                      删除
                    </Button>
                  </Popconfirm>
                  {record.isSave ? (
                    <Button
                      type="primary"
                      style={{ marginTop: 5 }}
                      onClick={(e) => {
                        this.changeSaveCui(record);
                      }}
                    >
                      保存
                    </Button>
                  ) : (
                    ""
                  )}
                </div>
              );
            },
          },
        ],
        updatas: {},//销售类型修改数据
        newData: {},//新建会员记忆数据
        serviceLife: [],
        isVip: undefined,//是否会员
        isIso: undefined,//是否贯标
        histYear: [],
        contractTerm: [],//合同期
        isEdit: false,//是否可编辑
        addyear: undefined,//
        isGive: 0,//是否赠送
        cPeriod: false, // 合同期是否可编辑
        isNew: false,// 是否替换合同
      };
    },
    getpatentTypeList() {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderProject/getPatentType",
        success: function (data) {
          if (data.error.length === 0) {
            this.setState({
              patentTypeList: data.data,
            });
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this),
      });
    },
    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.forEach((item) => {
              theArr.push({
                key: item.id,
                name: item.name,
                id: item.id,
                depNo: item.depNo,
              })
              if (item.list) {
                item.list.forEach((itl) => {
                  theArr.push({
                    key: itl.id,
                    name: itl.name,
                    id: itl.id,
                    depNo: itl.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(",");
      }
      // 服务内容上传图片
      let contentUrl = [];
      if (this.props.userDetaile) {
        if (this.state.contentUrl.length) {
          let picArr = [];
          this.state.contentUrl.map(function (item) {
            if (
              item.response &&
              item.response.data &&
              item.response.data.length
            ) {
              picArr.push(item.response.data);
            }
          });
          contentUrl = picArr.join(",");
        } else {
          message.info("请上传服务内容图片")
          return
        }
      }
      if (this.props.userDetaile) {
        if (isNaN(parseInt(this.state.totalAmount))) {
          message.warning("签单金额不能为空");
          this.refs.totalAmountRef.focus();
          return false;
        }
        if (isNaN(parseInt(this.state.firstAmount))) {
          message.warning("首付金额不能为空");
          this.refs.firstAmountRef.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("签单日期不能为空");
          $(".signDateRef input").focus();
          return false;
        }
        if (!this.state.orderRemarks) {
          message.warning("订单留言不能为空");
          this.refs.orderRemarksRef.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
        ? this.state.isSubmit == 1 ? "/api/admin/newOrder/submitOrder" : "/api/admin/newOrder/updateServiceOrderNew"
        : "/api/admin/newOrder/createOrder";
      const { selectSales, other, channelid, channelname, userType } = this.state
      let datas = {
        uid: this.state.autoId,//用户id
        orderType: this.state.orderType,//订单类型
        salesType: selectSales,//销售类型 
        userType: userType,//客户所属类型
      };
      if (selectSales == "3") { //传渠道编号  other里面传渠道名称
        datas = Object.assign(datas, {
          channelId: channelid,
          other: channelname,
        })
      } else if (selectSales == "4" || selectSales == "5") { //3,4要传描述
        datas = Object.assign(datas, {
          other: other,
        })
      }
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + api,
        data: !this.props.userDetaile
          ? datas
          : {
            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 : "",
            serviceContent: contentUrl.length ? contentUrl : "",
            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)
      );
    },
    //订单作废
    examOks() {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/deleteOrderNew",
        data: {
          orderNo: this.state.orderNo, //订单编号
        },
        success: function (data) {
          if (data.error.length || data.data.list == "") {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
          } else {
            message.success("操作成功~");
            this.setState({
              visible: false,
              loading: false,
            });
            this.props.closeDesc(false);
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.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 + this.state.isSubmit == 1 ? "/api/admin/newOrder/submitOrder" : "/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.setState({
        closable: false,
        disabledView: "none",
      });
      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, //特批状态
            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"
              )
              : [], //图片地址
            contentUrl: thisData.serviceContent
              ? splitUrl(
                thisData.serviceContent,
                ",",
                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,
            deleteSign: thisData.deleteSign,
            orderUid: thisData.uid,
            userType: thisData.userType,
            updatas: {
              salesType: thisData.salesType,//销售类型
              userType: thisData.userType,//客户所属类型
              other: thisData.other,//3渠道名 4,5描述
            },
            channelName: thisData.salesType == "3" ? thisData.other : "",//销售类型为渠道的时候给编辑出的渠道名称赋值

          });
          // 判断状态
          if (this.state.processStatus === 0) {
            this.setState({
              closable: true,
              disabledView: "inline-block",
            });
          }
        }.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(type) {
      this.setState(
        {
          editProVisible: false,
          changeVisible: false,
          projectOperationVisible: false,
          editProjectOperationVisible: false,//
          vipVisible: false,
          gid: "",
          dataInfor: {},

          addProjectType: undefined,
          isVip: undefined,
          isIso: undefined,
          commodityQuantity: undefined,
          histYear: [],
          yearSum: undefined,
          serviceLife: [],
          serviceYear: undefined,
          isEdit: false, // 可编辑
        },
        () => {
          this.loadData();
          this.proList();
        }
      );
    },
    // 
    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) {
            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,
                  firstAmount: thisdata.firstAmount,
                  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
                    )
                    : [],
                  newContractUrl: thisdata.contractPictureUrl
                    ? splitUrl(
                      thisdata.contractPictureUrl,
                      ",",
                      globalConfig.avatarHost + "/upload",
                      url
                    )
                    : [],
                  isNew: !thisdata.contractPictureUrl ? false : true,
                  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 if (e == 6) {
                  this.setState({
                    listFlag: true,
                    listCuiFlag: true,
                    hetongFlag: true,
                    tuiKuanFlag: true,
                    displayList: false,
                  });
                } else if (e == 7) {
                  this.setState({
                    listFlag: true,
                    listCuiFlag: true,
                    hetongFlag: true,
                    tuiKuanFlag: true,
                    displayList: false,
                    isNew: true,
                  });
                } 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) {
      if (!id && !this.state.changeId) {
        return
      }
      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 });
    },
    getContentUrl(e) {
      this.setState({ contentUrl: e });
    },
    getVoucherUrl(e) {
      this.setState({ voucherUrl: e });
    },
    getNewContractUrl(e) {
      this.setState({ newContractUrl: 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.userType,
          }
          : {
            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)
      );
    },
    // 渠道查询
    selectChannel(e) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/selectChannelUserList",
        data: {
          name: 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({
            channelArr: 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) {
      const newData = this.state.proDataSource
      let kid = [];
      let fwList = this.state.customerArr;
      fwList.map(function (item) {
        if (value == item.bname) {
          kid = item;
        }
      });
      if (kid.type == "1") {
        this.setState({
          displayFees: "block",
        });
      } 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,
        isVip: kid.cSort,//暂时判断等于6的时候会员
        commodityQuantity: kid.cSort == 6 ? 1 : undefined,//服务数量
        histYear: [],
      });
      if (newData && newData.length > 0 && kid.cSort == 6) {
        let llist = []
        for (var i = 0; i < newData.length; i++) {
          if (newData[i].commodityId == kid.id) {
            llist.push(newData[i].serviceYear)
          }
        }
        this.setState({
          histYear: llist
        })
        for (var i = newData.length - 1; i >= 0; i--) {
          if (newData[i].commodityId == kid.id) {
            this.setState({
              commodityPrice: newData[i].commodityPrice, // 实签价格
              main: "0", // 是否为主要项目
              yearSum: newData[i].yearSum.toString(), // 会员总服务年限
              serviceLife: !newData[i].serviceLife ? [] : JSON.parse(newData[i].serviceLife), // 会员服务年限
              contractTerm: !newData[i].contractTerm ? [] : JSON.parse(newData[i].contractTerm), // 合同期
              taskComment: newData[i].taskComment, // 项目说明
              // isEdit: true, // 不可编辑
              isEdit: true, // 同一会员项目有且只有一条时可编辑   其他情况不可编辑
              cPeriod: !newData[i].contractTerm ? false : true, //合同期
            })
            return
          } else {
            this.setState({
              commodityPrice: undefined,
              main: undefined,
              yearSum: undefined,
              serviceLife: [],
              contractTerm: [],
              taskComment: undefined,
              isEdit: false, // 可编辑
              cPeriod: false,
            })
          }
        }
      }
    },
    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,
      });
    },
    goSelect(value) {
      let channelid;
      let fwList = this.state.channelArr;
      fwList.map(function (item) {
        if (value == item.name) {
          channelid = item.id;
        }
      });
      this.setState({
        channelname: value,
        channelid: channelid,
      });
    },
    //服务值改变时请求客户名称
    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.userType) {
        this.state.autoId = "";
        if (e.length >= 2) {
          this.supervisor(e, true);
        }
        this.setState({
          customerName: e,
        });
      } else {
        this.setState({
          customerName: "",
        });
        message.warning("客户所属类型必须指定");
      }
    },
    //渠道名称自动补全
    channelChange(e) {
      this.setState({
        channelName: e
      })
      if (e.length >= 2) {
        this.selectChannel(e);
      }
    },
    //点击添加项目明细
    addDetailed() {
      const { dataSource = [] } = this.state
      this.setState({
        projectOperationVisible: true,
        newData: dataSource,
      });
    },
    //点击添加会员项目明细
    addVip() {
      const { dataSource = [] } = this.state
      this.setState({
        vipVisible: true,
        newData: dataSource,
      });
    },
    // 可展开颜色不同
    addRowColor(record) {
      if (!!record.splitList && record.splitList.length > 0) {
        return 'light'
      } else if (!!record.list && record.list.length > 0) {
        return 'light'
      } else {
        return 'dark'
      }

    },
    //点击项目详情
    tableRowClick(record) {
      const { dataSource = [] } = this.state
      this.setState({
        // projectOperationVisible: true,
        editProjectOperationVisible: true,
        dataInfor: record,
        newData: dataSource,
      });
    },
    //签单时间选择
    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.totalAmount === "") {
        message.warning("合同金额不能为空！");
        return false;
      }
      if (this.state.firstAmount === "") {
        message.warning("首付款金额不能为空！");
        return false;
      }
      if (this.state.totalAmount < this.state.firstAmount) {
        message.warning("首付款不能大于合同额！");
        return;
      }
      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(",");
      }
      let newContractUrl = [];
      if (this.state.newContractUrl.length) {
        let cArr = [];
        this.state.newContractUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            cArr.push(item.response.data);
          }
        });
        newContractUrl = cArr.join(",");
      }
      if (this.state.isNew && newContractUrl.length == 0) {
        message.warning("请上传新合同扫描件！");
        return
      }
      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,
            firstAmount: this.state.firstAmount,
            settlementAmount: this.state.settlementAmount,
            changeAmount: this.state.changeAmount,
            applicant: this.state.salesmanName,
            depName: this.state.depName,
            type: this.state.typeChange,
            contractPictureUrl: this.state.isNew
              ? newContractUrl : undefined,//合同替换件
          },
        }).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,
            firstAmount: this.state.firstAmount,
            settlementAmount: this.state.settlementAmount,
            changeAmount: this.state.changeAmount,
            applicant: this.state.salesmanName,
            depName: this.state.depName,
            type: this.state.typeChange,
            contractPictureUrl: this.state.isNew
              ? newContractUrl : undefined,//合同替换件
          },
        }).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: [],
        newContractUrl: [],
        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);
        this.assistList(nextProps.uid);
        this.orderServiceList(nextProps.uid);
        // this.publicByOrder(nextProps.uid);
      }
      if (nextProps.userDetaile && nextProps.showDesc) {
        this.loaduser(nextProps.datauser);
        this.assistList(nextProps.datauser);
        this.orderServiceList(nextProps.datauser);
        // this.publicByOrder(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,
          userType: undefined,
          channelName: "",
          channelid: "",
          channelArr: [],
          selectSales: 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);
          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
              )
              : [];
            thisdata.contractPictureUrl = thisdata.contractPictureUrl
              ? splitUrl(
                thisdata.contractPictureUrl,
                ",",
                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: (
          <span style={{ color: "red" }}>
            删除后会将该项目下的所有催款节点自动清除！！！
          </span>
        ),
        onOk() {
          fn(record);
        },
        onCancel() { },
      });
    },
    viewConfirm(fn, record) {
      confirm({
        title: "确定删除此服务记录吗？",
        // content: (
        //   <span style={{ color: "red" }}>
        //     删除后会将该项目下的所有催款节点自动清除！！！
        //   </span>
        // ),
        onOk() {
          fn(record);
        },
        onCancel() { },
      });
    },
    changeAddPro() {
      // this.getpatentTypeList();
      this.setState({
        changeVisible: true,
        newData: this.state.proDataSource,
        // 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
      }
      let reg = /^([0]|[1-9][0-9]*)$/;
      if (
        !this.state.commodityQuantity ||
        !reg.test(this.state.commodityQuantity)
      ) {
        message.warning("请输入正确商品数量！");
        return
      }
      if (this.state.displayFees === 'block') {
        if (this.state.patentType === "" && !this.state.patentTransfer) {
          message.warning("请选择专利类型！");
          return
        }
        if (this.state.officialCost === '') {
          message.warning("请选择官费！");
          return
        }
        if (this.state.costReduction === "" && (this.state.patentType === 0 || this.state.patentType === 2) && this.state.officialCost === 1) {
          message.warning("请选择费减！");
          return
        }
      }
      if (isNaN(parseFloat(this.state.commodityPrice))) {
        message.warning("请输入正确的金额！");
        return;
      }
      if (this.state.addProjectType == "3") {// 3审计
        if (this.state.serviceLife.length === 0) {
          message.warning("请选择服务年限！");
          return
        }
        if (this.state.serviceLife.length != this.state.commodityQuantity) {
          message.warning("服务数量与服务年限不符！");
          return
        }
      }
      if (!this.state.main) {
        message.warning("请选择是否为主要项目！");
        return
      }
      if (this.state.addProjectType === 5) {// 5高新
        if (!this.state.declarationBatch) {
          message.warning("请选择企业要求申报批次!");
          return
        }
        if (!this.state.serviceYear) {
          message.warning("请选择申报年份!");
          return
        }
      }
      if (this.state.isVip == 6) {//会员
        if (this.state.yearSum === undefined) {
          message.warning("请选择会员总服务年限！");
          return
        }
        if (this.state.serviceLife.length === 0) {
          message.warning("请添加会员服务年限！");
          return
        }
        if (this.state.serviceLife.length != this.state.yearSum) {
          message.warning("会员服务年限与总年限不符合！");
          return
        }
        if (this.state.serviceYear === undefined) {
          message.warning("请选择本次派单年份！");
          return
        }
        if (this.state.contractTerm.length === 0) {
          message.warning("请填写合同期！");
          return
        }
      }
      this.setState({
        loading: true,
      });
      let type = 0;
      if (this.state.typeChange == 4 || this.state.typeChange == 5) {
        type = 1;
      }
      let infor = {
        commodityId: this.state.gid, //商品ID
        orderNo: this.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
        type,
      }

      if (this.state.displayFees === 'block') {
        infor.officialCost = this.state.officialCost //是否有官费
        infor.costReduction = (this.state.patentType === 0 || this.state.patentType === 2) ? (this.state.officialCost === 1 ? this.state.costReduction : 0) : 0//是否有费减
        infor.patentType = this.state.patentType //专利类型
      }
      if (this.state.isIso) {
        infor.ifCertificationFee = this.state.ifCertificationFee || undefined;//是否包含认证费用
      }
      if (this.state.addProjectType == "3") {//审计
        infor.serviceLife = JSON.stringify(this.state.serviceLife) //服务年限
      }
      if (this.state.addProjectType == "5") {//高新
        infor.declarationBatch = this.state.declarationBatch || 1//申报批次
        infor.serviceYear = this.state.serviceYear //申报年份
      }
      if (this.state.isVip == 6) {//会员
        infor.yearSum = this.state.yearSum //会员总服务年限
        infor.serviceLife = JSON.stringify(this.state.serviceLife) //会员服务年限
        infor.serviceYear = this.state.serviceYear //本次派单年份
        infor.contractTerm = JSON.stringify(this.state.contractTerm)//合同期
      }
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderChange/addChangeTask",
        data: infor,
        success: function (data) {
          let theArr = [];
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          } else {
            message.success("保存成功");
            this.nextCancel();
            this.proList();
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    changeDeletePro(record) {
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderChange/updateChangeTask",
        data: {
          id: record.id,
          type: 3,
          tid: record.tid,
          splitStatus: record.splitStatus,
        },
        success: function (data) {
          let theArr = [];
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          } else {
            message.success("删除成功");
            this.proList();
            this.cuiList();
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //点击新增变更催款节点
    changeAddCui() {
      this.state.cuiDataSource.push({
        key: this.state.cuiDataSource.length,
        money: "",
        dunSubject: undefined,
        orderNo: this.state.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 (isNaN(parseInt(record.money)) && !record.boStatus) {
        message.warning("请填写金额");
        return;
      } else if (isNaN(parseInt(record.money)) && record.boStatus) {
        message.warning("请填写比例");
        return;
      }
      if (record.boStatus) {
        if (
          typeof +record.money == "number" &&
          +record.money >= 0 &&
          +record.money <= 1
        ) {
          record.appropriationRatio = record.money;
        } else {
          message.warning("金额比例填写错误，比例范围0~1");
          return;
        }
      }
      if (!record.dunType && record.dunType != 0) {
        message.warning("请选择对应科目");
        return;
      }
      if (record.dunType != 1) {
        record.waitDay = "";
      }
      this.setState({
        loading: true,
      });
      if (record.boStatus) {
        $.ajax({
          url: globalConfig.context + "/api/admin/orderChange/addChangeDun",
          method: "post",
          data: {
            orderNo: record.orderNo,
            ctid: record.ctid,
            projectType: record.sort,
            dunType: record.dunType,
            appropriationRatio: record.appropriationRatio,
            waitDay: record.waitDay,
            effectiveCount: record.effectiveCount,
            cid: this.state.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.totalAmount === "") {
        message.warning("合同金额不能为空！");
        return false;
      }
      if (this.state.firstAmount === "") {
        message.warning("首付款金额不能为空！");
        return false;
      }
      if (this.state.totalAmount < this.state.firstAmount) {
        message.warning("首付款不能大于合同额！");
        return;
      }
      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(",");
      }
      let newContractUrl = [];
      if (this.state.newContractUrl.length) {
        let cArr = [];
        this.state.newContractUrl.map(function (item) {
          if (
            item.response &&
            item.response.data &&
            item.response.data.length
          ) {
            cArr.push(item.response.data);
          }
        });
        newContractUrl = cArr.join(",");
      }
      if (this.state.isNew && newContractUrl.length == 0) {
        message.warning("请上传新合同扫描件！");
        return
      }
      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,//合同额
          firstAmount: this.state.firstAmount,//首付款
          settlementAmount: this.state.settlementAmount,
          changeAmount: this.state.changeAmount,
          applicant: this.state.salesmanName,
          depName: this.state.depName,
          type: this.state.typeChange,
          contractPictureUrl: this.state.isNew
            ? newContractUrl : undefined,//合同替换件
        },
      }).done(
        function (data) {
          if (!data.error.length) {
            this.setState({
              loading: false,
            });
            message.success("发起变更成功");
            this.handleCancelclose();
          } else {
            message.warning(data.error[0].message);
            this.setState({
              loading: false,
            });
          }
        }.bind(this)
      );
    },
    editCui(record) {
      this.setState({
        editCuiVisible: true,
        editCuiMoney: record.appropriationRatio
          ? record.appropriationRatio
          : record.money,
        appropriationRatio: record.appropriationRatio,
        editCuiTid: record.tid,
        editCuiDid: record.did,
        editCuiId: record.id,
      });
    },
    editPro(record) {
      this.setState({
        editProVisible: true,
        dataInfor: record,
        newData: this.state.proDataSource,
      });

      // this.setState({
      //   editProVisible: true,
      //   editSplitStatus: record.splitStatus,
      //   editProMoney: record.commodityPrice,
      //   editProCommodityQuantity: record.commodityQuantity,
      //   editProTid: record.tid,
      //   editProId: record.id,
      // });
    },
    submitEditCui(type) {
      if (isNaN(parseFloat(this.state.editCuiMoney))) {
        if (type === 1) {
          message.warn("请输入比例");
        } else {
          message.warn("请输入金额");
        }
        return;
      }
      this.setState({
        loading: true,
      });
      let data = {
        id: this.state.editCuiId,
        type: this.state.editCuiTid ? 2 : 1,
        tid: this.state.editCuiTid,
      };
      if (type === 1) {
        data.appropriationRatio = this.state.editCuiMoney;
      } else {
        data.money = this.state.editCuiMoney;
      }
      $.ajax({
        url: globalConfig.context + "/api/admin/orderChange/updateChangeDun",
        method: "post",
        data,
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("修改成功！");
            this.cuiList();
            this.proList();
            this.setState({
              editCuiVisible: false,
            });
          } else {
            message.warning(data.error[0].message);
          }
        }.bind(this)
      );
    },
    submitEditPro() {
      this.setState({
        loading: true,
      });
      $.ajax({
        url: globalConfig.context + "/api/admin/orderChange/updateChangeTask",
        method: "post",
        data: {
          id: this.state.editProId,
          type: this.state.editProTid ? 2 : 1,
          commodityPrice: this.state.editProMoney,
          commodityQuantity: this.state.editProCommodityQuantity,
          tid: this.state.editProTid,
        },
      }).done(
        function (data) {
          this.setState({
            loading: false,
          });
          if (!data.error.length) {
            message.success("修改成功！");
            this.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,
      });
    },
    downImgCont() {
      let num = 0;
      for (let i = 0; i < this.state.contentUrl.length; i++) {
        if (this.state.contentUrl[i].url == this.state.previewImage) {
          num = i;
        }
      }
      if (num == this.state.replenishUrl.length - 1) {
        return message.warning("已经是最后一张了哦");
      }
      this.state.previewImage = this.state.contentUrl[num + 1].url;
      this.setState({
        previewImage: this.state.previewImage,
        rotateDeg: 0,
      });
    },
    upImgCont() {
      let num = 0;
      for (let i = 0; i < this.state.contentUrl.length; i++) {
        if (this.state.contentUrl[i].url == this.state.previewImage) {
          num = i;
        }
      }
      if (num == 0) {
        return message.warning("已经是第一张了哦");
      }
      this.state.previewImage = this.state.contentUrl[num - 1].url;
      this.setState({
        previewImage: this.state.previewImage,
        rotateDeg: 0,
      });
    },
    rotateCont() {
      let rotateDeg = this.state.rotateDeg + 90;
      this.setState({
        rotateDeg,
      });
    },
    showConfirmChange(fn, record) {
      confirm({
        title: "确定取消本次变更吗？",
        content: (
          <span style={{ color: "red" }}>取消后本次变更将作废！！！</span>
        ),
        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)
      );
    },
    // 新增协单人员
    submitOrder() {
      if (!this.state.coor) {
        message.warning("请选择协单人员");
        return;
      }
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/addAssist",
        data: {
          orderNo: this.state.orderNo,
          aid: this.state.coor,
        },
        success: function (data) {
          if (data.error.length) {
            this.setState({
              loading: false,
            });
            message.warning(data.error[0].message);
          } else {
            this.setState({
              loading: false,
              coor: '',
              dataSourceView: [],
              coorVisible: "none",
            });
            this.assistList();
            message.success("添加成功");
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    // // 删除协单人员
    // onClosable(id) {
    //   $.ajax({
    //     method: "post",
    //     dataType: "json",
    //     crossDomain: false,
    //     url: globalConfig.context + "/api/admin/newOrder/deleteAssist",
    //     data: {
    //       id: id,
    //     },
    //     success: function (data) {
    //       if (!data.error.length) {
    //         message.warning(data.error[0].message);
    //       } else {
    //         message.success("删除成功");
    //       }
    //     }.bind(this),
    //   }).always(
    //     function () {
    //       this.setState({
    //         loading: false,
    //       });
    //     }.bind(this)
    //   );
    // },
    // 新增上门服务数据
    submitView() {
      if (!this.state.dateView) {
        message.warning("请选择上门日期");
        return;
      } else if (!this.state.contentView) {
        message.warning("请填写服务内容");
        return;
      }
      this.setState({
        loading: true,
      });
      $.ajax({
        method: "post",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/addOrderService",
        data: {
          orderNo: this.state.orderNo,
          serviceTimes: this.state.dateView,
          content: this.state.contentView,
          remarks: this.state.remarksView,
        },
        success: function (data) {
          if (data.error.length) {
            this.setState({
              loading: false,
            });
            message.warning(data.error[0].message);
          } else {
            this.setState({
              loading: false,
              modalView: false,
              viewKey: this.state.viewKey + 1,
              dateView: '',
              contentView: '',
              remarksView: '',
              contentViewLength: 0,
              contentViewLength1: 0,
            });
            message.success("添加成功");
            this.orderServiceList();
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //获取上门人员
    assistList(record) {
      this.state.orderList = [];
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/assistList",
        data: {
          orderNo: record ? record.orderNo : this.props.datauser.orderNo,
        },
        success: function (data) {
          if (data.error.length) {
            this.setState({
              loading: false,
            });
            message.warning(data.error[0].message);
          } else {
            this.setState({
              personnel: data.data,
            });
            // message.success("添加成功");
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    // 上门服务列表
    orderServiceList(record) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/orderServiceList",
        data: {
          orderNo: record ? record.orderNo : this.props.datauser.orderNo,
        },
        success: function (data) {
          if (data.error.length) {
            this.setState({
              loading: false,
            });
            message.warning(data.error[0].message);
          } else {
            this.setState({
              dataView: data.data,
            });
            // message.success("添加成功");
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    // 删除上门服务列表
    delectView(record) {
      $.ajax({
        method: "POST",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/newOrder/deleteOrderService",
        data: {
          id: record.id,
        },
        success: function (data) {
          if (data.error.length) {
            this.setState({
              loading: false,
            });
            message.warning(data.error[0].message);
          } else {
            // this.setState({
            //   publicView: data.data,
            // });
            this.orderServiceList();
            message.success("删除成功");
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    // 上门查看
    publicByOrder() {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/release/publicByOrder",
        data: {
          orderNo: this.state.orderNo,
        },
        success: function (data) {
          if (data.error.length) {
            this.setState({
              loading: false,
            });
            message.warning(data.error[0].message);
          } else {
            this.setState({
              publicView: data.data,
            });
            // message.success("添加成功");
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    // 获取动态数据名称
    handleSearch(value) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/customer/listAdminByName",
        data: {
          adminName: value,
        },
        success: function (data) {
          if (data.error.length) {
            this.setState({
              loading: false,
            });
            message.warning(data.error[0].message);
          } else {
            this.setState({
              dataSourceView: data.data,
            });
            // message.success("添加成功");
          }
        }.bind(this),
      }).always(
        function () {
          this.setState({
            loading: false,
          });
        }.bind(this)
      );
    },
    //
    onSelectView(v, o) {
      this.setState({
        coor: v,
      });
    },
    //
    handleClose(removedTag) {
      let serviceLife = this.state.serviceLife.filter(tag => { return tag !== removedTag });
      this.setState({ serviceLife, serviceYear: undefined });
    },


    render() {
      const expandedRowRender = (e) => {
        const data = e.list;
        if (e.cSort != 6) {
          let columns = [];
          if (data instanceof Array && data.length) {
            columns = [
              {
                title: "变更状态",
                dataIndex: "type",
                key: "type",
                render: (text, record) => {
                  let str = "";
                  let color = "";
                  if (text == 1) {
                    str = "增";
                    color = "#87d068";
                  } else if (text == 2) {
                    str = "改";
                    color = "#108ee9";
                  } else if (text == 3) {
                    str = "删";
                    color = "#f50";
                  }
                  return (
                    <span>
                      <Tag
                        color={color}
                        style={{ display: text == 0 ? "none" : "inline-block" }}
                      >
                        {str}
                      </Tag>
                      {/* {record.splitStatus == 1 ? (
                        <Tag
                          color="#108ee9"
                        // onClick={e => {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                        >
                          父项目
                        </Tag>
                      ) : (
                        ""
                      )}
                      {record.splitStatus == 2 ? (
                        <Tag
                          color="#108ee9"
                        // onClick={e => {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                        >
                          子项目
                        </Tag>
                      ) : (
                        ""
                      )} */}
                    </span>
                  );
                },
              },
              {
                title: "业务项目名称",
                dataIndex: "commodityName",
                key: "commodityName",
                render: (text, record) => {
                  return <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}</span>
                }
              },
              {
                title: "项目类别",
                dataIndex: "cname",
                key: "cname",
              },
              {
                title: "项目数量",
                dataIndex: "commodityQuantity",
                key: "commodityQuantity",
                width: 50,
              },
              {
                title: "金额(万元)",
                dataIndex: "commodityPrice",
                key: "commodityPrice",
                width: 50,
                render: (text, record) => {
                  if (record.splitStatus == 2) {
                    return "/";
                  } else {
                    return text;
                  }
                },
              },
              {
                title: "主要项目",
                dataIndex: "main",
                key: "main",
                width: 50,
                render: (text) => {
                  return text ? "是" : "否";
                },
              },
              {
                title: "项目负责人",
                dataIndex: "receiverName",
                key: "receiverName",
              },
              {
                title: "项目说明",
                dataIndex: "taskComment",
                key: "taskComment",
                render: (text) => {
                  return (
                    <Tooltip title={text}>
                      <div
                        style={{
                          width: 100,
                          overflow: "hidden",
                          whiteSpace: "nowrap",
                          textOverflow: "ellipsis",
                        }}
                      >{text}</div>
                    </Tooltip>
                  )
                },
              },
              {
                title: "操作",
                dataIndex: "ABC",
                key: "ABC",
                render: (text, record) => {
                  return (
                    <div>
                      <Button
                        onClick={(e) => {
                          e.stopPropagation();
                          this.showConfirm(this.changeDeletePro, record);
                        }}
                        disabled={this.state.listFlag}
                        style={{
                          display: this.state.displayList ? "none" : "block",
                        }}
                      >
                        删除
                      </Button>
                    </div>
                  );
                },
              },
            ];
            return (
              <Table
                columns={columns}
                scroll={{ x: "max-content", y: 0 }}
                dataSource={data}
                pagination={false}
                onRowDoubleClick={this.state.listFlag ? this.not : this.editPro}
              />
            );
          } else {
            columns = [];
            return (
              <p
                style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
              >
                此项目暂未拆分
              </p>
            );
          }
        } else {
          let columns = [];
          if (data instanceof Array && data.length) {
            columns = [
              {
                title: "变更状态",
                dataIndex: "type",
                key: "type",
                render: (text, record) => {
                  let str = "";
                  let color = "";
                  if (text == 1) {
                    str = "增";
                    color = "#87d068";
                  } else if (text == 2) {
                    str = "改";
                    color = "#108ee9";
                  } else if (text == 3) {
                    str = "删";
                    color = "#f50";
                  }
                  return (
                    <span>
                      <Tag
                        color={color}
                        style={{ display: text == 0 ? "none" : "inline-block" }}
                      >
                        {str}
                      </Tag>
                      {/* {record.splitStatus == 1 ? (
                        <Tag
                          color="#108ee9"
                        >
                          父项目
                        </Tag>
                      ) : (
                        ""
                      )}
                      {record.splitStatus == 2 ? (
                        <Tag
                          color="#108ee9"
                        >
                          子项目
                        </Tag>
                      ) : (
                        ""
                      )} */}
                    </span>
                  );
                },
              },
              {
                title: "负责人",
                dataIndex: "receiverName",
                key: "receiverName",
              },
              {
                title: "负责人电话",
                dataIndex: "receiverMobile",
                key: "receiverMobile",
              },
              {
                title: "项目状态",
                dataIndex: "projectStatus",
                key: "projectStatus",
                render: (text) => {
                  return getProjectName(text);
                },
              },
              {
                title: "本次派单",
                dataIndex: "serviceYear",
                key: "serviceYear",
              },
              {
                title: "项目说明",
                dataIndex: "taskComment",
                key: "taskComment",
                render: (text) => {
                  return (
                    <Tooltip title={text}>
                      <div
                      // style={{
                      //   width: 100,
                      //   overflow: "hidden",
                      //   whiteSpace: "nowrap",
                      //   textOverflow: "ellipsis",
                      // }}
                      >{text}</div>
                    </Tooltip>
                  )
                },
              },
            ];
            return (
              <Table
                columns={columns}
                dataSource={data}
                pagination={false}
              />
            );
          } else {
            columns = [];
            return (
              <p
                style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
              >
                暂无派单
              </p>
            );
          }
        }

      };
      const expandedRowRenderDetail = (e) => {
        const data = e.list;
        let columns = [];
        if (data instanceof Array && data.length) {
          if (e.cSort == 6) {
            columns = [
              {
                title: "变更状态",
                dataIndex: "type",
                key: "type",
                render: (text, record) => {
                  let str = "";
                  let color = "";
                  if (text == 1) {
                    str = "增";
                    color = "#87d068";
                  } else if (text == 2) {
                    str = "改";
                    color = "#108ee9";
                  } else if (text == 3) {
                    str = "删";
                    color = "#f50";
                  }
                  return (
                    <span>
                      <Tag
                        color={color}
                        style={{ display: text == 0 ? "none" : "inline-block" }}
                      >
                        {str}
                      </Tag>
                      {/* {record.splitStatus == 1 ? (
                        <Tag
                          color="#108ee9"
                        // onClick={e => {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                        >
                          父项目
                        </Tag>
                      ) : (
                        ""
                      )}
                      {record.splitStatus == 2 ? (
                        <Tag
                          color="#108ee9"
                        // onClick={e => {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                        >
                          子项目
                        </Tag>
                      ) : (
                        ""
                      )} */}
                    </span>
                  );
                },
              },
              {
                title: "负责人",
                dataIndex: "receiverName",
                key: "receiverName",
              },
              {
                title: "负责人电话",
                dataIndex: "receiverMobile",
                key: "receiverMobile",
              },
              {
                title: "项目状态",
                dataIndex: "projectStatus",
                key: "projectStatus",
                render: (text) => {
                  return getProjectName(text);
                },
              },
              {
                title: "本次派单",
                dataIndex: "serviceYear",
                key: "serviceYear",
              },
              {
                title: "项目说明",
                dataIndex: "taskComment",
                key: "taskComment",
                render: (text) => {
                  return (
                    <Tooltip title={text}>
                      <div
                      // style={{
                      //   width: 100,
                      //   overflow: "hidden",
                      //   whiteSpace: "nowrap",
                      //   textOverflow: "ellipsis",
                      // }}
                      >{text}</div>
                    </Tooltip>
                  )
                },
              },
            ];
          } else {
            columns = [
              {
                title: "变更状态",
                dataIndex: "type",
                key: "type",
                render: (text, record) => {
                  let str = "";
                  let color = "";
                  if (text == 1) {
                    str = "增";
                    color = "#87d068";
                  } else if (text == 2) {
                    str = "改";
                    color = "#108ee9";
                  } else if (text == 3) {
                    str = "删";
                    color = "#f50";
                  }
                  return (
                    <span>
                      <Tag
                        color={color}
                        style={{ display: text == 0 ? "none" : "inline-block" }}
                      >
                        {str}
                      </Tag>
                      {/* {record.splitStatus == 1 ? (
                        <Tag
                          color="#108ee9"
                        // onClick={e => {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                        >
                          父项目
                        </Tag>
                      ) : (
                        ""
                      )}
                      {record.splitStatus == 2 ? (
                        <Tag
                          color="#108ee9"
                        // onClick={e => {
                        //   e.stopPropagation();
                        //   this.showRes(record);
                        // }}
                        >
                          子项目
                        </Tag>
                      ) : (
                        ""
                      )} */}
                    </span>
                  );
                },
              },
              {
                title: "业务项目名称",
                dataIndex: "commodityName",
                key: "commodityName",
                render: (text, record) => {
                  return (
                    <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span></span>
                  )
                }
              },
              {
                title: "项目类别",
                dataIndex: "cname",
                key: "cname",
              },
              {
                title: "项目数量",
                dataIndex: "commodityQuantity",
                key: "commodityQuantity",
                width: 50,
              },
              {
                title: "金额(万元)",
                dataIndex: "commodityPrice",
                key: "commodityPrice",
                width: 50,
                render: (text, record) => {
                  if (record.splitStatus == 2) {
                    return "/";
                  } else {
                    return text;
                  }
                },
              },
              {
                title: "主要项目",
                dataIndex: "main",
                key: "main",
                width: 50,
                render: (text) => {
                  return text ? "是" : "否";
                },
              },
              {
                title: "项目负责人",
                dataIndex: "receiverName",
                key: "receiverName",
              },
              {
                title: "项目说明",
                dataIndex: "taskComment",
                key: "taskComment",
                render: (text) => {
                  return (
                    <Tooltip title={text}>
                      <div
                        style={{
                          width: 100,
                          overflow: "hidden",
                          whiteSpace: "nowrap",
                          textOverflow: "ellipsis",
                        }}
                      >{text}</div>
                    </Tooltip>
                  )
                },
              },
            ];
          }
          return (
            <Table
              columns={columns}
              scroll={{ x: "max-content", y: 0 }}
              dataSource={data}
              pagination={false}
            />
          );
        } else {
          columns = [];
          return (
            <p
              style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
            >
              {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
            </p>
          );
        }
      };
      const expandedRowRenderVip = (e) => {
        const data = e.splitList;
        let columns = [];
        if (data instanceof Array && data.length) {
          if (e.cSort == 6) {
            columns = [
              {
                title: "负责人",
                dataIndex: "receiverName",
                key: "receiverName",
              },
              {
                title: "负责人电话",
                dataIndex: "receiverMobile",
                key: "receiverMobile",
              },
              {
                title: "项目状态",
                dataIndex: "projectStatus",
                key: "projectStatus",
                render: (text) => {
                  return getProjectName(text);
                },
              },
              {
                title: "本次派单",
                dataIndex: "serviceYear",
                key: "serviceYear",
              },
              {
                title: "项目说明",
                dataIndex: "taskComment",
                key: "taskComment",
                render: (text) => {
                  return (
                    <Tooltip title={text}>
                      <div
                        style={{
                          width: 100,
                          overflow: "hidden",
                          whiteSpace: "nowrap",
                          textOverflow: "ellipsis",
                        }}
                      >{text}</div>
                    </Tooltip>
                  )
                },
              },
            ];
          } else {
            columns = [
              {
                title: "子项目名称",
                dataIndex: "taskName",
                key: "taskName"
              },
              {
                title: "子项目数量",
                dataIndex: "commodityQuantity",
                key: "commodityQuantity"
              },
              {
                title: "拆分操作人",
                dataIndex: "splitAname",
                key: "splitAname"
              },
              {
                title: "项目负责人",
                dataIndex: "receiverName",
                key: "receiverName"
              },
              {
                title: "拆分时间",
                dataIndex: "splitTimes",
                key: "splitTimes"
              }
            ]
          }
          return (
            <Table
              columns={columns}
              dataSource={data}
              pagination={false}
            />
          );
        } else {
          columns = [];
          return (
            <p
              style={{ fontWeight: "bold", color: "red", textAlign: "center" }}
            >
              {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
            </p>
          );
        }
      };
      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: <span>{this.state.contacts}</span>,
        },
        {
          label: "客户名称",
          content: (
            <span>
              {this.state.userName}
              <EnterpriseNameChange
                type="journal"
                style={{ marginLeft: 10 }}
                enterpriseId={this.state.orderUid}
              />
            </span>
          ),
        },
        {
          label: "联系人电话",
          content: <span>{this.state.contactMobile}</span>,
        },
        {
          label: "企业法人",
          content: <span>{this.state.legalPerson}</span>,
        },
        {
          label: "法人电话",
          content: <span>{this.state.legalPersonTel}</span>,
        },
        // {
        //   label: "签单金额(万元)",
        //   content: <span>{this.state.totalAmount}</span>
        // },
        // {
        //   label: "首付金额(万元)",
        //   content: <span>{this.state.firstAmount}</span>
        // },
        // {
        //   label: "特批立项",
        //   content: <span>{getApprovedState(this.state.approval)}</span>
        // },
        // {
        //   label: "合同签订时间",
        //   content: <span>{this.state.signDate}</span>
        // },
        // {
        //   label: "订单部门",
        //   content: <span>{this.state.depName}</span>
        // }
      ];
      let dataSources = this.state.customerArr || [];
      let cdataSources = this.state.channelArr || [];
      const cuiDataList = this.state.contactList || [];
      let departmentArr = this.state.departmentArr || [];
      let options = this.state.states
        ? dataSources.map((group) => (
          <Select.Option key={group.id} value={group.name}>
            {group.name}
          </Select.Option>
        ))
        : dataSources.map((group, index) => (
          <Select.Option key={index} value={group.bname}>
            {group.bname}
          </Select.Option>
        ));
      let channeloptions = cdataSources.map((group) => (
        <Select.Option key={group.id} value={group.name}>
          {group.name}
        </Select.Option>
      ));
      let dataSourceView = this.state.dataSourceView ? this.state.dataSourceView.map((group, index) => (
        <Select.Option key={index} value={group.aid}>
          {group.name}
        </Select.Option>
      )) : '';
      let children = vipYear.map(its => (
        <Option key={its}>{its}</Option>
      ));
      let { closable, isVip, histYear, isEdit } = this.state;
      let assistList = this.assistList;
      const { addPop = "" } = this.props
      return (
        <div>
          {this.state.resVisible ? (
            <ResolutionDetail
              cancel={this.resCancel}
              detail={this.state.resRecord}
              visible={this.state.resVisible}
              id={this.state.resRecord.orderNo}
            />
          ) : (
            ""
          )}
          <Modal
            maskClosable={false}
            visible={this.state.visible}
            onOk={this.handleOk}
            onCancel={this.handleCancelclose}
            width={!this.props.userDetaile ? "600px" : "1200px"}
            title={!this.props.userDetaile ? "创建订单" : ""}
            footer=""
            className="admin-desc-content"
          >
            <Form
              layout="horizontal"
              onSubmit={this.handleSubmit}
              style={{ paddingBottom: "40px" }}
            >
              <Spin spinning={this.state.loading}>
                <div className="clearfix">
                  {
                    addPop == "add" &&
                    <div className="clearfix">
                      <div className="clearfix">
                        <FormItem {...formItemLayout} label="订单类型">
                          <Select
                            placeholder="请选择订单类型"
                            style={{ width: "200px" }}
                            value={this.state.orderType}
                            onChange={(e) => {
                              this.setState({ orderType: e });
                            }}
                          >
                            {orderTypes.map(function (item) {
                              return (
                                <Select.Option key={item.value}>
                                  {item.key}
                                </Select.Option>
                              );
                            })}
                          </Select>
                          <span className="mandatory">*</span>
                        </FormItem>
                      </div>
                      <FormItem {...formItemLayout} label="客户所属类型">
                        <Select
                          placeholder="请选择客户所属类型"
                          style={{ width: "200px" }}
                          value={this.state.userType}
                          onChange={(e) => {
                            this.setState({
                              userType: e,
                              customerArr: [],
                              autoId: "",
                              customerName: "",
                              selectSales: undefined
                            });
                          }}
                        >
                          {customerType.map(function (item) {
                            return (
                              <Select.Option key={item.value}>
                                {item.key}
                              </Select.Option>
                            );
                          })}
                        </Select>
                      </FormItem>
                      <div className="clearfix">
                        <FormItem {...formItemLayout} label="客户名称">
                          <AutoComplete
                            className="certain-category-search"
                            dropdownClassName="certain-category-search-dropdown"
                            dropdownMatchSelectWidth={false}
                            dropdownStyle={{ width: 200 }}
                            size="large"
                            style={{ width: "200px" }}
                            dataSource={options}
                            placeholder="输入名称"
                            value={this.state.customerName}
                            onChange={this.customerChange}
                            filterOption={true}
                            onSelect={this.selectAutoCUT}
                          >
                            <Input />
                          </AutoComplete>
                          <span className="mandatory">*</span>
                        </FormItem>
                      </div>
                      <FormItem {...formItemLayout} label="销售类型">
                        <Select
                          placeholder="请选择销售类型"
                          style={{ width: "200px" }}
                          value={this.state.selectSales}
                          onChange={(e) => {
                            this.setState({
                              selectSales: e,
                            });
                          }}
                        >
                          {(this.state.userType == "0"
                            ? ssalesType : this.state.userType == "1"
                              ? qsalesType : []).map(function (item) {
                                return (
                                  <Select.Option key={item.value} disabled={item.value == "5"}>
                                    {item.key}
                                  </Select.Option>
                                );
                              })}
                        </Select>
                      </FormItem>
                      {
                        (this.state.selectSales == "4" || this.state.selectSales == "5") &&
                        <FormItem {...formItemLayout} label="描述">
                          <TextArea
                            placeholder="请填写描述"
                            style={{ width: 300, height: 80 }}
                            onChange={(e) => {
                              this.setState({
                                other: e.target.value
                              })
                            }}
                          />
                        </FormItem>
                      }
                      {
                        this.state.selectSales == "3" &&
                        <div className="clearfix">
                          <FormItem {...formItemLayout} label="渠道名称">
                            <AutoComplete
                              className="certain-category-search"
                              dropdownClassName="certain-category-search-dropdown"
                              dropdownMatchSelectWidth={false}
                              dropdownStyle={{ width: 200 }}
                              size="large"
                              style={{ width: "200px" }}
                              dataSource={channeloptions}
                              placeholder="请输入渠道关键字"
                              value={this.state.channelName}
                              onChange={this.channelChange}
                              filterOption={true}
                              onSelect={this.goSelect}
                            >
                              <Input />
                            </AutoComplete>
                            <span className="mandatory">*</span>
                          </FormItem>
                        </div>
                      }
                      <div className="addSave" style={{ marginTop: "15px" }}>
                        <Button
                          className="cancel"
                          type="primary"
                          // onClick={this.handleCancel}
                          style={{ marginLeft: "150px" }}
                          htmlType="submit"
                        >
                          开单
                        </Button>
                        <Button
                          className="cancel"
                          type="ghost"
                          onClick={this.handleCancelclose}
                          style={{ marginLeft: "50px" }}
                        >
                          取消
                        </Button>
                      </div>
                    </div>
                  }
                  {
                    addPop == "edit" &&
                    <Tabs
                      onChange={this.callback}
                      activeKey={this.state.activeKey}
                      tabBarExtraContent={
                        <div
                          style={{ fontWeight: "bold", paddingRight: "15px" }}
                        >
                          <OrderItemStatus deleteSign={this.state.deleteSign} />
                        </div>
                      }
                    >
                      <TabPane tab={"最新订单"} key="1">
                        <div className="clearfix">
                          <div className="clearfix">
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="合同编号"
                            >
                              {<span>{this.state.contractNo}</span>}
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="订单编号"
                            >
                              <span>{this.state.orderNo}</span>
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="流程状态"
                            >
                              <span>
                                {getProcessStatus(this.state.processStatus)}
                              </span>
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="销售类型"
                            >
                              <span>
                                {(["私有客户-", "签单客户-"][this.state.updatas.userType] || " ") +
                                  (salesList[this.state.updatas.salesType] || "")}
                              </span>
                              {
                                this.state.processStatus === 0 &&
                                <UpdateSales
                                  orderNo={this.state.orderNo}
                                  updatas={this.state.updatas}
                                  onRefresh={
                                    e => {
                                      let ups = this.state.updatas
                                      ups.salesType = e.salesType
                                      if (e.salesType == "3") {
                                        ups.channelId = e.channelId
                                        ups.other = e.other
                                      } else if (e.salesType == "4" || e.salesType == "5") {
                                        ups.other = e.other
                                      }
                                      this.setState({
                                        updatas: ups,
                                        userType: ups.userType
                                      })
                                    }
                                    // this.loaduser.bind(this, {orderNo: this.state.orderNo })
                                  }
                                />
                              }
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="结算状态"
                            >
                              <span>
                                {getLiquidationStatus(
                                  this.state.liquidationStatus
                                )}
                              </span>
                            </FormItem>
                            {this.state.processStatus === 0 ? (
                              <div className="clearfix">
                                <FormItem
                                  className="half-item"
                                  {...formItemLayout}
                                  label="特批立项"
                                >
                                  <Select
                                    placeholder="请选择客户所属类型"
                                    style={{ width: "240px" }}
                                    value={["非特批", "特批", "特批通过", "特批驳回", "特批", "特批通过", "特批驳回"][Number(this.state.approval)]
                                    }
                                    onChange={(e) => {
                                      this.setState({ approval: e });
                                    }}
                                  >
                                    <Select.Option key={0}>非特批</Select.Option>
                                    <Select.Option key={1}>特批</Select.Option>
                                  </Select>
                                </FormItem>
                                <FormItem
                                  className="half-item"
                                  {...formItemLayout}
                                  label={
                                    <span>
                                      <strong style={{ color: "#f00" }}>*</strong>
                                      合同签订时间
                                    </span>
                                  }
                                >
                                  <DatePicker
                                    className="signDateRef"
                                    style={{
                                      marginTop: "2px",
                                      // width: "240px",
                                      height: "27px",
                                    }}
                                    showTime
                                    format="YYYY-MM-DD"
                                    onOk={() => { }}
                                    value={
                                      this.state.signDate
                                        ? moment(this.state.signDate)
                                        : null
                                    }
                                    onChange={(data, dataString) => {
                                      this.setState({ signDate: dataString });
                                    }}
                                  />
                                </FormItem>
                                <FormItem
                                  className="half-item"
                                  {...formItemLayout}
                                  label="订单部门"
                                >
                                  <Select
                                    placeholder="请选择订单部门"
                                    style={{ width: 240 }}
                                    value={this.state.organizationSearch}
                                    onChange={(e) => {
                                      this.setState({ organizationSearch: e });
                                    }}
                                  >
                                    {departmentArr.map(function (item) {
                                      return (
                                        <Select.Option key={item.id}>
                                          {item.name}
                                        </Select.Option>
                                      );
                                    })}
                                  </Select>
                                </FormItem>
                              </div>
                            ) : (
                              <div className="clearfix">
                                <FormItem
                                  className="half-item"
                                  {...formItemLayout}
                                  label="特批立项"
                                >
                                  <span>
                                    {/* {["非特批", "特批待审核", "特批通过", "特批驳回"][this.state.approval]} */}
                                    {getApprovedState(this.state.approval)}
                                  </span>
                                </FormItem>
                                <FormItem
                                  className="half-item"
                                  {...formItemLayout}
                                  label="合同签订时间"
                                >
                                  <span>{this.state.signDate}</span>
                                </FormItem>
                                <FormItem
                                  className="half-item"
                                  {...formItemLayout}
                                  label="订单部门"
                                >
                                  <span>{this.state.depName}</span>
                                </FormItem>
                                <FormItem
                                  className="half-item"
                                  {...formItemLayout}
                                  label="是否外包"
                                >
                                  <span>
                                    {this.state.outsource == 0 ? "否" : "是"}
                                  </span>
                                </FormItem>
                              </div>
                            )}
                          </div>
                          <h3
                            style={{
                              marginLeft: 10,
                              fontWeight: 800,
                              marginBottom: 10,
                            }}
                          >
                            收款项目
                          </h3>
                          {this.state.processStatus === 0 ? (
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="签单金额(万元)"
                              >
                                <Input
                                  placeholder="签单金额"
                                  ref="totalAmountRef"
                                  value={this.state.totalAmount}
                                  onChange={(e) => {
                                    this.setState({
                                      totalAmount: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="首付金额(万元)"
                              >
                                <Input
                                  placeholder="请输入实签首款金额"
                                  ref="firstAmountRef"
                                  value={this.state.firstAmount}
                                  onChange={(e) => {
                                    this.setState({
                                      firstAmount: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="已收款项"
                              >
                                <span>
                                  {this.state.settlementAmount + "万元"}
                                </span>
                                {/* {this.state.settlementAmount ? (
                                  <Button
                                    type="primary"
                                    onClick={this.tuikuan}
                                    style={{
                                      float: "right",
                                      marginRight: "50px",
                                      marginBottom: "15px"
                                    }}
                                  >
                                    退单
                                  </Button>
                                ) : (
                                  ""
                                )} */}
                              </FormItem>
                            </div>
                          ) : (
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="签单金额(万元)"
                              >
                                <span>{this.state.totalAmount}</span>
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="首付金额(万元)"
                              >
                                <span>{this.state.firstAmount}</span>
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="已收款项"
                              >
                                <span>
                                  {this.state.settlementAmount + "万元"}
                                </span>
                                {/* {this.state.settlementAmount ? (
                                  <Button
                                    type="primary"
                                    onClick={this.tuikuan}
                                    style={{
                                      float: "right",
                                      marginRight: "50px",
                                      marginBottom: "15px"
                                    }}
                                  >
                                    退单
                                  </Button>
                                ) : (
                                  ""
                                )} */}
                              </FormItem>
                            </div>
                          )}
                          <h3
                            style={{
                              marginLeft: 10,
                              fontWeight: 800,
                              marginBottom: 10,
                            }}
                          >
                            联系信息
                          </h3>
                          {this.state.processStatus == 0 ? (
                            <div className="clearfix">
                              <div className="clearfix">
                                <FormItem
                                  className="half-item"
                                  style={{ width: "80%" }}
                                  labelCol={{ span: 5 }}
                                  wrapperCol={{ span: 18 }}
                                  label="客户名称"
                                >
                                  <span>{this.state.userName}</span>
                                  <EnterpriseNameChange
                                    type="journal"
                                    style={{ marginLeft: 10 }}
                                    enterpriseId={this.state.orderUid}
                                  />
                                </FormItem>
                              </div>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="企业联系人"
                              >
                                <Input
                                  placeholder="请输入联系人"
                                  ref="signTotalAmount"
                                  value={this.state.contacts}
                                  onChange={(e) => {
                                    this.setState({ contacts: e.target.value });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="联系人电话"
                              >
                                <Input
                                  placeholder="请输入联系人电话"
                                  ref="signTotalAmount"
                                  value={this.state.contactMobile}
                                  onChange={(e) => {
                                    this.setState({
                                      contactMobile: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="企业法人"
                              >
                                <Input
                                  placeholder="请输入法人"
                                  ref="signTotalAmount"
                                  value={this.state.legalPerson}
                                  onChange={(e) => {
                                    this.setState({
                                      legalPerson: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="法人电话"
                              >
                                <Input
                                  placeholder="请输入法人电话"
                                  ref="signTotalAmount"
                                  value={this.state.legalPersonTel}
                                  onChange={(e) => {
                                    this.setState({
                                      legalPersonTel: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                            </div>
                          ) : (
                            <div className="clearfix">
                              {formItemList.map((data, index) => {
                                return (
                                  <FormItem
                                    className="half-item"
                                    {...formItemLayout}
                                    key={index}
                                    label={data.label}
                                  >
                                    {data.content}
                                  </FormItem>
                                );
                              })}
                            </div>
                          )}
                          <div className="clearfix">
                            {this.state.processStatus == 0 ? (
                              <div>
                                <FormItem
                                  labelCol={{ span: 4 }}
                                  wrapperCol={{ span: 18 }}
                                  label={
                                    <span>
                                      <strong style={{ color: "#f00" }}>
                                        *
                                      </strong>
                                      合同扫描件
                                    </span>
                                  }
                                >
                                  <PicturesWall
                                    domId={"addService1"}
                                    fileList={this.getOrgCodeUrl}
                                    pictureUrl={this.state.orgCodeUrl}
                                    url="/api/admin/order/uploadOrderImg"
                                    sign=""
                                  />
                                  <p>图片建议：要清晰。</p>
                                  <Button
                                    style={{
                                      float: "right",
                                      marginRight: "140px",
                                      marginTop: "20px",
                                    }}
                                    onClick={this.getOrderLog}
                                  >
                                    查看订单日志
                                  </Button>
                                </FormItem>
                                <FormItem
                                  labelCol={{ span: 4 }}
                                  wrapperCol={{ span: 18 }}
                                  label={<span>补充协议</span>}
                                >
                                  <PicturesWall
                                    domId={"addService2"}
                                    fileList={this.getReplenishUrl}
                                    pictureUrl={this.state.replenishUrl}
                                    url="/api/admin/order/uploadOrderImg"
                                    sign=""
                                  />
                                  <p>图片建议：要清晰。</p>
                                </FormItem>
                              </div>
                            ) : (
                              <div>
                                <FormItem
                                  labelCol={{ span: 4 }}
                                  wrapperCol={{ span: 18 }}
                                  label="合同扫描件"
                                >
                                  <div
                                    style={{
                                      paddingTop: "10px",
                                      paddingBottom: "10px",
                                    }}
                                  >
                                    {this.state.orgCodeUrl &&
                                      this.state.visible &&
                                      this.state.activeKey === "1" ? (
                                      <ImgList
                                        domId={"addService3"}
                                        fileList={this.state.orgCodeUrl}
                                        ItemWidth={"96px"}
                                      />
                                    ) : (
                                      <div />
                                    )}
                                  </div>
                                  <Modal
                                    maskClosable={false}
                                    footer={null}
                                    width={"50%"}
                                    visible={this.state.previewVisible}
                                    onCancel={() => {
                                      this.setState({
                                        previewVisible: false,
                                        rotateDeg: 0,
                                      });
                                    }}
                                  >
                                    <img
                                      alt=""
                                      style={{
                                        width: "100%",
                                        transform: `rotate(${this.state.rotateDeg}deg)`,
                                      }}
                                      src={this.state.previewImage || ""}
                                    />
                                    <Button
                                      onClick={this.rotate}
                                      style={{
                                        position: "relative",
                                        left: "50%",
                                        transform: "translateX(-50%)",
                                      }}
                                    >
                                      旋转
                                    </Button>
                                    <Button
                                      onClick={this.upImg}
                                      style={{
                                        position: "absolute",
                                        left: -81,
                                        top: "50%",
                                        transform: "translateY(-50%)",
                                      }}
                                    >
                                      上一张
                                    </Button>
                                    <Button
                                      onClick={this.downImg}
                                      style={{
                                        position: "absolute",
                                        right: -81,
                                        top: "50%",
                                        transform: "translateY(-50%)",
                                      }}
                                    >
                                      下一张
                                    </Button>
                                  </Modal>
                                  <Button
                                    style={{
                                      float: "right",
                                      marginRight: "140px",
                                      marginTop: "20px",
                                    }}
                                    onClick={this.getOrderLog}
                                  >
                                    查看订单日志
                                  </Button>
                                </FormItem>
                                <FormItem
                                  labelCol={{ span: 4 }}
                                  wrapperCol={{ span: 18 }}
                                  label="补充协议"
                                >
                                  <div
                                    style={{
                                      paddingTop: "10px",
                                      paddingBottom: "10px",
                                    }}
                                  >
                                    {this.state.visible &&
                                      this.state.activeKey === "1" &&
                                      this.state.replenishUrl ? (
                                      <ImgList
                                        domId={"addService4"}
                                        fileList={this.state.replenishUrl}
                                        ItemWidth={"96px"}
                                      />
                                    ) : (
                                      <div />
                                    )}
                                  </div>
                                  <Modal
                                    maskClosable={false}
                                    footer={null}
                                    width={"50%"}
                                    visible={this.state.previewVisibles}
                                    onCancel={() => {
                                      this.setState({
                                        previewVisibles: false,
                                        rotateDeg: 0,
                                      });
                                    }}
                                  >
                                    <img
                                      alt=""
                                      style={{
                                        width: "100%",
                                        transform: `rotate(${this.state.rotateDeg}deg)`,
                                      }}
                                      src={this.state.previewImage || ""}
                                    />
                                    <Button
                                      onClick={this.rotates}
                                      style={{
                                        position: "relative",
                                        left: "50%",
                                        transform: "translateX(-50%)",
                                      }}
                                    >
                                      旋转
                                    </Button>
                                    <Button
                                      onClick={this.upImgs}
                                      style={{
                                        position: "absolute",
                                        left: -81,
                                        top: "50%",
                                        transform: "translateY(-50%)",
                                      }}
                                    >
                                      上一张
                                    </Button>
                                    <Button
                                      onClick={this.downImgs}
                                      style={{
                                        position: "absolute",
                                        right: -81,
                                        top: "50%",
                                        transform: "translateY(-50%)",
                                      }}
                                    >
                                      下一张
                                    </Button>
                                  </Modal>
                                </FormItem>
                              </div>
                            )}
                          </div>
                          {/* 服务内容 */}
                          <div class="clearfix">
                            <FormItem
                              labelCol={{ span: 4 }}
                              wrapperCol={{ span: 18 }}
                              label={
                                <span>
                                  <strong style={{ color: "#f00" }}>*</strong>
                                  服务内容
                                </span>
                              }
                            >
                              <div>
                                {this.state.processStatus == 0 ?
                                  <div>
                                    <PicturesWall
                                      domId={"addServiceContent"}
                                      fileList={this.getContentUrl}
                                      pictureUrl={this.state.contentUrl}
                                      url="/api/admin/order/uploadOrderImg"
                                      sign=""
                                    />
                                    <p> <span style={{ color: "red", display: "inline-block" }}>(请将合同中的服务内容,截图上传!含服务年限,时间节点等;)</span>图片建议：要清晰。</p>
                                  </div> :
                                  this.state.contentUrl.length > 0 ?
                                    <div>
                                      <ImgList
                                        domId={"addService13"}
                                        fileList={this.state.contentUrl}
                                        ItemWidth={"96px"}
                                      />
                                      <Modal
                                        maskClosable={false}
                                        footer={null}
                                        width={"50%"}
                                        visible={this.state.previewVisibleCont}
                                        onCancel={() => {
                                          this.setState({
                                            previewVisibleCont: false,
                                            rotateDeg: 0,
                                          });
                                        }}
                                      >
                                        <img
                                          alt=""
                                          style={{
                                            width: "100%",
                                            transform: `rotate(${this.state.rotateDeg}deg)`,
                                          }}
                                          src={this.state.previewImage || ""}
                                        />
                                        <Button
                                          onClick={this.rotateCont}
                                          style={{
                                            position: "relative",
                                            left: "50%",
                                            transform: "translateX(-50%)",
                                          }}
                                        >
                                          旋转
                                        </Button>
                                        <Button
                                          onClick={this.upImgCont}
                                          style={{
                                            position: "absolute",
                                            left: -81,
                                            top: "50%",
                                            transform: "translateY(-50%)",
                                          }}
                                        >
                                          上一张
                                        </Button>
                                        <Button
                                          onClick={this.downImgCont}
                                          style={{
                                            position: "absolute",
                                            right: -81,
                                            top: "50%",
                                            transform: "translateY(-50%)",
                                          }}
                                        >
                                          下一张
                                        </Button>
                                      </Modal>
                                    </div> : "暂无附件!"}
                              </div>
                            </FormItem>
                          </div>
                          {/* 服务内容结束 */}
                          <div className="clearfix">
                            {this.state.processStatus == 0 ? (
                              <div className="clearfix">
                                <FormItem
                                  labelCol={{ span: 4 }}
                                  wrapperCol={{ span: 16 }}
                                  label={
                                    <span>
                                      <strong style={{ color: "#f00" }}>*</strong>
                                      订单留言
                                    </span>
                                  }
                                >
                                  <Input
                                    ref="orderRemarksRef"
                                    type="textarea"
                                    placeholder="请输入订单留言"
                                    rows={4}
                                    value={this.state.orderRemarks}
                                    onChange={(e) => {
                                      this.setState({
                                        orderRemarks: e.target.value,
                                      });
                                    }}
                                    style={{ width: "95%" }}
                                  />
                                  <div className="mandatory">
                                    重要提示：请详细填写合同中包含的服务内容、服务年限、时间节点等
                                  </div>
                                </FormItem>
                              </div>
                            ) : (
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 16 }}
                                label="订单留言"
                              >
                                <p
                                  style={{ width: 500, wordWrap: "break-word" }}
                                >
                                  {this.state.orderRemarks}
                                </p>
                              </FormItem>
                            )}
                          </div>

                          <div className="clearfix">
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="订单负责人"
                            >
                              <span>{this.state.salesmanName}</span>
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="订单负责人电话"
                            >
                              <span>{this.state.salesmanMobile}</span>
                            </FormItem>
                          </div>
                          <div className="clearfix">
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="当前财务负责人"
                            >
                              <span>{this.state.nowFinance}</span>
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="当前财务负责人电话"
                            >
                              <span>{this.state.nowFinanceMobile}</span>
                            </FormItem>
                          </div>
                          <div className="clearfix">
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              style={{ opacity: ".5" }}
                              label="原订单负责人"
                            >
                              <span>{this.state.oldSalesmanName}</span>
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              style={{ opacity: ".5" }}
                              label="原订单负责人电话"
                            >
                              <span>{this.state.oldSalesmanMobile}</span>
                            </FormItem>
                          </div>
                          <div className="clearfix">
                            <FormItem
                              className="half-item"
                              style={{ opacity: ".5" }}
                              {...formItemLayout}
                              label="实际财务操作人"
                            >
                              <span>{this.state.financeName}</span>
                            </FormItem>
                            <FormItem
                              className="half-item"
                              {...formItemLayout}
                              style={{ opacity: ".5" }}
                              label="实际财务操作人电话"
                            >
                              <span>{this.state.financeMobile}</span>
                            </FormItem>
                          </div>
                          {/* 新增协单人员 */}
                          <div>
                            <div style={{ marginLeft: "50px", display: 'flex' }}>
                              <div
                                style={{
                                  minWidth: '66px',
                                  maxWidth: '100px',
                                  fontSize: "12px",
                                  color: "red",
                                }}
                              >
                                协单人员 :
                              </div>
                              <div>
                                {this.state.personnel.length > 0
                                  ? this.state.personnel.map(function (value, key) {
                                    return (
                                      <Tag
                                        style={{ marginBottom: '5px' }}
                                        key={value.id}
                                        closable={closable}
                                        onClose={(e) => {
                                          e.preventDefault();
                                          confirm({
                                            title: "确定删除此人员吗？",
                                            // content: (
                                            //   <span style={{ color: "red" }}>
                                            //     删除后会将该项目下的所有催款节点自动清除！！！
                                            //   </span>
                                            // ),
                                            onOk() {
                                              $.ajax({
                                                method: "post",
                                                dataType: "json",
                                                crossDomain: false,
                                                url:
                                                  globalConfig.context +
                                                  "/api/admin/newOrder/deleteAssist",
                                                data: {
                                                  id: value.id,
                                                },
                                                success: function (data) {
                                                  if (data.error.length) {
                                                    message.warning(
                                                      data.error[0].message
                                                    );
                                                  } else {
                                                    message.success("删除成功");
                                                    assistList();
                                                  }
                                                }.bind(this),
                                              }).always(
                                                function () {
                                                  this.setState({
                                                    loading: false,
                                                  });
                                                }.bind(this)
                                              );
                                            },
                                            onCancel() { },
                                          });
                                        }}
                                      >
                                        {value.name}
                                      </Tag>
                                    );
                                  })
                                  : "无"}
                              </div>
                            </div>
                            <div
                              style={{
                                margin: "10px 0 0 50px",
                                display: this.state.disabledView,
                              }}
                            >
                              <Button
                                type="primary"
                                onClick={() => {
                                  this.setState({
                                    coorVisible: "block",
                                    coor: "",
                                  });
                                }}
                              >
                                添加协单人员
                              </Button>
                              {/* 提示 */}
                              <div style={{ color: "red" }}>
                                注:协单人员为技术人员,陪同营销人员进行订单协作等相关工作,填写后将统计至相关的奖金、提成等
                              </div>
                            </div>
                            {/*添加协单人员 */}
                            <div
                              style={{
                                margin: "10px 0 0 50px",
                                display: this.state.coorVisible,
                              }}
                            >
                              <Form
                                onSubmit={this.handleSubmit}
                                ref={this.formRef}
                              >
                                <Form.Item
                                  {...formItemLayout}
                                  label=""
                                  name="coor"
                                  hasFeedback
                                >
                                  <AutoComplete
                                    // autocomplete="off"
                                    allowClear
                                    dataSource={dataSourceView}
                                    style={{ width: 200 }}
                                    onSelect={this.onSelectView}
                                    onSearch={this.handleSearch}
                                    placeholder="请输入名称"
                                  />
                                </Form.Item>
                              </Form>
                              <div style={{ marginLeft: "10px" }}>
                                <Button
                                  type="primary"
                                  style={{ marginRight: "54px" }}
                                  onClick={this.submitOrder}
                                  loading={this.state.loading}
                                >
                                  保存
                                </Button>
                                <Button
                                  onClick={() => {
                                    this.setState({
                                      coorVisible: "none",
                                    });
                                  }}
                                >
                                  取消
                                </Button>
                              </div>
                            </div>
                          </div>
                          {/* 分界线 */}
                          <div
                            style={{
                              borderTop: "1px solid #333",
                              margin: "5px 0",
                            }}
                          ></div>
                          {/* 上门服务次数 */}
                          <div>
                            <div
                              style={{
                                display: "flex",
                                justifyContent: "space-between",
                              }}
                            >
                              <div
                                style={{ marginLeft: "50px", fontSize: "20px" }}
                              >
                                上门服务次数
                              </div>
                              <div>
                                <Button
                                  type="primary"
                                  style={{ marginBottom: 15 }}
                                  onClick={() => {
                                    this.publicByOrder();
                                    this.setState({
                                      modalRecord: true,
                                    });
                                  }}
                                >
                                  查看上门记录
                                </Button>
                                <Button
                                  style={{ marginLeft: 5, display: this.state.disabledView }}
                                  type="primary"
                                  onClick={() => {
                                    this.setState({
                                      modalView: true,
                                      dateView: '',
                                      contentView: '',
                                      remarksView: '',
                                      contentViewLength: 0,
                                      contentViewLength1: 0,
                                    });
                                  }}
                                >
                                  添加上门次数
                                </Button>
                              </div>
                            </div>
                            {/* 上门服务表格 */}
                            <div
                              className="patent-table"
                              style={{ marginBottom: 10 }}
                            >
                              <Spin spinning={this.state.loading}>
                                <Table
                                  columns={this.state.columnsView}
                                  scroll={{ x: "max-content", y: 0 }}
                                  dataSource={this.state.dataView}
                                  pagination={false}
                                  // onRowClick={this.tableRowClick}
                                  bordered
                                  size="small"
                                />
                              </Spin>
                            </div>
                            {/* 查看上门记录 */}
                            <Modal
                              footer=""
                              title="技术人员上门详细记录"
                              visible={this.state.modalRecord}
                              width="1200px"
                              onCancel={() => {
                                this.setState({
                                  modalRecord: false,
                                });
                              }}
                            >
                              <Spin spinning={this.state.loading}>
                                <Table
                                  columns={this.state.columnsRecord}
                                  scroll={{ x: "max-content", y: 0 }}
                                  dataSource={this.state.publicView}
                                  pagination={false}
                                  // onRowClick={this.tableRowClick}
                                  bordered
                                  size="small"
                                />
                              </Spin>
                            </Modal>
                            {/* 添加上门次数模态框 */}
                            <Modal
                              footer=""
                              title="新增上门次数"
                              visible={this.state.modalView}
                              key={this.state.viewKey}
                              onCancel={() => {
                                this.setState({
                                  modalView: false,
                                  viewKey: this.state.viewKey + 1,
                                });
                              }}
                            >
                              <Form
                                onSubmit={this.handleSubmit}
                                ref={this.formRef}
                                style={{ marginRight: "120px" }}
                              >
                                <Form.Item
                                  {...formItemLayout}
                                  label="上门时间"
                                  name="date"
                                  hasFeedback
                                >
                                  <DatePicker
                                    placeholder="预计技术员上门服务时间"
                                    onChange={(date, dateString) => {
                                      this.setState({
                                        dateView: dateString,
                                      });
                                    }}
                                  />
                                </Form.Item>
                                <Form.Item
                                  {...formItemLayout}
                                  label="服务内容"
                                  name="remarks"
                                  hasFeedback
                                  style={{ position: 'relative' }}
                                >
                                  <TextArea
                                    rows={4}
                                    placeholder="需要技术员上门服务内容"
                                    onChange={(e) => {
                                      this.setState({
                                        contentView: e.target.value,
                                      }, () => {
                                        if (!this.state.contentView) {
                                          this.setState({
                                            contentViewLength: 0,
                                          })
                                        } else {
                                          this.setState({
                                            contentViewLength: this.state.contentView.length
                                          })
                                        }
                                      });
                                    }}
                                    maxLength={500}
                                  >
                                  </TextArea>
                                  <div style={{ position: 'absolute', right: '20px', bottom: '-5px', zIndex: '10' }}>{this.state.contentViewLength + '/500'}</div>
                                </Form.Item>
                                <Form.Item
                                  {...formItemLayout}
                                  label="备注"
                                  name="remarks"
                                  hasFeedback
                                  style={{ position: 'relative' }}
                                >
                                  <TextArea
                                    rows={4}
                                    maxLength={500}
                                    placeholder="需要技术员注意事项"
                                    onChange={(e) => {
                                      this.setState({
                                        remarksView: e.target.value,
                                      }, () => {
                                        if (!this.state.remarksView) {
                                          this.setState({
                                            contentViewLength1: 0,
                                          })
                                        } else {
                                          this.setState({
                                            contentViewLength1: this.state.remarksView.length
                                          })
                                        }
                                      });
                                    }}
                                  />
                                  <div style={{ position: 'absolute', right: '20px', bottom: '-5px', zIndex: '10' }}>{this.state.contentViewLength1 + '/500'}</div>
                                </Form.Item>
                              </Form>
                              <div
                                style={{
                                  display: "flex",
                                  justifyContent: "center",
                                }}
                              >
                                <Button
                                  onClick={this.submitView}
                                  type="primary"
                                  loading={this.state.loading}
                                >
                                  提交
                                </Button>
                                <Button
                                  type="dashed"
                                  style={{ marginLeft: "15px" }}
                                  onClick={() => {
                                    this.setState({
                                      modalView: false,
                                      viewKey: this.state.viewKey + 1,
                                      dateView: '',
                                      contentView: '',
                                      remarksView: '',
                                      contentViewLength: 0,
                                      contentViewLength1: 0,
                                    });
                                  }}
                                >
                                  取消
                                </Button>
                              </div>
                            </Modal>
                          </div>
                          <div>
                            <span
                              style={{ marginLeft: "50px", fontSize: "20px" }}
                            >
                              项目业务
                            </span>
                            {
                              this.state.processStatus == 0 &&
                              <Button
                                type="primary"
                                onClick={this.addDetailed}
                                style={{
                                  float: "right",
                                  marginRight: "50px",
                                  marginBottom: "15px",
                                }}
                              >
                                添加项目明细
                              </Button>
                            }
                            {
                              this.props.datauser.projectType == 1 && this.state.processStatus > 1 &&
                              <Button
                                type="primary"
                                onClick={this.addVip}
                                style={{
                                  float: "right",
                                  marginRight: "50px",
                                  marginBottom: "15px",
                                }}
                              >
                                添加会员项目
                              </Button>
                            }
                          </div>
                          <div
                            className="patent-table"
                            style={{ marginBottom: 10 }}
                          >
                            <Spin spinning={this.state.loading}>
                              <Table
                                columns={this.state.columns}
                                dataSource={this.state.dataSource}
                                pagination={this.state.pagination}
                                expandedRowRender={expandedRowRenderVip}
                                rowClassName={this.addRowColor}
                                onRowClick={this.tableRowClick}
                                bordered
                                size="small"
                              />
                            </Spin>
                          </div>
                          <div
                            style={{
                              display: cuiDataList.length ? "block" : "none",
                            }}
                          >
                            <span
                              style={{ marginLeft: "50px", fontSize: "20px" }}
                            >
                              旧催款节点
                            </span>
                            <Button
                              type="primary"
                              // onClick={this.addcontact}
                              disabled
                              onClick={(e) => {
                                cuiDataList.length
                                  ? this.addcontact()
                                  : this.addcontactNew();
                              }}
                              style={{
                                float: "right",
                                marginRight: "50px",
                                marginBottom: "15px",
                                display:
                                  this.state.processStatus == 0
                                    ? "block"
                                    : "none",
                              }}
                            >
                              添加催款节点
                            </Button>
                          </div>
                          <div
                            className="clearfix"
                            style={{
                              display: cuiDataList.length ? "block" : "none",
                            }}
                          >
                            <Spin spinning={this.state.loading}>
                              <Form layout="horizontal">
                                <Table
                                  pagination={false}
                                  columns={this.state.ContactsLists}
                                  dataSource={this.state.contactList}
                                  scroll={{ x: "max-content", y: 0 }}
                                  bordered
                                  size="small"
                                />
                                <Col
                                  span={24}
                                  offset={9}
                                  style={{ marginTop: "15px" }}
                                ></Col>
                              </Form>
                            </Spin>
                          </div>
                          <div
                            style={{
                              display: cuiDataList.length ? "none" : "block",
                            }}
                          >
                            <span
                              style={{
                                marginLeft: "50px",
                                fontSize: "20px",
                              }}
                            >
                              新催款节点
                            </span>
                            <span
                              style={{
                                display: "inline-block",
                                marginLeft: 10,
                                color: "red",
                              }}
                            >
                              金额总计(万元): {this.state.totalCui}
                            </span>
                            <Button
                              type="primary"
                              disabled={this.state.addFlag ? true : false}
                              // onClick={this.addcontact}
                              onClick={(e) => {
                                this.setState({ addFlag: true });
                                this.addcontactNew();
                              }}
                              style={{
                                float: "right",
                                marginRight: "50px",
                                marginBottom: "15px",
                                display:
                                  this.state.processStatus == 0
                                    ? "block"
                                    : "none",
                              }}
                            >
                              添加催款节点
                            </Button>
                          </div>
                          <div
                            className="clearfix"
                            style={{
                              display: cuiDataList.length ? "none" : "block",
                            }}
                          >
                            <Spin spinning={this.state.loading}>
                              <Form layout="horizontal">
                                <Table
                                  pagination={false}
                                  columns={this.state.ContactsListsNew}
                                  dataSource={this.state.contactListNew}
                                  scroll={{ x: "max-content", y: 0 }}
                                  bordered
                                  size="small"
                                />
                                <Col
                                  span={24}
                                  offset={9}
                                  style={{ marginTop: "15px" }}
                                ></Col>
                              </Form>
                            </Spin>
                          </div>
                          {this.state.processStatus == 0 &&
                            <div
                              className="addSave"
                              style={{ marginTop: "15px" }}
                            >
                              <Button
                                className="cancel"
                                type="primary"
                                onClick={this.handleCancels}
                                style={{ marginLeft: "200px" }}
                                htmlType="submit"
                                loading={this.state.loading}
                              >
                                签单
                              </Button>
                              <Button
                                className="cancel"
                                type="primary"
                                onClick={this.handleCancelq}
                                style={{ marginLeft: "50px" }}
                                htmlType="submit"
                                loading={this.state.loading}
                              >
                                保存
                              </Button>
                              <Popconfirm
                                title="请确认您是否作废此订单？？"
                                onConfirm={(e) => {
                                  this.examOks()
                                }}
                                okText="确认"
                                cancelText="取消"
                              >
                                <Button
                                  className="cancel"
                                  type="danger"
                                  // onClick={this.examOks}
                                  style={{ marginLeft: "50px" }}
                                  loading={this.state.loading}
                                >
                                  订单作废
                                </Button>
                              </Popconfirm>
                              <Button
                                className="cancel"
                                type="ghost"
                                onClick={this.handleCancelclose}
                                style={{ marginLeft: "50px" }}
                              >
                                取消
                              </Button>
                            </div>
                          }
                        </div>
                      </TabPane>
                      <TabPane tab="合同变更发起" key="2">
                        {
                          <div>
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="客户名称"
                              >
                                <span>{this.state.userName}</span>
                                <EnterpriseNameChange
                                  type="journal"
                                  style={{ marginLeft: 10 }}
                                  enterpriseId={this.state.orderUid}
                                />
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="合同编号"
                              >
                                <span>{this.state.contractNo}</span>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="申请变更部门"
                              >
                                <span>{this.state.depName}</span>
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="申请人"
                              >
                                <span>{this.state.salesmanName}</span>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="变更类型"
                              >
                                <Select
                                  placeholder="选择合同变更类型"
                                  style={{ width: 200 }}
                                  disabled={this.state.changeFlag}
                                  value={this.state.typeChange}
                                  onChange={(e) => {
                                    this.setState({
                                      typeChange: e,
                                      changeFlag: true,
                                    });
                                    if (e == 1) {
                                      this.setState({
                                        hetongFlag: false,
                                        listFlag: false,
                                        listCuiFlag: false,
                                        tuiKuanFlag: false,
                                        displayList: false,
                                      });
                                    } else if (e == 2) {
                                      this.setState({
                                        hetongFlag: true,
                                        listFlag: false,
                                        listCuiFlag: false,
                                        tuiKuanFlag: true,
                                        displayList: false,
                                      });
                                    } else if (e == 3) {
                                      this.setState({
                                        listFlag: false,
                                        hetongFlag: false,
                                        listCuiFlag: false,
                                        tuiKuanFlag: false,
                                        displayList: true,
                                      });
                                    } else if (e == 4) {
                                      this.setState({
                                        listFlag: false,
                                        listCuiFlag: false,
                                        hetongFlag: false,
                                        tuiKuanFlag: true,
                                        displayList: false,
                                      });
                                    } else if (e == 5) {
                                      this.setState({
                                        listFlag: false,
                                        listCuiFlag: false,
                                        hetongFlag: true,
                                        tuiKuanFlag: true,
                                        displayList: false,
                                      });
                                    } else if (e == 6) {
                                      this.setState({
                                        listFlag: true,
                                        listCuiFlag: true,
                                        hetongFlag: true,
                                        tuiKuanFlag: true,
                                        displayList: false,
                                      });
                                    } else if (e == 7) {
                                      this.setState({
                                        listFlag: true,
                                        listCuiFlag: true,
                                        hetongFlag: true,
                                        tuiKuanFlag: true,
                                        displayList: false,
                                        isNew: true, //上传替换合同
                                      });
                                    } else {
                                      this.setState({
                                        listFlag: true,
                                        hetongFlag: true,
                                        listCuiFlag: true,
                                        tuiKuanFlag: false,
                                        displayList: false,
                                      });
                                    }
                                  }}
                                >
                                  <Option value={0}>退单退款</Option>
                                  <Option value={1}>项目及金额变更</Option>
                                  <Option value={2}>仅项目变更</Option>
                                  <Option value={3}>仅金额变更</Option>
                                  <Option value={4}>重报</Option>
                                  <Option value={5}>赠送</Option>
                                  <Option value={6}>退单不退款</Option>
                                  <Option value={7}>仅变更合同</Option>
                                </Select>
                                <Button
                                  style={{ marginLeft: 10 }}
                                  onClick={(e) => {
                                    this.setState({
                                      listFlag: false,
                                      hetongFlag: false,
                                      listCuiFlag: false,
                                      tuiKuanFlag: false,
                                      displayList: false,
                                      startRemarks: "",
                                      remarksC: "",
                                      voucherUrl: [],
                                      newContractUrl: [],
                                      isNew: false,
                                      changeAmount: "0",
                                      applicant: undefined,
                                      depNameChange: undefined,
                                      typeChange: undefined,
                                      changeFlag: false,
                                    });
                                  }}
                                >
                                  重置
                                </Button>
                                {(this.state.status === 3 || this.state.status == 0) ? (
                                  <Button
                                    type="danger"
                                    style={{
                                      float: "right",
                                      backgroundColor: "red",
                                      color: "white",
                                      position: "absolute",
                                      right: 0,
                                      height: 50,
                                      borderRadius: 20,
                                      zIndex: 100,
                                      top: 0,
                                    }}
                                    onClick={(e) => {
                                      e.stopPropagation();
                                      this.showConfirmChange(this.deleteChange);
                                    }}
                                  >
                                    取消本次变更
                                  </Button>
                                ) : (
                                  ""
                                )}
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="合同额(万元)"
                              >
                                <Input
                                  placeholder="请输入合同额"
                                  disabled={this.state.hetongFlag}
                                  ref="signTotalAmount"
                                  value={this.state.totalAmount}
                                  onChange={(e) => {
                                    this.setState({
                                      totalAmount: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="首付款(万元)"
                              >
                                <Input
                                  placeholder="请输入首付款"
                                  disabled={this.state.hetongFlag}
                                  ref="signTotalAmount"
                                  value={this.state.firstAmount}
                                  onChange={(e) => {
                                    this.setState({
                                      firstAmount: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="已收款(万元)"
                              >
                                <span>
                                  {this.state.settlementAmount}
                                  &nbsp;&nbsp;&nbsp;&nbsp;
                                  <span style={{ color: "red" }}>
                                    （注：已收款与现实收款不符，请与财务专员联系）
                                  </span>
                                </span>
                              </FormItem>
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="申请退款(万元)"
                              >
                                <Input
                                  placeholder="请输入申请退款"
                                  ref="signTotalAmount"
                                  disabled={this.state.tuiKuanFlag}
                                  value={this.state.changeAmount}
                                  onChange={(e) => {
                                    this.setState({
                                      changeAmount: e.target.value,
                                    });
                                  }}
                                  style={{ width: "240px" }}
                                />
                              </FormItem>
                            </div>
                            <div
                              style={{
                                display: this.state.isCaoGao ? "block" : "none",
                              }}
                            >
                              <div>
                                <span
                                  style={{
                                    marginLeft: "50px",
                                    fontSize: "20px",
                                  }}
                                >
                                  项目业务
                                </span>
                                <span style={{ color: "red" }}>
                                  （注：项目删除后，此项目的全部节点、全部工时，全部被删除，请谨慎删除！双击可修改对应金额数量！）
                                </span>
                                <Button
                                  type="primary"
                                  onClick={this.changeAddPro}
                                  disabled={this.state.listFlag}
                                  style={{
                                    float: "right",
                                    marginRight: "50px",
                                    marginBottom: "15px",
                                    display: this.state.displayList
                                      ? "none"
                                      : "block",
                                  }}
                                >
                                  添加项目明细
                                </Button>
                              </div>
                              <div
                                className="patent-table"
                                style={{ marginBottom: 10 }}
                              >
                                <Spin spinning={this.state.loading}>
                                  <Table
                                    columns={this.state.proColumns}
                                    dataSource={this.state.proDataSource}
                                    expandedRowRender={expandedRowRender}
                                    pagination={this.state.pagination}
                                    rowClassName={this.addRowColor}
                                    // onRowDoubleClick={
                                    //   this.state.listFlag
                                    //     ? this.not
                                    //     : this.editPro
                                    // }
                                    bordered
                                    size="small"
                                  />
                                </Spin>
                              </div>
                              <div>
                                <span
                                  style={{
                                    marginLeft: "50px",
                                    fontSize: "20px",
                                  }}
                                >
                                  催款节点
                                </span>
                                <span style={{ color: "red" }}>
                                  （注：节点删除后，无论节点是否触发，均会删除，请谨慎删除！双击可修改对应金额！）
                                </span>
                                <Button
                                  type="primary"
                                  onClick={(e) => {
                                    this.changeAddCui();
                                  }}
                                  disabled={this.state.listCuiFlag}
                                  style={{
                                    float: "right",
                                    marginRight: "50px",
                                    marginBottom: "15px",
                                    display: this.state.displayList
                                      ? "none"
                                      : "block",
                                  }}
                                >
                                  添加催款节点
                                </Button>
                              </div>
                              <div className="clearfix">
                                <Spin spinning={this.state.loading}>
                                  <Form layout="horizontal">
                                    <Table
                                      pagination={false}
                                      columns={this.state.changeCuiList}
                                      dataSource={this.state.cuiDataSource}
                                      scroll={{ x: "max-content", y: 0 }}
                                      onRowDoubleClick={
                                        this.state.listCuiFlag
                                          ? this.not
                                          : this.editCui
                                      }
                                      bordered
                                      size="small"
                                    />
                                    <Col
                                      span={24}
                                      offset={9}
                                      style={{ marginTop: "15px" }}
                                    ></Col>
                                  </Form>
                                </Spin>
                              </div>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                style={{ height: "auto" }}
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="变更原因"
                              >
                                <TextArea
                                  rows={4}
                                  placeholder="请输入变更原因"
                                  ref="signTotalAmount"
                                  style={{ width: "95%" }}
                                  value={this.state.remarksC}
                                  onChange={(e) => {
                                    this.setState({
                                      remarksC: e.target.value,
                                    });
                                  }}
                                />
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                style={{ height: "auto" }}
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="备注"
                              >
                                <TextArea
                                  rows={4}
                                  placeholder="请输入备注"
                                  ref="signTotalAmount"
                                  style={{ width: "95%" }}
                                  value={this.state.startRemarks}
                                  onChange={(e) => {
                                    this.setState({
                                      startRemarks: e.target.value,
                                    });
                                  }}
                                />
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="变更凭证"
                              >
                                <PicturesWall
                                  domId={"addService5"}
                                  fileList={this.getVoucherUrl}
                                  pictureUrl={this.state.voucherUrl}
                                  url="/api/admin/orderChange/uploadFile"
                                  sign="order_change_file"
                                />
                                <p>图片建议：要清晰。</p>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="上传替换合同"
                              >
                                <Switch disabled={this.state.typeChange == 7} checked={this.state.isNew} onChange={e => { this.setState({ isNew: e }) }} />,
                                <p style={{ color: "red" }}>注：原上传合同为空或作废时，需上传替换合同</p>
                              </FormItem>
                            </div>
                            {
                              this.state.isNew &&
                              <div className="clearfix">
                                <FormItem
                                  labelCol={{ span: 4 }}
                                  wrapperCol={{ span: 18 }}
                                  label="合同扫描件"
                                >
                                  <PicturesWall
                                    domId={"newcontract"}
                                    fileList={this.getNewContractUrl}
                                    pictureUrl={this.state.newContractUrl}
                                    url="/api/admin/orderChange/uploadFile"
                                    sign=""
                                  />
                                  <p>图片建议：要清晰。</p>
                                </FormItem>
                              </div>
                            }
                            <div className="clearfix">
                              <Button
                                type="primary"
                                style={{ float: "right", marginRight: 40 }}
                                // onClick={this.changeApply}
                                loading={this.state.loading}
                                onClick={(e) => {
                                  if (this.state.isCaoGao) {
                                    this.submitChange();
                                  } else {
                                    this.changeApply();
                                  }
                                }}
                              >
                                {this.state.isCaoGao
                                  ? "发起变更申请"
                                  : this.state.typeChange == 0
                                    ? "发起变更申请"
                                    : "下一步"}
                              </Button>
                            </div>
                            {/* ) : (
                              ""
                            )} */}
                          </div>
                        }
                      </TabPane>
                      {this.state.isJilu ? (
                        <TabPane tab={"最近变更记录"} key="3">
                          <div>
                            <div
                              style={{
                                borderRadius: "50%",
                                width: 300,
                                height: 300,
                                position: "absolute",
                                top: 230,
                                left: 525,
                                transform: "rotate(-5deg)",
                                zIndex: 1,
                                display:
                                  this.state.detailChange.status == 4
                                    ? "block"
                                    : "none",
                              }}
                            >
                              <img src={tongguo} style={{ width: "100%" }} />
                            </div>
                            <div
                              style={{
                                borderRadius: "50%",
                                width: 300,
                                height: 300,
                                position: "absolute",
                                top: 284,
                                left: 586,
                                transform: "rotate(-5deg)",
                                zIndex: 1,
                                display:
                                  this.state.detailChange.status == 5
                                    ? "block"
                                    : "none",
                              }}
                            >
                              <img src={quxiao} style={{ width: "63%" }} />
                            </div>
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="客户名称"
                              >
                                <span>{this.state.userName}</span>
                                <EnterpriseNameChange
                                  type="journal"
                                  style={{ marginLeft: 10 }}
                                  enterpriseId={this.state.orderUid}
                                />
                              </FormItem>
                              {/*  */}
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="合同编号"
                              >
                                <span>{this.state.contractNo}</span>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="时间"
                              >
                                <span>
                                  {this.state.detailChange.createTimes}
                                </span>
                              </FormItem>
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="申请人"
                              >
                                <span>{this.state.salesmanName}</span>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="当前进度"
                              >
                                <span>
                                  {/*当前是进度角色是咨询师以及咨询师经理时使用shenhePeo函数，其他流程正常显示*/}
                                  {this.state.detailChange.processState === 2 ||
                                    this.state.detailChange.processState === 3
                                    ? shenghePeo(
                                      this.state.detailChange.processState === 2
                                        ? this.state.detailChange.consultantExamine
                                        : this.state.detailChange.managerExamine,
                                      this.state.detailChange.processState
                                    )
                                    : getProcessStatusNew(
                                      this.state.detailChange.processState,
                                      this.state.detailChange.status
                                    )}
                                </span>
                              </FormItem>
                              {/* <FormItem
                                className="half-item"
                                {...formItemLayout}
                                label="申请变更部门"
                              >
                                <span>{this.state.depName}</span>
                              </FormItem> */}
                              <FormItem
                                {...formItemLayout}
                                className="half-item"
                                label="变更类型"
                              >
                                <span>
                                  {getChangeType(
                                    this.state.detailChange.typeChange
                                  )}
                                </span>
                              </FormItem>
                            </div>
                            {/* <div className="clearfix">
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="变更类型"
                              >
                                <span>
                                  {getChangeType(
                                    this.state.detailChange.typeChange
                                  )}
                                </span>
                              </FormItem>
                            </div> */}
                            <div className="clearfix">
                              <FormItem
                                {...formItemLayout}
                                className="half-item"
                                label="合同额(万元)"
                              >
                                <span>
                                  {this.state.detailChange.totalAmount}
                                </span>
                              </FormItem>
                              <FormItem
                                {...formItemLayout}
                                className="half-item"
                                label="已收款(万元)"
                              >
                                <span>
                                  {this.state.detailChange.settlementAmount}
                                </span>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                {...formItemLayout}
                                className="half-item"
                                label="欠款(万元)"
                              >
                                <span>{this.state.detailChange.arrears}</span>
                              </FormItem>
                              <FormItem
                                {...formItemLayout}
                                className="half-item"
                                label="申请退款(万元)"
                              >
                                <span>
                                  {this.state.detailChange.changeAmount}
                                </span>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                style={{ height: "auto" }}
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="变更原因"
                              >
                                <span>{this.state.detailChange.remarksC}</span>
                              </FormItem>
                            </div>
                            <div className="clearfix">
                              <FormItem
                                style={{ height: "auto" }}
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="备注"
                              >
                                <span>
                                  {this.state.detailChange.startRemarks}
                                </span>
                              </FormItem>
                            </div>

                            {/* ---- */}
                            <div className="clearfix">
                              <FormItem
                                labelCol={{ span: 4 }}
                                wrapperCol={{ span: 18 }}
                                label="变更凭证"
                              >
                                <div>
                                  <div
                                    style={{
                                      paddingTop: "10px",
                                    }}
                                  >
                                    {this.state.detailChange &&
                                      this.state.detailChange.voucherUrl &&
                                      this.state.activeKey === "3" &&
                                      this.state.visible ? (
                                      <ImgList
                                        fileList={
                                          this.state.detailChange.voucherUrl
                                        }
                                        ItemWidth={"96px"}
                                      />
                                    ) : (
                                      <div />
                                    )}
                                  </div>
                                  {this.state.status === 3 ? (
                                    <Button
                                      type="danger"
                                      style={{
                                        float: "right",
                                        backgroundColor: "red",
                                        color: "white",
                                        position: "absolute",
                                        right: 0,
                                        height: 50,
                                        borderRadius: 20,
                                        zIndex: 100,
                                        top: 0,
                                      }}
                                      onClick={(e) => {
                                        e.stopPropagation();
                                        this.showConfirmChange(
                                          this.deleteChange
                                        );
                                      }}
                                    >
                                      取消本次变更
                                    </Button>
                                  ) : (
                                    ""
                                  )}
                                </div>
                              </FormItem>
                            </div>
                            {
                              this.state.detailChange.contractPictureUrl.length != 0 &&
                              <div className="clearfix">
                                <FormItem
                                  labelCol={{ span: 4 }}
                                  wrapperCol={{ span: 18 }}
                                  label="最新合同"
                                >
                                  <div style={{ paddingTop: 10 }}>
                                    <ImgList
                                      fileList={
                                        this.state.detailChange.contractPictureUrl
                                      }
                                      ItemWidth={"96px"}
                                    />
                                  </div>
                                </FormItem>
                              </div>
                            }
                            <ul
                              style={{
                                width: "868px",
                                overflow: "hidden",
                                paddingLeft: "90px",
                                paddingTop: "10px",
                                position: "relative",
                                bottom: "20px",
                                fontSize: "12px",
                                color: "rgba(0, 0, 0, 0.65)",
                              }}
                            >
                              {/* <span>操作人：</span> */}
                              {this.state.logData.map((item, index) => {
                                if (item.status == 0) {
                                  item.status = "发起";
                                } else if (item.status == 1) {
                                  item.status = "审核中";
                                } else if (item.status == 2) {
                                  item.status = "通过";
                                } else if (item.status == 3) {
                                  item.status = "驳回";
                                } else if (item.status == 4) {
                                  item.status = "完成";
                                }
                                return (
                                  <li
                                    key={index}
                                    style={{
                                      width: "100%",
                                      height: "auto",
                                      wordBreak: "break-all",
                                      marginBottom: "10px",
                                    }}
                                  >
                                    {item.aname +
                                      "：" +
                                      "（" +
                                      item.status +
                                      "）" +
                                      item.remarks}
                                  </li>
                                );
                              })}
                            </ul>
                            {/* 动态展示项目以及催款节点 */}
                            <div>
                              <div>
                                <span
                                  style={{
                                    marginLeft: "50px",
                                    fontSize: "20px",
                                  }}
                                >
                                  项目业务
                                </span>
                              </div>
                              <div
                                className="patent-table"
                                style={{ marginBottom: 10 }}
                              >
                                <Spin spinning={this.state.loading}>
                                  <Table
                                    columns={this.state.detailColumns}
                                    dataSource={this.state.proDataSource}
                                    expandedRowRender={expandedRowRenderDetail}
                                    pagination={this.state.pagination}
                                    // onRowClick={this.tableRowClick}
                                    onRowClick={(record) => {
                                      this.setState({
                                        dataInfor: record,
                                        infoVisible: true
                                      })
                                    }}
                                    rowClassName={this.addRowColor}
                                    bordered
                                    size="small"
                                  />
                                </Spin>
                              </div>
                              <div>
                                <span
                                  style={{
                                    marginLeft: "50px",
                                    fontSize: "20px",
                                  }}
                                >
                                  催款节点
                                </span>
                              </div>
                              <div className="clearfix">
                                <Spin spinning={this.state.loading}>
                                  <Form layout="horizontal">
                                    <Table
                                      pagination={false}
                                      columns={this.state.detailContactsLists}
                                      dataSource={this.state.cuiDataSource}
                                      scroll={{ x: "max-content", y: 0 }}
                                      bordered
                                      size="small"
                                    />
                                    <Col
                                      span={24}
                                      offset={9}
                                      style={{ marginTop: "15px" }}
                                    ></Col>
                                  </Form>
                                </Spin>
                              </div>
                            </div>
                          </div>
                        </TabPane>
                      ) : (
                        ""
                      )}
                    </Tabs>
                  }
                </div>
              </Spin>
            </Form>
          </Modal>
          {
            // 添加变更项目
            this.state.changeVisible &&
            <NewAddProject
              type="change"
              children="list"
              typeChange={this.state.typeChange}
              cid={this.state.changeId}
              readOnly={false}
              orderNo={this.state.orderNo}
              visible={this.state.changeVisible}
              newData={this.state.newData}
              onCancel={() => [this.nextCancel("change")]}
            />
          }
          {
            // 编辑变更项目
            this.state.editProVisible &&
            <NewEditProject
              type="change"
              children="list"
              typeChange={this.state.typeChange}
              cid={this.state.changeId}
              readOnly={false}
              orderNo={this.props.datauser.orderNo}
              visible={this.state.editProVisible}
              dataInfor={this.state.dataInfor}
              newData={this.state.newData}
              onCancel={() => [this.nextCancel("change")]}
            />
          }
          {this.state.lookVisible ? (
            <Modal
              maskClosable={false}
              visible={this.state.lookVisible}
              onOk={this.noCancel}
              onCancel={this.noCancel}
              width="800px"
              title={"退单申请"}
              footer=""
              className="admin-desc-content"
            >
              <Form layout="horizontal">
                <Spin spinning={this.state.loading}>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 4 }}
                      wrapperCol={{ span: 16 }}
                      label="终止合同"
                    >
                      <Picture
                        domId={"addService6"}
                        fileList={(e) => {
                          this.setState({ contractUrl: e });
                        }}
                        pictureUrl={this.state.contractUrl}
                        visible={this.props.visible}
                        data={{
                          sign: "order_refund_file",
                          url: "/api/admin/newOrder/uploadRefundOrderFile",
                          number: 8,
                        }}
                      />
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 4 }}
                      wrapperCol={{ span: 16 }}
                      label="退单申请表"
                    >
                      <Picture
                        domId={"addService7"}
                        fileList={(e) => {
                          this.setState({ applicationUrl: e });
                        }}
                        pictureUrl={this.state.applicationUrl}
                        visible={this.props.visible}
                        data={{
                          sign: "order_refund_file",
                          url: "/api/admin/newOrder/uploadRefundOrderFile",
                          number: 8,
                        }}
                      />
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 4 }}
                      wrapperCol={{ span: 16 }}
                      label="退单理由"
                    >
                      <Input
                        type="textarea"
                        placeholder="请输入退单理由"
                        rows={4}
                        value={this.state.reason}
                        onChange={(e) => {
                          this.setState({ reason: e.target.value });
                        }}
                      />
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <Button
                      className="cancel"
                      type="primary"
                      onClick={this.tuidanOk}
                      style={{ marginLeft: "50px" }}
                      htmlType="submit"
                    >
                      确定退单
                    </Button>
                    <Button
                      className="cancel"
                      type="ghost"
                      onClick={this.noCancel}
                      style={{ marginLeft: "50px" }}
                    >
                      取消
                    </Button>
                  </div>
                </Spin>
              </Form>
            </Modal>
          ) : (
            <div />
          )}
          <Modal
            maskClosable={false}
            title={
              isNaN(parseFloat(this.state.appropriationRatio))
                ? "修改催款节点金额"
                : "修改催款节点比例"
            }
            visible={this.state.editCuiVisible}
            onOk={() => {
              this.submitEditCui(
                isNaN(parseFloat(this.state.appropriationRatio)) ? 0 : 1
              );
            }}
            okText={"保存"}
            width={300}
            onCancel={(e) => {
              this.setState({
                editCuiVisible: false,
                appropriationRatio: "",
              });
            }}
          >
            <div className="clearfix">
              <FormItem
                labelCol={{ span: 6 }}
                wrapperCol={{ span: 14 }}
                label={
                  isNaN(parseFloat(this.state.appropriationRatio))
                    ? "催款金额"
                    : "催款比例"
                }
              >
                <Input
                  type="number"
                  placeholder={
                    isNaN(parseFloat(this.state.appropriationRatio))
                      ? "请输入金额"
                      : "请输入比例"
                  }
                  rows={4}
                  value={this.state.editCuiMoney}
                  onChange={(e) => {
                    this.setState({ editCuiMoney: e.target.value });
                  }}
                />
              </FormItem>
            </div>
          </Modal>
          <OrderRiZi
            dataSourcerizhi={this.state.dataSourcerizhi}
            closeOrderLog={this.closeOrderLog}
            visible={this.state.rizhivisible}
            loading={this.state.loading}
          />
          {
            // 添加项目
            this.state.projectOperationVisible &&
            <NewAddProject
              readOnly={
                this.state.dataInfor &&
                Object.keys(this.state.dataInfor).length > 0 &&
                this.state.processStatus !== 0
              }
              orderNo={this.props.datauser.orderNo}
              visible={this.state.projectOperationVisible}
              newData={this.state.newData}
              onCancel={this.nextCancel}
            />
          }
          {
            // 编辑项目
            this.state.editProjectOperationVisible &&
            <NewEditProject
              readOnly={
                this.state.dataInfor &&
                Object.keys(this.state.dataInfor).length > 0 &&
                this.state.processStatus !== 0
              }
              orderNo={this.props.datauser.orderNo}
              visible={this.state.editProjectOperationVisible}
              dataInfor={this.state.dataInfor}
              newData={this.state.newData}
              onCancel={this.nextCancel}
            />
          }
          {
            // 会员项目添加
            this.state.vipVisible &&
            <NewAddProject
              type="vipAdd"
              readOnly={
                this.state.dataInfor &&
                Object.keys(this.state.dataInfor).length > 0 &&
                this.state.processStatus !== 0
              }
              orderNo={this.props.datauser.orderNo}
              visible={this.state.vipVisible}
              newData={this.state.newData}
              onCancel={this.nextCancel}
            />
            // <ProjectOperationVip
            //   readOnly={
            //     this.state.dataInfor &&
            //     Object.keys(this.state.dataInfor).length > 0 &&
            //     this.state.processStatus !== 0
            //   }
            //   orderNo={this.props.datauser.orderNo}
            //   visible={this.state.vipVisible}
            //   dataInfor={this.state.dataInfor}
            //   newData={this.state.newData}
            //   onCancel={this.nextCancel}
            // />
          }
          {
            // 变更记录详情
            this.state.infoVisible &&
            <NewEditProject
              children="list"
              type="change"
              readOnly={
                this.state.dataInfor &&
                Object.keys(this.state.dataInfor).length > 0 &&
                this.state.processStatus !== 0
              }
              visible={this.state.infoVisible}
              dataInfor={this.state.dataInfor}
              onCancel={() => { this.setState({ infoVisible: false }) }}
            />
          }
        </div>
      );
    },
  })
);

export default Form.create()(NewService);
