|
@@ -0,0 +1,770 @@
|
|
|
+import React, { Component } from "react";
|
|
|
+import { Form, Upload, Modal, Button, message, Input, Table, Tooltip } from "antd";
|
|
|
+import AgreeButton from "./agreeButton.js";
|
|
|
+import Rizhi from "./rizhi.js";
|
|
|
+import { getProcessStatusNew } from "../../../../tools.js";
|
|
|
+import { shenghePeo, changeColor } from "@/tools.js";
|
|
|
+import { typeList } from '@/dataDic.js'
|
|
|
+import $ from "jquery/src/ajax";
|
|
|
+import tongguo from "../../../../../../image/tongguo.png";
|
|
|
+import quxiao from "../../../../../../image/quxiao.png";
|
|
|
+import ProAndCuiList from "./proAndCuiList.jsx";
|
|
|
+// import OrderCoor from "./orderCoor";
|
|
|
+import ReactToPrint from "react-to-print";
|
|
|
+const FormItem = Form.Item;
|
|
|
+import Refund from "./refund.js"
|
|
|
+import ImgList from "../../../../common/imgList/index";
|
|
|
+import EnterpriseNameChange from "../../../../common/enterpriseNameChange";
|
|
|
+import FlowChart from '../../../../common/flowchart'; // 流程图
|
|
|
+
|
|
|
+const { TextArea } = Input;
|
|
|
+
|
|
|
+const formItemLayout = {
|
|
|
+ labelCol: { span: 8 },
|
|
|
+ wrapperCol: { span: 14 }
|
|
|
+};
|
|
|
+
|
|
|
+const getChangeType = function (e) {
|
|
|
+ if (e || e == 0) {
|
|
|
+ let str = e.toString();
|
|
|
+ let theType = "";
|
|
|
+ typeList.map(function (item) {
|
|
|
+ if (item.value == str) {
|
|
|
+ theType = item.key;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return theType;
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+class Itemlist extends Component {
|
|
|
+ constructor(props) {
|
|
|
+ super(props);
|
|
|
+ }
|
|
|
+
|
|
|
+ render() {
|
|
|
+ let pageData = this.props.pageData;
|
|
|
+ return (
|
|
|
+ <div className="clearfix">
|
|
|
+ {pageData.labelA === '客户名称' ? <Form.Item
|
|
|
+ label={pageData.labelA}
|
|
|
+ {...pageData.formItemLayoutA}
|
|
|
+ className="half-item"
|
|
|
+ >
|
|
|
+ <div>
|
|
|
+ {pageData.dataA}
|
|
|
+ <EnterpriseNameChange
|
|
|
+ type='journal'
|
|
|
+ style={{ marginLeft: 10 }}
|
|
|
+ enterpriseId={this.props.orderUid} />
|
|
|
+ </div>
|
|
|
+ </Form.Item> : pageData.labelA === '变更原因' ? <Form.Item
|
|
|
+ label={pageData.labelA}
|
|
|
+ {...pageData.formItemLayoutA}
|
|
|
+ className="half-item"
|
|
|
+ >
|
|
|
+ <Tooltip placement="topLeft" title={pageData.dataA}>
|
|
|
+ <div style={{
|
|
|
+ width: '350px !important',
|
|
|
+ whiteSpace: 'nowrap',
|
|
|
+ wordBreak: 'break-all',
|
|
|
+ overflow: 'hidden',
|
|
|
+ textOverflow: 'ellipsis',
|
|
|
+ }}>{pageData.dataA}</div>
|
|
|
+ </Tooltip>
|
|
|
+ </Form.Item> : <Form.Item
|
|
|
+ label={pageData.labelA}
|
|
|
+ {...pageData.formItemLayoutA}
|
|
|
+ className="half-item"
|
|
|
+ >
|
|
|
+ <div>{pageData.dataA}
|
|
|
+ {
|
|
|
+ pageData.labelA === '当前进度' &&
|
|
|
+ <FlowChart id={this.props.id} />
|
|
|
+ }
|
|
|
+ </div>
|
|
|
+ </Form.Item>}
|
|
|
+ <Form.Item
|
|
|
+ label={pageData.labelB}
|
|
|
+ {...pageData.formItemLayoutB}
|
|
|
+ className="half-item"
|
|
|
+ >
|
|
|
+ <span>{pageData.dataB}</span>
|
|
|
+ </Form.Item>
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class ChangeDetail extends Component {
|
|
|
+ constructor(props) {
|
|
|
+ super(props);
|
|
|
+ this.state = {
|
|
|
+ rotateDeg: 0,
|
|
|
+ previewVisible: false,
|
|
|
+ buttonStatus: true,
|
|
|
+ dataSource: [],
|
|
|
+ reason: "",
|
|
|
+ rejectState: 0,
|
|
|
+ // 累计回收退票
|
|
|
+ refundInvoice: 0,
|
|
|
+ // 收款信息
|
|
|
+ proceedsData: [],
|
|
|
+ proceedsTotal: this.props.proceedsTotal,
|
|
|
+ // 开票信息
|
|
|
+ invoiceData: [],
|
|
|
+ invoiceTotal: this.props.invoiceTotal,
|
|
|
+ cost: 10,
|
|
|
+ refund: 8,
|
|
|
+ // 测试添加退票
|
|
|
+ contactList: this.props.contactList,
|
|
|
+ ContactsLists: [
|
|
|
+ {
|
|
|
+ title: "金额(万元)",
|
|
|
+ dataIndex: "amount",
|
|
|
+ key: "amount",
|
|
|
+ render: (text, record) => {
|
|
|
+ return (
|
|
|
+ <div>
|
|
|
+ 实际回收退票(万元)
|
|
|
+ <Input
|
|
|
+ value={record.amount}
|
|
|
+ placeholder="请输入金额(必填项)"
|
|
|
+ disabled={record.load}
|
|
|
+ key={record.id}
|
|
|
+ required="required"
|
|
|
+ onChange={(e) => {
|
|
|
+ record.amount = e.target.value;
|
|
|
+ this.setState({ contactList: this.state.contactList });
|
|
|
+ }}
|
|
|
+ style={{ width: "120px" }}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "时间",
|
|
|
+ dataIndex: "createTimes",
|
|
|
+ key: "createTimes",
|
|
|
+ render: (text, record) => {
|
|
|
+ return <div>{record.createTimes}</div>;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ };
|
|
|
+ this.getOrgCodeUrl = this.getOrgCodeUrl.bind(this);
|
|
|
+ this.changeButtonStatus = this.changeButtonStatus.bind(this);
|
|
|
+ this.moneyOld = this.moneyOld.bind(this);
|
|
|
+ this.downImg = this.downImg.bind(this);
|
|
|
+ this.upImg = this.upImg.bind(this);
|
|
|
+ this.rotate = this.rotate.bind(this);
|
|
|
+ }
|
|
|
+ // componentWillUpdate() {
|
|
|
+ // this.loadDataChange();
|
|
|
+ // console.log(this.props);
|
|
|
+ // }
|
|
|
+ // componentDidUpdate() {
|
|
|
+ // this.loadDataChange();
|
|
|
+ // console.log(this.props);
|
|
|
+ // }
|
|
|
+
|
|
|
+ // loadDataChange() {
|
|
|
+ // console.log(this.props);
|
|
|
+
|
|
|
+ // $.ajax({
|
|
|
+ // method: "get",
|
|
|
+ // dataType: "json",
|
|
|
+ // crossDomain: false,
|
|
|
+ // url: globalConfig.context + "/api/admin/orderChange/orderChangeLogList",
|
|
|
+ // data: {
|
|
|
+ // changeId: this.props.data.id
|
|
|
+ // },
|
|
|
+ // success: function(data) {
|
|
|
+ // if (data.error.length || data.data.list == "") {
|
|
|
+ // if (data.error && data.error.length) {
|
|
|
+ // message.warning(data.error[0].message);
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // this.setState({
|
|
|
+ // dataSource: data.data
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ // }.bind(this)
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ downImg() {
|
|
|
+ let num = 0;
|
|
|
+ for (let i = 0; i < this.props.pictureUrl.length; i++) {
|
|
|
+ if (this.props.pictureUrl[i].url == this.state.previewImage) {
|
|
|
+ num = i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (num == this.props.pictureUrl.length - 1) {
|
|
|
+ return message.warning("已经是最后一张了哦");
|
|
|
+ }
|
|
|
+ this.state.previewImage = this.props.pictureUrl[num + 1].url;
|
|
|
+ this.setState({
|
|
|
+ previewImage: this.state.previewImage,
|
|
|
+ rotateDeg: 0,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ upImg() {
|
|
|
+ let num = 0;
|
|
|
+ for (let i = 0; i < this.props.pictureUrl.length; i++) {
|
|
|
+ if (this.props.pictureUrl[i].url == this.state.previewImage) {
|
|
|
+ num = i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (num == 0) {
|
|
|
+ return message.warning("已经是第一张了哦");
|
|
|
+ }
|
|
|
+ this.state.previewImage = this.props.pictureUrl[num - 1].url;
|
|
|
+ this.setState({
|
|
|
+ previewImage: this.state.previewImage,
|
|
|
+ rotateDeg: 0,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ rotate() {
|
|
|
+ let rotateDeg = this.state.rotateDeg + 90;
|
|
|
+ this.setState({
|
|
|
+ rotateDeg,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ moneyOld(str, money) {
|
|
|
+ if (money) {
|
|
|
+ return (
|
|
|
+ <span style={{ color: "red", fontWeight: 900, fontSize: 16 }}>
|
|
|
+ {str}(原合同金额{money}万元)
|
|
|
+ </span>
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ return (
|
|
|
+ <span style={{ color: "red", fontWeight: 900, fontSize: 16 }}>
|
|
|
+ {str}
|
|
|
+ </span>
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ componentWillReceiveProps(nextProps) {
|
|
|
+ this.setState({
|
|
|
+ paymentTimes: nextProps.data.paymentTimes,
|
|
|
+ paymentAmount: nextProps.data.paymentAmount,
|
|
|
+ invoiceTimes: nextProps.data.invoiceTimes,
|
|
|
+ invoiceAmount: nextProps.data.invoiceAmount,
|
|
|
+ cwCost: nextProps.data.cwCost,
|
|
|
+ refundableAmount: nextProps.data.refundableAmount,
|
|
|
+ cwRemarks: nextProps.data.cwRemarks,
|
|
|
+ contactList: nextProps.contactList,
|
|
|
+ refundInvoice: nextProps.data.refundInvoice,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ getOrgCodeUrl(e) {
|
|
|
+ this.setState({
|
|
|
+ orgCodeUrl: e,
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ //同意拒绝按钮的有无
|
|
|
+ changeButtonStatus() {
|
|
|
+ this.setState({
|
|
|
+ buttonStatus: !this.state.buttonStatus,
|
|
|
+ });
|
|
|
+ window.setTimeout(() => {
|
|
|
+ this.setState({
|
|
|
+ reason: "",
|
|
|
+ });
|
|
|
+ }, 100);
|
|
|
+ }
|
|
|
+
|
|
|
+ render() {
|
|
|
+ const pageData = [
|
|
|
+ {
|
|
|
+ labelA: "客户名称",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.userName,
|
|
|
+ labelB: "合同编号",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: this.props.data.contractNo,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ labelA: "时间",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.createTimes,
|
|
|
+ labelB: "发起人",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: this.props.data.applicant,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ labelA: "当前进度",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ // 当前是咨询师以及咨询师经理时使用shenhePeo函数,其他流程正常显示
|
|
|
+ dataA:
|
|
|
+ this.props.data.processState == 3 || this.props.data.processState == 4
|
|
|
+ ? shenghePeo(this.props.data.examineName, this.props.data.processState)
|
|
|
+ : getProcessStatusNew(
|
|
|
+ this.props.data.examineName,
|
|
|
+ this.props.data.processState,
|
|
|
+ this.props.data.status
|
|
|
+ ),
|
|
|
+ labelB: "变更类型",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: getChangeType(this.props.data.type),
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ labelA: this.props.data.type == 0 ? "企业总经理姓名" : "",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.managerContacts,
|
|
|
+ labelB: "企业总经理联系电话",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: this.props.data.managerContactMobile,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ labelA: this.props.data.type == 0 ? "企业联系人姓名" : "",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.contacts,
|
|
|
+ labelB: "企业联系人联系方式",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: this.props.data.contactMobile,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ labelA: "合同额(万元)",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.moneyOld(this.props.data.totalAmount, this.props.money),
|
|
|
+ labelB: "已收款(万元)",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: changeColor(this.props.data.settlementAmount),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ labelA: "欠款(万元)",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: changeColor(this.props.data.arrears),
|
|
|
+ labelB: "申请退款(万元)",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: changeColor(this.props.data.changeAmount),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ labelA: "首付款(万元)",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: changeColor(this.props.data.firstAmount),
|
|
|
+ },
|
|
|
+ {
|
|
|
+ labelA: "变更原因",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.remarks,
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ const planData = [
|
|
|
+ {
|
|
|
+ labelA: "项目进度",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.projectState,
|
|
|
+ labelB: "发生成本费用(万元)",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: this.props.data.zxsCost,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ labelA: "变更原因",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.zxsRemarks,
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ const financeData = [
|
|
|
+
|
|
|
+ {
|
|
|
+ labelA: "发生直接成本(万元)",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.cwCost,
|
|
|
+ labelB: "发生间接成本(万元)",
|
|
|
+ formItemLayoutB: formItemLayout,
|
|
|
+ dataB: this.props.data.cwIndirectCost
|
|
|
+ },
|
|
|
+ {
|
|
|
+ labelA: "应退金额(万元)",
|
|
|
+ formItemLayoutA: formItemLayout,
|
|
|
+ dataA: this.props.data.refundableAmount
|
|
|
+ }
|
|
|
+ ];
|
|
|
+ const buttonData = [
|
|
|
+ {
|
|
|
+ name: "同意",
|
|
|
+ title: "理由",
|
|
|
+ placeholder: "请输入理由",
|
|
|
+ type: "primary",
|
|
|
+ status: 2,
|
|
|
+ onChange: (value) => {
|
|
|
+ this.setState({
|
|
|
+ remarks: value,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "拒绝",
|
|
|
+ title: "理由",
|
|
|
+ placeholder: "请输入理由",
|
|
|
+ type: "danger",
|
|
|
+ status: 3,
|
|
|
+ onChange: (value) => {
|
|
|
+ this.setState({
|
|
|
+ remarks: value,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ const orgCodeUrl = this.props.pictureUrl;
|
|
|
+ const attachment = this.props.attachment
|
|
|
+ // console.log(this.props.attachment);
|
|
|
+ // console.log(this.props.orderUid);
|
|
|
+ return (
|
|
|
+ <div className="clearfix changeDetail">
|
|
|
+ <div
|
|
|
+ className="clearfix"
|
|
|
+ ref={(e) => {
|
|
|
+ this.refs = e;
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ borderRadius: "50%",
|
|
|
+ width: 300,
|
|
|
+ height: 300,
|
|
|
+ position: "absolute",
|
|
|
+ top: 230,
|
|
|
+ left: 525,
|
|
|
+ transform: "rotate(-5deg)",
|
|
|
+ zIndex: 1,
|
|
|
+ display:
|
|
|
+ this.props.data.status == 4
|
|
|
+ ? "block"
|
|
|
+ : "none",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <img src={tongguo} style={{ width: "100%" }} />
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ borderRadius: "50%",
|
|
|
+ width: 300,
|
|
|
+ height: 300,
|
|
|
+ position: "absolute",
|
|
|
+ top: 284,
|
|
|
+ left: 586,
|
|
|
+ transform: "rotate(-5deg)",
|
|
|
+ zIndex: 1,
|
|
|
+ display: this.props.data.status == 5 ? "block" : "none",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <img src={quxiao} style={{ width: "63%" }} />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h2 style={{ textAlign: "center", marginBottom: 10, marginTop: 20 }}>
|
|
|
+ 合同变更记录
|
|
|
+ </h2>
|
|
|
+ {pageData.map((item, index) => {
|
|
|
+ return !!item.labelA && <Itemlist orderUid={this.props.orderUid} key={index} pageData={item} id={this.props.id} />;
|
|
|
+ })}
|
|
|
+ <Form.Item
|
|
|
+ label="变更凭证"
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 18 }}
|
|
|
+ >
|
|
|
+ <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
|
|
|
+ <ImgList domId={"bfpz"} fileList={orgCodeUrl} ItemWidth={'96px'} />
|
|
|
+ </div>
|
|
|
+ <Rizhi changeId={this.props.id} />
|
|
|
+ </Form.Item>
|
|
|
+ {
|
|
|
+ this.props.contractPictureUrl && this.props.contractPictureUrl.length != 0 &&
|
|
|
+ <div className="clearfix">
|
|
|
+ <Form.Item
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 18 }}
|
|
|
+ label="最新合同"
|
|
|
+ >
|
|
|
+ <div style={{ paddingTop: 10 }}>
|
|
|
+ <ImgList
|
|
|
+ domId={"zxht"}
|
|
|
+ fileList={
|
|
|
+ this.props.contractPictureUrl
|
|
|
+ }
|
|
|
+ ItemWidth={"96px"}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ </Form.Item>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ {/* <h2 style={{ textAlign: "center", marginBottom: 0 }}>变更日志</h2> */}
|
|
|
+ <ul
|
|
|
+ style={{
|
|
|
+ width: "868px",
|
|
|
+ overflow: "hidden",
|
|
|
+ paddingLeft: "90px",
|
|
|
+ position: "relative",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {/* <span>操作人:</span> */}
|
|
|
+ {this.props.dataSource.map((item, index) => {
|
|
|
+ if (item.status == 0) {
|
|
|
+ item.status = "发起";
|
|
|
+ } else if (item.status == 1) {
|
|
|
+ item.status = "审核中";
|
|
|
+ } else if (item.status == 2) {
|
|
|
+ item.status = "通过";
|
|
|
+ } else if (item.status == 3) {
|
|
|
+ item.status = "驳回";
|
|
|
+ } else if (item.status == 4) {
|
|
|
+ item.status = "完成";
|
|
|
+ } else if (item.status == 5) {
|
|
|
+ item.status = "撤销";
|
|
|
+ }
|
|
|
+ return (
|
|
|
+ <li
|
|
|
+ key={index}
|
|
|
+ style={{
|
|
|
+ width: "100%",
|
|
|
+ height: "auto",
|
|
|
+ wordBreak: "break-all",
|
|
|
+ marginBottom: "10px",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {item.aname + ":" + "【" + item.status + "】" + item.remarks + "(" + item.createTimes + ")"}
|
|
|
+ </li>
|
|
|
+ );
|
|
|
+ })}
|
|
|
+ </ul>
|
|
|
+ <ProAndCuiList id={this.props.id} />
|
|
|
+ {/* 收款情况 */}
|
|
|
+ <div className="clearfix">
|
|
|
+ <h3 style={{ marginLeft: 20, fontWeight: 800, marginBottom: 10 }}>
|
|
|
+ 收款情况
|
|
|
+ </h3>
|
|
|
+ <div style={{ marginLeft: "90px" }}>
|
|
|
+ <ul>
|
|
|
+ {(this.props.proceedsData.bill || []).map((item, index) => (
|
|
|
+ <li key={index}>
|
|
|
+ {item.payTime +
|
|
|
+ " " +
|
|
|
+ item.aName +
|
|
|
+ " 收款:" +
|
|
|
+ item.transactionAmount +
|
|
|
+ "万元"}
|
|
|
+ </li>
|
|
|
+ ))}
|
|
|
+ </ul>
|
|
|
+
|
|
|
+ <div>收款总计:{this.props.proceedsTotal}万元</div>
|
|
|
+ </div>
|
|
|
+ <br />
|
|
|
+ <div style={{ marginLeft: "90px" }}>
|
|
|
+ <ul>
|
|
|
+ {(this.props.proceedsData.invoice || []).map((item, index) => (
|
|
|
+ <li key={index}>
|
|
|
+ {item.createTime + " " + " 开票:" + item.amount + "万元"}
|
|
|
+ </li>
|
|
|
+ ))}
|
|
|
+ </ul>
|
|
|
+ <div>开票总计:{this.props.invoiceTotal}万元</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <p style={{ marginLeft: "90px", color: "red" }}>
|
|
|
+ 系统预估 产生成本(万元):
|
|
|
+ {this.props.data.estimateCost
|
|
|
+ ? this.props.data.estimateCost
|
|
|
+ : "0"}{" "}
|
|
|
+ 应退金额(万元):
|
|
|
+ {this.props.data.estimateRefundable
|
|
|
+ ? this.props.data.estimateRefundable
|
|
|
+ : "0"}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ {/* 当前财务状态 */}
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ display: this.props.data.processState > 6 ? "block" : "none",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <h3 style={{ marginLeft: 20, fontWeight: 800, marginBottom: 10 }}>
|
|
|
+ 当前财务状态(财务填写)
|
|
|
+ </h3>
|
|
|
+ {financeData.map((item, index) => {
|
|
|
+ return <Itemlist orderUid={this.props.orderUid} key={index} pageData={item} id={this.props.id} />;
|
|
|
+ })}
|
|
|
+ </div>
|
|
|
+ {/* 回收退票 */}
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ display:
|
|
|
+ (this.props.data.processState == 9 ||
|
|
|
+ this.props.data.processState == 8 ||
|
|
|
+ this.props.data.processState == 10) &&
|
|
|
+ (this.props.data.status == 2 || this.props.data.status == 4 || this.props.data.status == 3 || this.props.data.status == 6)
|
|
|
+ ? "block"
|
|
|
+ : "none",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <h3 style={{ marginLeft: 20, fontWeight: 800, marginBottom: 10 }}>
|
|
|
+ 回收退票
|
|
|
+ </h3>
|
|
|
+
|
|
|
+ <Table
|
|
|
+ size="middle"
|
|
|
+ pagination={false}
|
|
|
+ bordered
|
|
|
+ columns={this.state.ContactsLists}
|
|
|
+ dataSource={this.state.contactList}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ {/* 完成审核,上传附件 */}
|
|
|
+ <div style={{
|
|
|
+ position: "relative",
|
|
|
+ display:
|
|
|
+ (this.props.data.processState == 8 ||
|
|
|
+ this.props.data.processState == 9 ||
|
|
|
+ this.props.data.processState == 10) &&
|
|
|
+ this.props.data.status == 2 || this.props.data.status == 4 || this.props.data.status == 3 || this.props.data.status == 6
|
|
|
+ ? "block"
|
|
|
+ : "none",
|
|
|
+ marginTop: 10,
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <hr
|
|
|
+ style={{
|
|
|
+ marginTop: 12,
|
|
|
+ marginBottom: 10,
|
|
|
+ backgroundColor: "black",
|
|
|
+ height: 1,
|
|
|
+ border: "none",
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ <h3
|
|
|
+ style={{
|
|
|
+ marginLeft: 20,
|
|
|
+ fontWeight: 800,
|
|
|
+ marginBottom: 10,
|
|
|
+ display: "inline-block",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 完成审核,上传附件{" "}
|
|
|
+ <span
|
|
|
+ style={{ fontSize: 12, fontWeight: "normal", color: "red" }}
|
|
|
+ >
|
|
|
+ (注:由营销员上传变更后附件,全变更流程完成。)
|
|
|
+ </span>
|
|
|
+ </h3>
|
|
|
+ <div>
|
|
|
+ <Form.Item
|
|
|
+ label="变更附件"
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 18 }}
|
|
|
+ >
|
|
|
+ <div style={{ paddingTop: '10px', paddingBottom: '10px' }}>
|
|
|
+ {attachment.length > 0 ? <ImgList domId={this.props.domId + 2 ? this.props.domId + 2 : 'changeDetailyxgly1'} fileList={attachment} ItemWidth={'96px'} /> : '无附件'}
|
|
|
+ </div>
|
|
|
+ </Form.Item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ display:
|
|
|
+ (this.props.data.processState == 8 ||
|
|
|
+ this.props.data.processState == 9 ||
|
|
|
+ this.props.data.processState == 10) &&
|
|
|
+ this.props.data.status == 4 &&
|
|
|
+ this.props.data.refundStatus
|
|
|
+ ? "block"
|
|
|
+ : "none",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <Refund data={this.props.data} id={this.props.id} />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ {
|
|
|
+ ((this.props.processState == this.props.data.processState) &&
|
|
|
+ (this.props.data.status == 1 || this.props.data.status == 3)) &&
|
|
|
+ <div>
|
|
|
+ <div className="clearfix">
|
|
|
+ <FormItem
|
|
|
+ style={{ height: "auto" }}
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 18 }}
|
|
|
+ label="备注"
|
|
|
+ >
|
|
|
+ <TextArea
|
|
|
+ rows={4}
|
|
|
+ placeholder="请输入备注信息"
|
|
|
+ style={{ width: "95%" }}
|
|
|
+ value={this.state.reason}
|
|
|
+ onChange={(e) => {
|
|
|
+ let reason = e.target.value;
|
|
|
+ this.setState({ reason });
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div
|
|
|
+ className="clearfix"
|
|
|
+ style={{ display: "flex", justifyContent: "space-around" }}
|
|
|
+ >
|
|
|
+ {buttonData.map((item, index) => {
|
|
|
+ return (
|
|
|
+ <AgreeButton
|
|
|
+ data={item}
|
|
|
+ key={index}
|
|
|
+ backData={this.props.data}
|
|
|
+ processState={this.props.processState}
|
|
|
+ visible={this.changeButtonStatus}
|
|
|
+ loadData={this.props.loadData}
|
|
|
+ reason={this.state.reason}
|
|
|
+ ajaxData={this.state}
|
|
|
+ rejectState={this.state.rejectState}
|
|
|
+ onCancel={this.props.onCancel}
|
|
|
+ />
|
|
|
+ );
|
|
|
+ })}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ {/* <ReactToPrint
|
|
|
+ trigger={() => (
|
|
|
+ <div className="clearfix">
|
|
|
+ <Button type="primary" style={{ float: "right", marginTop: 10 }}>
|
|
|
+ 打印
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
+ content={() => this.refs}
|
|
|
+ /> */}
|
|
|
+ {/* <OrderCoor
|
|
|
+ orderNo={this.props.orderNo}
|
|
|
+ /> */}
|
|
|
+ <ReactToPrint
|
|
|
+ trigger={() => (
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ style={{
|
|
|
+ float: "right",
|
|
|
+ marginTop: 10,
|
|
|
+ position: "absolute",
|
|
|
+ top: 0,
|
|
|
+ right: 30,
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 打印
|
|
|
+ </Button>
|
|
|
+ )}
|
|
|
+ content={() => this.refs}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ );
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+export { ChangeDetail, getChangeType };
|