import React from 'react';
import {
  Button,
  Input,
  Spin,
  Table,
  message,
  DatePicker,
  Upload,
  Form,
  Modal,
  Select
} from "antd";
import $ from 'jquery/src/ajax';
import moment from 'moment';
import {
  getLiquidationStatus,
  getProcessStatus,
  splitUrl,
  getboutique,
  getTaskStatus,
  getApproval,
  getprovince,
  getProjectStatus
} from "@/tools.js";


const MyTaskCount = Form.create()(
  React.createClass({
    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)
      );
    },
    loadData(pageNo) {
      this.setState({
        visitModul: false,
        loading: true,
        ispage: pageNo,
        modalVisible: false
      });
      let nameText = this.state.SuperArr;
      let superText = this.state.cid && typeof(this.state.cid) != "object"
        ? nameText[parseInt(this.state.cid)].id
        : "";
      if(superText) {
		  $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderProject/taskHoursList",
        data: {
          pageNo: pageNo || 1,
          pageSize: this.state.pagination.pageSize,
          name: this.state.customerName, //名称
          taskId: this.state.idSearch, //订单编号
          orderNo: this.state.orderNoSearch,
          starTime: this.state.releaseDate[0], //开始时间
          endTime: this.state.releaseDate[1], //结束时间
          contractNo: this.state.contractNoSearch,
          cid: superText, //业务分类
          depId: this.state.departmenttList //部门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.list.length; i++) {
              let thisdata = data.data.list[i];
              theArr.push({
                key: i,
                id: thisdata.id, //ID
                orderNo: thisdata.orderNo, //订单编号
                taskName: thisdata.taskName, //任务名称
                userName: thisdata.userName, //客户名称
                cname: thisdata.cname, //项目品类
                taskStatus: thisdata.taskStatus, //任务状态
                receiverName: thisdata.receiverName, //负责人
                hours: thisdata.hours, //任务工时
                depName: thisdata.depName, //派单公司
                contractNo: thisdata.contractNo,
                signTime: thisdata.signTime,
                creteTime: thisdata.creteTime,
                projectStatus: thisdata.projectStatus,
                commodityPrice: thisdata.commodityPrice, //价格
                commodityQuantity: thisdata.commodityQuantity, //数量
                salesmanName: thisdata.salesmanName, //订单负责人
                taskDistributionTime: thisdata.taskDistributionTime,
                taskEndTime: thisdata.taskEndTime
              });
            }
            this.state.pagination.total = data.data.totalCount;
          }
          if (data.data && data.data.list && !data.data.list.length) {
            this.state.pagination.total = 0;
          }
          this.setState({
            dataSource: theArr,
            pageNo: pageNo,
            pagination: this.state.pagination,
            selectedRowKeys: []
          });
        }.bind(this)
      }).always(
        function() {
          this.setState({
            loading: false
          });
        }.bind(this)
      );
	  }else {
		  $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderProject/taskHoursList",
        data: {
          pageNo: pageNo || 1,
          pageSize: this.state.pagination.pageSize,
          name: this.state.customerName, //名称
          taskId: this.state.idSearch, //订单编号
          orderNo: this.state.orderNoSearch,
          starTime: this.state.releaseDate[0], //开始时间
          endTime: this.state.releaseDate[1], //结束时间
          contractNo: this.state.contractNoSearch,
          depId: this.state.departmenttList //部门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.list.length; i++) {
              let thisdata = data.data.list[i];
              theArr.push({
                key: i,
                id: thisdata.id, //ID
                orderNo: thisdata.orderNo, //订单编号
                taskName: thisdata.taskName, //任务名称
                userName: thisdata.userName, //客户名称
                cname: thisdata.cname, //项目品类
                taskStatus: thisdata.taskStatus, //任务状态
                receiverName: thisdata.receiverName, //负责人
                hours: thisdata.hours, //任务工时
                depName: thisdata.depName, //派单公司
                contractNo: thisdata.contractNo,
                signTime: thisdata.signTime,
                creteTime: thisdata.creteTime,
                projectStatus: thisdata.projectStatus,
                commodityPrice: thisdata.commodityPrice, //价格
                commodityQuantity: thisdata.commodityQuantity, //数量
                salesmanName: thisdata.salesmanName, //订单负责人
                taskDistributionTime: thisdata.taskDistributionTime,
                taskEndTime: thisdata.taskEndTime
              });
            }
            this.state.pagination.total = data.data.totalCount;
          }
          if (data.data && data.data.list && !data.data.list.length) {
            this.state.pagination.total = 0;
          }
          this.setState({
            dataSource: theArr,
            pageNo: pageNo,
            pagination: this.state.pagination,
            selectedRowKeys: []
          });
        }.bind(this)
      }).always(
        function() {
          this.setState({
            loading: false
          });
        }.bind(this)
      );
	  }
    },

    getInitialState() {
      return {
        page: 1,
        releaseDate: [],
        selectedRowKeys: [],
        orgCodeUrl: [],
        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: "contractNo",
            key: "contractNo"
          },
          {
            title: "订单编号",
            dataIndex: "orderNo",
            key: "orderNo"
          },

          {
            title: "客户名称",
            dataIndex: "userName",
            key: "userName",
            render: text => {
              return text && text.length > 9 ? text.substr(0, 9) + "..." : text;
            }
          },

          {
            title: "订单部门",
            dataIndex: "depName",
            key: "depName"
          },
          {
            title: "订单负责人",
            dataIndex: "salesmanName",
            key: "salesmanName"
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname"
          },
          {
            title: "项目编号",
            dataIndex: "id",
            key: "id"
          },
          {
            title: "项目名称",
            dataIndex: "taskName",
            key: "taskName"
          },
          {
            title: "项目负责人",
            dataIndex: "receiverName",
            key: "receiverName"
          },
          {
            title: "项目价格(万元)",
            dataIndex: "commodityPrice",
            key: "commodityPrice"
          },
          {
            title: "数量(个)",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity"
          },
          {
            title: "任务状态",
            dataIndex: "taskStatus",
            key: "taskStatus",
            render: text => {
              return getTaskStatus(text);
            }
          },
          {
            title: "项目状态",
            dataIndex: "projectStatus",
            key: "projectStatus",
            render: text => {
              return getProjectStatus(text);
            }
          },
          {
            title: "工时",
            dataIndex: "hours",
            key: "hours"
          },
          {
            title: "签单日期",
            dataIndex: "signTime",
            key: "signTime"
          },
          {
            title: "派单日期",
            dataIndex: "creteTime",
            key: "creteTime"
          },
          {
            title: "分配时间",
            dataIndex: "taskDistributionTime",
            key: "taskDistributionTime"
          },
          {
            title: "完成时间",
            dataIndex: "taskEndTime",
            key: "taskEndTime"
          }
        ],
        data: [],
        dataSource: [],
        columnsX: [
          {
            title: "业务项目名称",
            dataIndex: "commodityName",
            key: "commodityName"
          },
          {
            title: "项目类别",
            dataIndex: "cname",
            key: "cname"
          },
          {
            title: "项目数量",
            dataIndex: "commodityQuantity",
            key: "commodityQuantity"
          },
          {
            title: "金额(万元)",
            dataIndex: "commodityPrice",
            key: "commodityPrice"
          },
          {
            title: "负责人",
            dataIndex: "contacts",
            key: "contacts"
          },
          {
            title: "负责人电话",
            dataIndex: "contactsMobile",
            key: "contactsMobile"
          },
          {
            title: "主要项目",
            dataIndex: "main",
            key: "main",
            render: text => {
              return text ? "是" : "否";
            }
          },
          {
            title: "项目说明",
            dataIndex: "taskComment",
            key: "taskComment",
            render: text => {
              return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
            }
          }
        ],
        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"
          }
        ]
      };
    },

    //页面加载函数
    componentWillMount() {
      this.loadData();
	  this.selectSuperId();
	  this.departmentList()
    },
    //	//整行点击
    tableRowClick(record) {
      this.state.RowData = record;
      if (record.taskName.substring(0, 5) === "软件著作权") {
        this.setState({
          speVisible: true,
          id: record.id,
          dataArr: record,
          commodityQuantity: record.commodityQuantity
        });
      } else {
        this.setState({
          visible: true
        });
      }
      this.xiangqing(record.id, record.taskName);
      this.xiangqings(record.orderNo);
      this.xiangmu(record.orderNo);
      this.loaduserss(record);
    },
    //订单详情
    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({
              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, //满意度表格
              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 //外包价格
            });
          }
        }.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({
              processStatus: thisdata.processStatus, //流程状态
              liquidationStatus: thisdata.liquidationStatus, //结算状态
              approval: thisdata.approval, //特批状态
              orderRemarks: thisdata.orderRemarks, //订单留言
              salesmanName: thisdata.salesmanName, //营销员名称
              salesmanMobile: thisdata.salesmanMobile, //营销员电话
              financeName: thisdata.financeName, //财务名称
              financeMobile: thisdata.financeMobile, //财务电话
              depName: thisdata.depName, //订单部门
              locationProvince: thisdata.locationProvince,
              locationCity: thisdata.locationCity,
              locationArea: thisdata.locationArea,
              ProvinceCity: ProvinceCityArr,
              postalAddress: thisdata.postalAddress, //详细地址
              outsource: thisdata.outsource
            });
          }
        }.bind(this)
      }).always(
        function() {
          this.setState({
            loading: false
          });
        }.bind(this)
      );
    },

    //查看下证信息
    loaduserss(record) {
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url:
          globalConfig.context + "/api/admin/orderProject/selectTaskProgress",
        data: {
          tid: record.id
        },
        success: function(data) {
          let theArr = [];
          let thisData = [];
          if (!thisData) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thisData = {};
          } 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)
      );
    },
    caozuorizhi() {
      this.setState({
        visibleA: true
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/orderProject/TaskLogList",
        data: {
          id: this.state.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)
      );
    },

    //关闭操作工时
    visitCancelA() {
      this.setState({
        visibleA: false
      });
    },
    //项目列表
    xiangmu(orderNos) {
      $.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];
              theArr.push({
                key: i,
                id: thisdata.id,
                orderNo: thisdata.orderNo, //订单编号
                commodityId: thisdata.commodityId, //项目ID
                commodityName: thisdata.commodityName, //项目名称
                cname: thisdata.cname, //项目类别
                commodityPrice: thisdata.commodityPrice, //项目价格
                commodityQuantity: thisdata.commodityQuantity, //项目数量
                main: thisdata.main, //是否为主要任务
                taskComment: thisdata.taskComment, //任务说明
                contacts: thisdata.contacts, //联系人
                contactsMobile: thisdata.contactsMobile, //联系人电话
                taskStatus: thisdata.taskStatus //是否分配
              });
            }
          }
          this.setState({
            dataSourceX: theArr
          });
        }.bind(this)
      }).always(
        function() {
          this.setState({
            loading: false
          });
        }.bind(this)
      );
    },

    //关闭输入理由框
    noCancel() {
      this.setState({
        noVisible: false
      });
    },
    //搜索
    search() {
      this.setState({
        //signBillVisible:false
      });
      this.loadData();
    },
    //重置
    reset() {
      this.setState({
        signBillVisible: false
      });
      this.state.idSearch = "";
      this.state.customerName = "";
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
	  this.state.orderNoSearch = "";
	  this.state.departmenttList = []
	  this.state.cid = []
	  this.state.contractNoSearch = ""
      this.loadData(this.state.page);
    },
    resets() {
      this.state.orderNo = "";
      this.state.customerName = "";
      this.state.releaseDate[0] = undefined;
      this.state.releaseDate[1] = undefined;
    },
    getOrgCodeUrl(e) {
      this.setState({ orgCodeUrl: e });
    },
    //关闭操作工时
    visitCancelA() {
      this.setState({
        visibleA: false
      });
    },
    setColor() {
      $(".userName span").after(
        "(<span class='ruanzhu'>软著数</span>/<span class='xiazheng'>下证数</span>)"
      );
    },
    closeDesc(e, s) {
      this.state.showDesc = e;
      if (s) {
        this.loadData(this.state.page);
      }
    },
    closeAssign(e, s) {
      this.state.roleName = "";
      this.state.assignVisible = e;
      if (s) {
        this.loadData(this.state.page);
      }
    },
    nextCancel() {
      this.setState({
        addnextVisible: false
      });
    },
    //点击打卡项目详情
    tableRowClickX(record) {
      this.setState({
        jid: record.id, //项目ID
        kid: record.commodityId, //商品ID
        commodityName: record.commodityName, //金额
        commodityPrice: record.commodityPrice, //金额
        commodityQuantity: record.commodityQuantity, //数量
        taskComment: record.taskComment, //备注
        main: record.main.toString(), //是否为主要
        addnextVisible: true,
        addState: 0
      });
    },
    //关闭详情
    visitCancel() {
      this.setState({
        visible: false,
        speVisible: false
      });
      this.resets();
    },
    visitOk() {
      this.setState({
        visible: false
      });
      this.resets();
    },
    //关闭详情
    visitCancels() {
      this.setState({
        visibles: false
      });
      this.resets();
    },
    //导出
    exportExec() {
		let nameText = this.state.SuperArr;
      	let superText = this.state.cid && typeof(this.state.cid) != "object"
        ? nameText[parseInt(this.state.cid)].id
        : "";
		if (superText) {
			var data = {
				orderNo: this.state.orderNoSearch ? this.state.orderNoSearch : undefined,
				name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
				taskId: this.state.idSearch ? this.state.idSearch : undefined, //订单编号
				starTime: this.state.releaseDate[0] ? this.state.releaseDate[0] : undefined,
				endTime: this.state.releaseDate[1] ? this.state.releaseDate[1] : undefined,
				depId: this.state.departmenttList ? this.state.departmenttList : undefined,
				cid: superText
			};
		}else {
			var data = {
				orderNo: this.state.orderNoSearch ? this.state.orderNoSearch : undefined,
				name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
				taskId: this.state.idSearch ? this.state.idSearch : undefined, //订单编号
				starTime: this.state.releaseDate[0] ? this.state.releaseDate[0] : undefined,
				endTime: this.state.releaseDate[1] ? this.state.releaseDate[1] : undefined,
				depId: this.state.departmenttList ? this.state.departmenttList : undefined,
			};
		}
      
      window.location.href =
        globalConfig.context +
        "/api/admin/orderProject/exportMyTaskList?" +
        $.param(data);
    },
    visitOks() {
      this.setState({
        visibles: false
      });
      this.resets();
    },
    selectSuperId() {
      this.state.data = [];
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url: globalConfig.context + "/api/admin/ProjectSize/getAllCname",
        data: {
          flag: 0
        },
        success: function(data) {
          let theArr = [];
          let thedata = data.data;
          if (!thedata) {
            if (data.error && data.error.length) {
              message.warning(data.error[0].message);
            }
            thedata = {};
          }
          var contactIds = [];
          for (var i = 0; i < data.data.length; i++) {
            let theData = data.data[i];
            theArr.push(
              <Select.Option value={i.toString()} key={theData.cname}>
                {theData.cname}
              </Select.Option>
            );
          }
          this.setState({
            SuperArr: thedata,
            contactsOption: theArr,
            orderStatusOptions: data.data
          });
        }.bind(this)
      }).always(
        function() {
          this.loadData(this.state.ispage);
          this.setState({
            loading: false
          });
        }.bind(this)
      );
    },
    render() {
      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 "其它";
          }
        }
      };
      const FormItem = Form.Item;
	  const { RangePicker } = DatePicker;
	  const departmentArr = this.state.departmentArr || [];
      return (
        <div className="user-content">
          <div className="content-title">
            <span>工时数据统计</span>
          </div>
          <div className="user-search">
            <Input
              placeholder="客户名称"
              style={{ width: "150px", marginBottom: "10px" }}
              value={this.state.customerName}
              onChange={e => {
                this.setState({ customerName: e.target.value });
              }}
            />
            <Input
              placeholder="任务编号"
              style={{ width: "150px" }}
              value={this.state.idSearch}
              onChange={e => {
                this.setState({ idSearch: e.target.value });
              }}
            />
            <Input
              placeholder="订单编号"
              style={{ width: "150px" }}
              value={this.state.orderNoSearch}
              onChange={e => {
                this.setState({
                  orderNoSearch: e.target.value
                });
              }}
            />
            <Input
              placeholder="合同编号"
              style={{ width: "150px" }}
              value={this.state.contractNoSearch}
              onChange={e => {
                this.setState({
                  contractNoSearch: e.target.value
                });
              }}
            />
            <Select
              placeholder="订单部门"
              style={{ width: 150, marginRight: 10 }}
              value={this.state.departmenttList}
              onChange={e => {
                this.setState({ departmenttList: e });
              }}
            >
              {departmentArr.map(function(item) {
                return <Select.Option key={item.id}>{item.name}</Select.Option>;
              })}
            </Select>
            <Select
              placeholder="项目类别"
              style={{ width: "150", marginRight: "10px" }}
              value={this.state.cid}
              onChange={e => {
                this.setState({ cid: e });
              }}
              notFoundContent="未获取到上级品类列表"
            >
              {this.state.contactsOption}
            </Select>
            <span style={{ marginRight: "10px" }}>合同签订时间 :</span>
            <RangePicker
              value={[
                this.state.releaseDate[0]
                  ? moment(this.state.releaseDate[0])
                  : null,
                this.state.releaseDate[1]
                  ? moment(this.state.releaseDate[1])
                  : null
              ]}
              onChange={(data, dataString) => {
                this.setState({ releaseDate: dataString });
              }}
            />
            <Button
              type="primary"
              onClick={this.search}
              style={{ marginLeft: "10px" }}
            >
              搜索
            </Button>
            <Button onClick={this.reset}>重置</Button>
            <Button type="primary" onClick={this.exportExec}>
              导出工时数据
            </Button>
            <div className="patent-table">
              <Spin spinning={this.state.loading}>
                <Table
                  columns={this.state.columns}
                  dataSource={this.state.dataSource}
                  pagination={this.state.pagination}
                  onRowClick={this.tableRowClick.bind(this)}
                  scroll={{ x: "max-content", y: 0 }}
                  bordered
                  size="small"
                />
              </Spin>
            </div>
          </div>
          <Modal
            className="customeDetails"
            footer=""
            title="项目概况"
            width="900px"
            visible={this.state.visible}
            onOk={this.visitOk}
            onCancel={this.visitCancel}
          >
            <Form
              layout="horizontal"
              onSubmit={this.handleSubmit}
              id="demand-form"
              style={{ paddingBottom: "00px" }}
            >
              <Spin spinning={this.state.loading}>
                <div className="clearfix">
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="当前项目情况"
                    >
                      <span>{this.state.status ? "暂停" : "开启"}</span>
                      <Button
                        type="primary"
                        size="small"
                        style={{ marginTop: "5px", position: "absolute" }}
                        onClick={this.caozuorizhi}
                      >
                        操作日志
                      </Button>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="合同编号"
                    >
                      <span>{this.state.contractNo}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="项目状态"
                    >
                      <span>{getProcessStatus(this.state.projectStatus)}</span>
                    </FormItem>
                    <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)}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="订单编号"
                    >
                      <span>{this.state.orderNo}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="满意度表格"
                    >
                      <span>
                        {utils.getSatisfaction(this.state.formRetrieve)}
                      </span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="退单"
                    >
                      <span>{utils.getChargeback(this.state.taskRefund)}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    {
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="(满意度)备注"
                      >
                        <span>{this.state.retrieveContent}</span>
                      </FormItem>
                    }
                    {
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="(退单)备注"
                      >
                        <span>{this.state.refundContent}</span>
                      </FormItem>
                    }
                  </div>
                  <div className="clearfix">
                    <h3 className="sub-title">任务信息</h3>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="任务编号"
                    >
                      <span>{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>
                  {this.state.outsource === 1 ? (
                    <div className="clearfix">
                      <h3 className="sub-title">外包信息</h3>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="外包公司"
                      >
                        <span>{this.state.outsourceName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="外包成本(万元)"
                      >
                        <span>{this.state.outsourcePrice}</span>
                      </FormItem>
                    </div>
                  ) : (
                    ""
                  )}
                  {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
                  <div className="clearfix">
                    <h3 className="sub-title">联系信息</h3>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="客户名称"
                    >
                      <span>{this.state.userName}</span>
                    </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>
                    <FormItem className="half-item" {...formItemLayout}>
                      <span style={{ paddingLeft: "12em" }}>
                        {this.state.postalAddress}
                      </span>
                    </FormItem>
                  </div>
                  {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
                  <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.financeName}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="财务负责人电话"
                    >
                      <span>{this.state.financeMobile}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <h3 className="sub-title">申报系统账户信息</h3>
                    {/*<span style={{color:'red'}}>注:仅技术部可见</span>*/}
                    <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>
                  <div className="clearfix">
                    <h3 className="sub-title">项目申报进度</h3>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="启动时间"
                    >
                      <span>{this.state.startDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="完成时间"
                    >
                      <span>{this.state.endDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="受理时间"
                    >
                      <span>{this.state.acceptDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="评审时间"
                    >
                      <span>{this.state.reviewDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="公示时间"
                    >
                      <span>{this.state.publicityDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="发证时间"
                    >
                      <span>{this.state.licenceDate}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="立项金额(万元)"
                    >
                      <span>{this.state.setUpAmount}</span>
                    </FormItem>
                    <FormItem
                      className="half-item"
                      {...formItemLayout}
                      label="是否到款"
                    >
                      <span>
                        {this.state.arrivalMoney ? "已到企业" : "未到企业"}
                      </span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 3 }}
                      wrapperCol={{ span: 18 }}
                      label="附件"
                    >
                      <Upload
                        className="demandDetailShow-upload"
                        listType="picture-card"
                        fileList={this.state.attachmentUrl}
                        onPreview={file => {
                          this.setState({
                            previewImage: file.url || file.thumbUrl,
                            previewVisible: true
                          });
                        }}
                      ></Upload>
                      <Modal
                        maskClosable={false}
                        footer={null}
                        visible={this.state.previewVisible}
                        onCancel={() => {
                          this.setState({ previewVisible: false });
                        }}
                      >
                        <img
                          alt=""
                          style={{ width: "100%" }}
                          src={this.state.previewImage || ""}
                        />
                      </Modal>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 3 }}
                      wrapperCol={{ span: 16 }}
                      label="备注"
                    >
                      <span>{this.state.taskComment}</span>
                    </FormItem>
                  </div>
                  <div>
                    <h3 className="sub-title">项目业务</h3>
                    {this.state.processStatus == 0 ? (
                      <Button
                        type="primary"
                        onClick={this.addDetailed}
                        style={{
                          float: "right",
                          marginRight: "50px",
                          marginBottom: "15px"
                        }}
                      >
                        添加项目明细
                      </Button>
                    ) : (
                      ""
                    )}
                  </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}
                        bordered
                        size={"small"}
                      />
                    </Spin>
                  </div>
                </div>
              </Spin>
            </Form>
          </Modal>
          <Modal
            maskClosable={false}
            visible={this.state.addnextVisible}
            onOk={this.nextCancel}
            onCancel={this.nextCancel}
            width="900px"
            title="项目任务详情"
            footer=""
            className="admin-desc-content"
          >
            <Form
              layout="horizontal"
              onSubmit={this.nextSubmit}
              id="demand-form"
            >
              <Spin spinning={this.state.loading}>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="项目名称"
                  >
                    <span>{this.state.commodityName}</span>
                  </FormItem>
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="项目数量"
                  >
                    <span>{this.state.commodityQuantity}</span>
                  </FormItem>
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="金额(万元)"
                  >
                    <span>{this.state.commodityPrice}</span>
                  </FormItem>
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="主要项目"
                  >
                    <span>{getboutique(this.state.main)}</span>
                  </FormItem>
                  <div className="clearfix">
                    <FormItem
                      labelCol={{ span: 4 }}
                      wrapperCol={{ span: 16 }}
                      label="服务说明"
                    >
                      <span>{this.state.taskComment}</span>
                    </FormItem>
                  </div>
                </div>
              </Spin>
            </Form>
          </Modal>
          <Modal
            width="800px"
            title="操作日志"
            footer=""
            className="admin-desc-content"
          >
            <div className="patent-table patent-table-center">
              <Spin spinning={this.state.loading}>
                <Table columns={this.state.columnsY} bordered size={"small"} />
              </Spin>
            </div>
          </Modal>
          <Modal
            maskClosable={false}
            visible={this.state.speVisible}
            onOk={this.visitOk}
            onCancel={this.visitCancel}
            width="900px"
            title="项目概况"
            footer=""
            className="admin-desc-content"
          >
            <div className="clearfix">
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="当前项目情况"
              >
                <span>{this.state.status ? "暂停" : "开启"}</span>
                <Button
                  type="primary"
                  size="small"
                  style={{ marginTop: "5px", position: "absolute" }}
                  onClick={this.caozuorizhi}
                >
                  操作日志
                </Button>
              </FormItem>
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="合同编号"
              >
                <span>{this.state.contractNo}</span>
              </FormItem>
            </div>
            <div className="clearfix">
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="项目状态"
              >
                <span>{getProcessStatus(this.state.projectStatus)}</span>
              </FormItem>
              <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)}</span>
              </FormItem>
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="订单编号"
              >
                <span>{this.state.orderNo}</span>
              </FormItem>
            </div>
            <div className="clearfix">
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="满意度表格"
              >
                <span>{utils.getSatisfaction(this.state.formRetrieve)}</span>
              </FormItem>
              <FormItem className="half-item" {...formItemLayout} label="退单">
                <span>{utils.getChargeback(this.state.taskRefund)}</span>
              </FormItem>
            </div>
            <div className="clearfix">
              {
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label="(满意度)备注"
                >
                  <span>{this.state.retrieveContent}</span>
                </FormItem>
              }
              {
                <FormItem
                  className="half-item"
                  {...formItemLayout}
                  label="(退单)备注"
                >
                  <span>{this.state.refundContent}</span>
                </FormItem>
              }
            </div>
            <div className="clearfix">
              <h3 className="sub-title">任务信息</h3>
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="任务编号"
              >
                <span>{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>
            {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
            <div className="clearfix">
              <h3 className="sub-title">联系信息</h3>
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="客户名称"
              >
                <span>{this.state.userName}</span>
              </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>
              <FormItem className="half-item" {...formItemLayout} label="">
                <span style={{ paddingLeft: "12em" }}>
                  {this.state.postalAddress}
                </span>
              </FormItem>
            </div>
            {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
            <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.financeName}</span>
              </FormItem>
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="财务负责人电话"
              >
                <span>{this.state.financeMobile}</span>
              </FormItem>
            </div>
            <div className="clearfix" style={{ marginTop: "10px" }}>
              <FormItem
                labelCol={{ span: 3 }}
                wrapperCol={{ span: 18 }}
                label="附件"
              >
                <Upload
                  className="demandDetailShow-upload"
                  listType="picture-card"
                  fileList={this.state.attachmentUrl}
                  onPreview={file => {
                    this.setState({
                      previewImage: file.url || file.thumbUrl,
                      previewVisible: true
                    });
                  }}
                ></Upload>
                <Modal
                  maskClosable={false}
                  footer={null}
                  visible={this.state.previewVisible}
                  onCancel={() => {
                    this.setState({ previewVisible: false });
                  }}
                >
                  <img
                    alt=""
                    style={{ width: "100%" }}
                    src={this.state.previewImage || ""}
                  />
                </Modal>
              </FormItem>
            </div>
            <div className="clearfix">
              <FormItem
                labelCol={{ span: 3 }}
                wrapperCol={{ span: 16 }}
                label="备注"
              >
                <span>{this.state.taskComment}</span>
              </FormItem>
            </div>
            <div className="clearfix">
              <h3 className="sub-title">项目申报进度</h3>
              <FormItem
                className="half-item"
                {...formItemLayout}
                label="启动时间"
              >
                <span>{this.state.startDate}</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}
                    bordered
                    size="small"
                    pagination={false}
                  />
                </Spin>
              </div>
            </div>
            <div className="clearfix">
              <h3 className="sub-title">项目业务</h3>
              <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}
                    bordered
                    size="small"
                  />
                </Spin>
              </div>
            </div>
          </Modal>
          <Modal
            width="800px"
            visible={this.state.visibleA}
            onCancel={this.visitCancelA}
            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}
                  bordered
                  size="small"
                  pagination={false}
                />
              </Spin>
            </div>
          </Modal>
        </div>
      );
    }
  })
);
export default MyTaskCount;