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 } 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 } from "../../../tools.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"; 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({ 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, depId: this.state.departmenttList, approval: this.state.approvalSearch, amountStatus: this.state.amountStatus }, 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, //签单金额 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, }); } 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) ); }, getInitialState() { return { 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" // render: text => { // return getjiedian(text); // } }, { 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: "contractNo", key: "contractNo", render: (text) => { return ( { e.stopPropagation(); let input = document.getElementById("copyText"); input.value = text; input.select(); document.execCommand("copy"); message.success('复制成功') }}> 复制 }> {text} ) } }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", render: (text) => { return ( { e.stopPropagation(); let input = document.getElementById("copyText"); input.value = text; input.select(); document.execCommand("copy"); message.success('复制成功') }}> 复制 }> {text} ) } }, { title: "客户名称", dataIndex: "userName", key: "userName", render: (text,record) => { return ( {text} }>
{ record.totalAmount >= 10 ?
大客户
: null } {text}
); } }, { title: "状态", dataIndex: "deleteSign", key: "deleteSign", width:80, render: text => { return ; } }, { title: "订单部门", dataIndex: "depName", key: "depName" // fixed: 'left' }, { title: "下单时间", dataIndex: "createDate", key: "createTime" }, { title: "合同签订时间", dataIndex: "signDate", key: "signDate" }, { title: "流程状态", dataIndex: "processStatus", key: "processStatus", render: text => { return getProcessStatus(text); } }, { title: "签单金额(万元)", dataIndex: "totalAmount", key: "totalAmount" }, { title: "开票金额(万元)", dataIndex: "invoiceAmount", key: "invoiceAmount" }, { title: "已收款(万元)", dataIndex: "settlementAmount", key: "settlementAmount" }, { 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", 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 ? ( ) : ( "" )}
); } } ], dataSource: [] }; }, 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, 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 (!this.state.amount) { message.warning("金额不能为空"); this.setState({ flagA: false }); return; } if (isNaN(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; } } // console.log(this.state.flag,this.state.status) 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) { // console.log(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, //签单金额 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 }); 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({ signBillVisible: false, showDesc: true }); }, closeDesc(e, s) { this.state.userDetaile = false; this.state.signBillVisible = false; this.state.showDesc = e; 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 = ""; this.state.customerName = ""; 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 = ""); this.state.departmenttList = []; this.state.approvalSearch = undefined this.state.amountStatus = undefined 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" }; return (
开单与签单
{ this.setState({ searchOrderNo: e.target.value }); }} /> { this.setState({ customerName: e.target.value }); }} /> { this.setState({ contractNoSearch: e.target.value }); }} /> 下单时间 : { this.setState({ releaseDate: dataString }); }} />