import React from "react"; import { Icon, Button, Input, Spin, Table, message, DatePicker, Upload, Form, Modal, Tabs, Col, Tooltip, Select, Radio, Tag, } from "antd"; import $ from "jquery/src/ajax"; import moment from "moment"; import { getLiquidationStatus, getApprovedState, getProcessStatus, splitUrl, getjiedian, getboutique, getCuikuan, getProjectStatus, moneyVerify, ShowModal, getProjectName, getApprovalTag, getApprovedType, } from "@/tools.js"; import "./customer.less"; import ShowModalDiv from "@/showModal.jsx"; import ResolutionDetail from "@/resolutionDetail"; import OrderRiZi from "@/orderRiZi.jsx"; import ImgList from "../../../common/imgList"; import { ChooseList } from "./chooseList"; import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly"; import NewEditProject from "../../../common/projectOperation/newEditProject" import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import OrderCoor from "./changeComponent/orderCoor"; import ContentUrl from "./contentUrl"; import { salesList, processStatus, approvalOptions } from "@/dataDic.js"; import FlowChart from '../../../common/flowchart'; // 流程图 import Gxczx from '../../../common/orderDetail/gxczx' // 高新纯咨询合同说明详情 import Property from '../../../common/orderDetail/property' // 知识产权情况 const confirm = Modal.confirm; const { Option } = Select; const RadioGroup = Radio.Group; const RadioButton = Radio.Button; //图片组件 const PicturesWall = React.createClass({ getInitialState() { return { previewVisible: false, previewImage: "", declarationBatch: 1, dataInfor: {}, fileList: this.props.pictureUrl }; }, handleCancel() { this.setState({ previewVisible: false }); }, handlePreview(file) { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }, handleChange(info) { let fileList = info.fileList; this.setState({ fileList }); this.props.fileList(fileList); }, componentWillReceiveProps(nextProps) { this.state.fileList = nextProps.pictureUrl; this.state.pojectApplicationUrl = undefined; }, render() { const { previewVisible, previewImage, fileList } = this.state; const uploadButton = ( <div> <Icon type="plus" /> <div className="ant-upload-text">点击上传</div> </div> ); return ( <div style={{ display: "inline-block" }}> <Upload action={ globalConfig.context + "/api/admin/outsourceOrg/uploadOutsourceFile" } data={{ sign: "order_outsource" }} listType="picture-card" fileList={fileList} multiple onPreview={this.handlePreview} onChange={this.handleChange} > {uploadButton} </Upload> {previewVisible ? <Modal maskClosable={false} width={"70px"} visible={previewVisible} footer={null} onCancel={this.handleCancel} > <img alt="example" style={{ width: "100%" }} src={previewImage} /> </Modal> : <div />} </div> ); } }); const IntentionCustomer = Form.create()( React.createClass({ loadData(pageNo) { this.setState({ visitModul: false, loading: true, ispage: pageNo, modalVisible: false, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/orderNewList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, specially: 10, //营销经理审核 0 个人 1 营销员管理 2 驳回 3 特批 4 咨询师管理 5部门订单查询 6客服查询 7统计签单订单 8客户订单列表 9复审订单 10营销经理 11运营保障 name: this.state.customerName, //名称 orderNo: this.state.orderNoSearch, //订单编号 starTime: this.state.releaseDate[0], //开始时间 endTime: this.state.releaseDate[1], //结束时间 approval: this.state.approvalSearch, //特批状态搜索 processStatus: this.state.processStatusSearch, amountStatus: this.state.amountStatus, projectType: this.state.projectType,//会员 type: this.state.approvaType.length > 0 ? this.state.approvaType.toString() : undefined, //特批类型 }, success: function (data) { ShowModal(this); 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 salesType: thisdata.salesType, //销售类型 deleteSign: thisdata.deleteSign, projectType: thisdata.projectType, other: thisdata.other, contractNo: thisdata.contractNo, //合同编号 orderNo: thisdata.orderNo, //订单编号 totalAmount: thisdata.totalAmount, //签单金额 processStatus: thisdata.processStatus, //流程状态 examineName: thisdata.examineName, liquidationStatus: thisdata.liquidationStatus, //结算状态 approval: thisdata.approval, //特批状态 signDate: thisdata.signDate, //签单时间 userName: thisdata.userName, //客户名称 salesmanName: thisdata.salesmanName, //营销员名称 financeName: thisdata.financeName, //财务名称 createDate: thisdata.createDate, //下单时间 depName: thisdata.depName, orderStatus: thisdata.orderStatus, type: thisdata.type || "", // 特批类型 typeExplain: thisdata.typeExplain, }); } this.state.pagination.total = data.data.totalCount; this.state.pagination.current = data.data.pageNo; } 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 { approvaType: [], rotateDeg: 0, page: 1, resVisible: false, releaseDate: [], selectedRowKeys: [], pictureUrl: [], attachmentUrl: [], paginations: false, activeKey: "1", confirmLoading: false, approvalSearch: undefined, processStatusSearch: undefined, aloading: false, orderNos: '', 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: "salesType", key: "salesType", render: (text, record) => { return ( <Tooltip title={salesList[text] + ((text == 3 || text == 4 || text == 5) ? (!record.other ? "" : "," + record.other) : "")} > <span> {salesList[text]} </span> </Tooltip> ); }, }, { title: "特批类型", dataIndex: "type", key: "type", width: 110, render: (text, record) => { return ( <span> {getApprovedType(text ? text.split(",").map(Number) : [], record.typeExplain)} </span> ); }, }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo", className: "title-table", render: (text, record) => { return ( <Tooltip title={ <Button type="primary" onClick={(e) => { e.stopPropagation(); let input = document.getElementById("copyText"); input.value = text; input.select(); document.execCommand("copy"); message.success("复制成功"); }} > 复制 </Button> } > <div> {text} <div style={{ display: "flex" }}> <OrderItemStatus deleteSign={record.deleteSign} /> {getApprovalTag(record.approval)} </div> </div> </Tooltip> ); }, }, { title: "客户名称", dataIndex: "userName", key: "userName", render: (text) => { return ( <Tooltip title={text}> <div // style={{ // maxWidth: '150px', // overflow: 'hidden', // textOverflow: "ellipsis", // whiteSpace: 'nowrap', // }} >{text}</div> </Tooltip> ) }, }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", width: 140, render: (text, record) => { return ( <Tooltip title={ <Button type="primary" onClick={(e) => { e.stopPropagation(); let input = document.getElementById("copyText"); input.value = text; input.select(); document.execCommand("copy"); message.success("复制成功"); }} > 复制 </Button> } > <div> {text} <div> {record.totalAmount >= 10 && <Tag color="#ef7207">大客户</Tag>} {record.projectType == 1 && <Tag color="rgb(22, 155, 213)">会员</Tag>} </div> </div> </Tooltip> ); }, }, { title: "下单时间", dataIndex: "createDate", key: "createTime", }, { title: "合同签订时间", dataIndex: "signDate", key: "signDate", }, { title: "流程状态", dataIndex: "processStatus", key: "processStatus", render: (text, record) => { return getProcessStatus(text, record.examineName, record.approval); }, }, { title: "订单部门", dataIndex: "depName", key: "depName", }, { title: "签单金额(万元)", dataIndex: "totalAmount", key: "totalAmount", }, { title: "结算状态", dataIndex: "liquidationStatus", key: "liquidationStatus", render: (text) => { return getLiquidationStatus(text); }, }, { title: "是否特批", dataIndex: "approval", key: "approval", render: (text) => { return getApprovedState(text); }, }, { title: "订单负责人", dataIndex: "salesmanName", key: "salesmanName", }, { title: "财务负责人", dataIndex: "financeName", key: "financeName", }, ], data: [], dataSource: [], columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return <span> {text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id} <div> {record.cSort == 6 && record.projectType == 1 && <span>(含{record.htMember == 1 ? '高新会员&' : ''}{record.additionalDeduction == 1 ? '加计扣除&' : ''}{record.rdAwardsubsidy == 1 ? '研发奖补' : ''})</span>} {record.cSort == 6 && ([0, 3].indexOf(record.projectType) > -1) && <span>(仅提供单边会员服务)</span>} {record.cSort == 6 && record.projectType == 2 && <span>(仅填报表,仅咨询,不出备查资料)</span>} {record.cSort == 3 && <span>{record.technologyProjectType==0?'(简易项目)':record.technologyProjectType==1?'(市区级)':record.technologyProjectType==2?'(省级)':record.technologyProjectType==3?'(国家级)':''}</span>} {record.cSort == 8 ? (record.type != 2 && record.patentType == 1) ? <span>(变更)</span> : <span>{record.ordinaryRisk == 0 ? '(普通申请)' : record.ordinaryRisk == 1 ? '(风险代理)' : ''}</span> : ""} {record.type == 2 && <span>({record.days == 0 ? '普通' : record.days == 1 ? '加急' : ''}{record.scheme == 0 ? '&无方案' : record.scheme == 1 ? '&有方案' : ''})</span>} </div> </span> } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", render: (text, record) => { if (record.splitStatus == 1) { return ( <span> {text}{" "} {/* <Tag color="#108ee9" onClick={(e) => { e.stopPropagation(); this.showRes(record); }} > 已拆 </Tag> */} </span> ); } else { return text; } }, }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", }, { title: "负责人", dataIndex: "contacts", key: "contacts", }, { title: "负责人电话", dataIndex: "contactsMobile", key: "contactsMobile", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "主要项目", dataIndex: "main", key: "main", width: 50, render: (text) => { return text ? "是" : "否"; }, }, { title: "总年限", dataIndex: "yearSum", key: "yearSum", render: (text, record) => { return ( <div>{["", "一年", "二年", "三年", "四年", "五年"][text]}</div> ); } }, { title: "年限", dataIndex: "serviceLife", key: "serviceLife", render: (text, record) => { return ( <div>{!!text && JSON.parse(text).toString()}</div> ); } }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", render: (text, record) => { return ( <div>{!text ? "" : text}</div> ); } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text, record) => { let textStr = text; return ( <Tooltip title={textStr}> <div style={{ width: 100, overflow: "hidden", whiteSpace: "nowrap", textOverflow: "ellipsis", }} >{textStr}</div> </Tooltip> ) }, }, ], columnsrizhi: [ { title: "流程", dataIndex: "processName", key: "processName", }, { title: "操作人", dataIndex: "adminName", key: "adminName", }, { title: "时间", dataIndex: "createDate", key: "createDate", }, ], dataSourceX: [], ContactsListsNew: [ { title: "项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return <span>{text + "-" + record.tid}</span>; }, }, { title: "项目分类", dataIndex: "projectType", key: "projectType", render: (text) => { let arr = this.state.dataSourceX || []; let str = ""; for (let i = 0; i < arr.length; i++) { if (this.state.dataSourceX[i].sort == text) { str = this.state.dataSourceX[i].cname; return <span>{str}</span>; } } }, }, { title: "催款科目", dataIndex: "dunTypeName", key: "dunTypeName", render: (text, record) => { if (record.customizeName) { return text + record.customizeName; } return <span>{text}</span>; }, }, { title: "时间(天)", dataIndex: "waitDay", key: "waitDay", render: (text, record) => { if (record.dunTypeName) { if (record.customizeTimes) { return record.customizeTimes; } if (text == 0) { var str = "当天"; } else if (!text) { var str = ""; } else { var str = text + "天"; } return <span>{str}</span>; } }, }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { if (record.dunTypeName) { if (record.appropriationRatio) { let percent = Number(record.appropriationRatio * 100).toFixed(2); percent += "%"; return <span>{percent}(拨款比例)</span>; } else { return <span>{text}</span>; } } }, }, { title: "服务年限", dataIndex: "startDate", key: "startDate", render: (text, record) => { if (record.dunTypeName) { return <span>{text}</span>; } }, }, { title: "催款状态", dataIndex: "status", key: "status", render: (text) => { return <span>{text == 1 ? "已启动" : "未启动"}</span>; }, }, ], ContactsLists: [ { title: "催款科目", dataIndex: "dunSubject", key: "dunSubject", render: (text) => { return getjiedian(text); }, }, { title: "金额(万元)", visible订单详情dataIndex: "money", key: "money", }, { title: "催款状态", dataIndex: "dunStatus", key: "dunStatus", render: (text) => { return getCuikuan(text); }, }, ], }; }, //页面加载函数 componentWillMount() { this.loadData(); }, //整行点击 tableRowClick(record) { this.setState({ visible: true, orderStatus: record.orderStatus, id: record.id, orderNos: record.orderNo }); this.xiangqing(record.orderNo); this.xiangmu(record.orderNo); this.jiedian(record.orderNo); this.jiedianNew(record.orderNo); }, //点击打卡项目详情 tableRowClickX(record) { if (record.type == "1") { this.setState({ displayFees: "block", costReduction: record.costReduction, officialCost: record.officialCost, }); } else { this.setState({ displayFees: "none", }); } 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, dataInfor: record, addState: 0, }); }, //项目详情关闭 nextCancel() { this.setState({ addnextVisible: false, displayFees: "none", officialCost: "", //是否有官费 costReduction: "", //是否有费减 }); }, //订单详情 xiangqing(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { let thisdata = data.data; this.setState({ orderUid: thisdata.uid, userType: thisdata.userType,// salesType: thisdata.salesType, //销售类型 other: thisdata.other, orderNo: thisdata.orderNo, //订单编号 contractNo: thisdata.contractNo, //合同编号 userName: thisdata.userName, //客户名称 signDate: thisdata.signDate, //签单时间 examineName: thisdata.examineName, processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 contacts: thisdata.contacts, //企业联系人 contactMobile: thisdata.contactMobile, //联系人电话 legalPerson: thisdata.legalPerson, //法人 legalPersonTel: thisdata.legalPersonTel, //法人电话 firstAmount: thisdata.firstAmount, //签单金额 totalAmount: thisdata.totalAmount, //首付金额 approval: thisdata.approval, //特批状态 settlementAmount: thisdata.settlementAmount, //已收款项 orderRemarks: thisdata.orderRemarks, //订单留言 orgCodeUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 replenishUrl: thisdata.agreementUrl ? splitUrl( thisdata.agreementUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 contentUrl: thisdata.serviceContent ? splitUrl( thisdata.serviceContent, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 salesmanName: thisdata.salesmanName, //营销员名称 salesmanMobile: thisdata.salesmanMobile, //营销员电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 nowFinance: thisdata.nowFinance, //财务名称 nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话 depName: thisdata.depName, outsource: thisdata.outsource == 0 ? "否" : "是", deleteSign: thisdata.deleteSign, // 高新纯咨询合同说明 knowledgeServices: thisdata.knowledgeServices, //知识产权服务 auditServices: thisdata.auditServices, //审计服务 addDeductionServices: thisdata.addDeductionServices, //加计扣除服务 knowledgeOther: thisdata.knowledgeOther, //知识产权服务其他描述 auditOther: thisdata.auditOther, //审计服务其他描述 addDeductionOther: thisdata.addDeductionOther, //加计扣除服务其他描述 patentStatus: thisdata.patentStatus, //知识产权情况 type: thisdata.type,// 特批类型 typeExplain: thisdata.typeExplain, // 特批类型 }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //项目列表 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]; thisdata.key = i; thisdata.sort = thisdata.cSort; theArr.push(thisdata); } } this.setState({ dataSourceX: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, rizhi() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.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, remarks: thisdata.remarks, }); } } this.setState({ dataSourcerizhi: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, getOrderLog() { this.setState({ rizhivisible: true, }); this.rizhi(); }, closeOrderLog() { this.setState({ rizhivisible: false, }); }, //节点列表 jiedian(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: orderNos, }, success: function (data) { let theArr = []; let thisData = []; if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.length; i++) { thisData = data.data[i]; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 dunStatus: thisData.dunStatus, //催款状态 }); } this.setState({ contactList: theArr, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //查看催款节点 jiedianNew(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun", data: { orderNo: orderNos, }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } else { let theArr = []; let thisData = []; let arr = data.data || []; let totalCui = 0; for (let i = 0; i < arr.length; i++) { thisData = arr[i]; totalCui += +thisData.money; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 // orderNo: record ? record.orderNo : this.props.datauser.orderNo, commodityName: thisData.commodityName, projectType: thisData.projectType, dunTypeName: thisData.dunTypeName, status: thisData.status, waitDay: thisData.waitDay, effectiveCount: thisData.effectiveCount, startDate: thisData.startDate, dunType: thisData.dunType, appropriationRatio: thisData.appropriationRatio, customizeName: thisData.customizeName, customizeTimes: thisData.customizeTimes, tid: thisData.tid, }); } if (!totalCui) { totalCui = 0; } totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6); this.setState({ contactListNew: theArr, totalCui, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //审核通过 examOk() { if (!this.state.reason) { message.warning("请填写备注信息"); return; } if (!this.state.reason.replace(/\s+/g, '')) { message.warning("请填写备注信息"); return; } if (this.state.flag) return; this.setState({ flag: true, loading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/auditOrderNew", data: { orderNo: this.state.orderNo, orderStatus: 2, reason: this.state.reason, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ flag: false, }); } } else { message.success("该订单已通过审核~"); this.setState({ visible: false, flag: false, agreeVisible: false, }); this.loadData(this.state.pageNo) // this.reset(); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //通过发给外包 outsourcing() { if (this.state.flag) return; this.setState({ flag: true, loading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/auditOrderNew", data: { orderNo: this.state.orderNo, orderStatus: 2, outsource: 1, }, success: function (data) { if (data.error.length == 0 || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ flag: false, }); } } else { message.success("该订单已通过审核~"); this.setState({ visible: false, flag: false, }); // this.reset(); this.loadData(this.state.pageNo) } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //审核不通过 examOks() { if (!this.state.reason) { message.warn("请先填写拒绝理由"); return } if (!this.state.reason.replace(/\s+/g, '')) { message.warning("请先填写拒绝理由"); return; } this.setState({ loading: true, }); this.setState({ aloading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/auditOrderNew", data: { orderNo: this.state.orderNo, orderStatus: 3, reason: this.state.reason, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ aloading: false, loading: false, }); } } else { message.success("该订单已被拒绝~"); this.setState({ visible: false, aloading: false, noVisible: false, reason: "", loading: false, }); // this.reset(); this.loadData(this.state.pageNo) } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //点击拒绝 examNo() { this.setState({ noVisible: true, }); }, callback(key) { let url = window.location.href.substring(7); this.setState({ activeKey: key, }); 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 === "2") { 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) { if (data.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", url ) : [], fileUrl: thisdata.attachmentUrl ? splitUrl( thisdata.attachmentUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], pictureUrl: thisdata.pictureUrl ? splitUrl( thisdata.pictureUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], //图片地址 amount: thisdata.amount, companyName: thisdata.companyName, outsourceRemarks: thisdata.outsourceRemarks, unitNumber: thisdata.unitNumber, unitPrice: thisdata.unitPrice, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); } }, getUrl(url) { let theorgCodeUrl = []; if (url.length) { let picArr = []; url.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); } return theorgCodeUrl; }, sureOut() { this.setState({ loading: true, }); if (!this.state.companyName) { message.warning("公司名称不能为空"); return; } if (!this.state.unitPrice) { message.warning("单价不能为空"); return; } if (moneyVerify(this.state.unitPrice)) { return; } if (!this.state.unitNumber) { message.warning("数量不能为空"); return; } if (!this.state.amount) { message.warning("总金额不能为空"); return; } if (moneyVerify(this.state.amount)) { return; } if (!this.state.outsourceRemarks) { message.warning("备注不能为空"); return; } if (this.state.pictureUrl.length === 0) { message.warning("合同扫描件不能为空"); return; } $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/auditOutsource", data: { id: this.state.id, orderNo: this.state.orderNo, companyName: this.state.companyName, amount: this.state.amount, outsourceRemarks: this.state.outsourceRemarks, unitNumber: this.state.unitNumber, unitPrice: this.state.unitPrice, attachmentUrl: this.getUrl(this.state.attachmentUrl).length ? this.getUrl(this.state.attachmentUrl) : "", orderStatus: 2, pictureUrl: this.getUrl(this.state.pictureUrl).length ? this.getUrl(this.state.pictureUrl) : "", }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("发起成功!"); this.outReset(); this.visitCancel(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //关闭输入理由框 noCancel() { this.setState({ noVisible: false, aloading: false, reason: "", }); }, //搜索 search() { this.setState({ //signBillVisible:false }); this.loadData(); }, //重置 reset() { this.setState({ signBillVisible: false, }); this.state.orderNoSearch = ""; this.state.customerName = ""; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.approval = undefined; this.state.approvalSearch = undefined; this.state.amountStatus = undefined; this.state.processStatusSearch = undefined; this.state.projectType = undefined; this.state.approvaType = []; this.loadData(1); }, outReset() { this.setState({ companyName: "", amount: "", unitPrice: "", unitNumber: "", outsourceRemarks: "", attachmentUrl: [], pictureUrl: [], }); }, resets() { this.state.orderNo = ""; this.state.customerName = ""; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; }, getOrgCodeUrl(e) { this.setState({ pictureUrl: e }); }, //关闭详情 visitCancel() { this.setState( { visible: false, }, () => { this.setState({ activeKey: "1", }); } ); this.resets(); this.loadData(this.state.pageNo); }, visitOk() { this.setState({ visible: false, }); this.resets(); }, showDeleteConfirm(fn) { confirm({ title: <p style={{ fontSize: 16, fontWeight: 900 }}>注意</p>, content: ( <p style={{ fontWeight: 900, color: "red" }}> 当前订单为外包单,您确定修改为普通订单? </p> ), okText: "确定", okType: "danger", cancelText: "取消", onOk() { fn(); }, onCancel() { }, }); }, downImg() { let num = 0; for (let i = 0; i < this.state.orgCodeUrl.length; i++) { if (this.state.orgCodeUrl[i].url == this.state.previewImage) { num = i; } } if (num == this.state.orgCodeUrl.length - 1) { return message.warning("已经是最后一张了哦"); } this.state.previewImage = this.state.orgCodeUrl[num + 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, upImg() { let num = 0; for (let i = 0; i < this.state.orgCodeUrl.length; i++) { if (this.state.orgCodeUrl[i].url == this.state.previewImage) { num = i; } } if (num == 0) { return message.warning("已经是第一张了哦"); } this.state.previewImage = this.state.orgCodeUrl[num - 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, rotate() { let rotateDeg = this.state.rotateDeg + 90; this.setState({ rotateDeg, }); }, downImgs() { let num = 0; for (let i = 0; i < this.state.replenishUrl.length; i++) { if (this.state.replenishUrl[i].url == this.state.previewImage) { num = i; } } if (num == this.state.replenishUrl.length - 1) { return message.warning("已经是最后一张了哦"); } this.state.previewImage = this.state.replenishUrl[num + 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, upImgs() { let num = 0; for (let i = 0; i < this.state.replenishUrl.length; i++) { if (this.state.replenishUrl[i].url == this.state.previewImage) { num = i; } } if (num == 0) { return message.warning("已经是第一张了哦"); } this.state.previewImage = this.state.replenishUrl[num - 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, rotates() { let rotateDeg = this.state.rotateDeg + 90; this.setState({ rotateDeg, }); }, changeList(arr) { const newArr = []; this.state.columns.forEach(item => { arr.forEach(val => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr }); }, // 可展开颜色不同 addRowColor(record) { if (!!record.splitList && record.splitList.length > 0) { return 'light' } else { return 'dark' } }, render() { const expandedRowRenderVip = (e) => { const data = e.splitList; let columns = []; if (data instanceof Array && data.length) { if (e.cSort == 6) { columns = [ { title: "负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "负责人电话", dataIndex: "receiverMobile", key: "receiverMobile", }, { title: "会员负责人", dataIndex: "projectMemberName", key: "projectMemberName", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text, record) => { let textStr = text; let textArr = []; if (record.htMember === 1) { textArr.push("高新会员"); } if (record.additionalDeduction === 1) { textArr.push("加计扣除"); } if (record.rdAwardsubsidy === 1) { textArr.push("研发补助"); } if (textArr.length) { textStr = `${textArr.join("&")} ${!!text ? `(${text})` : ''}` } return ( <Tooltip title={textStr}> <div // style={{ // width: 100, // overflow: "hidden", // whiteSpace: "nowrap", // textOverflow: "ellipsis", // }} >{textStr}</div> </Tooltip> ) }, }, ]; } else { columns = [ { title: "子项目名称", dataIndex: "taskName", key: "taskName" }, { title: "子项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "拆分操作人", dataIndex: "splitAname", key: "splitAname" }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName" }, { title: "拆分时间", dataIndex: "splitTimes", key: "splitTimes" } ] } return ( <Table columns={columns} dataSource={data} pagination={false} /> ); } else { columns = []; return ( <p style={{ fontWeight: "bold", color: "red", textAlign: "center" }} > {e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"} </p> ); } }; const formItemLayout = { labelCol: { span: 10 }, wrapperCol: { span: 14 }, }; const FormItem = Form.Item; const { TabPane } = Tabs; const { TextArea } = Input; const { RangePicker } = DatePicker; const cuiDataList = this.state.contactList || []; const approvaChildren = approvalOptions.map(i => ( <Option key={i.value}>{i.label}</Option> )); return ( <div className="user-content"> {this.state.resVisible ? ( <ResolutionDetail cancel={this.resCancel} detail={this.state.resRecord} visible={this.state.resVisible} id={this.state.resRecord.orderNo} /> ) : ( "" )} <ShowModalDiv ShowModal={this.state.showModal} onClose={() => { this.setState({ showModal: false }) }} /> <div className="content-title" style={{ marginBottom: 10 }}> <span style={{ fontWeight: 900, fontSize: 16 }}>订单审核</span> </div> <Tabs defaultActiveKey="1" onChange={this.callback} className="test"> <TabPane tab="搜索" key="1"> <div className="user-search"> <Input placeholder="客户名称" style={{ width: "150px", marginBottom: "10px", marginLeft: 10, }} value={this.state.customerName} onChange={(e) => { this.setState({ customerName: e.target.value }); }} /> <Input placeholder="订单编号" style={{ width: "150px" }} value={this.state.orderNoSearch} onChange={(e) => { this.setState({ orderNoSearch: e.target.value }); }} /> <Select style={{ width: 120 }} placeholder="特批状态" value={this.state.approvalSearch} onChange={(e) => { this.setState({ approvalSearch: e, }); }} > <Option value="0">非特批</Option> <Option value="1">特批待审</Option> <Option value="2">特批通过</Option> <Option value="4">全部特批</Option> </Select> <Select style={{ width: 120 }} placeholder="签单金额" value={this.state.amountStatus} onChange={(e) => { this.setState({ amountStatus: e, }); }} > <Option value="0">10万元以下</Option> <Option value="1">10~20万元</Option> <Option value="2">20~30万元</Option> <Option value="3">30~40万元</Option> <Option value="4">40万元以上</Option> </Select> <Select style={{ width: 120 }} placeholder="会员状态" value={this.state.projectType} onChange={(e) => { this.setState({ projectType: e, }); }} > <Option value="1">会员</Option> <Option value="0">非会员</Option> </Select> <Select style={{ width: 150 }} placeholder="流程状态" value={this.state.processStatusSearch} onChange={e => { this.setState({ processStatusSearch: e }); }} > <Option value="">全部</Option> { processStatus.map((item) => <Option value={item.value} key={item.value}>{item.key}</Option> ) } </Select> <Select mode="multiple" style={{ width: 200 }} placeholder="特批类型" value={this.state.approvaType} onChange={e => { this.setState({ approvaType: e }) }} > {approvaChildren} </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> </div> </TabPane> <TabPane tab="更改表格显示数据" key="2"> <div style={{ marginLeft: 10 }}> <ChooseList columns={this.state.columns} changeFn={this.changeList} changeList={this.state.changeList} top={55} margin={11} /> </div> </TabPane> </Tabs> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table columns={ this.state.changeList ? this.state.changeList : this.state.columns } dataSource={this.state.dataSource} pagination={this.state.pagination} onRowClick={this.tableRowClick} bordered size="small" /> </Spin> {this.state.visible && <Modal maskClosable={false} className="customeDetails" footer="" width="1200px" visible={this.state.visible} onOk={this.visitOk} onCancel={this.visitCancel} > <Tabs activeKey={this.state.activeKey} onChange={this.callback}> <TabPane tab="订单详情" key="1"> <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{ paddingBottom: "40px" }} > <Spin spinning={this.state.loading}> <div className="clearfix"> <div style={{ position: "absolute", top: '-30px', left: '92px', zIndex: 10000 }}> <OrderItemStatus deleteSign={this.state.deleteSign} /> </div> <FormItem className="half-item" {...formItemLayout} label="订单编号" > <span>{this.state.orderNo}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="合同编号" > <span>{this.state.contractNo}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="客户名称" > <span>{this.state.userName}</span> <EnterpriseNameChange type='journal' style={{ marginLeft: 10 }} enterpriseId={this.state.orderUid} /> </FormItem> <FormItem className="half-item" {...formItemLayout} label="销售类型" > <span> {(["私有客户-", "签单客户-"][this.state.userType] || " ") + (salesList[this.state.salesType] || "")} { this.state.other != null && this.state.other != "" && <Tooltip title={this.state.other}> <span> {"(" + this.state.other.toString().slice(0, 10) + (this.state.other.toString().length > 9 ? "...)" : ")")} </span> </Tooltip> } </span> {/* <span>{(["私有客户-", "签单客户-"][this.state.userType] || " ") + (salesList[this.state.salesType] || "")} </span> */} </FormItem> <FormItem className="half-item" {...formItemLayout} label="合同签订时间" > <span>{this.state.signDate}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="流程状态" > <span> {getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)} </span> <FlowChart orderNo={this.state.orderNos} /> </FormItem> <FormItem className="half-item" {...formItemLayout} label="结算状态" > <span> {getLiquidationStatus(this.state.liquidationStatus)} </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>{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.totalAmount}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="首付金额(万元)" > <span>{this.state.firstAmount}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="特批立项" > <span> {getApprovedState(this.state.approval)} {getApprovedType(this.state.type ? this.state.type.split(",").map(Number) : [], this.state.typeExplain, 1)} </span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="已收款项(万元)" > <span>{this.state.settlementAmount}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="订单部门" > <span>{this.state.depName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="是否外包" > {this.state.outsource} </FormItem> <div className="clearfix"> <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 19 }} label="订单留言" > <p style={{ width: 500, wordWrap: "break-word" }}> {this.state.orderRemarks} </p> </FormItem> </div> <div className="clearfix"> <div> <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 19 }} label="合同扫描件" > <div style={{ paddingTop: '10px', paddingBottom: '10px' }}> {this.state.orgCodeUrl && this.state.visible ? <ImgList fileList={this.state.orgCodeUrl} ItemWidth={'96px'} /> : <div />} </div> <Button style={{ float: "right", marginRight: "140px", marginTop: "20px", }} onClick={this.getOrderLog} > 查看订单日志 </Button> </FormItem> {/* 高新纯咨询合同说明详情 */} <Gxczx knowledgeServices={this.state.knowledgeServices} auditServices={this.state.auditServices} addDeductionServices={this.state.addDeductionServices} knowledgeOther={this.state.knowledgeOther} auditOther={this.state.auditOther} addDeductionOther={this.state.addDeductionOther} /> <FormItem labelCol={{ span: 5 }} wrapperCol={{ span: 19 }} label="补充协议" > <div style={{ paddingTop: '10px', paddingBottom: '10px' }}> {this.state.replenishUrl && this.state.visible ? <ImgList domId={'examine1'} fileList={this.state.replenishUrl} ItemWidth={'96px'} /> : <div />} </div> </FormItem> </div> </div> <ContentUrl processStatus={2} domId={"examineContents"} contentUrl={this.state.contentUrl} imgId={"examineContentsImg"} /> {/* 知识产权情况 */} <Property patentStatus={this.state.patentStatus} /> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="订单负责人" > <span>{this.state.salesmanName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="订单负责人电话" > <span>{this.state.salesmanMobile}</span> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="当前财务负责人" > <span>{this.state.nowFinance}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="当前财务负责人电话" > <span>{this.state.nowFinanceMobile}</span> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} style={{ opacity: ".5" }} label="原订单负责人" > <span>{this.state.oldSalesmanName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} style={{ opacity: ".5" }} label="原订单负责人电话" > <span>{this.state.oldSalesmanMobile}</span> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" style={{ opacity: ".5" }} {...formItemLayout} label="实际财务操作人" > <span>{this.state.financeName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} style={{ opacity: ".5" }} label="实际财务操作人电话" > <span>{this.state.financeMobile}</span> </FormItem> </div> {/* 协单人员 */} <OrderCoor orderNo={this.state.orderNos} /> <div> <span style={{ marginLeft: "50px", fontSize: "20px" }} > 项目业务 </span> {this.state.processStatus == 0 ? ( <Button type="primary" onClick={this.addDetailed} style={{ float: "right", marginRight: "50px", marginBottom: "15px", }} > 添加项目明细 </Button> ) : ( "" )} </div> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsX} dataSource={this.state.dataSourceX} pagination={this.state.paginations} onRowClick={this.tableRowClickX} expandedRowRender={expandedRowRenderVip} rowClassName={this.addRowColor} bordered size="small" /> </Spin> </div> <div> <span style={{ marginLeft: "50px", fontSize: "20px" }} > 催款节点 </span> <span style={{ display: cuiDataList.length ? "none" : "inline-block", marginLeft: 10, color: "red", }} > 金额总计(万元): {this.state.totalCui} </span> {this.state.processStatus == 0 ? ( <Button type="primary" onClick={this.addcontact} style={{ float: "right", marginRight: "50px", marginBottom: "15px", }} > 添加催款节点 </Button> ) : ( "" )} </div> <div className="clearfix"> <Spin spinning={this.state.loading}> <Form layout="horizontal" id="demand-form"> <Table pagination={false} bordered size="small" columns={ cuiDataList.length ? this.state.ContactsLists : this.state.ContactsListsNew } dataSource={ cuiDataList.length ? this.state.contactList : this.state.contactListNew } /> <Col span={24} offset={9} style={{ marginTop: "15px" }} ></Col> </Form> </Spin> </div> <div className="addSave" style={{ marginTop: "15px", display: "flex", justifyContent: "center", }} > <Button type="primary" onClick={() => { this.setState({ agreeVisible: true, reason: "", }); }} style={{ margin: "0 25px" }} htmlType="submit" > 通过 </Button> <Button type="primary" onClick={this.examNo} style={{ margin: "0 25px" }} htmlType="submit" > 驳回 </Button> <Button type="ghost" onClick={this.visitCancel} style={{ margin: "0 25px" }} > 取消 </Button> {/*<Button className='warn-button' type="primary" onClick={this.outsourcing} style={{marginLeft:"50px"}}>通过不走总部</Button> <p className='hint'>提示:高于总部价格,费用个人承担!</p>*/} </div> </div> </Spin> </Form> </TabPane> {/* <TabPane tab="外包(不走总部)" key="2"> <Spin spinning={this.state.loading}> <div className="clearfix" style={{ marginTop: 10 }}> <FormItem className="half-item" {...formItemLayout} label={ <span> <strong style={{ color: "#f00" }}>*</strong>外包公司 </span> } > <Input value={this.state.companyName} onChange={(e) => { this.setState({ companyName: e.target.value, }); }} placeholder="请填写外包公司名称" /> </FormItem> <span className="tip">如多个公司,请用间隔</span> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label={ <span> <strong style={{ color: "#f00" }}>*</strong> 单价(万元) </span> } > <Input value={this.state.unitPrice} onChange={(e) => { this.setState({ unitPrice: e.target.value, }); }} placeholder="请填写单价" /> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label={ <span> <strong style={{ color: "#f00" }}>*</strong>数量(个) </span> } > <Input value={this.state.unitNumber} onChange={(e) => { this.setState({ unitNumber: e.target.value, }); }} placeholder="请填写数量" /> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label={ <span> <strong style={{ color: "#f00" }}>*</strong> 总金额(万元) </span> } > <Input value={this.state.amount} onChange={(e) => { this.setState({ amount: e.target.value, }); }} placeholder="请填写本次外包公司的价格" /> </FormItem> </div> <div className="clearfix"> <FormItem className="half-item" style={{ height: "auto" }} {...formItemLayout} label={ <span> <strong style={{ color: "#f00" }}>*</strong>备注 </span> } > <TextArea rows={4} value={this.state.outsourceRemarks} onChange={(e) => { this.setState({ outsourceRemarks: e.target.value, }); }} placeholder="请输入备注" /> </FormItem> </div> <p className="tip" style={{ paddingBottom: "12px", width: "240px", marginLeft: "145px", }} > 首次派单项目,需上传协议,第2次起,同项目,只需写外包公司 </p> <div className="clearfix"> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label={ <span> <strong style={{ color: "#f00" }}>*</strong> 合同/协议扫描件 <span style={{ color: "#f00" }}>(外包合同)</span> </span> } > <PicturesWall fileList={this.getOrgCodeUrl} pictureUrl={this.state.pictureUrl} /> <p>请上传与外包公司签订的合同协议</p> <p>图片建议:要清晰。</p> </FormItem> </div> <div className="clearfix"> <div style={{ display: "inline-black", textAlign: "center" }} > <Button type="primary" onClick={this.sureOut}> 确认发起外包,不通过总部 </Button> <p className="tip">提示:高于总部价格,费用个人承担</p> </div> </div> </Spin> </TabPane> */} </Tabs> </Modal>} {this.state.noVisible ? <Modal maskClosable={false} visible={this.state.noVisible} onOk={this.handleOk} onCancel={this.noCancel} width="400px" title={"拒绝理由"} footer="" className="admin-desc-content" confirmLoading={this.state.confirmLoading} > <Form layout="horizontal" id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="拒绝理由" > <Input type="textarea" placeholder="请输入拒绝理由" rows={4} value={this.state.reason} onChange={(e) => { this.setState({ reason: e.target.value }); }} /> </FormItem> </div> <div className="clearfix"> <Button className="cancel" type="primary" onClick={this.examOks} style={{ marginLeft: "50px" }} htmlType="submit" loading={this.state.aloading} > 确定 </Button> <Button className="cancel" type="ghost" onClick={this.noCancel} style={{ marginLeft: "50px" }} > 取消 </Button> </div> </Spin> </Form> </Modal> : <div />} {this.state.agreeVisible ? <Modal maskClosable={false} visible={this.state.agreeVisible} onOk={(e) => { this.setState({ agreeVisible: false, }); }} onCancel={(e) => { this.setState({ agreeVisible: false, }); }} width="400px" title={"同意备注"} footer="" className="admin-desc-content" confirmLoading={this.state.confirmLoading} > <Form layout="horizontal" id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="同意理由" > <Input type="textarea" placeholder="请输入同意理由" rows={4} value={this.state.reason} onChange={(e) => { this.setState({ reason: e.target.value }); }} /> </FormItem> </div> <div className="clearfix"> <Button className="cancel" type="primary" onClick={(e) => { if (this.state.outsource == "是") { this.showDeleteConfirm(this.examOk); } else { this.examOk(); } }} style={{ marginLeft: "50px" }} htmlType="submit" loading={this.state.aloading} > 确定 </Button> <Button className="cancel" type="ghost" onClick={(e) => { this.setState({ agreeVisible: false, }); }} style={{ marginLeft: "50px" }} > 取消 </Button> </div> </Spin> </Form> </Modal> : <div />} {/* <Modal visible={this.state.rizhivisible} 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.columnsrizhi} dataSource={this.state.dataSourcerizhi} pagination={false} /> </Spin> </div> </Modal> */} <OrderRiZi dataSourcerizhi={this.state.dataSourcerizhi} closeOrderLog={this.closeOrderLog} visible={this.state.rizhivisible} loading={this.state.loading} /> </div> <textarea id="copyText" style={{ opacity: 0 }} /> {this.state.addnextVisible && <NewEditProject readOnly={this.state.dataInfor && Object.keys(this.state.dataInfor).length > 0 && this.state.processStatus !== 0} orderNo={this.state.orderNo} visible={this.state.addnextVisible} dataInfor={this.state.dataInfor} onCancel={this.nextCancel} /> // <ProjectDetailsReadOnly // infor={this.state.dataInfor} // visible={this.state.addnextVisible} // onCancel={this.nextCancel} // /> } </div> ); }, }) ); export default IntentionCustomer;