import React from "react";
import $ from "jquery/src/ajax";
import moment from "moment";
import "./public.less";
import {
  Button,
  Form,
  Input,
  Select,
  Spin,
  Table,
  message,
  DatePicker,
  Modal,
  Upload,
  Tabs
} from "antd";
import Receivable from "./receivable";
import Assign from "@/manageCenter/publicComponent/assign";
import {
  getjiedian,
  getProcessStatus,
  getApproval,
  getNewOrderType,
  getLiquidationStatus,
  getProjectStatus,
  splitUrl,
  getprovince,
  getRefundStatus
} from "@/tools";
const FormItem = Form.Item;

const approvedOutsourcing = 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.state.data = [];
    this.setState({
      selectedRowKeys: [],
      selectedRowKey: [],
      page: pageNo,
      loading: true
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/financial/financeList",
      data: {
        pageNo: pageNo || 1,
        pageSize: this.state.pagination.pageSize,
        buyerName: this.state.nameSearch, //客户名称
        orderNo: this.state.orderNoSearch,
        startTime: this.state.releaseDate[0],
        endTime: this.state.releaseDate[1],
        departmentId: this.state.departmenttList,
        processStatus: this.state.processStatus,
        contractNo: this.state.contractNoSearch,
        outsource: 1
      },
      success: function(data) {
        let theArr = [];
        if (!data.data || !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,
              orderNo: thisdata.orderNo,
              orderType: thisdata.orderType,
              orderStatus: thisdata.orderStatus,
              sellerName: thisdata.sellerName,
              processStatus: thisdata.processStatus,
              liquidationStatus: thisdata.liquidationStatus,
              approval: thisdata.approval,
              buyerName: thisdata.buyerName,
              actuallyTotalAmount: thisdata.actuallyTotalAmount,
              signTime: thisdata.signTime,
              companyId: thisdata.companyId,
              companyName: thisdata.companyName,
              buyerId: thisdata.buyerId,
              buyerName: thisdata.buyerName,
              contractNo: thisdata.contractNo,
              createTime: thisdata.createTime,
              departmentName: thisdata.departmentName,
              outsourceName: thisdata.outsourceName
            });
          }
        }
        this.state.pagination.current = data.data.pageNo;
        this.state.pagination.total = data.data.totalCount;
        if (data.data && data.data.list && !data.data.list.length) {
          this.state.pagination.current = 0;
          this.state.pagination.total = 0;
        }
        this.setState({
          totalPage: data.data.totalPage,
          dataSource: theArr,
          pagination: this.state.pagination
        });
      }.bind(this)
    }).always(
      function() {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  },
  getInitialState() {
    return {
      searchMore: true,
      assignVisibleX: false,
      assignVisibleY: false,
      releaseDate: [],
      assignDataX: [],
      assignDataY: [],
      attachmentUrl: [],
      pictureUrl: [],
      totalPage: 0,
      modKey: "1",
      width: "800px",
      boHuivisible: false,
      selectedRowKeys: [],
      selectedRows: [],
      loading: 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: "orderNo",
          key: "orderNo",
          fixed: "left"
        },
        {
          title: "签单日期",
          dataIndex: "signTime",
          key: "signTime"
        },
        {
          title: "下单日期",
          dataIndex: "createTime",
          key: "createTime"
        },
        {
          title: "已收款(万元)",
          dataIndex: "actuallyTotalAmount",
          key: "actuallyTotalAmount"
        },
        {
          title: "客户名称",
          dataIndex: "buyerName",
          key: "buyerName"
        },
        {
          title: "外包公司",
          dataIndex: "outsourceName",
          key: "outsourceName"
        },
        {
          title: "流程状态",
          dataIndex: "processStatus",
          key: "processStatus",
          render: text => {
            return getProcessStatus(text);
          }
        },
        {
          title: "订单部门",
          dataIndex: "departmentName",
          key: "departmentName"
        },
        {
          title: "特批状态",
          dataIndex: "approval",
          key: "approval",
          render: text => {
            return getApproval(text);
          }
        },
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo"
        },
        //                 {
        //                     title: '订单状态',
        //                     dataIndex: 'orderStatus',
        //                     key: 'orderStatus',
        //                     render: text => { return getNewOrderStatus(text)}
        //                 },
        {
          title: "订单负责人",
          dataIndex: "sellerName",
          key: "sellerName"
        },
        {
          title: "结算状态",
          dataIndex: "liquidationStatus",
          key: "liquidationStatus",
          render: text => {
            return getLiquidationStatus(text);
          }
        },
        {
          title: "操作",
          dataIndex: "caozuo",
          key: "caouzo",
          render: (text, recard) => {
            return (
              <div>
                {recard.liquidationStatus < 2 &&
                (recard.approval === 1 || recard.approval === 2) ? (
                  <Button
                    style={{ background: "rgb(192,192,192)" }}
                    onClick={e => {
                      e.stopPropagation(), this.evaluateX(recard);
                    }}
                  >
                    收款
                  </Button>
                ) : (
                  <Button
                    type="primary"
                    onClick={e => {
                      e.stopPropagation(), this.evaluateX(recard);
                    }}
                  >
                    收款
                  </Button>
                )}
                {recard.approval === 2 && recard.processStatus < 4 ? (
                  <Button
                    type="primary"
                    onClick={e => {
                      e.stopPropagation(), this.evaluateZ(recard);
                    }}
                    style={{ marginLeft: "5px" }}
                  >
                    通过
                  </Button>
                ) : (
                  ""
                )}
                {!(
                  recard.actuallyTotalAmount &&
                  Number(recard.actuallyTotalAmount) > 0
                ) && (
                  <Button
                    type="danger"
                    style={{ marginLeft: "5px" }}
                    onClick={e => {
                      e.stopPropagation(), this.reject(recard);
                    }}
                  >
                    驳回
                  </Button>
                )}
                {
                  <Button
                    type="primary"
                    style={{ marginLeft: "5px" }}
                    onClick={e => {
                      e.stopPropagation(), this.evaluateY(recard, "财务专员");
                    }}
                  >
                    转交
                  </Button>
                }
              </div>
            );
          }
        }
      ],
      columnsX: [
        {
          title: "业务项目名称",
          dataIndex: "commodityName",
          key: "commodityName",
          render: text => {
            return text && text.length > 6 ? (
              <span title={text}>{text.substr(0, 8)}...</span>
            ) : (
              text
            );
          }
        },
        {
          title: "项目类别",
          dataIndex: "cname",
          key: "cname"
        },
        {
          title: "项目数量(个)",
          dataIndex: "commodityQuantity",
          key: "commodityQuantity"
        },
        {
          title: "服务市价(万元)",
          dataIndex: "commodityPrice",
          key: "commodityPrice"
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: text => {
            return getProjectStatus(text);
          }
        },
        {
          title: "证书编号",
          dataIndex: "certificateNumber",
          key: "certificateNumber"
        },
        {
          title: "是否主要项目",
          dataIndex: "main",
          key: "main",
          render: text => {
            return text ? "是" : "否";
          }
        },
        {
          title: "项目说明",
          dataIndex: "taskComment",
          key: "taskComment",
          render: text => {
            return text && text.length > 8 ? (
              <span title={text}>{text.substr(0, 8)}...</span>
            ) : (
              text
            );
          }
        }
      ],
      columnsY: [
        {
          title: "流程",
          dataIndex: "processName",
          key: "processName"
        },
        {
          title: "操作人",
          dataIndex: "adminName",
          key: "adminName"
        },
        {
          title: "时间",
          dataIndex: "createDate",
          key: "createDate"
        }
      ],
      columnsW: [
        {
          title: "外包名称",
          dataIndex: "name",
          key: "name"
        },
        {
          title: "联系人",
          dataIndex: "contacts",
          key: "contacts"
        },
        {
          title: "联系人电话",
          dataIndex: "contactsMobile",
          key: "contactsMobile"
        },
        {
          title: "地址",
          dataIndex: "ProvinceCity",
          key: "ProvinceCity",
          render: test => {
            return test[0] === null
              ? ""
              : getprovince(test[0]) +
                  "/" +
                  getprovince(test[1]) +
                  "/" +
                  getprovince(test[2]);
          }
        },
        {
          title: "地址详情",
          dataIndex: "address",
          key: "address",
          render: text => {
            return text && text.length > 8 ? text.substr(0, 8) + "..." : text;
          }
        },
        {
          title: "创建时间",
          dataIndex: "createTimes",
          key: "createTimes"
        },
        {
          title: "任务名称",
          dataIndex: "tname",
          key: "tname"
        },
        {
          title: "合同编号",
          dataIndex: "contractNo",
          key: "contractNo"
        },
        {
          title: "项目状态",
          dataIndex: "projectStatus",
          key: "projectStatus",
          render: text => {
            return getProjectStatus(text);
          }
        }
      ],
      dataSource: [],
      searchTime: [,]
    };
  },
  // 特批通过
  evaluateZ(record) {
    $.ajax({
      method: "POST",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/financial/financeApproval",
      data: {
        orderNo: record.orderNo
      }
    }).done(
      function(data) {
        if (!data.error.length) {
          message.success("通过成功！");
          this.setState({
            loading: false
          });
          this.loadData();
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  },

  jdDate(orderNo) {
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
      data: {
        orderNo: orderNo
      },
      success: function(data) {
        let thisData = data.data;
        if (!thisData.length) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
          thisData = {};
        } else {
          this.setState({
            jsDate: thisData
          });
        }
      }.bind(this)
    }).always(
      function() {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  },

  /* 收款 */
  evaluateX(recard) {
    this.state.assignDataX = recard;
    this.setState({
      assignVisibleX: true
    });
  },
  /* 转交 */
  evaluateY(recard, nub) {
    this.state.assignDataY = recard;
    this.setState({
      nub,
      assignVisibleY: true
    });
  },
  /* 驳回 */
  reject(recard) {
    this.setState({
      bohuiData: recard,
      boHuiVisible: true,
      content: ""
    });
  },
  boHuiCancel() {
    this.setState({
      boHuiVisible: false,
      reason: ""
    });
  },
  componentWillMount() {
    this.loadData();
    this.departmentList();
  },
  tableRowClick(record) {
    this.state.RowData = record;
    this.setState({
      showDesc: true,
      visible: true,
      orderNo: record.orderNo,
      modKey: "1"
	});
	this.jdDate(record.orderNo)
    this.loadXmu(record);
    this.loadModal(record);
  },
  //详情
  callBack(key) {
    if (key === "2") {
      this.setState({
        modKey: key,
        width: "1200px"
      });
      this.loadWaiBao();
    }
    if (key === "1") {
      this.setState({
        modKey: key,
        width: "800px"
      });
    }
    if (this.state.pictureUrl.length) {
      let picArr = [];
      this.state.pictureUrl.map(function(item) {
        if (item.response && item.response.data && item.response.data.length) {
          picArr.push(item.response.data);
        }
      });
    }
    if (key === "3") {
      this.setState({
        modKey: key,
        width: "800px"
      });
      this.setState({
        loading: true
      });
      $.ajax({
        method: "get",
        dataType: "json",
        crossDomain: false,
        url:
          globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceDtails",
        data: {
          orderNo: this.state.orderNo
        },
        success: function(data) {
          let thisdata = data.data;
          this.setState({
            id: thisdata.id,
            createTimes: thisdata.createTimes,
            auditTimes: thisdata.auditTimes,
            remarks: thisdata.remarks,
            attachmentUrl: thisdata.attachmentUrl
              ? splitUrl(
                  thisdata.attachmentUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
              : [],
            pictureUrl: thisdata.pictureUrl
              ? splitUrl(
                  thisdata.pictureUrl,
                  ",",
                  globalConfig.avatarHost + "/upload"
                )
              : [], //图片地址
            amount: thisdata.amount,
            companyName: thisdata.companyName,
            refundStatus: thisdata.refundStatus,
            outsourceRemarks: thisdata.outsourceRemarks,
            unitNumber: thisdata.unitNumber,
            unitPrice: thisdata.unitPrice
          });
        }.bind(this)
      }).always(
        function() {
          this.setState({
            loading: false
          });
        }.bind(this)
      );
    }
  },
  //外包详情
  loadWaiBao() {
    $.ajax({
      method: "get",
      dataType: "json",
      rossDomain: false,
      url:
        globalConfig.context +
        "/api/admin/outsourceOrg/selectOrderOutsourceOrg",
      data: {
        orderNo: this.state.orderNo
      },
      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];
            let ProvinceCityArr = [];
            let ProvinceS = thisdata.province; //省
            let citys = thisdata.city; //市
            let Areas = thisdata.area; //区
            ProvinceCityArr.push(ProvinceS, citys, Areas);
            theArr.push({
              key: i,
              id: thisdata.id,
              name: thisdata.name,
              contacts: thisdata.contacts, //订单编号
              contactsMobile: thisdata.contactsMobile,
              ProvinceCity: ProvinceCityArr[0] === null ? [] : ProvinceCityArr,
              province: thisdata.province,
              city: thisdata.city,
              area: thisdata.area,
              address: thisdata.address,
              remarks: thisdata.remarks,
              tid: thisdata.tid,
              createTimes: thisdata.createTimes,
              tname: thisdata.tname,
              contractNo: thisdata.contractNo,
              projectStatus: thisdata.projectStatus
            });
          }
        }
        this.setState(
          {
            dataSourceW: theArr
          },
          () => {}
        );
      }.bind(this)
    }).always(
      function() {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  },
  loadXmu(record) {
    this.state.data = [];
    this.setState({
      loading: true
    });
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
      data: {
        orderNo: record.orderNo
      },
      success: function(data) {
        let theArr = [];
        if (!data.data) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
        } else {
          for (let i = 0; i < data.data.length; i++) {
            let thisdata = data.data[i];
            theArr.push({
              key: i,
              id: thisdata.id,
              orderNo: thisdata.orderNo,
              commodityName: thisdata.commodityName,
              commodityPrice: thisdata.commodityPrice,
              commodityQuantity: thisdata.commodityQuantity,
              taskStatus: thisdata.taskStatus,
              taskComment: thisdata.taskComment,
              main: thisdata.main,
              contacts: thisdata.contacts,
              contactsMobile: thisdata.contactsMobile,
              cname: thisdata.cname,
              certificateNumber: thisdata.certificateNumber,
              projectStatus: thisdata.projectStatus
            });
          }
        }
        this.setState({
          dataSourceX: theArr
        });
      }.bind(this)
    }).always(
      function() {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  },
  loadModal(record) {
    this.state.orderList = [];
    $.ajax({
      method: "get",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
      data: {
        orderNo: record.orderNo
      },
      success: function(data) {
        let thisData = data.data;
        if (!thisData) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
          thisData = {};
        }
        this.setState({
          id: thisData.id,
          orderList: thisData,
          approval:
            thisData.approval == 0
              ? thisData.approval.toString()
              : thisData.approval,
          orderRemarks: thisData.orderRemarks,
          orgCodeUrl: thisData.contractPictureUrl
            ? splitUrl(
                thisData.contractPictureUrl,
                ",",
                globalConfig.avatarHost + "/upload"
              )
            : [],
          orderNo: thisData.orderNo, //订单编号
          buyerId: thisData.buyerId,
          depName: thisData.depName
        });
      }.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.state.orderNo
      },
      success: function(data) {
        let theArr = [];
        let thisData = data.data;
        if (!thisData.length) {
          if (data.error && data.error.length) {
            message.warning(data.error[0].message);
          }
          thisData = {};
        } else {
          for (let i = 0; i < data.data.length; i++) {
            let thisdata = data.data[i];
            theArr.push({
              processName: thisdata.processName,
              adminName: thisdata.adminName,
              createDate: thisdata.createDate
            });
          }
        }
        this.setState({
          dataSourceY: theArr
        });
      }.bind(this)
    }).always(
      function() {
        this.setState({
          loading: false
        });
      }.bind(this)
    );
  },
  closeOrderLog() {
    this.setState({
      avisible: false
    });
  },
  load() {
    if (this.state.attachmentUrl) {
      let url = window.location.href.substring(7);
      this.state.attachmentUrl.forEach(e => {
        window.location.href =
          "http://" +
          url.substring(0, url.indexOf("/")) +
          "/api/admin/outsourceOrg//downloadFile?path=" +
          e.response.data;
      });
    } else {
      message.error("此订单无上传文件");
    }
  },
  getOrderLog() {
    this.setState({
      avisible: true
    });
    this.rizhi();
  },
  closeModal() {
    this.setState(
      {
        visible: false,
        width: "800px"
      },
      () => {
        this.setState({
          modKey: "1"
        });
      }
    );
  },
  closeDesc(e, s) {
    this.state.showDesc = e;
    if (s) {
      this.loadData();
    }
  },
  closeAssignX(e, s) {
    this.state.assignDataX = {};
    this.state.assignVisibleX = e;
    if (s) {
      this.loadData();
    }
  },
  closeAssignY(e, s) {
    this.state.assignDataY = {};
    this.state.assignVisibleY = e;
    if (s) {
      this.loadData();
    }
  },
  search() {
    this.loadData();
  },
  reset() {
    this.state.nameSearch = "";
    this.state.releaseDate = [];
    this.state.orderNoSearch = "";
    this.state.departmenttList = undefined;
    this.state.processStatus = [];
    this.state.contractNoSearch = "";
    this.loadData();
  },
  boHuiCo() {
    this.boHuiCancel();
    this.boHuiSubmit();
  },
  //驳回
  boHuiSubmit() {
    if (!this.state.reason) {
      message.warning("请填写驳回原因");
      return false;
    }
    this.setState({
      loading: true
    });
    $.ajax({
      method: "POST",
      dataType: "json",
      crossDomain: false,
      url: globalConfig.context + "/api/admin/financial/reject",
      data: {
        orderNo: this.state.bohuiData.orderNo,
        reason: this.state.reason
      }
    }).done(
      function(data) {
        if (!data.error.length) {
          message.success("驳回成功！");
          this.setState({
            loading: false
          });
          this.loadData();
        } else {
          message.warning(data.error[0].message);
        }
      }.bind(this)
    );
  },
  searchSwitch() {
    this.setState({
      searchMore: !this.state.searchMore
    });
  },
  render() {
    const { TextArea } = Input;
    const { RangePicker } = DatePicker;
    const { TabPane } = Tabs;
    var departmentArr = this.state.departmentArr || [];
    const theData = this.state.orderList || {};
    const formItemLayout = {
      labelCol: { span: 8 },
      wrapperCol: { span: 12 }
    };
    const jsDate = this.state.jsDate || [];
    return (
      <div className="user-content">
        <div className="content-title">
          <span>外包结算管理</span>
        </div>
        <div className="user-search">
          <Input
            placeholder="订单编号"
            value={this.state.orderNoSearch}
            onChange={e => {
              this.setState({ orderNoSearch: e.target.value });
            }}
          />
          <Input
            placeholder="客户名称"
            value={this.state.nameSearch}
            onChange={e => {
              this.setState({ nameSearch: 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>
          <Input
            placeholder="合同编号"
            value={this.state.contractNoSearch}
            onChange={e => {
              this.setState({
                contractNoSearch: e.target.value
              });
            }}
          />
          <Select
            placeholder="流程状态"
            onChange={e => {
              this.setState({ processStatus: e });
            }}
            style={{ width: 160, marginRight: 5 }}
            value={this.state.processStatus}
          >
            <Option value="3">未分配</Option>
            <Option value="4">已分配</Option>
          </Select>
          <span style={{ marginRight: 10 }}>下单日期:</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: 10 }}
          >
            搜索
          </Button>
          <Button onClick={this.reset}>重置</Button>
        </div>
        <div className="patent-table">
          <Spin spinning={this.state.loading}>
            <Table
              columns={this.state.columns}
              dataSource={this.state.dataSource}
              rowSelection={false}
              scroll={{ x: true, y: 0 }}
              pagination={this.state.pagination}
              onRowClick={this.tableRowClick.bind(this)}
            />
          </Spin>
        </div>
        <div className="patent-desc">
          <Modal
            maskClosable={false}
            visible={this.state.visible}
            onCancel={this.closeModal}
            width={this.state.width}
            footer=""
            className="admin-desc-content"
          >
            <Tabs
              onChange={this.callBack}
              type="card"
              activeKey={this.state.modKey}
            >
              <TabPane tab="项目概况" key="1">
                <Form layout="horizontal" id="demand-form">
                  <Spin spinning={this.state.loading}>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单编号"
                      >
                        <span>{this.state.orderNo}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="签单时间"
                      >
                        <span>{theData.signDate}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="客户名称"
                      >
                        <span>{theData.userName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="流转状态"
                      >
                        <span>{getProcessStatus(theData.processStatus)}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单类型"
                      >
                        <span>{getNewOrderType(theData.orderType)}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="结算状态"
                      >
                        <span>
                          {getLiquidationStatus(theData.liquidationStatus)}
                        </span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="签单总金额(万元)"
                      >
                        <span>{theData.totalAmount}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="首付款(万元)"
                      >
                        <span>{theData.firstAmount}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="已收款(万元)"
                      >
                        <span>{theData.settlementAmount}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="是否特批"
                      >
                        <span>{getApproval(theData.approval)}</span>
                      </FormItem>
                      {/*this.props.data.orderStatus=='6'&&<FormItem className="half-item" {...formItemLayout} label="已退(万元)">
														<span>{this.props.data.refundAmount}</span>
													</FormItem>*/}
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 5 }}
                        wrapperCol={{ span: 18 }}
                        label="合同扫描件"
                      >
                        <Upload
                          className="demandDetailShow-upload"
                          listType="picture-card"
                          fileList={this.state.orgCodeUrl}
                          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>
                        <Button
                          style={{
                            float: "right",
                            marginRight: "140px",
                            marginTop: "20px"
                          }}
                          onClick={this.getOrderLog}
                        >
                          查看订单日志
                        </Button>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="合同编号"
                      >
                        <span>{theData.contractNo}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单部门"
                      >
                        <span>{theData.depName}</span>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 5 }}
                        wrapperCol={{ span: 18 }}
                        label="订单留言"
                      >
                        <p style={{ width: 500, wordWrap: "break-word" }}>
                          {this.state.orderRemarks}
                        </p>
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        labelCol={{ span: 5 }}
                        wrapperCol={{ span: 18 }}
                        label="收款节点"
                      >
                        {jsDate.map(item => {
                          return (
                            <p>
                              {getjiedian(item.dunSubject)} -- {item.money} 万元
                            </p>
                          );
                        })}
                      </FormItem>
                    </div>
                    <div className="clearfix">
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单负责人"
                      >
                        <span>{theData.salesmanName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="订单负责人电话"
                      >
                        <span>{theData.salesmanMobile}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="财务负责人"
                      >
                        <span>{theData.financeName}</span>
                      </FormItem>
                      <FormItem
                        className="half-item"
                        {...formItemLayout}
                        label="财务负责人电话"
                      >
                        <span>{theData.financeMobile}</span>
                      </FormItem>
                    </div>
                    <Modal
                      visible={this.state.avisible}
                      className="admin-desc-content"
                      width="800px"
                      maskClosable={false}
                      title="订单日志"
                      footer={null}
                      onCancel={this.closeOrderLog}
                    >
                      <div className="patent-table">
                        <Spin spinning={this.state.loading}>
                          <Table
                            columns={this.state.columnsY}
                            dataSource={this.state.dataSourceY}
                            pagination={false}
                          />
                        </Spin>
                      </div>
                    </Modal>
                    <div className="clearfix">
                      <p style={{ fontSize: 18, marginLeft: 20 }}>项目业务</p>
                      <div className="patent-table">
                        <Spin spinning={this.state.loading}>
                          <Table
                            columns={this.state.columnsX}
                            dataSource={this.state.dataSourceX}
                            pagination={false}
                          />
                        </Spin>
                      </div>
                    </div>
                  </Spin>
                </Form>
              </TabPane>
              <TabPane tab="外包详情" key="2">
                <div className="clearfix">
                  <p style={{ color: "red" }}>
                    提示:查看备注请点击表格左侧加号按钮~
                  </p>
                  <div className="patent-table">
                    <Spin spinning={this.state.loading}>
                      <Table
                        columns={this.state.columnsW}
                        dataSource={this.state.dataSourceW}
                        pagination={false}
                        expandedRowRender={record => (
                          <p style={{ margin: 0 }}>{record.remarks}</p>
                        )}
                        scroll={{ x: 300, y: 0 }}
                      />
                    </Spin>
                  </div>
                </div>
              </TabPane>
              <TabPane tab="外包审核" key="3">
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    labelCol={{ span: 8 }}
                    wrapperCol={{ span: 14 }}
                    label="外包公司"
                  >
                    <span>{this.state.companyName}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="单价(万元)"
                  >
                    <span>{this.state.unitPrice}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="数量(万元)"
                  >
                    <span>{this.state.unitNumber}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="总金额(万元)"
                  >
                    <span>{this.state.amount}</span>
                  </FormItem>
                </div>
                <div className="clearfix">
                  <FormItem
                    className="half-item"
                    {...formItemLayout}
                    label="备注"
                  >
                    <span>{this.state.outsourceRemarks}</span>
                  </FormItem>
                </div>
                {/*<div className="clearfix">
												<FormItem className="half-item"
												     labelCol={{ span: 8 }}
												    wrapperCol={{ span: 14 }}
												    label="上传协议文件" >  
													<Upload header={{authorization: 'authorization-text'}} action={globalConfig.context + "/api/admin/outsourceOrg/uploadOutsourceFile"}
															data={(e)=>{
																return {
																	'sign': e.name.substring(0,e.name.lastIndexOf("."))
																}
															}}
															fileList={this.state.attachmentUrl}
															showUploadList={{showRemoveIcon:false}} 
															onPreview={(e)=>{
																let url = window.location.href.substring(7)
																window.location.href="http://"+url.substring(0,url.indexOf("/"))+"/api/admin/outsourceOrg//downloadFile?path="+e.response.data
															}}>
													</Upload>
												</FormItem>
											</div>*/}
                <div className="clearfix">
                  <FormItem
                    labelCol={{ span: 4 }}
                    wrapperCol={{ span: 18 }}
                    label="合同/协议扫描件"
                  >
                    <Upload
                      className="demandDetailShow-upload"
                      listType="picture-card"
                      fileList={this.state.pictureUrl}
                      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">
                  <hr className="division" />
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      labelCol={{ span: 8 }}
                      wrapperCol={{ span: 14 }}
                      label="审核意见"
                    >
                      <span>{this.state.remarks}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      labelCol={{ span: 8 }}
                      wrapperCol={{ span: 14 }}
                      label="审核结果"
                    >
                      <span>{getRefundStatus(this.state.refundStatus)}</span>
                    </FormItem>
                  </div>
                  <div className="clearfix">
                    <FormItem
                      className="half-item"
                      labelCol={{ span: 8 }}
                      wrapperCol={{ span: 14 }}
                      label="审核时间"
                    >
                      <span>{this.state.auditTimes}</span>
                    </FormItem>
                  </div>
                </div>
              </TabPane>
            </Tabs>
          </Modal>
        </div>
        <div className="patent-desc">
          <Modal
            maskClosable={false}
            title="驳回理由"
            visible={this.state.boHuiVisible}
            onCancel={this.boHuiCancel}
            width="500px"
            footer=""
            className="admin-desc-content"
          >
            <TextArea
              rows={4}
              value={this.state.reason}
              onChange={e => {
                console.log(e.target.value);
                this.setState({
                  reason: e.target.value
                });
              }}
            />
            <Button
              type="primary"
              style={{ marginTop: "20px" }}
              onClick={this.boHuiCo}
            >
              确定
            </Button>
          </Modal>
        </div>
        <Assign
          title="任务"
          selApi={"/api/admin/newOrder/updateFinance"}
          data={this.state.assignDataY}
          showDesc={this.state.assignVisibleY}
          closeDesc={this.closeAssignY.bind(this)}
          // fenpaiData={8}
          specially={0}
          roleName={this.state.nub}
          requestMethod={"get"}
        />
        <Receivable
          title="收款记录"
          api="/api/admin/financial/addReceiptsFlow"
          data={this.state.assignDataX}
          showDesc={this.state.assignVisibleX}
          closeDesc={this.closeAssignX.bind(this)}
        />
      </div>
    );
  }
});

export default approvedOutsourcing;
