import React from "react"; import { Table, Modal, message, Spin, Input, Select, Button, Form, Upload, Popconfirm, AutoComplete, DatePicker, Col, Tabs } from "antd"; import $ from "jquery/src/ajax"; import "../userMangagement.less"; import "../billing.less"; import moment from "moment"; import Picture from "@/manageCenter/publicComponent/picture"; import OrderRiZi from "@/orderRiZi.jsx"; import { orderTypes, customerType, jiedian, tepi, boutique, } from "../../../dataDic.js"; import { splitUrl, getProcessStatus, getLiquidationStatus, getboutique, getApprovedState, getjiedian, getCuikuan, getProjectStatus, moneyVerify } from "../../../tools.js"; import {cuiJieDian} from "@/dataDic.js" import PicturesWall from "./changeComponent/picturesWall.js"; import { changeType, getChangeType } from "./changeComponent/changeDetailYxgly"; // const Options = Select.Option; 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]; theArr.push({ key: i, id: thisdata.id, orderNo: thisdata.orderNo, //订单编号 commodityId: thisdata.commodityId, //项目ID commodityName: thisdata.commodityName, //项目名称 cname: thisdata.cname, //项目类别 commodityPrice: thisdata.commodityPrice, //项目价格 commodityQuantity: thisdata.commodityQuantity, //项目数量 main: thisdata.main, //是否为主要任务 taskComment: thisdata.taskComment, //任务说明 contacts: thisdata.contacts, //联系人 contactsMobile: thisdata.contactsMobile, //联系人电话 projectStatus: thisdata.projectStatus, //项目状态 sort: thisdata.cSort }); } } this.departmentList(); this.setState({ dataSource: theArr, pagination: 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 { cuiFlag: false, startRemarks: "", remarksC: "", loading: false, visible: false, status: 4, orgCodeUrl: [], voucherUrl: [], customerArr: [], mark: false, activeKey: "1", typeChange: 0, bussStats: false, checkedKeys: [], lookflowList: [], contractUrl: [], applicationUrl: [], changeAmount: "0", active: { applySign: false }, lookState: false, signBillVisible: false, commod: "", columns: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName" }, { title: "项目类别", dataIndex: "cname", key: "cname" }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice" }, { title: "负责人", dataIndex: "contacts", key: "contacts" }, { title: "负责人电话", dataIndex: "contactsMobile", key: "contactsMobile" }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectStatus(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 ? ( ) : ( "" )}
); } } ], columnsrizhi: [ { title: "流程", dataIndex: "processName", key: "processName" }, { title: "操作人", dataIndex: "adminName", key: "adminName" }, { title: "时间", dataIndex: "createDate", key: "createDate" } ], contactList: [], loading: false, 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}; } 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 (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 ( ); } else { return ( ); } } }, { title: "首付时间(特批需选择时间)", dataIndex: "waitDay", key: "waitDay", render: (text, record) => { if (record.dunTypeName) { if (text == 0) { var str = "当天"; } else if (!text) { var str = ""; } else { var str = text + "天"; } return {str}; } return ( ); } }, { title: "金额(万元)", dataIndex: "money", key: "money", render: (text, record) => { if (record.dunTypeName) { if(record.appropriationRatio && !record.money) { return {record.appropriationRatio}(拨款比例); }else if (record.appropriationRatio && record.money) { return ( {text}(比例:{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.state.processStatus == 0 ? ( { this.confirmDeletNew(record); }} okText="删除" cancelText="不删除" > ) : ( "" )} {record.isSave ? ( ) : ( "" )}
); } } ] }; }, 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) ); }, //新建订单、编辑订单保存 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(","); } if (this.props.userDetaile) { if (this.state.totalAmount === "") { message.warning("签单金额不能为空"); this.refs.signFirstPayment.focus(); return false; } if (this.state.firstAmount === "") { message.warning("首付金额不能为空"); this.refs.signFirstPayment.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("签单日期不能为空"); this.refs.signFirstPayment.focus(); return false; } if (!this.state.orderRemarks) { message.warning("订单留言不能为空"); this.refs.signFirstPayment.focus(); return false; } } else { } 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 : "", 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) ); }, //查看基本详情基本信息 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, //法人电话 contractNo: thisData.contractNo, //合同编号 orgCodeUrl: thisData.contractPictureUrl ? splitUrl( thisData.contractPictureUrl, ",", 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, contractNo: thisData.contractNo, //合同编号 approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval, organizationSearch: thisData.orderDep, depName: thisData.depName, status: thisData.status, outsource: thisData.outsource }); // console.log("kkkk",this.state.processStatus); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, // //查看催款节点 // loaduserss(record) { // this.state.orderList = []; // this.setState({ // orderNoss: record ? record.orderNo : this.props.datauser.orderNo // }); // $.ajax({ // method: "get", // dataType: "json", // crossDomain: false, // url: globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun", // data: { // orderNo: record ? record.orderNo : this.props.datauser.orderNo // }, // success: function(data) { // let theArr = []; // let thisData = []; // if (!thisData) { // if (data.error && data.error.length) { // message.warning(data.error[0].message); // } // thisData = {}; // } else { // for (let i = 0; i < data.data.length; i++) { // thisData = data.data[i]; // theArr.push({ // 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 // }); // } // this.setState({ // contactList: theArr // }); // } // }.bind(this) // }).always( // function() { // this.setState({ // loading: false // }); // }.bind(this) // ); // }, // //催款节点保存 // contactSave(record) { // if(!this.state.yearFlag) { // if(!record.effectiveCount) { // message.warning("请选择服务年限") // return // } // }else { // record.effectiveCount = "" // } // if(record.money == "" ) { // message.warning("请填写金额") // return // } // if(!record.dunType) { // message.warning("请选择对应科目") // return // } // // if (this.state.contactList) { // // let cuiData = this.state.contactList; // // for (var a = 0; a < cuiData.length; a++) { // // if (cuiData[a].money == "") { // // message.warning("催款金额不能为空"); // // this.refs.signFirstPayment.focus(); // // return false; // // } else if (!cuiData[a].dunSubject) { // // message.warning("催款科目不能为空"); // // this.refs.signFirstPayment.focus(); // // return false; // // } // // if (moneyVerify(cuiData[a].money)) { // // return; // // } // // } // // } // this.setState({ // loading: true // }); // $.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 // } // }).done( // function(data) { // this.setState({ // loading: false // }); // if (!data.error.length) { // message.success("保存成功!"); // this.setState({ // cuiFlag: false // }); // this.jiedian(); // } 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.orderNoss, // dunTarget: this.state.kehuId // }); // this.setState({ // contactList: this.state.contactList, // cuiFlag: true // }); // }, // //删除收款节点 // confirmDelet(index) { // if (index.id) { // this.state.contactList.splice(index.key, 1); // this.setState({ // contactList: this.state.contactList, // cuiFlag: 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.jiedian(); // } else { // message.warning(data.error[0].message); // } // }.bind(this) // ); // } else { // this.state.contactList.splice(index.key, 1); // this.setState({ // contactList: this.state.contactList, // cuiFlag: 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, //催款状态 orderNo: thisData.orderNo }); } 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 }); } if(!totalCui) { totalCui = 0 } totalCui = (Math.round(totalCui * 10000) / 10000).toFixed(4); this.setState({ contactListNew: theArr, 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.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 (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) { 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 } }).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 } }).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 }, () => { 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({ addnextVisible: false }); }, 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 === "2") { 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) { let thisdata = data.data; // console.log(this.state.userName); Object.assign(thisdata, { userName: this.state.userName, contractNo: this.state.contractNo, arrears: this.state.arrears }); this.setState({ mark: true, contractData: thisdata, voucherUrl: thisdata.voucherUrl ? splitUrl( thisdata.voucherUrl, ",", globalConfig.avatarHost + "/upload", url ) : [] }); } }.bind(this) }); } }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: 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; } }); this.setState({ commodityName: value, gid: kid.id, //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({ gid: "", customerArr: [], commodityName: "", commodityQuantity: "", commodityId: "", taskComment: "", main: undefined, commodityPrice: "", addState: 1, addnextVisible: true }); }, //新建项目明细保存 nextSubmit(e) { e.preventDefault(); if (this.state.gid == undefined || !this.state.gid) { 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 api = this.state.addState ? "/api/admin/newOrder/addOrderTask" : "/api/bianji"; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + api, 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 //是否为主要项目 } }).done( function(data) { this.setState({ loading: false }); if (!data.error.length) { message.success("保存成功!"); this.nextCancel(); //this.loaduser(this.props.datauser); this.loadData(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //点击打卡项目详情 tableRowClick(record) { this.setState({ jid: record.id, //项目ID kid: record.commodityId, //商品ID commodityName: record.commodityName, //金额 commodityPrice: record.commodityPrice, //金额 commodityQuantity: record.commodityQuantity, //数量 taskComment: record.taskComment, //备注 main: record.main.toString(), //是否为主要 addnextVisible: true, addState: 0 }); }, //修改项目详情 tabRowSave(e) { e.preventDefault(); if (!this.state.commodityPrice) { message.warning("金额不能为空!"); return false; } let reg = /^([0]|[1-9][0-9]*)$/ if (!this.state.commodityQuantity || !reg.test(this.state.commodityQuantity)) { message.warning("请输入正确商品数量!"); return false; } if (!this.state.main) { message.warning("请选择是否为主要项目!"); this.refs.commodityQuantity.focus(); return false; } $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/updateOrderTask", data: { id: this.state.jid, //项目ID commodityId: this.state.kid, //商品ID orderNo: this.props.datauser.orderNo, //订单编号 main: this.state.main, //是否为主要 commodityPrice: this.state.commodityPrice, //金额 commodityQuantity: this.state.commodityQuantity, //数量 taskComment: this.state.taskComment //备注 } }).done( function(data) { this.setState({ loading: false }); if (!data.error.length) { message.success("保存成功!"); this.nextCancel(); //this.loaduser(this.props.datauser); this.loadData(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //签单时间选择 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.processStatus <= 4) { message.warning("当前订单流程不能发起变更!"); return false; } if (this.state.changeAmount == "") { message.warning("申请退款金额不能为空!"); // console.log(this.state.changeAmount); return false; } if (this.state.remarksC.trim() == "") { message.warning("请正确填写变更原因"); return false; } if (this.state.startRemarks.trim() == "") { 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(","); } $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/addOrderChange", data: { orderNo: this.state.orderNo, //订单编号 processState: 0, 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.noCancel(); this.handleCancelclose(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, componentDidMount() { window.setTimeout(() => { // console.log("我看看", this.state); }, 100); }, reset() { this.setState({ startRemarks: "", remarksC: "", voucherUrl: [], totalAmount: undefined, settlementAmount: undefined, changeAmount: "0", applicant: undefined, depNameChange: undefined, typeChange: 0, }); }, 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); } else { this.setState({ orderType: undefined, customerName: "", autoId: "", customerArr: [], contractType: undefined, bussStats: false, customType: undefined }); } }, showConfirm(fn,record) { confirm({ title: '确定删除此项目吗?', content: 删除后会将该项目下的所有催款节点自动清除!!!, onOk() { fn(record) }, onCancel() { }, }); }, render() { 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.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} // } ]; const dataSources = this.state.customerArr || []; const cuiDataList = this.state.contactList || []; let departmentArr = this.state.departmentArr || []; const options = this.state.states ? dataSources.map(group => ( {group.name} )) : dataSources.map((group, index) => ( {group.bname} )); return (
{!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.setState({ previewVisible: false }); }} > )}
{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 ? ( ) : ( {contractData.depName} )} {!this.state.mark ? ( { this.setState({ salesmanName: e.target.value }); }} style={{ width: "240px" }} /> ) : ( {contractData.applicant} )}
{!this.state.mark ? ( ) : ( {getChangeType(contractData.type)} )}
{!this.state.mark ? ( { this.setState({ totalAmount: e.target.value }); }} style={{ width: "240px" }} /> ) : ( {contractData.totalAmount} )} {!this.state.mark ? ( { this.setState({ settlementAmount: e.target.value }); }} style={{ width: "240px" }} /> ) : ( {contractData.settlementAmount} )} {!this.state.mark ? ( { this.setState({ changeAmount: e.target.value }); }} style={{ width: "240px" }} /> ) : ( {contractData.changeAmount} )}
{!this.state.mark ? (