import React, { Component } from 'react';
import { Button, Form, Input, message, Modal, Spin, Table, Tabs, Tag, Tooltip, Radio } from "antd";
import PatentSchedule from "../task/patentSchedule";
import ImgList from "../../../common/imgList";
import OrderDetail from "../../order/orderNew/changeComponent/orderDetail";
import {
  getProcessStatus,
  getApproval,
  getTaskStatus,
  getLiquidationStatus,
  splitUrl,
  getProjectStatus,
  getboutique,
  getprovince,
  ShowModal,
  getProjectName,
  getFormRetrieve,
} from "@/tools";
import OrderRiZi from "@/orderRiZi.jsx";
import Picture from '@/manageCenter/publicComponent/picture'
import $ from "jquery";
import DeclarationProgress from "../../../common/declarationProgress";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";


const FormItem = Form.Item;
const { TabPane } = Tabs;
const formItemLayout = {
  labelCol: { span: 8 },
  wrapperCol: { span: 14 },
};
const utils = {
  getSatisfaction: function (num) {
    switch (num) {
      case 0:
        return "未收回";
      case 1:
        return "已收回";
      default:
        return "其它";
    }
  },
  getChargeback: function (num) {
    switch (num) {
      case 0:
        return "已完成";
      case 1:
        return "未完成";
      default:
        return "其它";
    }
  },
};

class ProjectDetails extends Component {
  constructor(props) {
    super(props);
    this.state = {
      satisfactionDegreeUrl: [], // 满意度调查表
      satisfactionDegree: "", // 满意度
      formRetrieve: "",// 满意调查表上传状态

      timeRecordparse: {},
      activeKey: '1',
      loading: false,
      orderData: [],
      orderNo: "",
      jiedian: [],
      jiedianNew: [],
      searchMore: true,
      assignVisible: false,
      releaseDate: [],
      roleName: "",
      testFlag: true,
      departmentArr: [],
      boHuivisible: false,
      selectedRowKeys: [],
      selectedRows: [],
      paginations: false,
      pagination: {
        defaultCurrent: 1,
        defaultPageSize: 10,
        showQuickJumper: true,
        pageSize: 10,
        onChange: function (page) {
          this.loadData(page);
        }.bind(this),
        showTotal: function (total) {
          return "共" + total + "条数据";
        },
      },
      columns: [
        {
          title: "项目编号",
          dataIndex: "id",
          key: "id",
          render: (text, record) => {
            if (record.splitStatus == 2) {
              return <span>{record.splitSuper + "-" + record.splitId}</span>;
            } else {
              return text;
            }
          },
        },
        {
          title: "任务名称",
          dataIndex: "taskName",
          key: "taskName",
          className: "taskName",
        },
        {
          title: "订单编号",
          dataIndex: "orderNo",
          key: "orderNo",
        },
        {
          title: "业务类别",
          dataIndex: "cname",
          key: "cname",
        },
        {
          title: "客户名称",
          dataIndex: "userName",
          key: "userName",
          className: "userName",
          width: 150,
          render: (text) => {
            return (
              <Tooltip title={text}>
                <div
                // style={{
                //   maxWidth: '150px',
                //   overflow: 'hidden',
                //   textOverflow: "ellipsis",
                //   whiteSpace: 'nowrap',
                // }}
                >{text}</div>
              </Tooltip>
            )
          },
        },
        {
          title: "任务状态",
          dataIndex: "taskStatus",
          key: "taskStatus",
          render: (text) => {
            return getTaskStatus(text);
          },
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: (text) => {
            return getProjectStatus(text);
          },
        },
        {
          title: "分配时间",
          dataIndex: "taskDate",
          key: "taskDate",
        },
        {
          title: "任务数量",
          dataIndex: "commodityQuantity",
          key: "commodityQuantity",
        },
        {
          title: "任务责任人",
          dataIndex: "receiverName",
          key: "receiverName",
        },
        {
          title: "订单部门",
          dataIndex: "depName",
          key: "depName",
        },
      ],
      dataSource: [],
      searchTime: [],
      columnsX: [
        {
          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",
          render: (text, record) => {
            if (record.splitStatus == 1) {
              return (
                <span>
                  {text}{" "}
                  {/* <Tag
                                        color="#108ee9"
                                        onClick={(e) => {
                                            e.stopPropagation();
                                            this.showRes(record);
                                        }}
                                    >
                                        已拆
                                    </Tag> */}
                </span>
              );
            } else {
              return text;
            }
          },
        },
        {
          title: "金额(万元)",
          dataIndex: "commodityPrice",
          key: "commodityPrice",
          render: (text, record) => {
            return (
              <span>
                {this.props.isZxs || text === -1 ? '***' : text}
              </span>
            )
          }
        },
        {
          title: "负责人",
          dataIndex: "contacts",
          key: "contacts",
        },
        {
          title: "负责人电话",
          dataIndex: "contactsMobile",
          key: "contactsMobile",
        },
        {
          title: "主要项目",
          dataIndex: "main",
          key: "main",
          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 (
              <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>
            )
          },
        },
      ],
      columnsA: [
        {
          title: "流程",
          dataIndex: "content",
          key: "content",
          align: "center",
        },
        {
          title: "操作人",
          dataIndex: "aName",
          key: "aName",
          align: "center",
        },
        {
          title: "时间",
          dataIndex: "createTimes",
          key: "createTimes",
          align: "center",
        },
      ],
      dataSourceX: [],
      dataSourceA: [],
      ContactsLists: [
        {
          title: "批次",
          dataIndex: "num",
          key: "num",
        },
        {
          title: "下证时间",
          dataIndex: "licenceTimes",
          key: "licenceTimes",
        },
        {
          title: "下证数量",
          dataIndex: "alreadyNumber",
          key: "alreadyNumber",
        },
        {
          title: "未下证数量",
          dataIndex: "notCount",
          key: "notCount",
        },
      ],

      displayFees: "none",
      costReduction: '',
      officialCost: '',

      isSoftware: false,
    }
    this.orderChange = this.orderChange.bind(this);
    this.caozuorizhi = this.caozuorizhi.bind(this);
    this.getOrderLog = this.getOrderLog.bind(this);
    this.rizhi = this.rizhi.bind(this);
  }

  orderChange(key) {
    this.setState({
      activeKey: key,
    });
    if (key === '2') {
      this.orderDetailData(this.props.orderNo);
      this.xiangmu(this.props.orderNo);
      this.jiedian(this.props.orderNo);
      this.jiedianNew(this.props.orderNo);
    }
  }

  caozuorizhi() {
    this.setState({
      visibleA: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderProject/TaskLogList",
      data: {
        id: this.props.id,
      },
      success: function (data) {
        let theArr = [];

        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++) {
            let thisdata = data.data[i];
            theArr.push({
              key: i,
              id: thisdata.id, //日志ID
              content: thisdata.content, //流程
              taskId: thisdata.taskId, //任务ID
              aName: thisdata.aName, //负责人
              createTimes: thisdata.createTimes, //时间
            });
          }
        }
        this.setState({
          dataSourceA: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  //节点列表
  jiedian(orderNos) {
    $.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, //催款状态
            });
          }
          this.setState({
            jiedian: theArr,
          });
        }
      }.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);
          }
        } else {
          thedata.map(function (item, index) {
            theArr.push({
              key: index,
              name: item.name,
              id: item.id,
            });
          });
        }
        this.setState({
          departmentArr: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  //订单详情
  xiangqing(id) {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderProject/orderTaskDetail",
      data: {
        id: id,
      },
      success: function (data) {
        if (data.error.length || data.data.list == "") {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          let thisdata = data.data;
          this.setState({
            certificationCorporate: thisdata.certificationCorporate,//认证费公司
            certificationFee: thisdata.certificationFee,//认证费
            ifCertificationFee: thisdata.ifCertificationFee,//是否包含认证费
            id: thisdata.id, //ID
            orderNo: thisdata.orderNo, //订单编号
            userName: thisdata.userName, //客户名称
            taskName: thisdata.taskName, //任务名称
            cname: thisdata.cname, //项目品类
            contractNo: thisdata.contractNo, //合同编号
            projectStatus: thisdata.projectStatus, //项目状态
            taskStatus: thisdata.taskStatus, //任务状态
            taskDate: thisdata.taskDate, //分配时间
            taskComment: thisdata.taskComment, //说明
            attachmentUrl: thisdata.attachmentUrl
              ? splitUrl(
                thisdata.attachmentUrl,
                ",",
                globalConfig.avatarHost + "/upload"
              )
              : [], //图片地址
            salesmanName: thisdata.salesmanName, //订单负责人
            startDate: thisdata.startDate, //启动日期
            endDate: thisdata.endDate, //结束日期
            acceptDate: thisdata.acceptDate, //受理日期
            reviewDate: thisdata.reviewDate, //评审日期
            publicityDate: thisdata.publicityDate, //公示日期
            licenceDate: thisdata.licenceDate, //发证日期
            contacts: thisdata.contacts, //联系人
            contactMobile: thisdata.contactMobile, //联系人电话
            legalPerson: thisdata.legalPerson, //法人
            legalPersonTel: thisdata.legalPersonTel, //法人电话
            certificateNumber: thisdata.certificateNumber, //证书编号
            status: thisdata.status, //状态

            formRetrieve: thisdata.formRetrieve, //满意调查表状态
            satisfactionDegree: thisdata.satisfactionDegree, //满意度
            satisfactionDegreeUrl: thisdata.satisfactionDegreeUrl
              ? splitUrl(thisdata.satisfactionDegreeUrl, ',', globalConfig.avatarHost + '/upload')
              : [], //满意度调查表

            taskRefund: thisdata.taskRefund, //退单
            refundContent: thisdata.refundContent, //退单信息
            retrieveContent: thisdata.retrieveContent, //回收信息
            arrivalMoney: thisdata.arrivalMoney, //是否到款
            setUpAmount: thisdata.setUpAmount, //立项金额
            declareUser: thisdata.declareUser, //账号
            declarePwd: thisdata.declarePwd, //密码
            depName: thisdata.depName, //订单部门
            outsourceName: thisdata.outsourceName, //外包公司名称
            outsourcePrice: thisdata.outsourcePrice, //外包价格
            declarationBatch: thisdata.declarationBatch,
            bpType: thisdata.bpType,//0 正常 1专利 2软著 3审计 4双软 5高新 6商标
            cSort: thisdata.sort,
            specialComment: thisdata.specialComment,
            urgentDay: thisdata.urgentDay, //有无方案
            ifMaterial: thisdata.ifMaterial, //加急情况
            spotCheckStatus: thisdata.spotCheckStatus,
            setUpStatus: thisdata.setUpStatus,
            setUpTime: thisdata.setUpTime,
            highTechStatus: thisdata.highTechStatus,
            acceptCount: thisdata.acceptCount,       //受理数
            certificatesCount: thisdata.certificatesCount, //授权数
            rejectCount: thisdata.rejectCount,       //驳回数
            commodityQuantity: thisdata.commodityQuantity, //派单项目数
            timeRecordparse: thisdata.timeRecord ? JSON.parse(thisdata.timeRecord) : {},//项目状态JSON
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  //订单详情
  xiangqings(orderNos) {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
      data: {
        orderNo: orderNos,
      },
      success: function (data) {
        let thisdata = data.data;
        let ProvinceCityArr = [];
        let ProvinceS = thisdata.locationProvince; //省
        let citys = thisdata.locationCity; //市
        let Areas = thisdata.locationArea; //区
        ProvinceCityArr.push(ProvinceS, citys, Areas);
        if (data.error.length || data.data.list == "") {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          this.setState({
            orderUid: thisdata.uid,
            examineName: thisdata.examineName,
            processStatus: thisdata.processStatus, //流程状态
            liquidationStatus: thisdata.liquidationStatus, //结算状态
            approval: thisdata.approval, //特批状态
            orderRemarks: thisdata.orderRemarks, //订单留言
            salesmanName: thisdata.salesmanName, //营销员名称
            salesmanMobile: thisdata.salesmanMobile, //营销员电话
            oldSalesmanName: thisdata.oldSalesmanName, //营销员名称
            oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话
            financeName: thisdata.financeName, //财务名称
            financeMobile: thisdata.financeMobile, //财务电话
            nowFinance: thisdata.nowFinance, //财务名称
            nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话
            depName: thisdata.depName, //订单部门
            locationProvince: thisdata.locationProvince,
            locationCity: thisdata.locationCity,
            locationArea: thisdata.locationArea,
            ProvinceCity: ProvinceCityArr,
            postalAddress: thisdata.postalAddress, //详细地址
            outsource: thisdata.outsource,
            deleteSign: thisdata.deleteSign,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  //查看下证信息
  loaduserss(id) {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/orderProject/selectTaskProgress",
      data: {
        tid: id,
      },
      success: function (data) {
        let theArr = [];
        let thisData = [];
        if (!thisData) {
          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({
              num: i + 1,
              key: i,
              id: thisData.id, //编号
              alreadyNumber: thisData.alreadyNumber, //下证数
              licenceTimes: thisData.licenceTimes, //下证时间
              notCount: thisData.notCount, //未下证数
              flag: true,
            });
          }
          this.setState({
            contactList: theArr,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  jiedianNew(orderNos) {
    $.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;
            thisData.key = i;
            thisData.dunSubject = thisData.dunSubject
              ? thisData.dunSubject.toString()
              : "", //催款科目
              theArr.push(thisData);
          }
          if (!totalCui) {
            totalCui = 0;
          }
          totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6);
          this.setState({
            jiedianNew: theArr,
            totalCui,
          });
        }
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  orderDetailData(orderNos) {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
      data: {
        orderNo: orderNos,
      },
      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 {
          let thisdata = data.data;
          this.setState({
            loading: false,
            orderUid: thisdata.uid,
            userName: thisdata.userName,
            primaryOrderNo: thisdata.primaryOrder,
            additionalOrder: thisdata.additionalOrder,
            contractNo: thisdata.contractNo,
            orderData: thisdata,
            isAddition: thisdata.additionalOrder ? true : false,
            contractPictureUrl: thisdata.contractPictureUrl
              ? splitUrl(
                thisdata.contractPictureUrl,
                ",",
                globalConfig.avatarHost + "/upload"
              )
              : [],
            deleteSign: thisdata.deleteSign,
          });
        }
      }.bind(this),
    });
  }

  //项目列表
  xiangmu(orderNos) {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
      data: {
        orderNo: orderNos,
      },
      success: function (data) {
        let theArr = [];

        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++) {
            let thisdata = data.data[i];
            thisdata.key = i;
            theArr.push(thisdata);
          }
        }
        this.setState({
          dataSourceX: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  rizhi() {
    this.setState({
      loading: true,
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: "/api/admin/newOrder/selectOrderLog",
      data: {
        orderNo: this.props.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);
          }
        } 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({
          dataSourceY: theArr,
        });
      }.bind(this),
    }).always(
      function () {
        this.setState({
          loading: false,
        });
      }.bind(this)
    );
  }

  getOrderLog() {
    this.setState({
      avisible: true,
    });
    this.rizhi();
  }

  componentDidMount() {
    if (this.props.taskName.substring(0, 5) === "软件著作权") {
      this.setState({
        isSoftware: true,
      })
    }
    this.setState({
      isIso: this.props.taskName.indexOf("贯标") !== -1,
    })
    this.departmentList();
    this.xiangqing(this.props.id);
    this.xiangqings(this.props.orderNo);
    this.xiangmu(this.props.orderNo);
    this.loaduserss(this.props.id);
  }

  // 修改项目满意度
  updateSatisfactionDegree(status) {
    let satisfactionDegreeUrls = []
    if (this.state.satisfactionDegreeUrl.length) {
      let picArr = []
      this.state.satisfactionDegreeUrl.map(function (item) {
        if (item.response && item.response.data && item.response.data.length) {
          picArr.push(item.response.data)
        }
      })
      satisfactionDegreeUrls = picArr.join(',')
    }
    if (status == 2) {
      if (satisfactionDegreeUrls.length == 0) {
        message.warning("请先上传满意度调查表！");
        return
      }
      if (!this.state.formRetrieve) {
        message.warning("请先选择满意度！");
        return
      }
    }
    let obj1 = {
      id: this.props.id,
      formRetrieve: 1,
    }
    let obj2 = {
      id: this.props.id,
      formRetrieve: status,
      satisfactionDegree: this.state.satisfactionDegree,
      satisfactionDegreeUrl: satisfactionDegreeUrls.length ? satisfactionDegreeUrls : '',
    }
    this.setState({
      loading: true,
    });
    $.ajax({
      url: globalConfig.context + "/api/admin/orderProject/updateSatisfactionDegree",
      method: "post",
      data: status == 1 ? obj1 : obj2,
    }).done(
      function (data) {
        this.setState({
          loading: false,
        });
        if (data.error.length === 0) {
          if (status == 1) {
            this.setState({
              formRetrieve: 1
            })
          } else if (status == 2) {
            this.setState({
              formRetrieve: 2
            })
            message.success("保存成功！");
          }
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  }

  // 可展开颜色不同
  addRowColor(record) {
    if (!!record.splitList && record.splitList.length > 0) {
      return 'light'
    } else {
      return 'dark'
    }
  }

  render() {
    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
                    >{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>
        );
      }
    };
    return (
      this.props.visible ? <Modal
        maskClosable={false}
        className="customeDetails"
        footer=""
        title=""
        width="1200px"
        visible={this.props.visible}
        onOk={() => {
          this.props.visitOk && this.props.visitOk()
        }}
        onCancel={() => {
          this.props.visitCancel && this.props.visitCancel();
        }}
      >
        <Tabs activeKey={this.state.activeKey} onChange={this.orderChange} tabBarExtraContent={
          <div style={{ fontWeight: 'bold', paddingRight: '15px' }}>
            <OrderItemStatus deleteSign={this.state.deleteSign} />
          </div>
        }>
          <TabPane tab="项目概况" key="1">
            <Form
              layout="horizontal"
              id="demand-form"
              style={{ paddingBottom: "0px" }}
            >
              <Spin spinning={this.state.loading}>
                <div className="clearfix">
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="项目状态"
                    >
                      <span>{getProjectName(parseInt(this.state.projectStatus))}</span>
                      <Button
                        type="primary"
                        size="small"
                        style={{ marginTop: "5px", position: "absolute" }}
                        onClick={this.caozuorizhi}
                      >
                        操作日志
                      </Button>
                      {this.state.visibleA ? <Modal
                        maskClosable={false}
                        width="800px"
                        visible={this.state.visibleA}
                        onCancel={() => {
                          this.setState({
                            visibleA: false
                          })
                        }}
                        title="操作日志"
                        footer=""
                        className="admin-desc-content"
                      >
                        <div className="patent-table patent-table-center">
                          <Spin spinning={this.state.loading}>
                            <Table
                              columns={this.state.columnsA}
                              dataSource={this.state.dataSourceA}
                              pagination={false}
                              bordered
                              size="small"
                            />
                          </Spin>
                        </div>
                      </Modal> : null}
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="合同编号"
                    >
                      <span>{this.state.contractNo}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="是否特批"
                    >
                      <span>{getApproval(this.state.approval)}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="结算状态"
                    >
                      <span>
                        {getLiquidationStatus(this.state.liquidationStatus)}
                      </span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="流程状态"
                    >
                      <span>
                        {getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)}
                      </span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="订单编号"
                    >
                      <span>{this.state.orderNo}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="是否外包"
                    >
                      <span>{this.state.outsource === 0 ? "否" : "是"}</span>
                    </FormItem>
                  </div>

                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 3 }}
                      wrapperCol={{ span: 16 }}
                      label="满意度表格"
                    >
                      <div>
                        {getFormRetrieve(this.state.formRetrieve)}
                        {this.state.formRetrieve == 0 &&
                          <Button
                            type="primary"
                            size="small"
                            style={{ marginTop: "5px", marginLeft: '5px', }}
                            onClick={() => { this.updateSatisfactionDegree(1) }}
                          >已发送至客户</Button>}
                        {
                          (this.state.formRetrieve == 1 || this.state.formRetrieve == 2) &&
                          <div className="clearfix">
                            <FormItem
                              labelCol={{ span: 3 }}
                              wrapperCol={{ span: 16 }}
                              label="满意度调查整表"
                            >
                              <Picture
                                showRemove={false} //删除图标
                                domId={'table'}
                                fileList={(e) => {
                                  this.setState({ satisfactionDegreeUrl: e })
                                }}
                                pictureUrl={this.state.satisfactionDegreeUrl}
                                visible={this.props.visible}
                                data={{
                                  sign: 'satisfactionDegree',
                                  url: '/api/admin/orderProject/upload/satisfactionDegree',
                                }}
                              />
                            </FormItem>
                          </div>
                        }
                        <p style={{ color: 'red' }}>
                          {
                            this.state.formRetrieve == 0
                              ? "注：满意度调查整表，已发送时，即可上传回复件了！"
                              : "注：回收表格后，即可上传回复件了"
                          }
                        </p>
                        {
                          (this.state.formRetrieve == 1 || this.state.formRetrieve == 2) &&
                          <div className="clearfix">
                            <FormItem
                              labelCol={{ span: 3 }}
                              wrapperCol={{ span: 16 }}
                              label="满意度"
                            >
                              <Radio.Group
                                value={this.state.satisfactionDegree}
                                onChange={(e) => {
                                  this.setState({ satisfactionDegree: e.target.value })
                                }}
                              >
                                <Radio value={0}>非常满意</Radio>
                                <Radio value={1}>满意</Radio>
                                <Radio value={2}>一般</Radio>
                                <Radio value={3}>不满意</Radio>
                              </Radio.Group>
                              <div>
                                <Button type="primary" size="small"
                                  onClick={() => {
                                    this.updateSatisfactionDegree(2)
                                  }}>保存并上传</Button>
                              </div>
                            </FormItem>
                          </div>
                        }
                      </div>
                    </FormItem>
                  </div>

                  {/*软著显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新 6商标*/}
                  {this.state.bpType === 2 ? <div className="clearfix">
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="加急天数"
                    >
                      {
                        this.state.urgentDay === 1 ? '是' :
                          this.state.urgentDay === 0 ? '否' : ''
                      }
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="有无方案"
                    >
                      {
                        this.state.ifMaterial === 1 ? '是' :
                          this.state.ifMaterial === 0 ? '否' : ''
                      }
                    </FormItem>
                  </div> : null}
                  <div className="clearfix">
                    <div style={{
                      paddingLeft: '8%',
                    }}>
                      <div style={{ color: '#000', fontWeight: 500 }}>
                        特别说明
                        <span style={{ color: '#58a3ff', }}>(针对项目的特殊情况说明)</span>
                      </div>
                      <div style={{
                        display: 'flex',
                      }}>
                        <span style={{ paddingRight: '10px', whiteSpace: "nowrap" }}>备注:</span>
                        <span style={{
                          flex: 1,
                          wordBreak: 'break-all',
                        }}>{this.state.specialComment}</span>
                      </div>
                    </div>
                  </div>
                  <div className="clearfix">
                    <h3 className="sub-title">任务信息</h3>
                    {/*0通用 1专利 2软著 3审计 4双软 5高新 6商标*/}
                    {/*贯标需要显示*/}
                    {
                      this.state.isIso ?
                        <div>
                          <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="认证费"
                          >
                            <span>
                              {
                                this.state.ifCertificationFee === 1 ? '包含' : '不包含'
                              }
                            </span>
                          </FormItem>
                          {this.state.ifCertificationFee === 1 ? <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="认证费(万元)"
                          >
                            <span>
                              {
                                this.state.certificationFee
                              }
                            </span>
                          </FormItem> : null}
                          {this.state.ifCertificationFee === 1 ? <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label=""
                          /> : null}
                          {this.state.ifCertificationFee === 1 ? <FormItem
                            className="half-item"
                            {...formItemLayout}
                            label="付款公司名称"
                          >
                            <span>
                              {this.state.certificationCorporate}
                            </span>
                          </FormItem> : null}
                        </div> : null
                    }
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="任务编号"
                    >
                      <span>
                        {
                          this.state.splitStatus === 2
                            ? this.state.splitSuper + "-" + this.state.splitId
                            : this.state.id
                        }
                      </span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="任务名称"
                    >
                      <span>{this.state.taskName}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="任务状态"
                    >
                      <span>{getTaskStatus(this.state.taskStatus)}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="任务类别"
                    >
                      <span>{this.state.cname}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="证书编号"
                    >
                      <span>{this.state.certificateNumber}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <h3 className="sub-title">联系信息</h3>
                    <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.legalPerson}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="法人电话"
                    >
                      <span>{this.state.legalPersonTel}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="客户联系人"
                    >
                      <span>{this.state.contacts}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="联系人电话"
                    >
                      <span>{this.state.contactMobile}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="企业地址"
                    >
                      <span>
                        {getprovince(this.state.locationProvince)}/
                        {getprovince(this.state.locationCity)}/
                        {getprovince(this.state.locationArea)}
                      </span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label=""
                    />
                    <FormItem className="half-item" {...formItemLayout}>
                      <span style={{ paddingLeft: "12em" }}>
                        {this.state.postalAddress}
                      </span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <h3 className="sub-title">订单负责人信息</h3>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="负责人"
                    >
                      <span>
                        {this.state.salesmanName +
                          "(" +
                          this.state.depName +
                          ")"}
                      </span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="负责人电话"
                    >
                      <span>{this.state.salesmanMobile}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="当前财务负责人"
                    >
                      <span>{this.state.nowFinance}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="当前财务负责人电话"
                    >
                      <span>{this.state.nowFinanceMobile}</span>
                    </FormItem>
                    {!this.state.isSoftware ? <div>
                      <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>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="实际财务操作人"
                      >
                        <span>{this.state.financeName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        style={{ opacity: ".5" }}
                        label="实际财务操作人电话"
                      >
                        <span>{this.state.financeMobile}</span>
                      </FormItem>
                    </div> : null}
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="订单留言"
                    >
                      <span>{this.state.orderRemarks}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label=""
                    >
                      <Button onClick={this.getOrderLog}>查看订单日志</Button>
                    </FormItem>
                    <OrderRiZi
                      dataSourcerizhi={this.state.dataSourceY}
                      closeOrderLog={() => {
                        this.setState({
                          avisible: false
                        })
                      }}
                      visible={this.state.avisible}
                      loading={this.state.loading}
                    />
                  </div>
                  {!this.state.isSoftware ? <div className="clearfix">
                    <h3 className="sub-title">申报系统账户信息</h3>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="用户名"
                    >
                      <span>{this.state.declareUser}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="密码"
                    >
                      <span>{this.state.declarePwd}</span>
                    </FormItem>
                  </div> : null}
                  {this.state.isSoftware ?
                    <div className="clearfix">
                      <h3 className="sub-title">项目申报进度</h3>
                      <DeclarationProgress
                        timeRecordparse={this.state.timeRecordparse}
                        startDate={this.state.startDate}
                        taskDate={this.state.taskDate}
                        list={[
                          { id: 4, name: '完成时间', value: this.state.endDate },
                          { id: 6, name: '受理时间', value: this.state.acceptDate },
                          { id: 8, name: '公示时间', value: this.state.publicityDate },
                          { id: 10, name: '发证时间', value: this.state.licenceDate },
                          { id: 15, name: '立项金额', value: this.state.setUpAmount }
                        ]} />
                      {/*高新和科技项目显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新 6商标*/}
                      {/*cSort: 3 科技项目  6: 会员*/}
                      {(this.state.bpType === 5 || this.state.cSort === 3) && <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="申报批次"
                      >
                        <span>{this.state.declarationBatch}</span>
                      </FormItem>}
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="软著派单数量"
                      >
                        <span>{this.state.commodityQuantity}</span>
                      </FormItem>
                      <div className="patent-table patent-table-center">
                        <Spin spinning={this.state.loading}>
                          <Table
                            columns={this.state.ContactsLists}
                            dataSource={this.state.contactList}
                            pagination={false}
                            bordered
                            size="small"
                          />
                        </Spin>
                      </div>
                    </div> :
                    <div className="clearfix">
                      <h3 className="sub-title">项目申报进度</h3>
                      <DeclarationProgress
                        timeRecordparse={this.state.timeRecordparse}
                        startDate={this.state.startDate}
                        taskDate={this.state.taskDate}
                        list={[
                          { id: 4, name: '完成时间', value: this.state.endDate },
                          { id: 6, name: '受理时间', value: this.state.acceptDate },
                          { id: 8, name: '公示时间', value: this.state.publicityDate },
                          { id: 10, name: '发证时间', value: this.state.licenceDate },
                          { id: 15, name: '立项金额', value: this.state.setUpAmount }
                        ]} />
                      {
                        this.state.bpType === 1 || this.state.bpType === 6 ?
                          <div>
                            <FormItem
                              labelCol={{ span: 3 }}
                              wrapperCol={{ span: 16 }}
                              label="是否高新企业"
                            >
                              <span>
                                {
                                  this.state.highTechStatus === 1 ? '是' :
                                    this.state.highTechStatus === 0 ? '否' : ''
                                }
                              </span>
                            </FormItem>
                            <FormItem />
                            <PatentSchedule
                              readOnly
                              bpType={this.state.bpType}
                              taskId={this.state.id}
                              acceptCount={this.state.acceptCount}
                              certificatesCount={this.state.certificatesCount}
                              rejectCount={this.state.rejectCount}
                              commodityQuantity={this.state.commodityQuantity}
                              refresh={() => { this.xiangqing(this.state.id) }}
                            />
                          </div> :
                          <div>
                            {/*高新显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新 6商标*/}
                            {this.state.bpType === 5 ? <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="是否抽查">
                              {
                                this.state.spotCheckStatus === 0 ? '否' :
                                  this.state.spotCheckStatus === 1 ? '是,未通过' :
                                    this.state.spotCheckStatus === 2 ? '是,通过' : ''
                              }
                            </FormItem> : null}
                            <FormItem />
                            {this.state.bpType === 5 ? <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="是否立项"
                            >
                              {
                                this.state.setUpStatus === 1 ? '是' :
                                  this.state.setUpStatus === 0 ? '否' : ''
                              }
                            </FormItem> : null}
                            {this.state.bpType === 5 ? <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label={this.state.setUpStatus === 1 ? "立项时间" : ''}
                            >
                              {this.state.setUpStatus === 1 ? this.state.setUpTime : null}
                            </FormItem> : null}
                            {/*高新和科技项目显示  bpType: 0 正常 1专利 2软著 3审计 4双软 5高新 6商标*/}
                            {/*cSort: 3 科技项目  6: 会员*/}
                            {(this.state.bpType === 5 || this.state.cSort === 3) && <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="申报批次"
                            >
                              <span>{this.state.declarationBatch}</span>
                            </FormItem>}
                            {/*只有科技项目才有是否到款*/}
                            {/*cSort: 3 科技项目  6: 会员*/}
                            {this.state.cSort === 3 && <FormItem
                              className="half-item"
                              {...formItemLayout}
                              label="是否到款"
                            >
                              <span>
                                {this.state.arrivalMoney ? "已到企业" : "未到企业"}
                              </span>
                            </FormItem>}
                          </div>
                      }
                    </div>}
                  {this.state.bpType !== 1 && this.state.bpType !== 6 ? <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 3 }}
                      wrapperCol={{ span: 18 }}
                      label="附件"
                    >
                      {this.state.visible && this.state.attachmentUrl && this.state.activeKey === "1" ? <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
                        <ImgList fileList={this.state.attachmentUrl} domId={'taskQuery1'} />
                      </div> : null}
                    </FormItem>
                  </div> : null}
                  {this.state.bpType !== 1 && this.state.bpType !== 6 ? <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 3 }}
                      wrapperCol={{ span: 16 }}
                      label="项目说明"
                    >
                      <span>{this.state.taskComment}</span>
                    </FormItem>
                  </div> : null}
                  <div>
                    <h3 className="sub-title">项目业务</h3>
                    {this.state.processStatus === 0 ? (
                      <Button
                        type="primary"
                        onClick={this.addDetailed}
                        style={{
                          float: "right",
                          marginRight: "50px",
                          marginBottom: "15px",
                        }}
                      >
                        添加项目明细
                      </Button>
                    ) : null}
                  </div>
                  <div className="patent-table">
                    <Spin spinning={this.state.loading}>
                      <Table
                        columns={this.state.columnsX}
                        dataSource={this.state.dataSourceX}
                        pagination={this.state.paginations}
                        onRowClick={this.tableRowClickX}
                        expandedRowRender={expandedRowRenderVip}
                        rowClassName={this.addRowColor}
                        style={{
                          cursor: 'pointer',
                        }}
                        bordered
                        size="small"
                      />
                    </Spin>
                  </div>
                </div>
              </Spin>
            </Form>
          </TabPane>
          {!this.props.isZxs || (this.state.isHuiyuan && this.props.isZxs) ? (
            <TabPane tab="订单详情" key="2">
              {this.state.activeKey === "2" ? <Spin spinning={this.state.loading}>
                <OrderDetail
                  orderUid={this.state.orderUid}
                  orderData={this.state.orderData}
                  getOrderLog={this.getOrderLog}
                  dataSourceX={this.state.dataSourceX}
                  contactList={this.state.jiedian}
                  orderNo={this.state.orderNo}
                  totalCui={this.state.totalCui}
                  contactListNew={this.state.jiedianNew}
                  pictureUrl={this.state.contractPictureUrl}
                />
              </Spin> : null}
              <OrderRiZi
                dataSourcerizhi={this.state.dataSourceY}
                closeOrderLog={() => {
                  this.setState({
                    avisible: false
                  })
                }}
                visible={this.state.avisible}
                loading={this.state.loading}
              />
            </TabPane>
          ) : null}
        </Tabs>
      </Modal> : null
    );
  }
}

export default ProjectDetails;
