// 订单售后管理 售后订单管理 import { connect } from "umi"; import type { CurrentUser } from "umi"; import type { ConnectState } from "@/models/connect"; import React, { useRef, useState } from "react"; import { Col, Modal, Row, type FormInstance } from "antd"; import type { ActionType } from "@ant-design/pro-table"; import ProTable from "@ant-design/pro-table"; import PageTitleBox from "@/components/PageTitleBox"; import moment from 'moment' import { handeGetSALEBILLList, handeGetSaleBillWholeList, handeGetSALEDETAILList } from "../service"; import Draggable from "react-draggable"; import ProForm, { ProFormSelect, ProFormText } from "@ant-design/pro-form"; import orderIcon from '@/assets/detail/orderIcon.png' import closeIcon from '@/assets/detail/closeIcon.png' import './style.less' const OrderAfterSalesManage: React.FC<{ currentUser: CurrentUser }> = (props) => { const { currentUser } = props const draggleRef = React.createRef() const actionRef = useRef(); const formRef = useRef(); const modalRef = useRef(); // 查询的条件 const [searchParams, setSearchParams] = useState() const [currentRow, setCurrentRow] = useState(); const [modalVisible, handleModalVisible] = useState(); const [confirmLoading, handleConfirmLoading] = useState(false) // 弹出框的内容表单是否在提交 // 弹出框拖动效果 const [bounds, setBounds] = useState<{ left: number, right: number, top: number, bottom: number }>() // 移动的位置 const [disabled, setDraggleDisabled] = useState() // 是否拖动 const onDraggaleStart = (event, uiData) => { const { clientWidth, clientHeight } = window.document.documentElement; const targetRect = draggleRef.current?.getBoundingClientRect(); if (!targetRect) { return; } setBounds({ left: -targetRect.left + uiData.x, right: clientWidth - (targetRect.right - uiData.x), top: -targetRect.top + uiData.y, bottom: clientHeight - (targetRect.bottom - uiData.y), }); }; const columns: any = [ { dataIndex: 'searchText', title: '查询内容', hideInTable: true, fieldProp: { placeholder: "请输入购买的商品/订单编号/联系电话/会员名称" } }, { title: '查询时间', dataIndex: 'search_date', valueType: 'dateRange', hideInTable: true, hideInDescriptions: true, search: { transform: (value) => { return { ORDER_DATE_Start: value[0], ORDER_DATE_End: value[1], }; }, }, initialValue: [moment().format('YYYY-MM-DD'), moment().add(-1, 'M').format('YYYY-MM-DD')], }, { title: "订单状态", dataIndex: "orderStatus", valueType: "select", valueEnum: { "0": "全部", "8000": "退款申请中", "8020": "退款申请中", "8900": "订单已退款", "9000": "订单已关闭", }, initialValue: '8000', hideInTable: true, }, { title: "序号", dataIndex: "index", valueType: "index", hideInSearch: true, align: "center", width: 60, }, { title: "会员名称", dataIndex: "ORDER_PERSON", width: 200, hideInSearch: true, ellipsis: true, align: "center", }, { title: "联系电话", dataIndex: "ORDER_PERSONTEL", width: 150, hideInSearch: true, ellipsis: true, align: "center", }, { title: "订单编号", dataIndex: "SALEBILL_CODE", width: 200, hideInSearch: true, ellipsis: true, align: "center", render: (_, record) => { return record?.SALEBILL_CODE ? { setCurrentRow(record); handleModalVisible(true) }}> {record?.SALEBILL_CODE} : "" } }, { title: "购买的商品", dataIndex: "COMMODITY_NAME", width: 300, hideInSearch: true, ellipsis: true, align: "center", }, { title: "退款金额", dataIndex: "ORDER_AMOUNT", width: 120, hideInSearch: true, ellipsis: true, align: "center", }, { title: "申请时间", dataIndex: "ORDER_DATE", width: 150, hideInSearch: true, ellipsis: true, align: "center", render: (_, record) => { return record?.ORDER_DATE ? moment(record?.ORDER_DATE).format('YYYY-MM-DD HH:mm:ss') : "-" } }, { title: "退款时间", dataIndex: "RESERVATION_ENDDATE", width: 120, hideInSearch: true, ellipsis: true, align: "center", }, { title: "订单状态", dataIndex: "SALEBILL_STATE", width: 120, hideInSearch: true, ellipsis: true, valueType: "select", valueEnum: { "8000": "退款申请中", "8020": "退款申请中", "8900": "订单已退款", "9000": "订单已关闭", }, align: "center", }, { title: "备注说明", dataIndex: "SALEBILL_DESC", width: 180, hideInSearch: true, ellipsis: true, align: "center", } ] // 订单详情的表格 const orderDetailColumns: any = [ { dataIndex: "index", title: "序号", align: 'center', hideInSearch: true, valueType: "index", width: 70, ellipsis: true, }, { dataIndex: 'COMMODITY_NAME', title: '商品名称', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, { dataIndex: 'COMMODITY_BARCODE', title: '商品条码', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, { dataIndex: 'ORDER_COUNT', title: '数量', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, { dataIndex: 'AVERAGE_PRICE', title: '单价', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, { dataIndex: 'ORDER_AMOUNT', title: '金额', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, ] // 关闭悬浮框 const handleCloseModal = () => { handleConfirmLoading(false) handleModalVisible(false) setCurrentRow(undefined); } return (
} // 列表表头 search={{ span: 6 }} request={async (params) => { const req = { SearchParameter: { OWNERUNIT_ID: currentUser?.OwnerUnitId, PROVINCE_CODE: currentUser?.ProvinceCode, // SALEBILL_TYPES: params?.orderType === '0' ? '8000,8020,8900,9000' : params?.orderType, ORDER_DATE_Start: params?.ORDER_DATE_Start || "", ORDER_DATE_End: params?.ORDER_DATE_End || "", SALEBILL_STATES: params?.orderStatus === "0" ? "8000,8020,8900,9000" : params?.orderStatus, SALEBILL_TYPES: "3999" // CHANNEL_TYPE: params?.PAY_METHOD === "0" ? "" : params?.PAY_METHOD }, PageIndex: 1, PageSize: 999999, SortStr: "ORDER_DATE desc", keyWord: { Key: "ORDER_PERSON,ORDER_PERSONTEL,SALEBILL_CODE,COMMODITY_NAME", Value: params?.searchText || "" }, } console.log('reqreqreqreqreq', req); // const data = await handeGetSALEBILLList(req); const data = await handeGetSaleBillWholeList(req); console.log('datadatadatadatadata', data); if (data.List && data.List.length > 0) { return { data: data.List, success: true, total: data.TotalCount } } return { data: [], success: true } }} toolbar={{ }} />
{ // if (disabled) { // setDraggleDisabled(false) // } // }} // onMouseOut={() => { // setDraggleDisabled(true) // }} // onFocus={() => { }} // onBlur={() => { }} // > // {'订单详情'} //
// } title={false} closeIcon={
} destroyOnClose={true} width={1200} visible={modalVisible} confirmLoading={confirmLoading} afterClose={() => { formRef.current?.resetFields(); setCurrentRow(undefined); }} onCancel={() => { handleConfirmLoading(false) handleModalVisible(false) setCurrentRow(undefined); }} footer={false} modalRender={(modal) => { return onDraggaleStart(event, uiData)} handle=".bookingOrderModalTop" >
{modal}
}} >
订单详情
{ handleCloseModal() }} />
订单信息
{ const req: any = { searchParameter: { SALEBILL_ID: currentRow?.SALEBILL_ID }, PageIndex: 1, PageSize: 999999, } const data = await handeGetSALEDETAILList(req) console.log('datadatadata', data); if (data.List && data.List.length > 0) { return { data: data.List, success: true, total: data.TotalCount } } return { data: [], success: true } }} summary={() => { // extra 是 request 返回的 extra 字段 return ( 合计 {currentRow?.TOTAL_COUNT || 0} {currentRow?.ORDER_AMOUNT?.toFixed(2) || '0.00'} ) }} /> ) } export default connect(({ user }: ConnectState) => ({ currentUser: user.currentUser }))(OrderAfterSalesManage);