import React from "react"; import $ from "jquery/src/ajax"; import { Form, Radio, Icon, Button, Input, Spin, Table, message, DatePicker, Modal, Upload, Popconfirm, Cascader, Tabs, Select, Tooltip, Row, Col, Tag, } from "antd"; import NewService from "./addService.jsx"; import moment from "moment"; import "../userMangagement.less"; import { areaSelect } from "@/NewDicProvinceList"; import { getApprovedState, getprovince, getProcessStatus, getLiquidationStatus, getNewOrderStatus, beforeUploadFile, getProvinceA, getInvoiceStatus, splitUrl, ShowModal, getProjectStatus, getProjectName, getApprovalTag, getApprovedType, } from "../../../tools.js"; import { salesList, processStatus, approvalOptions } from "@/dataDic.js"; import ShowModalDiv from "@/showModal.jsx"; import { ChooseList } from "../orderNew/chooseList"; import ReactToPrint from "react-to-print"; import Project from "../../../../component/project"; import ImgList from "../../../common/imgList"; import OrderItemStatus from "../../../common/orderItemStatus"; import LogPopup from "../../../common/logPopup"; import Cascaders from "../../../common/cascaders"; const { Option } = Select; const { TabPane } = Tabs; const PicturesWall = React.createClass({ getInitialState() { return { previewVisible: false, previewImage: "", fileList: this.props.pictureUrl, }; }, getDefaultProps() { return { changeClick: this.modifyChange, }; }, handleCancel() { this.setState({ previewVisible: false }); }, handlePreview(file) { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true, }); }, handleChange(info) { let fileList = info.fileList; this.setState({ fileList }); this.props.fileList(fileList); }, componentWillReceiveProps(nextProps) { this.state.fileList = nextProps.pictureUrl; }, render() { const { previewVisible, previewImage, fileList } = this.state; const uploadButton = (
点击上传
); return (
{ this.handleChange(infor); }} fileList={fileList} />
); }, }); const MyService = Form.create()( React.createClass({ getInitialState() { return { approvaType: [], kaiData: { remarks: "", type: undefined, orgCodeUrl: "", invoiceType: undefined, unitName: "", taxNumber: "", amount: "", banks: "", content: "", unitAddress: "", invoiceRemarks: "", unitMobile: "", post: undefined, addressee: "", addresseeMobile: "", addresseeProvince: "", addresseeCity: "", addresseeArea: "", recipientAddress: "", ordapproval: undefined, alreadyAmount: "0", ProvinceCity: [], }, changeList: undefined, datauser: {}, orgCodeUrl: [], selectedRowKeys: [], releaseDate: [], departmentArr: [], signBillState: false, signBillVisible: false, selectedRows: [], recordData: [], flag: false, searchMore: true, loading: false, alreadyAmount: 0, intentOrder: true, formalOrder: true, pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function (page) { this.loadData(page); }.bind(this), showTotal: function (total) { return "共" + total + "条数据"; }, }, cuiColumns: [ { title: "序号", dataIndex: "key", key: "key", }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo", }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", }, { title: "客户名称", dataIndex: "userName", key: "userName", width: 150, render: (text) => { return (
{text}
); }, }, { title: "订单负责人", dataIndex: "salesmanName", key: "salesmanName", }, { title: "订单部门", dataIndex: "depName", key: "depName", }, { title: "订单状态", dataIndex: "orderStatus", key: "orderStatus", render: (text) => { return getNewOrderStatus(text); }, }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "签单金额", dataIndex: "totalAmount", key: "totalAmount", }, { title: "结算状态", dataIndex: "liquidationStatus", key: "liquidationStatus", render: (text) => { return getLiquidationStatus(text); }, }, { title: "已收款", dataIndex: "settlementAmount", key: "settlementAmount", }, { title: "应收款", dataIndex: "accountsReceivable", key: "accountsReceivable", }, { title: "催收科目", dataIndex: "dunSubject", key: "dunSubject", }, { title: "催款状态", dataIndex: "dunStatus", key: "dunStatus", }, { title: "催收启动时间", dataIndex: "startDate", key: "startDate", }, ], proColumns: [ { title: "序号", dataIndex: "key", key: "key", }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo", }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", }, // { // title: "项目编号", // dataIndex: "id", // key: "id" // }, { title: "客户名称", dataIndex: "userName", key: "userName", width: 150, render: (text) => { return (
{text}
); }, }, { title: "订单负责人", dataIndex: "salesmanName", key: "salesmanName", }, { title: "是否主项目", dataIndex: "main", key: "main", render: (text) => { return text == 0 ? "否" : "是"; }, }, { title: "项目类别", dataIndex: "cname", key: "cname", }, { title: "项目名称", dataIndex: "commodityName", key: "commodityName", }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "服务市价", dataIndex: "commodityPrice", key: "commodityPrice", render: (text) => { return "****"; }, }, { title: "证书编号", dataIndex: "certificateNumber", key: "certificateNumber", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", }, // { // title: "外包(内部)公司", // dataIndex: "outsourceName", // key: "outsourceName" // }, // { // title: "外包(内部)价格", // dataIndex: "outsourcePrice", // key: "outsourcePrice", // render: text => { // return "****"; // } // } ], columns: [ { title: "销售类型", dataIndex: "salesType", key: "salesType", render: (text, record) => { return ( {salesList[text]} {record.stopProject == 1 &&
含暂停项目
}
); }, }, { title: "特批类型", dataIndex: "type", key: "type", width: 110, render: (text, record) => { return ( {getApprovedType(text ? text.split(",").map(Number) : [], record.typeExplain)} ); }, }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo", render: (text, record) => { return ( { e.stopPropagation(); let input = document.getElementById("copyText"); input.value = text; input.select(); document.execCommand("copy"); message.success("复制成功"); }} > 复制 } >
{text}
{getApprovalTag(record.approval)}
); }, }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", width: 140, render: (text, record) => { return ( { e.stopPropagation(); let input = document.getElementById("copyText"); input.value = text; input.select(); document.execCommand("copy"); message.success("复制成功"); }} > 复制 } >
{text}
{record.totalAmount >= 10 && 大客户} {record.projectType == 1 && 会员}
); }, }, { title: "客户名称", dataIndex: "userName", key: "userName", render: (text, record) => { return ( {text} } >
{text}
); }, }, // { // title: "状态", // dataIndex: "deleteSign", // key: "deleteSign", // width: 80, // render: (text) => { // return ; // }, // }, { title: "订单部门", dataIndex: "depName", key: "depName", width: 100, }, { title: "下单时间", dataIndex: "createDate", key: "createTime", width: 80, render: (text) => { return
{text}
}, }, { title: "合同签订时间", dataIndex: "signDate", key: "signDate", width: 90, render: (text) => { return
{text}
}, }, { title: "流程状态", dataIndex: "processStatus", key: "processStatus", render: (text, record) => { return getProcessStatus(text, record.examineName, record.approval); }, }, { title: "签单金额(万元)", dataIndex: "totalAmount", key: "totalAmount", render: (text) => { return
{text}
}, }, { title: "开票金额(万元)", dataIndex: "invoiceAmount", key: "invoiceAmount", render: (text) => { return
{text}
}, }, { title: "已收款(万元)", dataIndex: "settlementAmount", key: "settlementAmount", render: (text) => { return
{text}
}, }, { title: "结算状态", dataIndex: "liquidationStatus", key: "liquidationStatus", render: (text) => { return getLiquidationStatus(text); }, }, // { // title: "是否特批", // dataIndex: "approval", // key: "approval", // render: (text) => { // return getApprovedState(text); // }, // }, { title: "订单状态", dataIndex: "orderStatus", key: "orderStatus", render: (text) => { return getNewOrderStatus(text); }, }, { title: "财务负责人", dataIndex: "financeName", key: "financeName", }, { title: "操作", dataIndex: "abc", key: "abc", width: 85, render: (text, record, index) => { return (
{ } {/* */} {record.liquidationStatus == 2 ? ( { this.delectRow(record); }} okText="是" cancelText="否" > ) : ( "" )}
); }, }, ], columnsDate: [ { title: "编号", dataIndex: "id", key: "id", }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", }, { title: "开票金额(万元)", dataIndex: "amount", key: "amount", }, { title: "申请时间", dataIndex: "createTime", key: "createTime", }, { title: "开票状态", dataIndex: "status", key: "status", render: (text, record) => { return (
{record.status === 3 && getInvoiceStatus(text, record)} {record.status === 3 ? ( ) : ( getInvoiceStatus(text, record) )} {record.status == 3 ? ( ) : ( "" )}
); }, }, ], dataSource: [], }; }, loadData(pageNo) { this.state.data = []; this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/orderNewList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, specially: 0, name: this.state.customerName, orderNo: this.state.searchOrderNo, depId: this.state.departmenttSearch, starTime: this.state.releaseDate[0], endTime: this.state.releaseDate[1], liquidationStatus: this.state.liquidationStatusSearch, contractNo: this.state.contractNoSearch, deps: JSON.stringify(this.state.departmenttList), approval: this.state.approvalSearch, amountStatus: this.state.amountStatus, projectType: this.state.projectType, processStatus: this.state.processStatus, type: this.state.approvaType.length > 0 ? this.state.approvaType.toString() : undefined, //特批类型 }, success: function (data) { ShowModal(this); 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.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: thisdata.orderNo, id: thisdata.id, orderNo: thisdata.orderNo, //订单编号 totalAmount: thisdata.totalAmount, //签单金额 projectType: thisdata.projectType, // 会员状态 examineName: thisdata.examineName, processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 approval: thisdata.approval, //特批状态 signDate: thisdata.signDate, //签单时间 userName: thisdata.userName, //客户名称 salesmanName: thisdata.salesmanName, //营销员名称 financeName: thisdata.financeName, //财务名称 createDate: thisdata.createDate, //下单时间 orderStatus: thisdata.orderStatus, //订单状态 depName: thisdata.depName, //部门名称 contractNo: thisdata.contractNo, //合同编号 invoiceAmount: thisdata.invoiceAmount, //开票金额 settlementAmount: thisdata.settlementAmount, //已收款 deleteSign: thisdata.deleteSign, salesType: thisdata.salesType, other: thisdata.other, stopProject: thisdata.stopProject, //暂停项目 0无 1有 type: thisdata.type || "", // 特批类型 typeExplain: thisdata.typeExplain, }); } this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; } if (!data.data.list.length) { this.state.pagination.current = 0; this.state.pagination.total = 0; } this.setState({ pageNo: pageNo, dataSource: theArr, pagination: this.state.pagination, selectedRowKeys: [], }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, invoiceData(record) { if (this.state.flagA) return; this.setState({ flagA: true, }); 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 api = "", api1 = "", method = "", fdata = { orderNo: this.state.orderNo3, type: this.state.type, status: this.state.status, approval: this.state.ordapproval, remarks: this.state.remarks, invoiceType: this.state.invoiceType, unitName: this.state.unitName, taxNumber: this.state.taxNumber, amount: parseFloat(this.state.amount), banks: this.state.banks, content: this.state.content, unitAddress: this.state.unitAddress, invoiceRemarks: this.state.invoiceRemarks, unitMobile: this.state.unitMobile, voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "", post: this.state.post, addressee: this.state.addressee, addresseeMobile: this.state.addresseeMobile, addresseeProvince: this.state.post === 0 ? this.state.ProvinceCity[0] || [] : "", addresseeCity: this.state.post === 0 ? this.state.ProvinceCity[1] || [] : "", addresseeArea: this.state.post === 0 ? this.state.ProvinceCity[2] || [] : "", recipientAddress: this.state.recipientAddress, alreadyAmount: parseFloat(this.state.alreadyAmount), }, sumData = {}, sumData1 = {}; switch (this.state.status) { case 0: api = "/api/admin/orderInvoice/createOrderInvoice"; sumData = fdata; method = "post"; break; case 1: api = "/api/admin/orderInvoice/createOrderInvoice"; api1 = "/api/admin/orderInvoice/updateOrderInvoice"; sumData = fdata; sumData1 = { orderNo: this.state.orderNo3, type: this.state.type, status: this.state.status, approval: !this.state.ordapproval ? 0 : 1, remarks: this.state.remarks, invoiceType: this.state.invoiceType, unitName: this.state.unitName, taxNumber: this.state.taxNumber, amount: parseFloat(this.state.amount), banks: this.state.banks, content: this.state.content, unitAddress: this.state.unitAddress, invoiceRemarks: this.state.invoiceRemarks, unitMobile: this.state.unitMobile, voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "", post: this.state.post, addressee: this.state.addressee, addresseeMobile: this.state.addresseeMobile, addresseeProvince: this.state.post === 0 ? this.state.ProvinceCity[0] || [] : "", addresseeCity: this.state.post === 0 ? this.state.ProvinceCity[1] || [] : "", addresseeArea: this.state.post === 0 ? this.state.ProvinceCity[2] || [] : "", recipientAddress: this.state.recipientAddress, alreadyAmount: parseFloat(this.state.alreadyAmount), }; sumData1.id = this.state.id; method = "post"; break; case 3: api = "/api/admin/orderInvoice/selectByIdOrderInvoice"; sumData.id = record.id; method = "get"; break; default: api = ""; break; } if (this.state.status === 1 || this.state.status === 0) { if (typeof this.state.type !== "number") { message.warning("省内/外不能为空"); this.setState({ flagA: false, }); return; } if (typeof this.state.invoiceType !== "number") { message.warning("发票类型不能为空"); this.setState({ flagA: false, }); return; } if (typeof theorgCodeUrl !== "string") { message.warning("未上传图片"); this.setState({ flagA: false, }); return; } if (!this.state.unitName) { message.warning("单位名称不能为空"); this.setState({ flagA: false, }); return; } if (!this.state.taxNumber) { message.warning("税号不能为空"); this.setState({ flagA: false, }); return; } if (isNaN(this.state.amount)) { message.warning("开票金额包含非法字符,请重新输入"); this.setState({ flagA: false, }); return; } if (!Number(this.state.amount)) { message.warning("金额不能为空"); this.setState({ flagA: false, }); return; } if (isNaN(this.state.alreadyAmount)) { message.warning("开票金额总计包含非法字符,请重新输入"); this.setState({ flagA: false, }); return; } if (parseFloat(this.state.alreadyAmount) < 0) { message.warning("开票金额总计不能小于0,请重新输入"); this.setState({ flagA: false, }); return; } if (!this.state.banks) { message.warning("开户行不能为空"); this.setState({ flagA: false, }); return; } if (!this.state.content) { message.warning("开票内容及说明不能为空"); this.setState({ flagA: false, }); return; } if (!this.state.unitAddress) { message.warning("单位地址不能为空"); this.setState({ flagA: false, }); return; } if (!this.state.unitMobile) { message.warning("单位电话不能为空"); this.setState({ flagA: false, }); return; } if (this.state.alreadyAmount === "") { message.warning("开票金额总计不能为空"); this.setState({ flagA: false, }); return; } } this.setState({ loading: true, }); $.ajax({ method: method, dataType: "json", crossDomain: false, url: globalConfig.context + (this.state.flag ? api1 : api), data: this.state.flag ? sumData1 : sumData, success: function (data) { if (this.state.status === 3 && typeof data.data === "object") { let thisdata = data.data; let ProvinceCityArr = []; let ProvinceS = thisdata.addresseeProvince; //省 let citys = thisdata.addresseeCity; //市 let Areas = thisdata.addresseeArea; //区 ProvinceCityArr.push(ProvinceS, citys, Areas); this.setState({ orderNo: thisdata.orderNo, type: thisdata.type, status: thisdata.status, ordapproval: thisdata.approval, remarks: thisdata.remarks, invoiceType: thisdata.invoiceType, unitName: thisdata.unitName, taxNumber: thisdata.taxNumber, amount: thisdata.amount + "", banks: thisdata.banks, content: thisdata.content, unitAddress: thisdata.unitAddress, invoiceRemarks: thisdata.invoiceRemarks, unitMobile: thisdata.unitMobile, post: thisdata.post, addressee: thisdata.addressee, addresseeMobile: thisdata.addresseeMobile, addresseeProvince: thisdata.addresseeProvince, addresseeCity: thisdata.addresseeCity, addresseeArea: thisdata.addresseeArea, alreadyAmount: thisdata.alreadyAmount + "", ProvinceCity: ProvinceCityArr[0] != null ? ProvinceCityArr : undefined, //省市区 recipientAddress: thisdata.recipientAddress, orgCodeUrl: thisdata.voucherUrl ? splitUrl( thisdata.voucherUrl, ",", globalConfig.avatarHost + "/upload" ) : [], }); } }.bind(this), }).done( function (data) { this.setState({ loading: false, }); this.loadData(this.state.pageNo); if (!data.error.length) { if (this.state.status === 1) { message.success("提交成功!"); this.visitCancels(); if (this.state.flag) { this.inRecordData(); } this.setState({ flagA: false, }); } else if (this.state.status === 0) { message.success("保存成功!"); this.visitCancels(); this.setState({ flagA: false, }); } else if (this.state.status === 3) { this.setState({ flag: true, flagA: false, }); } } else { message.warning(data.error[0].message); this.setState({ flagA: false, }); } }.bind(this) ); }, areset() { this.setState({ remarks: "", type: undefined, orgCodeUrl: [], invoiceType: undefined, taxNumber: "", unitName: "", amount: "", banks: "", content: "", unitAddress: "", invoiceRemarks: "", unitMobile: "", post: undefined, addressee: "", addresseeMobile: "", addresseeProvince: "", addresseeCity: "", addresseeArea: "", recipientAddress: "", ordapproval: 0, alreadyAmount: "", ProvinceCity: [], }); }, recompose(record) { this.setState({ avisible: true, orderNo3: record.orderNo, id: record.id, }); this.setState( { status: 3, cvisible: true, flag: false, }, () => { this.invoiceData(record); } ); }, submitApp() { if (this.state.status === 3) { this.setState({ flag: true, }); } this.setState( { status: 1, }, () => { this.invoiceData(); } ); }, saveApp() { this.setState( { status: 0, }, () => { this.invoiceData(); } ); }, reject(record) { this.setState({ visibleR: true, reason: record.rejectReason, }); }, rejectCancels() { this.setState({ visibleR: false, }); }, //开票 visit(record, index) { this.areset(); this.setState({ contractNo: this.state.dataSource[index].contractNo, orderNo3: record.orderNo, avisible: true, flag: false, invoiceType: 0, alreadyAmount: 0, unitName: this.state.dataSource[index].userName, post: 1, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/getInvoiceDetails", data: { orderNo: record.orderNo, }, success: (data) => { if (data.error.length) { message.warning(data.error[0].message); } else if (data.data) { const thisdata = data.data; this.setState({ id: thisdata.id, contractNo: thisdata.contractNo, orderNo: thisdata.orderNo, ordapproval: thisdata.approval, type: thisdata.type, status: thisdata.status, remarks: thisdata.remarks, invoiceType: thisdata.invoiceType, unitName: thisdata.unitName, taxNumber: thisdata.taxNumber, amount: thisdata.amount, banks: thisdata.banks, content: thisdata.content, unitAddress: thisdata.unitAddress, invoiceRemarks: thisdata.invoiceRemarks, unitMobile: thisdata.unitMobile, post: thisdata.post, addressee: thisdata.addressee, addresseeMobile: thisdata.addresseeMobile, addresseeProvince: thisdata.addresseeProvince, addresseeCity: thisdata.addresseeCity, addresseeArea: thisdata.addresseeArea, alreadyAmount: thisdata.alreadyAmount, recipientAddress: thisdata.recipientAddress, orgCodeUrl: thisdata.voucherUrl ? splitUrl( thisdata.voucherUrl, ",", globalConfig.avatarHost + "/upload" ) : [], }); } }, }); }, visitCancels() { this.setState({ id: "", avisible: false, cvisible: false, }); }, //查看开票历史记录详情 dtableRowClick(record) { this.setState({ dvisible: true, }); this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/selectByIdOrderInvoice", data: { id: record.id, }, success: function (data) { let thisdata = data.data; this.setState({ contractNo: thisdata.contractNo, orderNo: thisdata.orderNo, ordapproval: thisdata.approval, type: thisdata.type, status: thisdata.status, remarks: thisdata.remarks, invoiceType: thisdata.invoiceType, unitName: thisdata.unitName, taxNumber: thisdata.taxNumber, amount: thisdata.amount, banks: thisdata.banks, content: thisdata.content, unitAddress: thisdata.unitAddress, invoiceRemarks: thisdata.invoiceRemarks, unitMobile: thisdata.unitMobile, post: thisdata.post, addressee: thisdata.addressee, addresseeMobile: thisdata.addresseeMobile, addresseeProvince: thisdata.addresseeProvince, addresseeCity: thisdata.addresseeCity, addresseeArea: thisdata.addresseeArea, alreadyAmount: thisdata.alreadyAmount, recipientAddress: thisdata.recipientAddress, orgCodeUrl: thisdata.voucherUrl ? splitUrl( thisdata.voucherUrl, ",", globalConfig.avatarHost + "/upload" ) : [], }); }.bind(this), }).done( function () { this.setState({ loading: false, }); }.bind(this) ); }, //关闭开票历史记录详情 dvisitCancels() { this.setState({ dvisible: false, }); }, inRecordData() { if (!this.state.orderNo2) { return; } this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderInvoice/salesmanOrderInvoiceList", data: { orderNo: this.state.orderNo2, }, success: function (data) { let theArr = []; let sum = 0; if (!data.data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; sum += parseFloat(thisdata.amount); theArr.push({ id: thisdata.id, orderNo: thisdata.orderNo, //订单编号 amount: thisdata.amount, //签单金额 examineName: thisdata.examineName, createTime: thisdata.createTime, //流程状态 status: thisdata.status, //结算状态 rejectReason: thisdata.rejectReason, approval: thisdata.approval, }); } } this.setState({ recordData: theArr, sum: sum.toFixed(6), }); }.bind(this), }).done( function () { this.setState({ loading: false, }); }.bind(this) ); }, inRecord(record) { this.setState( { bvisible: true, orderNo2: this.state.selectedRowKeys[0], }, () => { this.inRecordData(); } ); }, inRecordCanl() { this.setState({ bvisible: false, }); }, //结项 delectRow(record) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/OrderOver", data: { orderNo: record.orderNo, }, }).done( function (data) { if (!data.error.length) { message.success("该项目已成功结项!"); this.loadData(); } else { message.warning(data.error[0].message); } this.setState({ loading: false, }); }.bind(this) ); }, //是否退款 refundCancel(record) { this.refund(record, 0); }, refundOk(record) { this.refund(record, 1); }, refund(record, index) { this.setState({ signBillVisible: false, selectedRowKeys: [], loading: true, userDetaile: false, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/order/confirmRefund", data: { orderNo: record.orderNo, confirm: index, }, }).done( function (data) { if (!data.error.length) { message.success("操作成功!"); this.setState({ loading: false, showDesc: false, }); } this.loadData(this.state.pageNo); }.bind(this) ); }, //受理订单 admissibleOrderOk(e) { this.admissibleOrder(e, true); }, admissibleOrderCancel(e) { this.admissibleOrder(e, false); }, admissibleOrder(record, index) { this.setState({ signBillVisible: false, selectedRowKeys: [], loading: true, userDetaile: false, }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/order/confirmIntention", data: { orderNo: record.orderNo, confirm: index, }, }).done( function (data) { if (!data.error.length) { message.success("操作成功!"); this.setState({ loading: false, showDesc: false, }); } else { message.warning(data.error[0].message); this.setState({ showDesc: true, }); } this.loadData(this.state.pageNo); }.bind(this) ); }, //取消订单 cancelOrder(e) { this.operation(e, 3); }, //作废订单 scrapOrder(e) { this.operation(e, 2); }, //锁定订单 lockOrder(e) { this.operation(e, 0); }, //解锁订单 unlockOrder(e) { this.operation(e, 1); }, //签单 signBill(ids) { this.setState({ uid: ids, signBillVisible: true, }); }, componentWillMount() { // this.departmentList(); this.loadData(); let data = localStorage.getItem("newData"); if (data != "{}" && data && data.toString() !== "[object Object]") { var newData = JSON.parse(data); this.tableRowClick(newData); } }, tableRowClick(record) { this.state.userDetaile = true; this.state.datauser = record; this.setState({ signBillVisible: false, signBillState: true, showDesc: true, addPop: "edit" }); localStorage.setItem("newData", "{}"); }, //列表各种骚操作 operation(record, index) { this.setState({ selectedRowKeys: [], loading: true, showDesc: false, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/order/lockOrRevokeOrder", data: { orderNo: record.orderNo, operatorType: index, }, }).done( function (data) { if (!data.error.length) { message.success("操作成功!"); this.setState({ loading: false, }); } else { message.warning(data.error[0].message); } this.loadData(this.state.pageNo); }.bind(this) ); }, addClick() { this.state.userDetaile = false; this.setState({ addPop: "add", signBillVisible: false, showDesc: true, }); }, closeDesc(e, s) { this.state.userDetaile = false; this.state.signBillVisible = false; this.state.showDesc = e; this.state.addPop = "" this.loadData(this.state.pageNo); // if (s) { // this.loadData(this.state.pageNo); // } }, searchSwitch() { this.setState({ signBillVisible: false, searchMore: !this.state.searchMore, }); }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: e }); }, search() { this.setState({ signBillVisible: false, }); this.loadData(); }, reset() { this.setState({ signBillVisible: false, }); this.state.searchOrderNo = undefined; this.state.orderNo = undefined; this.state.customerName = undefined; this.state.departmenttSearch = undefined; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.projectProgress = undefined; this.state.approval = undefined; this.state.formalOrder = true; this.state.intentOrder = true; (this.state.liquidationStatusSearch = []), (this.state.contractNoSearch = undefined); this.state.departmenttList = undefined; this.state.approvalSearch = undefined; this.state.amountStatus = undefined; this.state.projectType = undefined; this.state.processStatus = undefined; this.Cascaders.empty(); this.state.approvaType = []; this.loadData(); }, //部门 departmentList() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", data: {}, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.name, id: item.id, }); }); } this.setState({ departmentArr: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, changeList(arr) { const newArr = []; this.state.columns.forEach((item) => { arr.forEach((val) => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr, }); }, onSelectChange(selectedRowKeys) { this.setState({ selectedRowKeys: selectedRowKeys.slice(-1) }); }, // inRecordData() { // this.setState({ // loading: true // }); // $.ajax({ // method: "get", // dataType: "json", // crossDomain: false, // url: // globalConfig.context + // "/api/admin/orderInvoice/salesmanOrderInvoiceList", // data: { // orderNo: this.state.selectedRowKeys[0], // pageSize: 9999 // }, // success: function(data) { // let theArr = []; // let sum = 0; // if (!data.data) { // if (data.error && data.error.length) { // message.warning(data.error[0].message); // } // } else { // for (let i = 0; i < data.data.list.length; i++) { // let thisdata = data.data.list[i]; // sum += parseFloat(thisdata.amount); // theArr.push({ // id: thisdata.id, // orderno: thisdata.orderno, //订单编号 // amount: thisdata.amount, //签单金额 // createTime: thisdata.createTime, //流程状态 // status: thisdata.status, //结算状态 // rejectReason: thisdata.rejectReason // }); // } // } // this.setState({ // recordData: theArr, // sum: sum.toFixed(4) // }); // }.bind(this) // }).done( // function() { // this.setState({ // loading: false // }); // }.bind(this) // ); // }, cuiData() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/dunOrderNewList", data: { orderNo: this.state.selectedRowKeys[0], pageSize: 9999999, }, success: function (data) { let theArr = []; if (!data.data || !data.data.list) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: i + 1, orderNo: thisdata.orderNo, contractNo: thisdata.contractNo, userName: thisdata.userName, buyerName: thisdata.buyerName, departmentName: thisdata.departmentName, salesmanName: thisdata.salesmanName, depName: thisdata.depName, orderStatus: thisdata.orderStatus, projectStatus: thisdata.projectStatus, totalAmount: thisdata.totalAmount, liquidationStatus: thisdata.liquidationStatus, settlementAmount: thisdata.settlementAmount, accountsReceivable: thisdata.accountsReceivable, dunSubject: thisdata.dunSubject, startDate: thisdata.startDate, taskStatus: thisdata.taskStatus, cname: thisdata.cname, id: thisdata.id, taskName: thisdata.taskName, hours: thisdata.hours, taskDistributionTime: thisdata.taskDistributionTime, taskEndTime: thisdata.taskEndTime, dunStatus: thisdata.dunStatus == 0 ? "未触发" : "已触发", }); } } this.setState({ cuiDataList: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, proData() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: this.state.selectedRowKeys[0], pageSize: 9999999, }, success: function (data) { let theArr = []; let totalWaibao = 0; 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]; totalWaibao += thisdata.outsourcePrice; thisdata.key = i + 1; theArr.push(thisdata); } } totalWaibao = (Math.round(totalWaibao * 1000000) / 1000000).toFixed( 6 ); this.setState({ proDataList: theArr, totalWaibao, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, tableRowClickPro(record) { this.setState({ pvisible: true, record, }); }, render() { const FormItem = Form.Item; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const RadioGroup = Radio.Group; var departmentArr = this.state.departmentArr || []; const { RangePicker } = DatePicker; const { loading, selectedRowKeys, visible } = this.state; const rowSelection = { selectedRowKeys, onChange: this.onSelectChange, hideDefaultSelections: true, // type: "radio" }; const approvaChildren = approvalOptions.map(i => ( )); return (
{ this.setState({ showModal: false }) }} />
开单与签单
{ this.setState({ searchOrderNo: e.target.value }); }} /> { this.setState({ contractNoSearch: e.target.value, }); }} /> { this.setState({ customerName: e.target.value }); }} /> this.Cascaders = node} placeholder="订单部门" id="id" name="name" children="list" height={28} onSel={(e) => { this.setState({ departmenttList: e }) }} /> {/* */} { // 新需求 除湖南和内蒙古外 不让其他省操作 (adminData.province == "21" || adminData.province == "11") && } 下单时间 : { this.setState({ releaseDate: dataString }); }} />