import React, { Component } from "react"; import { Button, Form, Input, message, Spin, Select, Tabs, Table, Modal, Tooltip, } from "antd"; import $ from "jquery/src/ajax"; import { ChooseList } from "../../../manageCenter/order/orderNew/chooseList"; import OrderDetail from "../orderNew/changeComponent/orderDetail"; import OrderRiZi from "@/orderRiZi.jsx"; import { salesList } from "@/dataDic.js"; import { getProcessStatus, getLiquidationStatus, getNewOrderStatus, ShowModal, } from "@/tools.js"; const { TabPane } = Tabs; const FormItem = Form.Item; const Option = Select.Option; class OrderList extends Component { constructor(props) { super(props); this.state = { onelist: [ { value: "0", label: "首付待付请", }, { value: "1", label: "尾款待付清", }, { value: "2", label: "已付请", }, ], twolist: [ { value: "0", label: "非特批", }, { value: "1", label: "特批", }, ], threelist: [ { value: "0", label: "10万元以下", }, { value: "1", label: "10万~20万", }, { value: "2", label: "20万~30万", }, { value: "3", label: "30万~40万", }, { value: "4", label: "40万以上", }, ], columns: [ { title: "销售类型", dataIndex: "salesType", key: "salesType", render: (text, record) => { return ( {salesList[text]} ); }, }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo", }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", }, { title: "客户名称", dataIndex: "userName", key: "userName", }, { title: "订单部门", dataIndex: "depName", key: "depName", }, { title: "下单时间", dataIndex: "createDate", key: "createDate", }, { title: "合同签订时间", dataIndex: "signDate", key: "signDate", }, { title: "流程状态", dataIndex: "processStatus", key: "processStatus", render: (text, record) => {getProcessStatus(text)} }, { title: "签单金额(万元)", dataIndex: "totalAmount", key: "totalAmount", render: (text, record) => {text} }, { title: "开单金额(万元)", dataIndex: "invoiceAmount", key: "invoiceAmount", render: (text, record) => {text} }, { title: "已收款(万元)", dataIndex: "settlementAmount", key: "settlementAmount", render: (text, record) => {text} }, { title: "结算状态", dataIndex: "liquidationStatus", key: "liquidationStatus", render: (text, record) => {getLiquidationStatus(text)} }, { title: "是否特批", dataIndex: "approval", key: "approval", render: (text, record) => {["非特批", "特批", "特批通过"][text]} }, { title: "订单状态", dataIndex: "orderStatus", key: "orderStatus", render: (text, record) => {getNewOrderStatus(text)} }, ], pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function (page) { this.loadData(page); }.bind(this), showTotal: function (total) { return "共" + total + "条数据"; }, }, loading: false, changeList: undefined, searchValues: {}, dataSource: [], details: false, orderData: {}, }; } changeList(arr) { const newArr = []; this.state.columns.forEach((item) => { arr.forEach((val) => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr, }); } // 重置 resetAll() { this.setState( { searchValues: JSON.parse(JSON.stringify({})), selectedRowKeys: [], }, () => { this.loadData(); } ); } // 列表接口 loadData(pageNo) { const { searchValues, pagination } = this.state; this.setState({ loading: true, }); let prs = this.props.data; prs.pageNo = pageNo || 1; prs.pageSize = pagination.pageSize; let datas = Object.assign(searchValues, prs); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/statistics/orderList", data: datas, success: function (data) { ShowModal(this); this.setState({ loading: false, }); if (data.error && data.error.length === 0) { if (data.data.list) { pagination.current = data.data.pageNo; pagination.total = data.data.totalCount; if (data.data && data.data.list && !data.data.list.length) { pagination.current = 0; pagination.total = 0; } this.setState({ dataSource: data.data.list, pagination: this.state.pagination, pageNo: data.data.pageNo, }); } else { this.setState({ dataSource: data.data, pagination: false, }); } } else { message.warning(data.error[0].message); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); } // 订单详情 xiangqing(orderNos) { this.setState({ loading: true }) $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos }, success: function (data) { this.setState({ loading: false }) if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { let thisdata = data.data; this.setState( { orderUid: thisdata.uid, userName: thisdata.userName, primaryOrderNo: thisdata.primaryOrder, additionalOrder: thisdata.additionalOrder, contractNo: thisdata.contractNo, // arrears: thisdata.arrears, orderData: thisdata, isAddition: thisdata.additionalOrder ? true : false, }, () => { if (this.state.orderData.deleteSign !== 3) { this.jiedianNew(this.state.orderNo); } } ); } }.bind(this) }).always( function () { this.setState({ loading: false, }); }.bind(this) ); } // createTabs(orderNos) { $.ajax({ url: globalConfig.context + "/api/admin/orderChange/getOrderChange", method: "get", data: { orderNo: orderNos }, success: (data) => { if (data.error && data.error.length) { message.warning(data.error[0].message) } else { this.setState({ tabList: data.data }) } } }); } // 整行点击 tableRowClick(record) { this.setState( { details: true, orderNo: record.orderNo }, () => { this.xiangqing(record.orderNo) this.createTabs(record.orderNo) this.xiangmu(record.orderNo) } ); } // jiedianNew(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun", data: { orderNo: orderNos }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } else { let theArr = []; let thisData = []; let arr = data.data || []; let totalCui = 0; for (let i = 0; i < arr.length; i++) { thisData = arr[i]; totalCui += +thisData.money; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 commodityName: thisData.commodityName, projectType: thisData.projectType, dunTypeName: thisData.dunTypeName, status: thisData.status, waitDay: thisData.waitDay, effectiveCount: thisData.effectiveCount, startDate: thisData.startDate, dunType: thisData.dunType, appropriationRatio: thisData.appropriationRatio, customizeName: thisData.customizeName, customizeTimes: thisData.customizeTimes, tid: thisData.tid, }); } if (!totalCui) { totalCui = 0; } totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6); this.setState({ contactListNew: theArr, totalCui }); } }.bind(this) }).always( function () { this.setState({ loading: false }); }.bind(this) ); } // closeDesc() { this.setState({ details: false }) this.loadData(this.state.pageNo); } //查看订单日志 getOrderLog() { this.setState({ rizhivisible: true, }); this.rizhi(); } // closeOrderLog() { this.setState({ rizhivisible: false }); } // 日志 rizhi() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.state.orderNo, }, success: function (data) { let theArr = []; let thisData = data.data; if (!thisData.length) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; theArr.push({ processName: thisdata.processName, adminName: thisdata.adminName, createDate: thisdata.createDate, remarks: thisdata.remarks }); } } this.setState({ dataSourcerizhi: theArr }); }.bind(this) }); } // 项目列表 xiangmu(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: orderNos }, success: function (data) { let theArr = []; if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; thisdata.key = i; thisdata.sort = thisdata.cSort; theArr.push(thisdata); } } this.setState({ dataSourceX: theArr }); }.bind(this) }); } componentWillMount() { this.loadData(); } render() { const { searchValues, onelist, twolist, threelist, columns, changeList, details } = this.state; return (
{ searchValues["orderNo"] = e.target.value this.setState({ searchValues: searchValues, }); }} /> { searchValues["name"] = e.target.value this.setState({ searchValues: searchValues, }); }} /> { searchValues["contractNo"] = e.target.value this.setState({ searchValues: searchValues, }); }} />
{ details && } ); } } export default OrderList;