// 变更--驳回 import React, { Component } from "react"; import { Form, Select, Input, Button, message, Spin, Tag, Table, Col, Popconfirm, Modal, AutoComplete, DatePicker, Radio, Tooltip, Switch, } from "antd"; import $ from "jquery/src/ajax"; import moment from "moment"; import ResolutionDetail from "@/resolutionDetail"; import PicturesWall from "./picturesWall"; import Rizhi from "./rizhi"; import { cuiJieDian, orderTypes, customerType, jiedian, tepi, boutique, vipYear, getProjectName, } from "@/dataDic.js"; import { moneyVerify } from "@/tools.js" import EnterpriseNameChange from "../../../../common/enterpriseNameChange"; import ProjectOperation from "../../../../common/projectOperation"; import NewAddProject from "../../../../common/projectOperation/newAddProject" import NewEditProject from "../../../../common/projectOperation/newEditProject" import "./index.less"; const FormItem = Form.Item; const confirm = Modal.confirm; const Option = AutoComplete.Option; const RadioGroup = Radio.Group; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 } }; class ChangeApply extends Component { constructor(props) { super(props); this.state = { data: {}, voucherUrl: [], newContractUrl: [], dataSource: [], cuiDataSource: [], loading: false, 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) { 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 (
{ record.dunType != 0 ? :
}
); }, }, { 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 ? ( ) : ( "" )}
); }, }, ], resVisible: false, proColumns: [ { title: "变更状态", dataIndex: "type", key: "type", render: (text, record) => { let str = ""; let color = ""; if (text == 1) { str = "增"; color = "#87d068"; } else if (text == 2) { str = "改"; color = "#108ee9"; } else if (text == 3) { str = "删"; color = "#f50"; } return ( {str} {/* {record.splitStatus == 1 ? ( 父项目 ) : ( "" )} {record.splitStatus == 2 ? ( 子项目 ) : ( "" )} */} ); }, }, { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return {text}{record.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", render: (text, record) => { return (
); }, }, ], patentTypeList: [], displayFees: "none", serviceLife: [], isVip: undefined,//是否会员 isIso: undefined,//是否贯标 histYear: [], contractTerm: [],//合同期 isEdit: false,//是否可编辑 addyear: undefined,// isGive: undefined,//是否赠送 cPeriod: false, // 合同期是否可编辑 isNew: false, }; this.departmentList = this.departmentList.bind(this); this.changeApply = this.changeApply.bind(this); this.getVoucherUrl = this.getVoucherUrl.bind(this); this.getNewContractUrl = this.getNewContractUrl.bind(this); this.proList = this.proList.bind(this); this.cuiList = this.cuiList.bind(this); this.showConfirm = this.showConfirm.bind(this); this.showConfirmChange = this.showConfirmChange.bind(this); this.changeAddPro = this.changeAddPro.bind(this); this.changeProSubmit = this.changeProSubmit.bind(this); this.changeDeletePro = this.changeDeletePro.bind(this); this.changeAddCui = this.changeAddCui.bind(this); this.changeDeleteCui = this.changeDeleteCui.bind(this); this.changeSaveCui = this.changeSaveCui.bind(this); this.submitChange = this.submitChange.bind(this); this.editCui = this.editCui.bind(this); this.editPro = this.editPro.bind(this); this.submitEditCui = this.submitEditCui.bind(this); this.submitEditPro = this.submitEditPro.bind(this); this.nextCancel = this.nextCancel.bind(this); this.customerChange = this.customerChange.bind(this); this.selectAuto = this.selectAuto.bind(this); this.supervisor = this.supervisor.bind(this); this.httpChange = this.httpChange.bind(this); this.showRes = this.showRes.bind(this); this.resCancel = this.resCancel.bind(this); this.deleteChange = this.deleteChange.bind(this); this.not = this.not.bind(this); } componentDidMount() { this.getpatentTypeList() } nextCancel(type) { this.setState({ editProVisible: false, addnextVisible: false, changeVisible: false, addProjectType: undefined, isVip: undefined, isIso: undefined, commodityQuantity: undefined, histYear: [], yearSum: undefined, serviceLife: [], serviceYear: undefined, isEdit: false, // 可编辑 }, () => { this.proList() }); } showConfirm(fn, record) { confirm({ title: "确定删除此项目吗?", content: ( 删除后会将该项目下的所有催款节点自动清除!!! ), onOk() { fn(record); }, onCancel() { } }); } showConfirmChange(fn, record) { confirm({ title: "确定取消本次变更吗?", content: ( 取消后本次变更将作废!!! ), onOk() { fn(); }, onCancel() { } }); } 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) }); } //服务值改变时请求客户名称 httpChange(e) { this.state.gid = ""; if (e.length >= 1) { this.supervisor(e, false); } this.setState({ commodityName: 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("客户所属类型必须指定"); } } //上级主管输入框失去焦点是判断客户是否存在 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", patentTransfer: kid.patentTransfer, }); } else { this.setState({ displayFees: "none", }); } this.setState({ commodityName: value, gid: kid.id, addProjectType: kid.type, //commodityPrice:kid.price==0?kid.price.toString():kid.price, commodityFirstPayment: kid.firstPayment == 0 ? kid.firstPayment.toString() : kid.firstPayment, isIso: value.indexOf("贯标") !== -1,// 是否为贯标项目 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, }) } } } } //加载(自动补全) 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) ); } //变更申请 changeApply() { if (this.state.data.totalAmount === "") { message.warning("合同金额不能为空!"); return false; } if (this.state.data.firstAmount === "") { message.warning("首付款金额不能为空!"); return false; } if (Number(this.state.data.totalAmount) < Number(this.state.data.firstAmount)) { message.warning("首付款不能大于合同额!"); return; } if (moneyVerify(this.state.data.totalAmount)) { return false; } if (moneyVerify(this.state.data.changeAmount)) { return false; } if ( this.state.data.type == 0 || this.state.data.type == 1 || this.state.data.type == 3 || this.state.data.type == 8 ) { if (Number(this.state.data.settlementAmount) < Number(this.state.data.changeAmount)) { message.warning("退款金额大于已收款金额"); return; } } if (this.state.data.type == 0) { let reg1 = /^1[3456789]\d{9}$/ let reg2 = /^0\d{2,3}-?\d{7,8}$/ let reg3 = /[^\u4E00-\u9FA5]/g if (!this.state.data.managerContacts || reg3.test(this.state.data.managerContacts)) { message.warning("请正确填写企业总经理姓名"); return false; } if (!this.state.data.managerContactMobile) { message.warning("请正确填写企业总经理联系电话"); return false; } if (!reg1.test(this.state.data.managerContactMobile) && !reg2.test(this.state.data.managerContactMobile)) { message.warning("请正确填写企业总经理联系电话"); return false; } if (!this.state.data.contacts || reg3.test(this.state.data.contacts)) { message.warning("请正确填写企业联系人姓名"); return false; } if (!this.state.data.contactMobile) { message.warning("请正确填写企业联系人联系方式"); return false; } if (!reg1.test(this.state.data.contactMobile) && !reg2.test(this.state.data.contactMobile)) { message.warning("请正确填写企业联系人联系方式"); return false; } } 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 } 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(","); } Object.assign(this.state.data, { id: this.props.orderData.id, //订单编号 changeType: 0, voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "", consultantExamine: [], managerExamine: [], contractPictureUrl: this.state.isNew ? newContractUrl : undefined,//合同替换件 }); this.setState({ loading: true }) $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/updateOrderChange", data: this.state.data }).done( function (data) { if (!data.error.length) { message.success("变更成功!"); this.props.onCancel(); this.setState({ loading: false }); } else { message.warning(data.error[0].message); this.setState({ loading: false }); } }.bind(this) ); } // componentDidMount() { // window.setTimeout(() => { // this.loadDataChange(); // }, 10); // } // loadDataChange() { // console.log(this.props); // $.ajax({ // method: "get", // dataType: "json", // crossDomain: false, // url: globalConfig.context + "/api/admin/orderChange/orderChangeLogList", // data: { // changeId: this.props.data.id // }, // success: function(data) { // if (data.error.length || data.data.list == "") { // if (data.error && data.error.length) { // message.warning(data.error[0].message); // } // } else { // this.setState({ // dataSource: data.data // }); // } // }.bind(this) // }); // } // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record }) } resCancel() { this.setState({ resVisible: false }) } cuiList(id) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/selectChangeDun", data: { id: id || this.state.data.id }, success: function (data) { this.setState({ cuiDataSource: data.data, loading: false, }); if (data.data && data.data.length) { if (id) { this.setState({ listCuiFlag: true, }); } this.setState({ cuiDataSource: data.data, }); this.setState({ loading: false, }); } else if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ loading: false, }); } }.bind(this) }); } proList(id) { this.setState({ loading: true }) $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderChange/selectChangeTask", data: { id: id || this.state.data.id }, success: function (data) { this.setState({ loading: false }) if (data.data && data.data.length) { if (id) { this.setState({ listFlag: true }); } data.data.forEach(item => { item.key = item.id }) this.setState({ proDataSource: data.data }); this.setState({ loading: false, }); } else if (data.error && data.error.length) { // message.warning(data.error[0].message) this.setState({ loading: false, }); } }.bind(this) }); } departmentList() { $.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); } } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.name, id: item.id }); }); } this.setState({ departmentArr: theArr }); }.bind(this) }); } getVoucherUrl(e) { this.setState({ voucherUrl: e }); } getNewContractUrl(e) { this.setState({ newContractUrl: e }); } changeAddPro() { this.setState({ newData: this.state.proDataSource, changeVisible: true, gid: "", customerArr: [], commodityName: "", commodityQuantity: "", commodityId: "", taskComment: "", main: undefined, commodityPrice: "" }); } 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.state.data.orderNo, //订单编号 commodityName: this.state.commodityName, //商品名称 commodityQuantity: this.state.commodityQuantity, //商品数量 commodityPrice: this.state.commodityPrice, //签单总价 taskComment: this.state.taskComment, //服务说明 main: this.state.main, //是否为主要项目 cid: this.state.data.id, //变更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.data.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(); } 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.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 (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.data.id, //变更ID ustomizeTimes: 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.data.id, //变更ID customizeTimes: record.dunType == 0 ? record.customizeTimes : undefined, customizeName: record.dunType == 0 ? record.customizeName : undefined, } }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.setState({ cuiFlag: false, boFlag: false, addFlag: false, }); this.cuiList(); } else { message.warning(data.error[0].message); } }.bind(this) ); } } submitChange() { if ( this.state.typeChange == undefined || (this.state.typeChange == "" && this.state.typeChange != 0) ) { message.warning("请选择变更类型"); return false; } if ( this.state.typeChange == 0 || this.state.typeChange == 1 || this.state.typeChange == 3 || this.state.typeChange == 8 ) { if (this.state.settlementAmount < this.state.changeAmount) { message.warning("退款金额大于已收款金额"); return; } } if (this.state.processStatus != 6 || this.state.processStatus != 7) { message.warning("当前订单流程不能发起变更!"); return false; } if (this.state.changeAmount === "") { message.warning("申请退款金额不能为空!"); 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(","); } this.setState({ loading: true }); $.ajax({ url: globalConfig.context + "/api/admin/orderChange/updateOrderChange", method: "post", data: { id: this.state.changeId, changeType: 0, orderNo: this.state.orderNo, //订单编号 processState: 0, startRemarks: this.state.startRemarks, remarks: this.state.remarksC, voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "", totalAmount: this.state.totalAmount, settlementAmount: this.state.settlementAmount, changeAmount: this.state.changeAmount, applicant: this.state.salesmanName, depName: this.state.depName, type: this.state.typeChange } }).done( function (data) { if (!data.error.length) { this.setState({ loading: false }); message.success("发起变更成功"); this.handleCancelclose(); } else { message.warning(data.error[0].message); this.setState({ loading: false }); } }.bind(this) ); } editCui(record) { this.setState({ editCuiVisible: true, editCuiMoney: record.appropriationRatio ? record.appropriationRatio : record.money, appropriationRatio: record.appropriationRatio, editCuiTid: record.tid, 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.proList(); this.cuiList() this.setState({ editProVisible: false }); } else { message.warning(data.error[0].message); } }.bind(this) ); } componentWillMount() { this.departmentList(); this.state.data = this.props.orderData; this.state.data.oldPrice = this.props.orderData.totalAmount; this.setState({ data: this.state.data, voucherUrl: this.props.voucherUrl }); this.proList(); this.cuiList(); let e = this.props.orderData.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({ listFlag: false, listCuiFlag: false, hetongFlag: false, tuiKuanFlag: false, displayList: false, }); } } // componentWillReceiveProps(nextProps) { // this.state.data = nextProps.orderData; // this.state.data.oldPrice = nextProps.orderData.totalAmount; // this.setState({ // data: this.state.data, // voucherUrl: nextProps.voucherUrl // }); // // this.proList(); // // this.cuiList(); // let e = nextProps.orderData.type; // if (e == 1) { // this.setState({ // hetongFlag: false, // listFlag: false, // listCuiFlag: false, // tuiKuanFlag: false, // displayList: false // }); // } else if (e == 2) { // this.setState({ // hetongFlag: true, // listFlag: false, // listCuiFlag: false, // tuiKuanFlag: true, // displayList: false // }); // } else if (e == 3) { // this.setState({ // listFlag: false, // hetongFlag: false, // listCuiFlag: false, // tuiKuanFlag: false, // displayList: true // }); // } else if (e == 4) { // this.setState({ // listFlag: false, // listCuiFlag: false, // hetongFlag: false, // tuiKuanFlag: true, // displayList: false // }); // } else if (e == 5) { // this.setState({ // listFlag: false, // listCuiFlag: false, // hetongFlag: true, // tuiKuanFlag: true, // displayList: false // }); // } else { // this.setState({ // listFlag: true, // hetongFlag: true, // listCuiFlag: true, // tuiKuanFlag: false, // displayList: false // }); // } // } not() { } deleteChange() { this.setState({ loading: true, }); $.ajax({ url: globalConfig.context + "/api/admin/orderChange/cancelOrderChange", method: "post", data: { id: this.state.data.id, status: this.state.data.status, processState: this.state.data.processState, orderNo: this.state.data.orderNo }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("取消成功!"); this.props.onCancel() } else { message.warning(data.error[0].message); } }.bind(this) ); } handleClose(removedTag) { let serviceLife = this.state.serviceLife.filter(tag => { return tag !== removedTag }); this.setState({ serviceLife, serviceYear: undefined }); } // 可展开颜色不同 addRowColor(record) { if (!!record.list && record.list.length > 0) { return 'light' } else { return 'dark' } } 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} {/* {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}{"-" + record.id} } }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice", render: (text, record) => { if (record.splitStatus == 2) { return "/"; } else { return text; } }, }, { title: "主要项目", dataIndex: "main", key: "main", render: (text) => { return text ? "是" : "否"; }, }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "总年限", dataIndex: "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", 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 text // return getProjectName(text); }, }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ]; return (
); } else { columns = []; return (

暂无派单

); } } }; const { TextArea } = Input; const data = this.state.data; // let departmentArr = this.state.departmentArr || []; 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} )); let children = vipYear.map(its => ( )); const { isVip, histYear, isEdit } = this.state return (
{this.state.resVisible ? ( ) : ( "" )}
{data.userName}
{data.contractNo}
{this.state.data.depName} {/* { let data = this.state.data; data.applicant = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} /> */} {data.applicant}
{(this.state.data.status == 3 || this.state.data.status == 0) ? ( ) : ( "" )}
{ let data = this.state.data; data.totalAmount = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} /> { let data = this.state.data; data.firstAmount = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} /> {/* { let data = this.state.data; data.settlementAmount = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} /> */} {this.state.data.settlementAmount}     (注:已收款与现实收款不符,请与财务专员联系) { let data = this.state.data; data.changeAmount = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} />
{/* 退单退款 */} {this.state.data.type == 0 &&
{ let data = this.state.data; data.managerContacts = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} /> { let data = this.state.data; data.managerContactMobile = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} />
{ let data = this.state.data; data.contacts = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} /> { let data = this.state.data; data.contactMobile = e.target.value; this.setState({ data }); }} style={{ width: "240px" }} />
注} > 请填写以上信息,公司总经理将与企业联系交流
}
项目业务 (注:项目删除后,此项目的全部节点、全部工时,全部被删除,请谨慎删除!)
{/* */}
{/* */}
催款节点 (注:节点删除后,无论节点是否触发,均会删除,请谨慎删除!双击可修改对应金额!)
{/* */}
{/* */}