import React from "react"; import { Table, Modal, message, Spin, Input, Select, Button, Form, Upload, Popconfirm, AutoComplete, DatePicker, Col, Tabs, Tag, Radio, Group, } from "antd"; // import $ from "jquery/src/ajax"; import "../userMangagement.less"; import "../billing.less"; import moment from "moment"; import { shenghePeo } from "@/tools.js"; import Picture from "@/manageCenter/publicComponent/picture"; import ResolutionDetail from "@/resolutionDetail"; import quxiao from "../../../../../image/quxiao.png"; import tongguo from "../../../../../image/tongguo.png"; import $ from 'jquery'; import OrderRiZi from "@/orderRiZi.jsx"; import { orderTypes, customerType, jiedian, boutique, } from "../../../dataDic.js"; import { splitUrl, getProcessStatus, getLiquidationStatus, getboutique, getApprovedState, getjiedian, getCuikuan, getProjectName, moneyVerify, getProcessStatusNew, } from "../../../tools.js"; import { cuiJieDian } from "@/dataDic.js" import PicturesWall from "./changeComponent/picturesWall.js"; import { changeType, getChangeType } from "./changeComponent/changeDetailYxgly"; import ImgList from "../../../common/imgList"; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import ProjectOperation from '.././../../common/projectOperation'; const Option = AutoComplete.Option; const confirm = Modal.confirm; const NewService = Form.create()( React.createClass({ //查看项目列表 loadData(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 ? record.orderNo : this.props.datauser.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]; thisdata.key = i; thisdata.sort = thisdata.cSort; thisdata.declarationBatch = thisdata.declarationBatch || undefined;//申报批次 thisdata.ifCertificationFee = isNaN(parseInt(thisdata.ifCertificationFee)) ? undefined : thisdata.ifCertificationFee;//是否包含申报批次 theArr.push(thisdata); } } this.departmentList(); this.setState({ dataSource: theArr, pagination: false, // 禁用变更类型 changeFlag: false, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //收款节点 loadDatas(record) { this.state.data = []; this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: record ? record.orderNo : this.props.datauser.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, }); } } this.setState({ dataSource: theArr, pagination: false, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, getInitialState() { return { patentType:'', patentTypeList:[], rotateDeg: 0, isCaoGao: false, cuiFlag: false, startRemarks: "", remarksC: "", loading: false, logData: [], visible: false, cuiDataSource: [], status: 4, orgCodeUrl: [], voucherUrl: [], replenishUrl: [], customerArr: [], declarationBatch: 1,//申报批次 默认第一批 // 禁用变更类型转换 changeFlag: false, // 合同额禁用 hetongFlag: true, // 项目及催款禁用 listFlag: true, mark: false, activeKey: "1", typeChange: undefined, bussStats: false, checkedKeys: [], lookflowList: [], contractUrl: [], applicationUrl: [], changeAmount: "0", active: { applySign: false, }, lookState: false, signBillVisible: false, commod: "", columns: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return ( text + "-" + record.id ) } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", render: (text, record) => { if (record.splitStatus == 1) { return ( {text}{" "} { e.stopPropagation(); this.showRes(record); }} > 已拆 ); } 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", render: (text) => { return text ? "是" : "否"; }, }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; }, }, { title: "操作", dataIndex: "ABC", key: "ABC", render: (text, record) => { return (
{this.state.processStatus == 0 ? ( ) : ( "" )}
); }, }, ], proColumns: [ { title: "变更状态", dataIndex: "type", key: "type", render: (text, record) => { let str = ""; let color = ""; if (text == 1) { str = "增"; color = "#87d068"; } else if (text == 2) { str = "改"; color = "#108ee9"; } else if (text == 3) { str = "删"; color = "#f50"; } return ( {str} {record.splitStatus == 1 ? ( 父项目 ) : ( "" )} {record.splitStatus == 2 ? ( 子项目 ) : ( "" )} ); }, }, { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return text + "-" + record.id; }, }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", render: (text, record) => { if (record.splitStatus == 2) { return "/"; } else { return text; } }, }, { title: "主要项目", dataIndex: "main", key: "main", render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; }, }, { title: "操作", dataIndex: "ABC", key: "ABC", render: (text, record) => { return (
); }, }, ], detailColumns: [ { title: "变更状态", dataIndex: "type", key: "type", render: (text, record) => { let str = ""; let color = ""; if (text == 1) { str = "增"; color = "#87d068"; } else if (text == 2) { str = "改"; color = "#108ee9"; } else if (text == 3) { str = "删"; color = "#f50"; } return ( {str} {record.splitStatus == 1 ? ( 父项目 ) : ( "" )} {record.splitStatus == 2 ? ( 子项目 ) : ( "" )} ); }, }, { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return text + "-" + record.id; }, }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", render: (text, record) => { if (this.props.isZxs) { return ***; } else if (record.splitStatus == 2) { return "/"; } else { return {text}; } }, }, { title: "主要项目", dataIndex: "main", key: "main", render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; }, }, ], detailContactsLists: [ { title: "变更状态", dataIndex: "type", key: "type", render: (text) => { let str = ""; let color = ""; if (text == 1) { str = "增"; color = "#87d068"; } else if (text == 2) { str = "改"; color = "#108ee9"; } else if (text == 3) { str = "删"; color = "#f50"; } return ( {str} ); }, }, { title: "项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { let dataArr = this.state.proDataSource || []; if (record.ctid) { return {text + "-" + record.ctid}; } else { let tid = record.tid; let ctid = ""; dataArr.forEach((item, index) => { if (item.tid == tid) { ctid = item.id; } }); return {text + "-" + ctid}; } }, }, { title: "项目分类", dataIndex: "projectType", key: "projectType", render: (text) => { let arr = this.state.proDataSource || []; let str = ""; for (let i = 0; i < arr.length; i++) { if (this.state.proDataSource[i].cSort == text) { str = this.state.proDataSource[i].cname; return {str}; } } }, }, { title: "催款科目", dataIndex: "dunTypeName", key: "dunTypeName", render: (text,record) => { return {text}; }, }, { title: "时间", dataIndex: "waitDay", key: "waitDay", render: (text, record) => { if (record.dunTypeName) { if(record.customizeTimes) { return record.customizeTimes } return {text}; } }, }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { if (record.dunTypeName) { if (record.appropriationRatio) { return {record.appropriationRatio}(拨款比例); }else { if (this.props.isZxs) { return ***; } return {text}; } } }, }, { title: "服务年限", dataIndex: "startDate", key: "startDate", render: (text, record) => { if (record.dunTypeName) { return {text}; } }, }, { title: "催款状态", dataIndex: "status", key: "status", render: (text) => { return {text == 1 ? "已启动" : "未启动"}; }, }, ], resVisible: false, columnsrizhi: [ { title: "流程", dataIndex: "processName", key: "processName", }, { title: "操作人", dataIndex: "adminName", key: "adminName", }, { title: "时间", dataIndex: "createDate", key: "createDate", }, ], contactList: [], ContactsLists: [ { title: "催款科目", dataIndex: "dunSubject", key: "dunSubject", render: (text, record) => { return ( ); }, }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { return ( { record.money = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{ width: "120px" }} /> ); }, }, { title: "催款状态", dataIndex: "dunStatus", key: "dunStatus", render: (text) => { return getCuikuan(text); }, }, { title: "操作", dataIndex: "dels", key: "dels", render: (text, record) => { return (
{ { this.confirmDelet(record.key); }} okText="删除" cancelText="不删除" > } {record.id ? ( "" ) : ( )}
); }, }, ], ContactsListsNew: [ { title: "项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record, index) => { let dataArr = this.state.dataSource || []; if (text) { return {text + "-" + record.tid}; } return ( ); }, }, { title: "项目分类", dataIndex: "projectType", key: "projectType", render: (text, record) => { if (text) { let arr = this.state.dataSource || []; let str = ""; for (let i = 0; i < arr.length; i++) { if (this.state.dataSource[i].sort == text) { str = this.state.dataSource[i].cname; return {str}; } } if(!str){ return 未知; } } if (this.state.getLoad) { return ( ); } else { return ( ); } }, }, { title: "催款科目", dataIndex: "dunTypeName", key: "dunTypeName", render: (text, record) => { if (text) { if(record.customizeName) { return text + record.customizeName; } return {text}; } if (this.state.getLoad) { let arr = record.arr || []; return (
{record.dunType == 0 ? ( { record.customizeName = e.target.value; this.setState({ contactList: this.state.contactList, }); }} style={{ width: "120px" }} /> ) : ( "" )}
); } else { return ( ); } }, }, { 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 {str}; } return (
{record.dunType == 0 ? ( { let time = moment(e).valueOf(); let today = Date.parse(new Date()); if(time <= today ) { return true } }} onChange={(e, t) => { record.customizeTimes = t; }} /> ) : ( )}
); }, }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { if (record.dunTypeName) { if (record.appropriationRatio) { return {record.appropriationRatio}(拨款比例); } else { return {text}; } } if (this.state.boFlag) { return (
{ record.money = e.target.value; this.setState({ contactList: this.state.contactList, }); }} style={{ width: "120px" }} />
); } else { return (
{ record.money = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{ width: "120px" }} />
); } }, }, { title: "服务年限", dataIndex: "startDate", key: "startDate", render: (text, record) => { if (record.dunTypeName) { return {text}; } return (
{ record.dunType != 0 ? :
}
); }, }, { title: "催款状态", dataIndex: "status", key: "status", render: (text) => { return {text == 1 ? "已启动" : "未启动"}; }, }, { title: "操作", dataIndex: "dels", key: "dels", render: (text, record, index) => { return (
{this.state.processStatus == 0 ? ( { this.confirmDeletNew(record); }} okText="删除" cancelText="不删除" > ) : ( "" )} {record.isSave ? ( ) : ( "" )}
); }, }, ], changeCuiList: [ { title: "变更状态", dataIndex: "type", key: "type", render: (text) => { let str = ""; let color = ""; if (text == 1) { str = "增"; color = "#87d068"; } else if (text == 2) { str = "改"; color = "#108ee9"; } else if (text == 3) { str = "删"; color = "#f50"; } return ( {str} ); }, }, { title: "项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record, index) => { let dataArr = this.state.proDataSource || []; if (text) { // return {text + "-" + record.ctid}; if (record.ctid) { return {text + "-" + record.ctid}; } else { let tid = record.tid; let ctid = ""; dataArr.forEach((item, index) => { if (item.tid == tid) { ctid = item.id; } }); return {text + "-" + ctid}; } } return ( ); }, }, { title: "项目分类", dataIndex: "projectType", key: "projectType", render: (text, record) => { if (text) { let arr = this.state.proDataSource || []; let str = ""; for (let i = 0; i < arr.length; i++) { if (this.state.proDataSource[i].cSort == text) { str = this.state.proDataSource[i].cname; return {str}; } } } if (this.state.getLoad) { return ( ); } else { return ( ); } }, }, { title: "催款科目", dataIndex: "dunTypeName", key: "dunTypeName", render: (text, record) => { if (text) { return {text}; } if (this.state.getLoad) { let arr = record.arr || []; return (
{record.dunType == 0 ? ( { record.customizeName = e.target.value; this.setState({ contactList: this.state.contactList, }); }} style={{ width: "120px" }} /> ) : ( "" )}
); } else { return ( ); } }, }, { 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 {str}; } return (
{record.dunType == 0 ? ( { let time = moment(e).valueOf(); let today = Date.parse(new Date()); if (time <= today) { return true; } }} onChange={(e, t) => { record.customizeTimes = t; }} /> ) : ( )}
); }, }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { if (record.dunTypeName) { if (record.appropriationRatio) { return {record.appropriationRatio}(拨款比例); } else { return {text}; } } if (this.state.boFlag) { return (
{ record.money = e.target.value; this.setState({ contactList: this.state.contactList, }); }} style={{ width: "120px" }} />
); } else { return (
{ record.money = e.target.value; this.setState({ contactList: this.state.contactList }); }} style={{ width: "120px" }} />
); } }, }, { title: "服务年限", dataIndex: "startDate", key: "startDate", render: (text, record) => { if (record.dunTypeName) { return {text}; } return ( ); }, }, { title: "催款状态", dataIndex: "status", key: "status", render: (text) => { return {text == 1 ? "已启动" : "未启动"}; }, }, { title: "操作", dataIndex: "dels", key: "dels", render: (text, record, index) => { return (
{ this.changeDeleteCui(record); }} okText="删除" cancelText="不删除" > {record.isSave ? ( ) : ( "" )}
); }, }, ], }; }, getpatentTypeList() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/orderProject/getPatentType', success: function (data) { if (data.error.length === 0) { this.setState({ patentTypeList:data.data }) }else{ message.warning(data.error[0].message); }; }.bind(this) }); }, departmentList() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", data: {}, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.name, id: item.id, depNo: item.depNo, }); }); } this.setState({ departmentArr: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, //新建订单、编辑订单保存 handleSubmit(e) { e.preventDefault(); let theorgCodeUrl = []; if (this.state.orgCodeUrl.length) { let picArr = []; this.state.orgCodeUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); } let theReplenishUrl = []; if (this.state.replenishUrl.length) { let picArr = []; this.state.replenishUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); theReplenishUrl = picArr.join(","); } if (this.props.userDetaile) { if (isNaN(parseInt(this.state.totalAmount))) { message.warning("签单金额不能为空"); this.refs.totalAmountRef.focus(); return false; } if (isNaN(parseInt(this.state.firstAmount))) { message.warning("首付金额不能为空"); this.refs.firstAmountRef.focus(); return false; } if (moneyVerify(this.state.firstAmount)) { return; } if (moneyVerify(this.state.totalAmount)) { return; } if (!theorgCodeUrl) { message.warning("图片过大,上传失败"); this.refs.signFirstPayment.focus(); return false; } if (!this.state.signDate) { message.warning("签单日期不能为空"); $('.signDateRef input').focus() return false; } if (!this.state.orderRemarks) { message.warning("订单留言不能为空"); this.refs.orderRemarksRef.focus(); return false; } } const arr = this.state.contactListNew || []; for (let i = 0; i < arr.length; i++) { if ( arr[i].dunType == 1 && arr[i].waitDay != null && this.state.approval == 0 ) { message.warning( "非特批存在填写催款节点首付时间的情况,请删除后重新填写保存" ); return false; } else if ( arr[i].dunType == 1 && arr[i].waitDay == null && this.state.approval == 1 ) { message.warning( "特批存在首付催款节点未填写时间的情况,请删除后重新填写保存" ); return false; } if (!this.state.contactListNew[i].id && this.props.userDetaile) { message.warning("请保存催款节点"); return false; } } this.setState({ loading: true, }); let api = this.props.userDetaile ? "/api/admin/newOrder/updateServiceOrderNew" : "/api/admin/newOrder/createOrder"; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: !this.props.userDetaile ? { uid: this.state.autoId, orderType: this.state.orderType, } : { orderNo: this.state.orderNo, //订单编号 totalAmount: this.state.totalAmount, //总金额 firstAmount: this.state.firstAmount, //首付 isSubmit: this.state.isSubmit, //保存草稿还是提交 signDate: this.state.signDate, //签单日期 contacts: this.state.contacts, //企业负责人 contactMobile: this.state.contactMobile, //负责人联系方式 legalPerson: this.state.legalPerson, //企业法人 legalPersonTel: this.state.legalPersonTel, //企业法人联系电话 approval: this.state.approval, //特批状态 orderRemarks: this.state.orderRemarks, //订单备注 contractPictureUrl: theorgCodeUrl.length ? theorgCodeUrl : "", agreementUrl: theReplenishUrl.length ? theReplenishUrl : "", orderDep: this.state.organizationSearch, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.handleOk(); if (this.state.autoId) { this.loadData(); } } else { message.warning(data.error[0].message); } }.bind(this) ); }, //订单详情修改 xiangqingClick(e) { e.preventDefault(); this.setState({ loading: true, }); if (this.state.approval == 2 || this.state.approval == 3) { message.warning("特批状态不正确"); this.setState({ loading: false, }); return; } $.ajax({ url: globalConfig.context + "/api/admin/newOrder/updateServiceOrderNew", method: "post", data: { orderNo: this.state.orderNo, //订单编号 totalAmount: this.state.totalAmount, //总金额 firstAmount: this.state.firstAmount, //首付 isSubmit: this.state.isSubmit, //保存草稿还是提交 signDate: this.state.selTime, //签单日期 contacts: this.state.contacts, //企业负责人 contactMobile: this.state.contactMobile, //负责人联系方式 legalPerson: this.state.legalPerson, //企业法人 legalPersonTel: this.state.legalPersonTel, //企业法人联系电话 approval: this.state.approval, //特批状态 orderRemarks: this.state.orderRemarks, //订单备注 }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.loaduser(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, not() {}, //查看基本详情基本信息 loaduser(record) { this.state.orderList = []; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: record ? record.orderNo : this.props.datauser.orderNo, }, success: function (data) { let thisData = data.data; if (!thisData) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } if (thisData.approval == 2) { thisData.approval = "特批通过"; } else if (thisData.approval == 3) { thisData.approval = "特批驳回"; } this.setState({ id: thisData.id, kehuId: thisData.buyerId, orderNo: thisData.orderNo, //订单编号 orderType: thisData.orderType, //订单类型 firstAmount: thisData.firstAmount, //首付金额 totalAmount: thisData.totalAmount, //总金额 settlementAmount: thisData.settlementAmount, //结算金额 liquidationStatus: thisData.liquidationStatus, //清算状态 processStatus: thisData.processStatus, //流程状态 approval: thisData.approval.toString(), //特批状态 orderRemarks: thisData.orderRemarks, //订单备注 contractNo: thisData.contractNo, //合同编号 contacts: thisData.contacts, //联系人 contactMobile: thisData.contactMobile, //联系人电话 legalPerson: thisData.legalPerson, //法人 legalPersonTel: thisData.legalPersonTel, //法人电话 orgCodeUrl: thisData.contractPictureUrl ? splitUrl( thisData.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 replenishUrl: thisData.agreementUrl ? splitUrl( thisData.agreementUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 signDate: thisData.signDate, //签单时间 userName: thisData.userName, //客户名称 salesmanName: thisData.salesmanName, //营销员名称 salesmanMobile: thisData.salesmanMobile, //营销员电话 oldSalesmanName: thisData.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisData.oldSalesmanMobile, //营销员电话 financeName: thisData.financeName, //财务名称 financeMobile: thisData.financeMobile, //财务电话 nowFinanceMobile: thisData.nowFinanceMobile, nowFinance: thisData.nowFinance, approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval, organizationSearch: thisData.orderDep, depName: thisData.depName, status: thisData.status, outsource: thisData.outsource, deleteSign:thisData.deleteSign, orderUid:thisData.uid, }); // console.log("kkkk",this.state.processStatus); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //节点列表 jiedian(orderNos) { this.setState({ loadData: true, }); $.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, //催款状态 orderNo: thisData.orderNo, }); } this.setState({ contactList: theArr, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //查看催款节点 jiedianNew(orderNos) { this.setState({ loadData: true, }); $.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:parseFloat(totalCui), }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //催款节点保存 contactSave(record) { for (let i = 0; i < this.state.contactList.length; i++) { if (moneyVerify(this.state.contactList[i].money)) { return; } } this.setState({ loading: true, }); $.ajax({ url: globalConfig.context + "/api/admin/newOrder/createOrderDun", method: "post", data: { orderNo: this.state.orderNo, orderDun: JSON.stringify(this.state.contactList), }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.jiedian(record.orderNo); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //催款节点保存 contactSaveNew(record) { if(record.dunType == 0) { if(!record.customizeTimes) { message.warning("请输入自定义时间") return }else if(!record.customizeName) { message.warning("请输入自定义科目") return } } if (record.boStatus == "false") { record.boStatus = false; } else if (record.boStatus == "true") { record.boStatus = true; } if (!this.state.yearFlag) { if (!record.effectiveCount && !record.dunTypeCustom) { message.warning("请选择服务年限"); return; } } else { record.effectiveCount = ""; } if (record.money == "") { message.warning("请填写金额"); return; } if (record.boStatus) { if ( typeof +record.money == "number" && +record.money >= 0 && +record.money <= 1 ) { record.appropriationRatio = record.money; } else { message.warning("金额比例填写错误,比例范围0~1"); return; } } if (!record.dunType && record.dunType != 0) { message.warning("请选择对应科目"); return; } if (record.dunType != 1) { record.waitDay = ""; } this.setState({ loading: true, }); if (record.boStatus) { $.ajax({ url: globalConfig.context + "/api/admin/newOrderDun/createDun", method: "post", data: { orderNo: record.orderNo, tid: record.tid, projectType: record.sort, dunType: record.dunType, appropriationRatio: record.appropriationRatio, waitDay: record.waitDay, effectiveCount: record.effectiveCount, customizeTimes: record.dunType == 0 ? record.customizeTimes : undefined, customizeName: record.dunType == 0 ? record.customizeName : undefined, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.setState({ cuiFlag: false, boFlag: false, addFlag: false, }); this.jiedianNew(record.orderNo); } else { message.warning(data.error[0].message); } }.bind(this) ); } else { $.ajax({ url: globalConfig.context + "/api/admin/newOrderDun/createDun", method: "post", data: { orderNo: record.orderNo, tid: record.tid, projectType: record.sort, dunType: record.dunType, money: record.money, waitDay: record.waitDay, effectiveCount: record.effectiveCount, customizeTimes: record.dunType == 0 ? record.customizeTimes : undefined, customizeName: record.dunType == 0 ? record.customizeName : undefined, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.setState({ cuiFlag: false, boFlag: false, addFlag: false, }); this.jiedianNew(record.orderNo); } else { message.warning(data.error[0].message); } }.bind(this) ); } }, //点击新增催款节点 addcontact() { this.state.contactList.push({ key: this.state.contactList.length, money: "", dunSubject: undefined, orderNo: this.state.orderNo, dunTarget: this.state.kehuId, }); this.setState({ contactList: this.state.contactList, }); }, //点击新增催款节点 addcontactNew() { this.state.contactListNew.push({ key: this.state.contactListNew.length, money: "", dunSubject: undefined, orderNo: this.state.orderNo, dunTarget: this.state.kehuId, }); this.setState({ contactListNew: this.state.contactListNew, cuiFlag: true, }); }, //删除收款节点 confirmDelet(index) { this.state.contactList.splice(index, 1); this.setState({ contactList: this.state.contactList, }); this.contactSave(); }, //删除收款节点 confirmDeletNew(index) { if (index.id) { this.state.contactListNew.splice(index.id, 1); this.setState({ contactListNew: this.state.contactListNew, cuiFlag: false, addFlag: false, boFlag: false, }); $.ajax({ url: globalConfig.context + "/api/admin/newOrderDun/deleteDun", method: "post", data: { id: index.id, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("删除成功!"); this.setState({ cuiFlag: false, }); this.jiedianNew(this.state.orderNo); } else { message.warning(data.error[0].message); } }.bind(this) ); } else { this.state.contactListNew.splice(index.key, 1); this.setState({ contactListNew: this.state.contactListNew, cuiFlag: false, addFlag: false, boFlag: false, }); } }, handleOk() { this.setState({ visible: false, mark: false, }); this.props.closeDesc(false, true); }, handleCancel() { if (this.state.orderType == undefined) { return false; } if (!this.state.autoId) { return false; } this.setState({ visible: false, mark: false, }); this.props.closeDesc(false); }, handleCancelclose() { this.setState( { visible: false, mark: false, cuiFlag: false, addFlag: false, boFlag: false, isJilu: false, }, () => { this.setState({ activeKey: "1", }); } ); this.props.closeDesc(false); this.reset(); }, //点击签单 handleCancels() { this.setState({ isSubmit: 1, }); }, //点击签单 handleCancelq() { this.setState({ isSubmit: 0, }); }, //删除 delectRow(record) { this.setState({ loading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/deleteOrderTask", data: { id: record.id, }, }).done( function (data) { if (!data.error.length) { message.success("删除成功!"); this.setState({ loading: false, }); this.jiedian(this.state.orderNo); this.jiedianNew(this.state.orderNo); this.loaduser(); this.loadData(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, nextCancel() { this.setState({ changeVisible:false, projectOperationVisible: false, gid: "", dataInfor:{}, },()=>{ this.loadData(); }); }, rizhi() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.props.datauser.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) ); }, //查看订单日志 getOrderLog() { this.setState({ rizhivisible: true, }); this.rizhi(); }, closeOrderLog() { this.setState({ rizhivisible: false, }); }, callback(key) { this.setState({ activeKey: key, }); if (key === "1") { this.jiedian(this.props.datauser.orderNo); this.jiedianNew(this.props.datauser.orderNo); this.loaduser(); // this.loaduser(); } if (key === "3") { this.getChangeData(); } if (key === "2" || key === "3") { let url = window.location.href.substring(7); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/orderChangeDetails", data: { orderNo: this.props.datauser.orderNo, }, success: function (data) { // console.log(data.data); if (data.data && data.data.length) { let thisdata = data.data[data.data.length - 1]; if ( thisdata.status === 0 || (thisdata.processState == 0 && thisdata.status != 5) ) { this.setState({ changeId: thisdata.id, typeChange: thisdata.type, totalAmount: thisdata.totalAmount, settlementAmount: thisdata.settlementAmount, changeAmount: thisdata.changeAmount, remarksC: thisdata.remarks, startRemarks: thisdata.zxsRemarks, isCaoGao: true, arrears: thisdata.arrears, changeFlag: true, createTimes: thisdata.createTimes, voucherUrl: thisdata.voucherUrl ? splitUrl( thisdata.voucherUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], processState: thisdata.processState, status: thisdata.status, }); this.proList(); this.cuiList(); let e = thisdata.type; if (e == 1) { this.setState({ hetongFlag: false, listFlag: false, listCuiFlag: false, tuiKuanFlag: false, displayList: false, }); } else if (e == 2) { this.setState({ hetongFlag: true, listFlag: false, listCuiFlag: false, tuiKuanFlag: true, displayList: false, }); } else if (e == 3) { this.setState({ listFlag: false, hetongFlag: false, listCuiFlag: false, tuiKuanFlag: false, displayList: true, }); } else if (e == 4) { this.setState({ listFlag: false, listCuiFlag: false, hetongFlag: false, tuiKuanFlag: true, displayList: false, }); } else if (e == 5) { this.setState({ listFlag: false, listCuiFlag: false, hetongFlag: true, tuiKuanFlag: true, displayList: false, }); } else { this.setState({ listFlag: true, hetongFlag: true, listCuiFlag: true, tuiKuanFlag: false, displayList: false, }); } } else { this.setState({ listFlag: false, hetongFlag: false, listCuiFlag: false, tuiKuanFlag: false, displayList: false, // 置空 changeId: undefined, isCaoGao: false, }); } } else { this.setState({ isCaoGao: false, }); } }.bind(this), }); } }, cuiList(id) { this.setState({ loadData: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/selectChangeDun", data: { id: id || this.state.changeId, }, success: function (data) { this.setState({ cuiDataSource: data.data, }); if (data.data && data.data.length) { if (id) { this.setState({ listCuiFlag: true, }); } this.setState({ cuiDataSource: data.data, }); this.setState({ loadData: false, }); } else if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ loadData: false, }); } }.bind(this), }); }, proList(id) { this.setState({ loadData: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/selectChangeTask", data: { id: id || this.state.changeId, }, success: function (data) { if (data.data && data.data.length) { if (id) { this.setState({ listFlag: true, }); } data.data.forEach((item,index) => { item.key = index; }); this.setState({ proDataSource: data.data, }); this.setState({ loadData: false, }); } else if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ loadData: false, }); } }.bind(this), }); }, logList(id) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", async: false, crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/orderChangeLogList", data: { changeId: id, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ loading: false, }); } } else { this.setState({ logData: data.data, loading: false, }); } }.bind(this), }); }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: e }); }, getReplenishUrl(e) { this.setState({ replenishUrl: e }); }, getVoucherUrl(e) { this.setState({ voucherUrl: e }); }, //加载(自动补全) supervisor(e, state) { //客户名称与服务名称自动补全 let api = state ? "/api/admin/customer/getCustomerByName" : "/api/admin/order/getBusinessProjectByName"; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: state ? { name: e, type: this.state.customType, } : { businessName: e, }, success: function (data) { let thedata = data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } this.setState({ states: state, customerArr: thedata, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, supervisorCui(e) { //客户名称与服务名称自动补全 let api = "/api/admin/order/getBusinessProjectByName"; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: { businessName: e, }, success: function (data) { let thedata = data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } this.setState({ customerCuiArr: thedata, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //上级主管输入框失去焦点是判断客户是否存在 selectAuto(value) { let kid = []; let fwList = this.state.customerArr; fwList.map(function (item) { if (value == item.bname) { kid = item; } }); if (kid.type == "1") { this.setState({ displayFees: "block", }); } else { this.setState({ displayFees: "none", }); } //0通用 1专利 2软著 3审计 4双软 5高新 6商标 this.setState({ commodityName: value, gid: kid.id, addProjectType: kid.type, isIso: value.indexOf("贯标") !== -1,// 是否为贯标项目 //commodityPrice:kid.price==0?kid.price.toString():kid.price, commodityFirstPayment: kid.firstPayment == 0 ? kid.firstPayment.toString() : kid.firstPayment, }); }, selectAutoCui(value) { let kid = []; let fwList = this.state.customerCuiArr; fwList.map(function (item) { if (value == item.bname) { kid = item; } }); this.setState({ commodityNameCui: value, cid: kid.id, //commodityPrice:kid.price==0?kid.price.toString():kid.price, commodityFirstPayment: kid.firstPayment == 0 ? kid.firstPayment.toString() : kid.firstPayment, }); }, //客户 selectAutoCUT(value) { let autoIds; let fwList = this.state.customerArr; fwList.map(function (item) { if (value == item.name) { autoIds = item.id; } }); this.setState({ customerName: value, autoId: autoIds, }); }, //服务值改变时请求客户名称 httpChange(e) { this.state.gid = ""; if (e.length >= 1) { this.supervisor(e, false); } this.setState({ commodityName: e, }); }, httpChangeCui(e) { if (e.length >= 1) { this.supervisorCui(e, false); } this.setState({ commodityNameCui: e, }); }, //客户名称自动补全 customerChange(e) { if (this.state.customType) { this.state.autoId = ""; if (e.length >= 2) { this.supervisor(e, true); } this.setState({ customerName: e, }); } else { this.setState({ customerName: "", }); message.warning("客户所属类型必须指定"); } }, //点击添加项目明细 addDetailed() { this.setState({ projectOperationVisible: true, }); }, //点击打卡项目详情 tableRowClick(record) { this.setState({ projectOperationVisible:true, dataInfor:record, }) }, //签单时间选择 selTime(e, index) { this.setState({ entryTime: e, signDate: e, selTime: index, }); }, //退单操作 //点击退单 tuikuan() { this.setState({ lookVisible: true, contractUrl: [], applicationUrl: [], reason: "", }); }, //关闭退单 noCancel() { this.setState({ lookVisible: false, }); }, //点击确认退单 tuidanOk() { let contractUrls = []; let applicationUrls = []; if (this.state.contractUrl.length) { let picArr = []; this.state.contractUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); contractUrls = picArr.join(","); } if (this.state.applicationUrl.length) { let picArr = []; this.state.applicationUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); applicationUrls = picArr.join(","); } $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/addOrderRefund", data: { orderNo: this.state.orderNo, //订单编号 contractUrl: contractUrls.length ? contractUrls : "", //终止合同 applicationUrl: applicationUrls.length ? applicationUrls : "", //退单申请表 reason: this.state.reason, //退单原因 }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("退单成功!"); this.noCancel(); this.handleCancelclose(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //开单选择订单类型骚操作 orderTypeFn(e) { if (e == 0) { this.setState({ bussStats: true, orderType: e, }); this.category(); } else { this.setState({ contractType: undefined, bussStats: false, orderType: e, }); } }, //品类数据获取 category() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/Varieties/getSuperList", data: {}, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.cname, id: item.id, }); }); } this.setState({ contractType: undefined, categoryArr: theArr, }); }.bind(this), }); }, //变更申请 changeApply() { if ( this.state.typeChange == undefined || (this.state.typeChange == "" && this.state.typeChange != 0) ) { message.warning("请选择变更类型"); return false; } if ( this.state.typeChange == 0 || this.state.typeChange == 1 || this.state.typeChange == 3 ) { if (this.state.settlementAmount < this.state.changeAmount) { message.warning("退款金额大于已收款金额"); return; } } if (this.state.processStatus != 5 && this.state.processStatus != 6) { message.warning("当前订单流程不能发起变更!"); return false; } if (this.state.changeAmount === "") { message.warning("申请退款金额不能为空!"); // console.log(this.state.changeAmount); return false; } if (this.state.remarksC == "") { message.warning("请正确填写变更原因"); return false; } if (this.state.startRemarks == "") { message.warning("请正确填写备注信息"); return false; } let theorgCodeUrl = []; if (this.state.voucherUrl.length) { let picArr = []; this.state.voucherUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); } this.setState({ loading: true, }); if (this.state.typeChange == 0) { $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/addOrderChange", data: { orderNo: this.state.orderNo, //订单编号 processState: 1, status: 1, startRemarks: this.state.startRemarks, remarks: this.state.remarksC, voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "", totalAmount: this.state.totalAmount, settlementAmount: this.state.settlementAmount, changeAmount: this.state.changeAmount, applicant: this.state.salesmanName, depName: this.state.depName, type: this.state.typeChange, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("发起变更成功"); this.handleCancelclose(); } else { message.warning(data.error[0].message); this.setState({ loading: false, }); } }.bind(this) ); } else { $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/addOrderChange", data: { orderNo: this.state.orderNo, //订单编号 processState: 0, status: 0, startRemarks: this.state.startRemarks, remarks: this.state.remarksC, voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "", totalAmount: this.state.totalAmount, settlementAmount: this.state.settlementAmount, changeAmount: this.state.changeAmount, applicant: this.state.salesmanName, depName: this.state.depName, type: this.state.typeChange, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("发起变更草稿"); this.setState( { isCaoGao: true, loading: false, }, () => { this.callback("2"); } ); } else { message.warning(data.error[0].message); } }.bind(this) ); } }, reset() { this.setState({ startRemarks: "", remarksC: "", voucherUrl: [], totalAmount: undefined, settlementAmount: undefined, changeAmount: "0", applicant: undefined, depNameChange: undefined, typeChange: undefined, displayFees: "none", officialCost: "", costReduction: "", }); }, componentWillReceiveProps(nextProps) { //props改变时触发 this.state.visible = nextProps.showDesc; this.state.signBillVisible = nextProps.signBillVisible; if (this.state.signBillVisible) { this.loaduser(nextProps.uid); } if (nextProps.userDetaile && nextProps.showDesc) { this.loaduser(nextProps.datauser); this.jiedian(nextProps.datauser.orderNo); this.jiedianNew(nextProps.datauser.orderNo); this.loadData(nextProps.datauser); this.getChangeData(nextProps.datauser); } else { this.setState({ orderType: undefined, customerName: "", autoId: "", customerArr: [], contractType: undefined, bussStats: false, customType: undefined, }); } }, //查看变更记录 getChangeData(record) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/orderChangeDetails", data: { orderNo: record ? record.orderNo : this.props.datauser.orderNo, }, success: function (data) { this.setState({ loading: false, }); let url = window.location.href.substring(7); // console.log(data.data); if (data.data && data.data.length) { let thisdata = data.data[data.data.length - 1]; thisdata.typeChange = thisdata.type; thisdata.remarksC = thisdata.remarks; thisdata.startRemarks = thisdata.zxsRemarks; thisdata.voucherUrl = thisdata.voucherUrl ? splitUrl( thisdata.voucherUrl, ",", globalConfig.avatarHost + "/upload", url ) : []; this.proList(thisdata.id); this.cuiList(thisdata.id); this.logList(thisdata.id); this.setState({ //判断是否有合同变更记录 isJilu: true, detailChange: thisdata, }); } }.bind(this), }); }, showConfirm(fn, record) { confirm({ title: "确定删除此项目吗?", content: ( 删除后会将该项目下的所有催款节点自动清除!!! ), onOk() { fn(record); }, onCancel() {}, }); }, changeAddPro() { this.getpatentTypeList(); this.setState({ changeVisible: true, gid: "", customerArr: [], commodityName: "", commodityQuantity: "", commodityId: "", taskComment: "", main: undefined, commodityPrice: "", displayFees: "none", officialCost: "", costReduction: "", }); }, changeProSubmit() { if (this.state.gid == undefined || !this.state.gid) { message.warning("服务名称不匹配!"); return false; } if (this.state.displayFees==='block') { if(this.state.officialCost===''){ message.warning("请选择官费!"); return false; } if (this.state.costReduction==='') { message.warning("请选择费减!"); return false; } } if (!this.state.commodityPrice) { message.warning("请输入金额!"); this.refs.commodityPrice.focus(); return false; } let reg = /^([0]|[1-9][0-9]*)$/; if ( !this.state.commodityQuantity || !reg.test(this.state.commodityQuantity) ) { message.warning("请输入正确商品数量!"); this.refs.commodityQuantity.focus(); return false; } if (!this.state.main) { message.warning("请选择是否为主要项目!"); this.refs.commodityQuantity.focus(); return false; } this.setState({ loading: true, }); let type = 0; if (this.state.typeChange == 4 || this.state.typeChange == 5) { type = 1; } $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/addChangeTask", data: { commodityId: this.state.gid, //商品ID orderNo: this.props.datauser.orderNo, //订单编号 commodityName: this.state.commodityName, //商品名称 commodityQuantity: this.state.commodityQuantity, //商品数量 commodityPrice: this.state.commodityPrice, //签单总价 taskComment: this.state.taskComment, //服务说明 main: this.state.main, //是否为主要项目 cid: this.state.changeId, //变更ID officialCost: this.state.displayFees==='block' ? this.state.officialCost : '', //是否有官费 costReduction: this.state.displayFees==='block' ?this.state.costReduction : '', //是否有费减 type, }, success: function (data) { let theArr = []; if (data.error && data.error.length) { message.warning(data.error[0].message); } else { message.success("保存成功"); this.nextCancel(); this.proList(); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, changeDeletePro(record) { this.setState({ loading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/updateChangeTask", data: { id: record.id, type: 3, tid: record.tid, splitStatus: record.splitStatus, }, success: function (data) { let theArr = []; if (data.error && data.error.length) { message.warning(data.error[0].message); } else { message.success("删除成功"); this.proList(); this.cuiList(); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //点击新增变更催款节点 changeAddCui() { this.state.cuiDataSource.push({ key: this.state.cuiDataSource.length, money: "", dunSubject: undefined, orderNo: this.state.orderNo, dunTarget: this.state.kehuId, }); this.setState({ cuiDataSource: this.state.cuiDataSource, cuiFlag: true, }); }, //删除变更收款节点 changeDeleteCui(index) { if (index.id) { this.state.cuiDataSource.splice(index.id, 1); this.setState({ contactListNew: this.state.cuiDataSource, cuiFlag: false, addFlag: false, boFlag: false, }); $.ajax({ url: globalConfig.context + "/api/admin/orderChange/updateChangeDun", method: "post", data: { id: index.id, type: 3, tid: index.tid, did: index.did, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("删除成功!"); this.setState({ cuiFlag: false, }); this.cuiList(); this.proList(); } else { message.warning(data.error[0].message); } }.bind(this) ); } else { this.state.cuiDataSource.splice(index.key, 1); this.setState({ cuiDataSource: this.state.cuiDataSource, cuiFlag: false, addFlag: false, boFlag: false, }); } }, changeSaveCui(record) { if (record.dunType == 0) { if (!record.customizeTimes) { message.warning("请输入自定义时间"); return; } else if (!record.customizeName) { message.warning("请输入自定义科目"); return; } } if (record.boStatus == "false") { record.boStatus = false; } else if (record.boStatus == "true") { record.boStatus = true; } if (!this.state.yearFlag) { if (!record.effectiveCount) { message.warning("请选择服务年限"); return; } } else { record.effectiveCount = ""; } if (isNaN(parseInt(record.money)) && !record.boStatus) { message.warning("请填写金额"); return; }else if((isNaN(parseInt(record.money)) && record.boStatus)){ message.warning("请填写比例"); return; } if (record.boStatus) { if ( typeof +record.money == "number" && +record.money >= 0 && +record.money <= 1 ) { record.appropriationRatio = record.money; } else { message.warning("金额比例填写错误,比例范围0~1"); return; } } if (!record.dunType && record.dunType != 0) { message.warning("请选择对应科目"); return; } if (record.dunType != 1) { record.waitDay = ""; } this.setState({ loading: true, }); if (record.boStatus) { $.ajax({ url: globalConfig.context + "/api/admin/orderChange/addChangeDun", method: "post", data: { orderNo: record.orderNo, ctid: record.ctid, projectType: record.sort, dunType: record.dunType, appropriationRatio: record.appropriationRatio, waitDay: record.waitDay, effectiveCount: record.effectiveCount, cid: this.state.changeId, //变更ID customizeTimes: record.dunType == 0 ? record.customizeTimes : undefined, customizeName: record.dunType == 0 ? record.customizeName : undefined, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.setState({ cuiFlag: false, boFlag: false, addFlag: false, }); this.cuiList(); } else { message.warning(data.error[0].message); } }.bind(this) ); } else { $.ajax({ url: globalConfig.context + "/api/admin/orderChange/addChangeDun", method: "post", data: { orderNo: record.orderNo, ctid: record.ctid, projectType: record.sort, dunType: record.dunType, money: record.money, waitDay: record.waitDay, effectiveCount: record.effectiveCount, cid: this.state.changeId, //变更ID customizeTimes: record.dunType == 0 ? record.customizeTimes : undefined, customizeName: record.dunType == 0 ? record.customizeName : undefined, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.setState({ cuiFlag: false, boFlag: false, addFlag: false, }); this.cuiList(); } else { message.warning(data.error[0].message); } }.bind(this) ); } }, submitChange() { if ( this.state.typeChange == undefined || (this.state.typeChange == "" && this.state.typeChange != 0) ) { message.warning("请选择变更类型"); return false; } if ( this.state.typeChange == 0 || this.state.typeChange == 1 || this.state.typeChange == 3 ) { if (this.state.settlementAmount < this.state.changeAmount) { message.warning("退款金额大于已收款金额"); return; } } if (this.state.processStatus != 5 && this.state.processStatus != 6) { message.warning("当前订单流程不能发起变更!"); return false; } if (this.state.changeAmount === "") { message.warning("申请退款金额不能为空!"); return false; } if (this.state.remarksC == "") { message.warning("请正确填写变更原因"); return false; } if (this.state.startRemarks == "") { message.warning("请正确填写备注信息"); return false; } let theorgCodeUrl = []; if (this.state.voucherUrl.length) { let picArr = []; this.state.voucherUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); } this.setState({ loading: true, }); $.ajax({ url: globalConfig.context + "/api/admin/orderChange/updateOrderChange", method: "post", data: { id: this.state.changeId, changeType: 0, orderNo: this.state.orderNo, //订单编号 processState: 0, startRemarks: this.state.startRemarks, remarks: this.state.remarksC, voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "", totalAmount: this.state.totalAmount, settlementAmount: this.state.settlementAmount, changeAmount: this.state.changeAmount, applicant: this.state.salesmanName, depName: this.state.depName, type: this.state.typeChange, }, }).done( function (data) { if (!data.error.length) { this.setState({ loading: false, }); message.success("发起变更成功"); this.handleCancelclose(); } else { message.warning(data.error[0].message); this.setState({ loading: false, }); } }.bind(this) ); }, editCui(record) { this.setState({ editCuiVisible: true, editCuiMoney: record.appropriationRatio ? record.appropriationRatio : record.money, appropriationRatio: record.appropriationRatio, editCuiTid: record.tid, editCuiDid: record.did, editCuiId: record.id, }); }, editPro(record) { this.setState({ editProVisible: true, editSplitStatus: record.splitStatus, editProMoney: record.commodityPrice, editProCommodityQuantity: record.commodityQuantity, editProTid: record.tid, editProId: record.id, }); }, submitEditCui(type) { if(isNaN(parseFloat(this.state.editCuiMoney))){ if(type === 1){ message.warn('请输入比例') }else{ message.warn('请输入金额') } return; } this.setState({ loading: true }); let data = { id: this.state.editCuiId, type: this.state.editCuiTid ? 2 : 1, tid: this.state.editCuiTid, } if(type === 1){ data.appropriationRatio = this.state.editCuiMoney; }else{ data.money = this.state.editCuiMoney; } $.ajax({ url: globalConfig.context + "/api/admin/orderChange/updateChangeDun", method: "post", data }).done( function (data) { this.setState({ loading: false }); if (!data.error.length) { message.success("修改成功!"); this.cuiList(); this.proList() this.setState({ editCuiVisible: false }); } else { message.warning(data.error[0].message); } }.bind(this) ); }, submitEditPro() { this.setState({ loading: true, }); $.ajax({ url: globalConfig.context + "/api/admin/orderChange/updateChangeTask", method: "post", data: { id: this.state.editProId, type: this.state.editProTid ? 2 : 1, commodityPrice: this.state.editProMoney, commodityQuantity: this.state.editProCommodityQuantity, tid: this.state.editProTid, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("修改成功!"); this.cuiList(); this.proList(); this.setState({ editProVisible: false, }); } else { message.warning(data.error[0].message); } }.bind(this) ); }, 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, }); }, showConfirmChange(fn, record) { confirm({ title: "确定取消本次变更吗?", content: ( 取消后本次变更将作废!!! ), onOk() { fn(); }, onCancel() { } }); }, deleteChange() { this.setState({ loading: true, }); $.ajax({ url: globalConfig.context + "/api/admin/orderChange/cancelOrderChange", method: "post", data: { id: this.state.changeId, status: this.state.status, processState: this.state.processState, orderNo: this.state.orderNo }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("取消成功!"); this.handleCancelclose() } else { message.warning(data.error[0].message); } }.bind(this) ); }, render() { const expandedRowRender = (e) => { const data = e.list; data.forEach((item) => { item.key = item.id; }); let columns = []; if (e.list instanceof Array && e.list.length) { columns = [ { title: "变更状态", dataIndex: "type", key: "type", render: (text, record) => { let str = ""; let color = ""; if (text == 1) { str = "增"; color = "#87d068"; } else if (text == 2) { str = "改"; color = "#108ee9"; } else if (text == 3) { str = "删"; color = "#f50"; } return ( {str} {record.splitStatus == 1 ? ( { // e.stopPropagation(); // this.showRes(record); // }} > 父项目 ) : ( "" )} {record.splitStatus == 2 ? ( { // e.stopPropagation(); // this.showRes(record); // }} > 子项目 ) : ( "" )} ); }, }, { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return text + "-" + record.id; }, }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", render: (text, record) => { if (record.splitStatus == 2) { return "/"; } else { return text; } }, }, { title: "主要项目", dataIndex: "main", key: "main", render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; }, }, { title: "操作", dataIndex: "ABC", key: "ABC", render: (text, record) => { return (
); }, }, ]; return ( ); } else { columns = []; return (

此项目暂未拆分

); } }; const expandedRowRenderDetail = (e) => { const data = e.list; data.forEach((item) => { item.key = item.id; }); let columns = []; if (e.list instanceof Array && e.list.length) { columns = [ { title: "变更状态", dataIndex: "type", key: "type", render: (text, record) => { let str = ""; let color = ""; if (text == 1) { str = "增"; color = "#87d068"; } else if (text == 2) { str = "改"; color = "#108ee9"; } else if (text == 3) { str = "删"; color = "#f50"; } return ( {str} {record.splitStatus == 1 ? ( { // e.stopPropagation(); // this.showRes(record); // }} > 父项目 ) : ( "" )} {record.splitStatus == 2 ? ( { // e.stopPropagation(); // this.showRes(record); // }} > 子项目 ) : ( "" )} ); }, }, { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", render: (text, record) => { if (record.splitStatus == 2) { return "/"; } else { return text; } }, }, { title: "主要项目", dataIndex: "main", key: "main", render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; }, }, ]; return (
); } else { columns = []; return (

此项目暂未拆分

); } }; const FormItem = Form.Item; const { TabPane } = Tabs; const { TextArea } = Input; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const contractData = this.state.contractData; const formItemList = [ { label: "企业联系人", content: {this.state.contacts}, }, { label: "客户名称", content: {this.state.userName} , }, { label: "联系人电话", content: {this.state.contactMobile}, }, { label: "企业法人", content: {this.state.legalPerson}, }, { label: "法人电话", content: {this.state.legalPersonTel}, }, // { // label: "签单金额(万元)", // content: {this.state.totalAmount} // }, // { // label: "首付金额(万元)", // content: {this.state.firstAmount} // }, // { // label: "特批立项", // content: {getApprovedState(this.state.approval)} // }, // { // label: "合同签订时间", // content: {this.state.signDate} // }, // { // label: "订单部门", // content: {this.state.depName} // } ]; let dataSources = this.state.customerArr || []; const cuiDataList = this.state.contactList || []; let departmentArr = this.state.departmentArr || []; let options = this.state.states ? dataSources.map((group) => ( {group.name} )) : dataSources.map((group, index) => ( {group.bname} )); return (
{this.state.resVisible ? ( ) : ( "" )}
{!this.props.userDetaile ? (
*
*
) : (
} >
{{this.state.contractNo}} {this.state.orderNo} {getProcessStatus(this.state.processStatus)} {getLiquidationStatus( this.state.liquidationStatus )} {this.state.processStatus === 0 ? (
{}} value={ this.state.signDate ? moment(this.state.signDate) : null } onChange={(data, dataString) => { this.setState({ signDate: dataString }); }} /> *
) : (
{getApprovedState(this.state.approval)} {this.state.signDate} {this.state.depName} {this.state.outsource == 0 ? "否" : "是"}
)}

收款项目

{this.state.processStatus === 0 ? (
{ this.setState({ totalAmount: e.target.value, }); }} style={{ width: "240px" }} /> {/* * */} { this.setState({ firstAmount: e.target.value, }); }} style={{ width: "240px" }} /> {/* * */} {this.state.settlementAmount + "万元"} {/* {this.state.settlementAmount ? ( ) : ( "" )} */}
) : (
{this.state.totalAmount} {this.state.firstAmount} {this.state.settlementAmount + "万元"} {/* {this.state.settlementAmount ? ( ) : ( "" )} */}
)}

联系信息

{this.state.processStatus == 0 ? (
{this.state.userName}
{ this.setState({ contacts: e.target.value }); }} style={{ width: "240px" }} /> { this.setState({ contactMobile: e.target.value, }); }} style={{ width: "240px" }} /> { this.setState({ legalPerson: e.target.value, }); }} style={{ width: "240px" }} /> { this.setState({ legalPersonTel: e.target.value, }); }} style={{ width: "240px" }} />
) : (
{formItemList.map((data, index) => { return ( {data.content} ); })}
)}
{this.state.processStatus == 0 ? (
* 合同扫描件 } >

图片建议:要清晰。

补充协议} >

图片建议:要清晰。

) : (
{/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisible: true,*/} {/* });*/} {/* }}*/} {/*/>*/}
{this.state.orgCodeUrl && this.state.visible && this.state.activeKey === '1'? :
}
{ this.setState({ previewVisible: false, rotateDeg: 0, }); }} > {/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisibles: true,*/} {/* });*/} {/* }}*/} {/*/>*/}
{ this.state.visible && this.state.activeKey === '1' && this.state.replenishUrl? :
}
{ this.setState({ previewVisibles: false, rotateDeg: 0, }); }} >
)}
{this.state.processStatus == 0 ? (
{ this.setState({ orderRemarks: e.target.value, }); }} style={{ width: "95%" }} /> *
重要提示:请详细填写合同中包含的服务内容、服务年限、时间节点等
) : (

{this.state.orderRemarks}

)}
{this.state.salesmanName} {this.state.salesmanMobile}
{this.state.nowFinance} {this.state.nowFinanceMobile}
{this.state.oldSalesmanName} {this.state.oldSalesmanMobile}
{this.state.financeName} {this.state.financeMobile}
项目业务 {this.state.processStatus == 0 ? ( ) : ( "" )}
旧催款节点
新催款节点 金额总计(万元): {this.state.totalCui}
{this.state.processStatus == 0 ? (
) : ( "" )} {
{this.state.userName}
{this.state.contractNo}
{/* {!this.state.mark ? ( */} {this.state.depName} {/* ) : ( {contractData.depName} )} */} {this.state.salesmanName}
{/* {!this.state.mark ? ( */} {this.state.status === 3 ? ( ) : ( "" )} {/* */}
{/* {!this.state.mark ? ( */} { this.setState({ totalAmount: e.target.value, }); }} style={{ width: "240px" }} /> {/* ) : ( {contractData.totalAmount} )} */} {this.state.settlementAmount}      (注:已收款与现实收款不符,请与财务专员联系) {/* {!this.state.mark ? ( */} { this.setState({ changeAmount: e.target.value, }); }} style={{ width: "240px" }} /> {/* ) : ( {contractData.changeAmount} )} */}
{/* 动态展示项目以及催款节点 */}
项目业务 (注:项目删除后,此项目的全部节点、全部工时,全部被删除,请谨慎删除!双击可修改对应金额数量!)
催款节点 (注:节点删除后,无论节点是否触发,均会删除,请谨慎删除!双击可修改对应金额!) {/* 金额总计(万元): {this.state.totalCui} */}
{/* {!this.state.mark ? ( */}