// 开单=》合同变更发起 import React from "react"; import { Table, Modal, message, Spin, Input, Select, Button, Form, Upload, Popconfirm, AutoComplete, DatePicker, Col, Tabs, Tag, Radio, Icon, Tooltip, Switch, Checkbox, } 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, ssalesType, qsalesType, wsalesType, cuiJieDian, salesList, vipYear, knowledgeList, auditList, addDeductionList, } from "@/dataDic.js"; import { splitUrl, getProcessStatus, getLiquidationStatus, getboutique, getApprovedState, getApprovedType, compare, getjiedian, getCuikuan, getProjectName, moneyVerify, getProcessStatusNew, stopStatus, } from "../../../tools.js"; import PicturesWall from "./changeComponent/picturesWall.js"; import { getChangeType } from "./changeComponent/changeDetailYxgly"; import ImgList from "../../../common/imgList"; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import ProjectOperation from "../../../common/projectOperation"; import ProjectOperationVip from "../../../common/projectOperation/vip"; import NewAddProject from "../../../common/projectOperation/newAddProject" import NewEditProject from "../../../common/projectOperation/newEditProject" import { instanceOf } from "prop-types"; import UpdateSales from './updatesales'; import SelectList from '../../../common/mysuspend/selectList'; // import FlowChart from '../../../common/flowchart'; // 流程图 import Gxczx from '../../../common/orderDetail/gxczx' // 高新纯咨询合同说明详情 import Property from '../../../common/orderDetail/property' // 知识产权情况 const Option = AutoComplete.Option; const CheckboxGroup = Checkbox.Group; const confirm = Modal.confirm; const RadioButton = Radio.Button; const RadioGroup = Radio.Group; const NewService = Form.create()( React.createClass({ //查看项目列表 loadData(record) { this.state.data = []; this.setState({ loading: true, }); if (!record && !this.props.datauser.orderNo) { return } $.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 { type: "", approvaType: [], typeExplain: "", isShow: true, // 高新纯咨询合同默认填写 knowledgeOther: "", auditOther: "", addDeductionOther: "", dataView: null, PublicView: null, contentView: '', remarksView: '', contentViewLength: 0, contentViewLength1: 0, columnsView: [ { title: "服务时间", dataIndex: "serviceTimes", key: "serviceTimes", width: '80px' }, { title: "服务内容", dataIndex: "content", key: "content", width: '300' }, { title: "备注", dataIndex: "remarks", key: "remarks", width: '300' }, { title: "操作", dataIndex: "cz", key: "cz", width: '100px', render: (text, record) => { return (
{this.state.processStatus == 0 ? ( ) : ( "" )}
); }, }, ], columnsRecord: [ { title: "序号", dataIndex: "id", key: "id", }, { title: "客户名称", dataIndex: "nickname", key: "nickname", }, { title: "公出申请人", dataIndex: "aname", key: "aname", }, { title: "公出时长", dataIndex: "duration", key: "duration", render: (text, record) => { return
{text + "小时"}
; }, }, { title: "公出地点", dataIndex: "userName", key: "userName", }, { title: "公出时间", dataIndex: "releaseStarts", key: "releaseStarts", render: (text, record) => { return (
{text}
{record.releaseEnds}
); }, }, { title: "打卡时间", dataIndex: "clockInTimes", key: "clockInTimes", }, { title: "公出目标", dataIndex: "remarks", key: "remarks", width: '300' }, ], dataSourceView: [], coorVisible: "none", personnel: [], viewKey: 0, modalView: false, modalRecord: false, closable: false, disabledView: "none", patentType: "", patentTypeList: [], rotateDeg: 0, isCaoGao: false, cuiFlag: false, startRemarks: "", remarksC: "", loading: false, logData: [], visible: false, cuiDataSource: [], status: 4, orgCodeUrl: [], voucherUrl: [], replenishUrl: [], contentUrl: [], newContractUrl: [], 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.patentTypeName}{"-" + record.id} } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", render: (text, record) => { if (record.splitStatus == 1) { return ( {text}{" "} ); } else { return text; } }, }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", width: 50, }, { title: "负责人", dataIndex: "contacts", key: "contacts", }, { title: "负责人电话", dataIndex: "contactsMobile", key: "contactsMobile", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", width: 80, render: (text) => { return getProjectName(text); }, }, { title: "主要项目", dataIndex: "main", key: "main", width: 50, render: (text) => { return text ? "是" : "否"; }, }, { title: "总年限", dataIndex: "yearSum", key: "yearSum", render: (text, record) => { return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
); } }, { title: "年限", dataIndex: "serviceLife", key: "serviceLife", render: (text, record) => { return (
{!!text && JSON.parse(text).toString()}
); } }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", render: (text, record) => { return (
{!text ? "" : text}
); } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, { title: "操作", dataIndex: "ABC", key: "ABC", width: 80, render: (text, record) => { return (
{stopStatus(record.stopType, record.stopStatus)} { this.state.processStatus == 0 &&
} { this.state.processStatus == 0 &&
}
); }, }, ], proColumns: [ { title: "变更状态", dataIndex: "type", key: "type", width: 70, 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.patentTypeName}{"-" + record.id} } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", width: 50, }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", width: 50, render: (text, record) => { if (record.splitStatus == 2) { return "/"; } else { return text; } }, }, { title: "主要项目", dataIndex: "main", key: "main", width: 50, render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "总年限", dataIndex: "yearSum", key: "yearSum", render: (text, record) => { return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
); } }, { title: "年限", dataIndex: "serviceLife", key: "serviceLife", render: (text, record) => { return (
{!!text && JSON.parse(text).toString()}
); } }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", render: (text, record) => { return (
{!text ? "" : text}
); } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, { title: "操作", dataIndex: "ABC", key: "ABC", width: 80, 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.patentTypeName}{"-" + record.id} } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", width: 50, }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", width: 50, render: (text, record) => { if (this.props.isZxs) { return ***; } else if (record.splitStatus == 2) { return "/"; } else { return {text}; } }, }, { title: "主要项目", dataIndex: "main", key: "main", width: 50, render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "总年限", dataIndex: "yearSum", key: "yearSum", render: (text, record) => { return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
); } }, { title: "年限", dataIndex: "serviceLife", key: "serviceLife", render: (text, record) => { return (
{!!text && JSON.parse(text).toString()}
); } }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", render: (text, record) => { return (
{!text ? "" : text}
); } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{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) { let percent = Number(record.appropriationRatio * 100).toFixed(2); percent += "%"; return {percent}(拨款比例); } 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) { let percent = Number(record.appropriationRatio * 100).toFixed(2); percent += "%"; return {percent}(拨款比例); } else { return {text}; } } return (
{ record.money = e.target.value; this.setState({ contactList: this.state.contactList, }); }} style={{ width: "120px" }} />
) // 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) { let percent = Number(record.appropriationRatio * 100).toFixed(2); percent += "%"; return {percent}(拨款比例); } else { return {text}; } } return (
{ record.money = e.target.value; this.setState({ contactList: this.state.contactList, }); }} style={{ width: "120px" }} />
); // 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 ? ( ) : ( "" )}
); }, }, ], updatas: {},//销售类型修改数据 newData: {},//新建会员记忆数据 serviceLife: [], isVip: undefined,//是否会员 isIso: undefined,//是否贯标 histYear: [], contractTerm: [],//合同期 isEdit: false,//是否可编辑 addyear: undefined,// isGive: 0,//是否赠送 cPeriod: false, // 合同期是否可编辑 isNew: false,// 是否替换合同 sType: "", selectList: [],// 可操作项目集 }; }, 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.forEach((item) => { theArr.push({ key: item.id, name: item.name, id: item.id, depNo: item.depNo, }) if (item.list) { item.list.forEach((itl) => { theArr.push({ key: itl.id, name: itl.name, id: itl.id, depNo: itl.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(","); } // 服务内容上传图片 let contentUrl = []; if (this.props.userDetaile) { if (this.state.contentUrl.length) { let picArr = []; this.state.contentUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); contentUrl = picArr.join(","); } else { message.info("请上传服务内容图片") return } } if (this.props.userDetaile) { if (!this.state.signDate) { message.warning("签单日期不能为空"); $(".signDateRef input").focus(); return false; } 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 (!this.state.contacts) { message.warning("企业联系人不能为空"); return } if (!this.state.contactMobile) { message.warning("企业联系人电话不能为空"); return } var regeX1 = /^1[3456789]\d{9}$/; var regex2 = /^((0\d{2,3})-)?(\d{7,8})$/; if (regeX1.test(this.state.contactMobile) == false && regex2.test(this.state.contactMobile) == false) { message.warning("请输入正确的企业联系人电话"); return false; } if (!theorgCodeUrl) { message.warning("图片过大,上传失败"); this.refs.signFirstPayment.focus(); return false; } if (this.state.isShow) { if (this.state.knowledgeServices == null || this.state.auditServices == null || this.state.addDeductionServices == null) { message.warn("请完善高新纯咨询合同说明!") return } } if (!this.state.isProperty) { message.warn("请完善知识产权情况!") return } if (this.state.isProperty == 2 && !this.state.patentStatus) { message.warn("请完善知识产权情况!") return } if (!this.state.orderRemarks) { message.warning("订单留言不能为空"); this.refs.orderRemarksRef.focus(); return false; } if (this.state.approval == 1) { if (this.state.approvaType && this.state.approvaType.length == 0) { message.warning("请勾选特批状态!"); return false; } if (this.state.approvaType.indexOf(0) !== -1 && !this.state.typeExplain) { message.warning("请填写特批其他说明!"); 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 ? this.state.isSubmit == 1 ? "/api/admin/newOrder/submitOrder" : "/api/admin/newOrder/updateServiceOrderNew" : "/api/admin/newOrder/createOrder"; const { selectSales, other, channelid, channelname, userType } = this.state // 开单 let datas = { uid: this.state.autoId,//用户id orderType: this.state.orderType,//订单类型 salesType: selectSales,//销售类型 userType: userType,//客户所属类型 }; if (selectSales == "3") { //传渠道编号 other里面传渠道名称 datas = Object.assign(datas, { channelId: channelid, other: channelname, }) } else if (selectSales == "4" || selectSales == "5") { //4,5要传描述 datas = Object.assign(datas, { other: other, }) } $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: !this.props.userDetaile ? datas : { // 签单、保存 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 : "", serviceContent: contentUrl.length ? contentUrl : "", orderDep: this.state.organizationSearch, knowledgeServices: this.state.isShow ? this.state.knowledgeServices : undefined, //知识产权服务 auditServices: this.state.isShow ? this.state.auditServices : undefined, //审计服务 addDeductionServices: this.state.isShow ? this.state.addDeductionServices : undefined, //加计扣除服务 knowledgeOther: this.state.isShow ? this.state.knowledgeOther : undefined, //知识产权服务其他描述 auditOther: this.state.isShow ? this.state.auditOther : undefined, //审计服务其他描述 addDeductionOther: this.state.isShow ? this.state.addDeductionOther : undefined, //加计扣除服务其他描述 patentStatus: this.state.patentStatus, //知识产权情况 type: this.state.approvaType.sort(compare).toString(), // 特批类型 typeExplain: this.state.approvaType.indexOf(0) === -1 ? "" : this.state.typeExplain, // 其他备注 }, }).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) ); }, //订单作废 examOks() { this.setState({ loading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/deleteOrderNew", data: { orderNo: this.state.orderNo, //订单编号 }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { message.success("操作成功~"); this.setState({ visible: false, loading: false, }); this.props.closeDesc(false); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.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 + this.state.isSubmit == 1 ? "/api/admin/newOrder/submitOrder" : "/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.setState({ closable: false, disabledView: "none", }); 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, //清算状态 examineName: thisData.examineName, processStatus: thisData.processStatus, //流程状态 approval: thisData.approval, //特批状态 orderRemarks: thisData.orderRemarks, //订单备注 contractNo: thisData.contractNo, //合同编号 contacts: thisData.contacts, //联系人 contactMobile: thisData.contactMobile, //联系人电话 legalPerson: thisData.legalPerson, //法人 legalPersonTel: thisData.legalPersonTel, //法人电话 knowledgeServices: thisData.knowledgeServices, //知识产权服务 auditServices: thisData.auditServices, //审计服务 addDeductionServices: thisData.addDeductionServices, //加计扣除服务 knowledgeOther: thisData.knowledgeOther, //知识产权服务其他描述 auditOther: thisData.auditOther, //审计服务其他描述 addDeductionOther: thisData.addDeductionOther, //加计扣除服务其他描述 patentStatus: thisData.patentStatus, // 知识产权情况 isProperty: thisData.patentStatus == null ? null : thisData.patentStatus == 0 ? 1 : 2, approvaType: thisData.type ? thisData.type.split(",").map(Number) : [], // 特批类型 typeExplain: thisData.typeExplain, orgCodeUrl: thisData.contractPictureUrl ? splitUrl( thisData.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 replenishUrl: thisData.agreementUrl ? splitUrl( thisData.agreementUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 contentUrl: thisData.serviceContent ? splitUrl( thisData.serviceContent, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 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, userType: thisData.userType, updatas: { salesType: thisData.salesType,//销售类型 userType: thisData.userType,//客户所属类型 other: thisData.other,//3渠道名 4,5描述 }, channelName: thisData.salesType == "3" ? thisData.other : "",//销售类型为渠道的时候给编辑出的渠道名称赋值 }); // 判断状态 if (this.state.processStatus === 0) { this.setState({ closable: true, disabledView: "inline-block", }); } }.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 ( this.state.approval == 1 && record.dunType == 1 && !record.waitDay ) { 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(type) { this.setState( { editProVisible: false, changeVisible: false, projectOperationVisible: false, editProjectOperationVisible: false,// vipVisible: false, gid: "", dataInfor: {}, addProjectType: undefined, isVip: undefined, isIso: undefined, commodityQuantity: undefined, histYear: [], yearSum: undefined, serviceLife: [], serviceYear: undefined, isEdit: false, // 可编辑 }, () => { this.loadData(); this.proList(); } ); }, // 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) { 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, firstAmount: thisdata.firstAmount, 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 ) : [], newContractUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], isNew: !thisdata.contractPictureUrl ? false : true, processState: thisdata.processState, status: thisdata.status, contacts: thisdata.contacts, // 企业联系人 contactMobile: thisdata.contactMobile, // 企业联系方式 managerContacts: thisdata.managerContacts, // 企业总经理 managerContactMobile: thisdata.managerContactMobile, // 企业总经理联系方式 }); 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 if (e == 6) { this.setState({ // listFlag: true, // listCuiFlag: true, // hetongFlag: true, // tuiKuanFlag: true, // displayList: false, listFlag: false, listCuiFlag: false, hetongFlag: false, tuiKuanFlag: false, displayList: false, }); } else if (e == 7) { this.setState({ listFlag: true, listCuiFlag: true, hetongFlag: true, tuiKuanFlag: true, displayList: false, isNew: true, }); } else { this.setState({ hetongFlag: false, listFlag: false, listCuiFlag: false, 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) { if (!id && !this.state.changeId) { return } 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 }); }, getContentUrl(e) { this.setState({ contentUrl: e }); }, getVoucherUrl(e) { this.setState({ voucherUrl: e }); }, getNewContractUrl(e) { this.setState({ newContractUrl: 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.userType, } : { 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) ); }, // 渠道查询 selectChannel(e) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/selectChannelUserList", data: { name: 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({ channelArr: 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) { const newData = this.state.proDataSource 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, isVip: kid.cSort,//暂时判断等于6的时候会员 commodityQuantity: kid.cSort == 6 ? 1 : undefined,//服务数量 histYear: [], }); if (newData && newData.length > 0 && kid.cSort == 6) { let llist = [] for (var i = 0; i < newData.length; i++) { if (newData[i].commodityId == kid.id) { llist.push(newData[i].serviceYear) } } this.setState({ histYear: llist }) for (var i = newData.length - 1; i >= 0; i--) { if (newData[i].commodityId == kid.id) { this.setState({ commodityPrice: newData[i].commodityPrice, // 实签价格 main: "0", // 是否为主要项目 yearSum: newData[i].yearSum.toString(), // 会员总服务年限 serviceLife: !newData[i].serviceLife ? [] : JSON.parse(newData[i].serviceLife), // 会员服务年限 contractTerm: !newData[i].contractTerm ? [] : JSON.parse(newData[i].contractTerm), // 合同期 taskComment: newData[i].taskComment, // 项目说明 // isEdit: true, // 不可编辑 isEdit: true, // 同一会员项目有且只有一条时可编辑 其他情况不可编辑 cPeriod: !newData[i].contractTerm ? false : true, //合同期 }) return } else { this.setState({ commodityPrice: undefined, main: undefined, yearSum: undefined, serviceLife: [], contractTerm: [], taskComment: undefined, isEdit: false, // 可编辑 cPeriod: false, }) } } } }, 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, }); }, goSelect(value) { let channelid; let fwList = this.state.channelArr; fwList.map(function (item) { if (value == item.name) { channelid = item.id; } }); this.setState({ channelname: value, channelid: channelid, }); }, //服务值改变时请求客户名称 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.userType) { this.state.autoId = ""; if (e.length >= 2) { this.supervisor(e, true); } this.setState({ customerName: e, }); } else { this.setState({ customerName: "", }); message.warning("客户所属类型必须指定"); } }, //渠道名称自动补全 channelChange(e) { this.setState({ channelName: e }) if (e.length >= 2) { this.selectChannel(e); } }, //点击添加项目明细 addDetailed() { const { dataSource = [] } = this.state this.setState({ projectOperationVisible: true, newData: dataSource, }); }, //点击添加会员项目明细 addVip() { const { dataSource = [] } = this.state this.setState({ vipVisible: true, newData: dataSource, }); }, // 可展开颜色不同 addRowColor(record) { if (!!record.splitList && record.splitList.length > 0) { return 'light' } else if (!!record.list && record.list.length > 0) { return 'light' } else { return 'dark' } }, //点击项目详情 tableRowClick(record) { const { dataSource = [] } = this.state this.setState({ // projectOperationVisible: true, editProjectOperationVisible: true, dataInfor: record, newData: dataSource, }); }, //签单时间选择 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.totalAmount === "") { message.warning("合同金额不能为空!"); return false; } if (this.state.firstAmount === "") { message.warning("首付款金额不能为空!"); return false; } if (Number(this.state.totalAmount) < Number(this.state.firstAmount)) { message.warning("首付款不能大于合同额!"); return; } if ( this.state.typeChange == 0 || this.state.typeChange == 1 || this.state.typeChange == 3 || this.state.typeChange == 8 ) { if (Number(this.state.settlementAmount) < Number(this.state.changeAmount)) { message.warning("退款金额大于已收款金额"); return; } } if (this.state.processStatus != 7 && this.state.processStatus != 8) { 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(","); } let newContractUrl = []; if (this.state.newContractUrl.length) { let cArr = []; this.state.newContractUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { cArr.push(item.response.data); } }); newContractUrl = cArr.join(","); } if (this.state.isNew && newContractUrl.length == 0) { message.warning("请上传新合同扫描件!"); return } this.setState({ loading: true, }); $.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, firstAmount: this.state.firstAmount, settlementAmount: this.state.settlementAmount, changeAmount: this.state.changeAmount, applicant: this.state.salesmanName, depName: this.state.depName, type: this.state.typeChange, contractPictureUrl: this.state.isNew ? newContractUrl : undefined,//合同替换件 }, }).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) ); // 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, // firstAmount: this.state.firstAmount, // settlementAmount: this.state.settlementAmount, // changeAmount: this.state.changeAmount, // applicant: this.state.salesmanName, // depName: this.state.depName, // type: this.state.typeChange, // contractPictureUrl: this.state.isNew // ? newContractUrl : undefined,//合同替换件 // }, // }).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, // firstAmount: this.state.firstAmount, // settlementAmount: this.state.settlementAmount, // changeAmount: this.state.changeAmount, // applicant: this.state.salesmanName, // depName: this.state.depName, // type: this.state.typeChange, // contractPictureUrl: this.state.isNew // ? newContractUrl : undefined,//合同替换件 // }, // }).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: [], newContractUrl: [], totalAmount: undefined, settlementAmount: undefined, changeAmount: "0", applicant: undefined, depNameChange: undefined, typeChange: undefined, displayFees: "none", officialCost: "", costReduction: "", }); }, componentWillMount() { const nextProps = this.props this.state.visible = nextProps.showDesc; this.state.signBillVisible = nextProps.signBillVisible; if (this.state.signBillVisible) { this.loaduser(nextProps.uid); this.assistList(nextProps.uid); this.orderServiceList(nextProps.uid); // this.publicByOrder(nextProps.uid); } if (nextProps.userDetaile && nextProps.showDesc) { this.loaduser(nextProps.datauser); this.assistList(nextProps.datauser); this.orderServiceList(nextProps.datauser); // this.publicByOrder(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, userType: undefined, channelName: "", channelid: "", channelArr: [], selectSales: undefined, }); } }, // componentWillReceiveProps(nextProps) { // //props改变时触发 // }, //查看变更记录 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); 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 ) : []; thisdata.contractPictureUrl = thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", 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() { }, }); }, viewConfirm(fn, record) { confirm({ title: "确定删除此服务记录吗?", // content: ( // // 删除后会将该项目下的所有催款节点自动清除!!! // // ), onOk() { fn(record); }, onCancel() { }, }); }, changeAddPro() { // this.getpatentTypeList(); this.setState({ changeVisible: true, newData: this.state.proDataSource, // 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 } let reg = /^([0]|[1-9][0-9]*)$/; if ( !this.state.commodityQuantity || !reg.test(this.state.commodityQuantity) ) { message.warning("请输入正确商品数量!"); return } if (this.state.displayFees === 'block') { if (this.state.patentType === "" && !this.state.patentTransfer) { message.warning("请选择专利类型!"); return } if (this.state.officialCost === '') { message.warning("请选择官费!"); return } if (this.state.costReduction === "" && (this.state.patentType === 0 || this.state.patentType === 2) && this.state.officialCost === 1) { message.warning("请选择费减!"); return } } if (isNaN(parseFloat(this.state.commodityPrice))) { message.warning("请输入正确的金额!"); return; } if (this.state.addProjectType == "3") {// 3审计 if (this.state.serviceLife.length === 0) { message.warning("请选择服务年限!"); return } if (this.state.serviceLife.length != this.state.commodityQuantity) { message.warning("服务数量与服务年限不符!"); return } } if (!this.state.main) { message.warning("请选择是否为主要项目!"); return } if (this.state.addProjectType === 5) {// 5高新 if (!this.state.declarationBatch) { message.warning("请选择企业要求申报批次!"); return } if (!this.state.serviceYear) { message.warning("请选择申报年份!"); return } } if (this.state.isVip == 6) {//会员 if (this.state.yearSum === undefined) { message.warning("请选择会员总服务年限!"); return } if (this.state.serviceLife.length === 0) { message.warning("请添加会员服务年限!"); return } if (this.state.serviceLife.length != this.state.yearSum) { message.warning("会员服务年限与总年限不符合!"); return } if (this.state.serviceYear === undefined) { message.warning("请选择本次派单年份!"); return } if (this.state.contractTerm.length === 0) { message.warning("请填写合同期!"); return } } this.setState({ loading: true, }); let type = 0; if (this.state.typeChange == 4 || this.state.typeChange == 5) { type = 1; } let infor = { 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 type, } if (this.state.displayFees === 'block') { infor.officialCost = this.state.officialCost //是否有官费 infor.costReduction = (this.state.patentType === 0 || this.state.patentType === 2) ? (this.state.officialCost === 1 ? this.state.costReduction : 0) : 0//是否有费减 infor.patentType = this.state.patentType //专利类型 } if (this.state.isIso) { infor.ifCertificationFee = this.state.ifCertificationFee || undefined;//是否包含认证费用 } if (this.state.addProjectType == "3") {//审计 infor.serviceLife = JSON.stringify(this.state.serviceLife) //服务年限 } if (this.state.addProjectType == "5") {//高新 infor.declarationBatch = this.state.declarationBatch || 1//申报批次 infor.serviceYear = this.state.serviceYear //申报年份 } if (this.state.isVip == 6) {//会员 infor.yearSum = this.state.yearSum //会员总服务年限 infor.serviceLife = JSON.stringify(this.state.serviceLife) //会员服务年限 infor.serviceYear = this.state.serviceYear //本次派单年份 infor.contractTerm = JSON.stringify(this.state.contractTerm)//合同期 } $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/addChangeTask", data: infor, 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.totalAmount === "") { message.warning("合同金额不能为空!"); return false; } if (this.state.firstAmount === "") { message.warning("首付款金额不能为空!"); return false; } if (Number(this.state.totalAmount) < Number(this.state.firstAmount)) { message.warning("首付款不能大于合同额!"); return; } if ( this.state.typeChange == 0 || this.state.typeChange == 1 || this.state.typeChange == 3 || this.state.typeChange == 8 ) { if (Number(this.state.settlementAmount) < Number(this.state.changeAmount)) { message.warning("退款金额大于已收款金额"); return; } } if (this.state.processStatus != 7 && this.state.processStatus != 8) { 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; } if (this.state.typeChange == 0) { let reg1 = /^1[3456789]\d{9}$/ let reg2 = /^0\d{2,3}-?\d{7,8}$/ let reg3 = /[^\u4E00-\u9FA5]/g if (!this.state.managerContacts || reg3.test(this.state.managerContacts)) { message.warning("请正确填写企业总经理姓名"); return false; } if (!this.state.managerContactMobile) { message.warning("请正确填写企业总经理联系电话"); return false; } if (!reg1.test(this.state.managerContactMobile) && !reg2.test(this.state.managerContactMobile)) { message.warning("请正确填写企业总经理联系电话"); return false; } if (!this.state.contacts || reg3.test(this.state.contacts)) { message.warning("请正确填写企业联系人姓名"); return false; } if (!this.state.contactMobile) { message.warning("请正确填写企业联系人联系方式"); return false; } if (!reg1.test(this.state.contactMobile) && !reg2.test(this.state.contactMobile)) { 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(","); } let newContractUrl = []; if (this.state.newContractUrl.length) { let cArr = []; this.state.newContractUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ) { cArr.push(item.response.data); } }); newContractUrl = cArr.join(","); } if (this.state.isNew && newContractUrl.length == 0) { message.warning("请上传新合同扫描件!"); return } 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,//合同额 firstAmount: this.state.firstAmount,//首付款 settlementAmount: this.state.settlementAmount, changeAmount: this.state.changeAmount, applicant: this.state.salesmanName, depName: this.state.depName, type: this.state.typeChange, contractPictureUrl: this.state.isNew ? newContractUrl : undefined,//合同替换件 contacts: this.state.typeChange == 0 ? this.state.contacts : undefined, contactMobile: this.state.typeChange == 0 ? this.state.contactMobile : undefined, managerContacts: this.state.typeChange == 0 ? this.state.managerContacts : undefined, managerContactMobile: this.state.typeChange == 0 ? this.state.managerContactMobile : undefined, }, }).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, dataInfor: record, newData: this.state.proDataSource, }); // 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, }); }, downImgCont() { let num = 0; for (let i = 0; i < this.state.contentUrl.length; i++) { if (this.state.contentUrl[i].url == this.state.previewImage) { num = i; } } if (num == this.state.replenishUrl.length - 1) { return message.warning("已经是最后一张了哦"); } this.state.previewImage = this.state.contentUrl[num + 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, upImgCont() { let num = 0; for (let i = 0; i < this.state.contentUrl.length; i++) { if (this.state.contentUrl[i].url == this.state.previewImage) { num = i; } } if (num == 0) { return message.warning("已经是第一张了哦"); } this.state.previewImage = this.state.contentUrl[num - 1].url; this.setState({ previewImage: this.state.previewImage, rotateDeg: 0, }); }, rotateCont() { 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) ); }, // 新增协单人员 submitOrder() { if (!this.state.coor) { message.warning("请选择协单人员"); return; } this.setState({ loading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/addAssist", data: { orderNo: this.state.orderNo, aid: this.state.coor, }, success: function (data) { if (data.error.length) { this.setState({ loading: false, }); message.warning(data.error[0].message); } else { this.setState({ loading: false, coor: '', dataSourceView: [], coorVisible: "none", }); this.assistList(); message.success("添加成功"); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // // 删除协单人员 // onClosable(id) { // $.ajax({ // method: "post", // dataType: "json", // crossDomain: false, // url: globalConfig.context + "/api/admin/newOrder/deleteAssist", // data: { // id: id, // }, // success: function (data) { // if (!data.error.length) { // message.warning(data.error[0].message); // } else { // message.success("删除成功"); // } // }.bind(this), // }).always( // function () { // this.setState({ // loading: false, // }); // }.bind(this) // ); // }, // 新增上门服务数据 submitView() { if (!this.state.dateView) { message.warning("请选择上门日期"); return; } else if (!this.state.contentView) { message.warning("请填写服务内容"); return; } this.setState({ loading: true, }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/addOrderService", data: { orderNo: this.state.orderNo, serviceTimes: this.state.dateView, content: this.state.contentView, remarks: this.state.remarksView, }, success: function (data) { if (data.error.length) { this.setState({ loading: false, }); message.warning(data.error[0].message); } else { this.setState({ loading: false, modalView: false, viewKey: this.state.viewKey + 1, dateView: '', contentView: '', remarksView: '', contentViewLength: 0, contentViewLength1: 0, }); message.success("添加成功"); this.orderServiceList(); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //获取上门人员 assistList(record) { this.state.orderList = []; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/assistList", data: { orderNo: record ? record.orderNo : this.props.datauser.orderNo, }, success: function (data) { if (data.error.length) { this.setState({ loading: false, }); message.warning(data.error[0].message); } else { this.setState({ personnel: data.data, }); // message.success("添加成功"); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 上门服务列表 orderServiceList(record) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/orderServiceList", data: { orderNo: record ? record.orderNo : this.props.datauser.orderNo, }, success: function (data) { if (data.error.length) { this.setState({ loading: false, }); message.warning(data.error[0].message); } else { this.setState({ dataView: data.data, }); // message.success("添加成功"); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 删除上门服务列表 delectView(record) { $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/deleteOrderService", data: { id: record.id, }, success: function (data) { if (data.error.length) { this.setState({ loading: false, }); message.warning(data.error[0].message); } else { // this.setState({ // publicView: data.data, // }); this.orderServiceList(); message.success("删除成功"); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 上门查看 publicByOrder() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/release/publicByOrder", data: { orderNo: this.state.orderNo, }, success: function (data) { if (data.error.length) { this.setState({ loading: false, }); message.warning(data.error[0].message); } else { this.setState({ publicView: data.data, }); // message.success("添加成功"); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 获取动态数据名称 handleSearch(value) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/customer/listAdminByName", data: { adminName: value, }, success: function (data) { if (data.error.length) { this.setState({ loading: false, }); message.warning(data.error[0].message); } else { this.setState({ dataSourceView: data.data, }); // message.success("添加成功"); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // onSelectView(v, o) { this.setState({ coor: v, }); }, // handleClose(removedTag) { let serviceLife = this.state.serviceLife.filter(tag => { return tag !== removedTag }); this.setState({ serviceLife, serviceYear: undefined }); }, onSelectChange(selectedRowKeys, selectedRows) { this.setState({ selectedRowKeys, selectedRows, }); }, render() { const expandedRowRender = (e) => { const data = e.list; if (e.cSort != 6) { let columns = []; if (data instanceof Array && data.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} ); }, }, { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return {text}{record.patentTypeName}{"-" + record.id} } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", width: 50, }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", width: 50, render: (text, record) => { if (record.splitStatus == 2) { return "/"; } else { return text; } }, }, { title: "主要项目", dataIndex: "main", key: "main", width: 50, render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, { title: "操作", dataIndex: "ABC", key: "ABC", render: (text, record) => { return (
); }, }, ]; return ( ); } else { columns = []; return (

此项目暂未拆分

); } } else { let columns = []; if (data instanceof Array && data.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} ); }, }, { title: "负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "负责人电话", dataIndex: "receiverMobile", key: "receiverMobile", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ]; return (
); } else { columns = []; return (

暂无派单

); } } }; const expandedRowRenderDetail = (e) => { const data = e.list; let columns = []; if (data instanceof Array && data.length) { if (e.cSort == 6) { 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: "receiverName", key: "receiverName", }, { title: "负责人电话", dataIndex: "receiverMobile", key: "receiverMobile", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ]; } else { 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.patentTypeName} ) } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", width: 50, }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", width: 50, render: (text, record) => { if (record.splitStatus == 2) { return "/"; } else { return text; } }, }, { title: "主要项目", dataIndex: "main", key: "main", width: 50, render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ]; } return (
); } else { columns = []; return (

{e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}

); } }; const expandedRowRenderVip = (e) => { const data = e.splitList; let columns = []; if (data instanceof Array && data.length) { if (e.cSort == 6) { columns = [ { title: "负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "负责人电话", dataIndex: "receiverMobile", key: "receiverMobile", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ]; } else { columns = [ { title: "子项目名称", dataIndex: "taskName", key: "taskName" }, { title: "子项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "拆分操作人", dataIndex: "splitAname", key: "splitAname" }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName" }, { title: "拆分时间", dataIndex: "splitTimes", key: "splitTimes" } ] } return (
); } else { columns = []; return (

{e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}

); } }; const FormItem = Form.Item; const { TabPane } = Tabs; const { TextArea } = Input; const radioStyle = { display: 'block', height: '30px', lineHeight: '30px', }; const formItemLayout = { labelCol: { span: 10 }, 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 || []; let cdataSources = this.state.channelArr || []; 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} )); let channeloptions = cdataSources.map((group) => ( {group.name} )); let dataSourceView = this.state.dataSourceView ? this.state.dataSourceView.map((group, index) => ( {group.name} )) : ''; let children = vipYear.map(its => ( )); let approvalOptions = [ { label: '无前期款', value: 1 }, { label: '暂无合同款', value: 2 }, { label: '含高风险条款', value: 3 }, { label: '新产品首单', value: 4 }, { label: '通过率低于80%', value: 5 }, { label: '3万以下会员', value: 6 }, { label: '认证首期5K以下', value: 7 }, { label: { this.setState({ typeExplain: e.target.value }) }} />, value: 0 }, ]; let { closable } = this.state; let assistList = this.assistList; const { addPop = "" } = this.props return (
{this.state.resVisible ? ( ) : ( "" )}
{ addPop == "add" &&
*
*
* { (this.state.selectSales == "4" || this.state.selectSales == "5") &&
{this.state.contentViewLength + '/500'}