// 预约点餐订单 预约订单管理 import { ConnectState } from "@/models/connect"; import { connect, CurrentUser } from "umi"; import { useRef, useState } from "react"; import ProTable, { ActionType } from "@ant-design/pro-table"; import PageTitleBox from "@/components/PageTitleBox"; import { Button, Col, FormInstance, message, Modal, Popconfirm, Row, Space } from "antd"; import { PlusOutlined } from "@ant-design/icons"; import { handeDeleteMERCHANTS, handeGetMERCHANTSList, handeGetSALEBILLDetail, handeGetSALEBILLList, handeGetSaleBillWholeList, handeGetSALEDETAILList, handeSynchroMERCHANTS } from "../service"; import Draggable from "react-draggable"; import React from "react"; import ProForm, { ProFormSelect, ProFormText, ProFormTextArea } from "@ant-design/pro-form"; import moment from 'moment' import session from "@/utils/session"; import LeftSelectTree from "@/pages/reports/settlementAccount/component/leftSelectTree"; import './style.less' import orderIcon from '@/assets/detail/orderIcon.png' import closeIcon from '@/assets/detail/closeIcon.png' import OrderDetailModal from "./components/orderDetailModal"; import { handleSetlogSave } from "@/utils/format"; const BookingMealOrder: React.FC<{ currentUser: CurrentUser | undefined }> = (props) => { const { currentUser } = props const draggleRef = React.createRef() const actionRef = useRef(); const formRef = useRef(); const modalRef = useRef(); // 树相关的属性和方法 const [selectedId, setSelectedId] = useState() const [collapsible, setCollapsible] = useState(false) // 拿到左侧树的数据 const [leftTreeData, setLeftTreeData] = useState() const [modalVisible, handleModalVisible] = useState(); // 弹出框拖动效果 const [bounds, setBounds] = useState<{ left: number, right: number, top: number, bottom: number }>() // 移动的位置 const [disabled, setDraggleDisabled] = useState() // 是否拖动 const [currentRow, setCurrentRow] = useState(); const [confirmLoading, handleConfirmLoading] = useState(false) // 弹出框的内容表单是否在提交 let SALEBILLSTATEObj = session.get('SALEBILLSTATEObj') 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, fieldProps: { 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], }; }, }, fieldProps: { ranges: { "本月": [moment().startOf('M'), moment()], "上月": [moment().subtract(1, 'M').startOf('M'), moment().subtract(1, 'M').endOf('M')], "近三月": [moment().subtract(3, 'M').startOf('M'), moment().endOf('M')], "近半年": [moment().subtract(6, 'M').startOf('M'), moment().endOf('M')], } }, // initialValue: [moment().add(-1, 'M').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')], initialValue: [moment().startOf('M'), moment()], }, { dataIndex: "index", title: "序号", align: 'center', hideInSearch: true, valueType: "index", width: 70, ellipsis: true, }, { dataIndex: 'SALEBILL_CODE', title: '订单编号', align: 'center', hideInSearch: true, width: 250, ellipsis: true, render: (_, record) => { return record?.SALEBILL_CODE ? { setCurrentRow(record); handleModalVisible(true) handleSetlogSave(`查看编号为【${record?.SALEBILL_CODE}】的订单`) }}>{record?.SALEBILL_CODE} : "-" } }, { dataIndex: 'SERVERPART_NAME', title: '服务区', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, { dataIndex: 'SHOPNAME', title: '门店名称', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, { dataIndex: 'ORDER_PERSON', title: '下单人员', align: 'center', hideInSearch: true, width: 150, ellipsis: true, }, { dataIndex: 'SALEBILL_STATE', title: '订单状态', align: 'center', width: 120, ellipsis: true, valueType: 'select', valueEnum: { "0": "全部", "1005": "订单待支付", "1010": "订单待制作", "2000": "订单待取餐", "3000": "订单已完成", "8000": "退款申请中", "8900": "订单已退款", "9000": "订单已关闭", "9999": "订单已撤销", }, initialValue: "0" }, { dataIndex: 'ORDER_AMOUNT', title: '订单金额', align: 'center', hideInSearch: true, width: 120, ellipsis: true, }, { dataIndex: 'COUPON_AMOUNT', title: '优惠金额', align: 'center', hideInSearch: true, width: 120, ellipsis: true, }, { dataIndex: 'PAY_AMOUNT', title: '实付金额', align: 'center', hideInSearch: true, width: 120, ellipsis: true, }, { title: "获得积分", dataIndex: "MEMBERSHIP_POINT", width: 120, hideInSearch: true, ellipsis: true, align: "center", }, { title: "获得成长值", dataIndex: "MEMBERGROWTH_VALUE", width: 120, hideInSearch: true, ellipsis: true, align: "center", }, // { // dataIndex: 'COUPON_SEND_ID', // title: '优惠券名', // align: 'center', // hideInSearch: true, // width: 120, // ellipsis: true, // }, { dataIndex: 'ORDER_DATE', title: '订单时间', align: 'center', hideInSearch: true, width: 170, ellipsis: true, render: (_, record) => { return record?.ORDER_DATE ? moment(record?.ORDER_DATE).format('YYYY-MM-DD HH:mm:ss') : '' } }, ] // 订单详情的表格 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 (
{ return `${record?.COMMODITY_ID}` }} formRef={formRef} bordered headerTitle={} // 列表表头 actionRef={actionRef} search={{ span: 6, labelWidth: 'auto' }} // 请求数据 request={async (params, sorter) => { if (!selectedId) { return } const req = { searchParameter: { SERVERPART_IDS: selectedId, SALEBILL_TYPES: 6000, ORDER_DATE_Start: params?.ORDER_DATE_Start || "", ORDER_DATE_End: params?.ORDER_DATE_End || "", SALEBILL_STATES: params?.SALEBILL_STATE === "0" ? "1010,2000,3000" : params?.SALEBILL_STATE, SearchKeyValue: params?.searchText || "" }, PageIndex: 1, PageSize: 999999, SortStr: "ORDER_DATE desc", } const data = await handeGetSaleBillWholeList(req) // const req = { // searchParameter: { // ORDER_DATE_Start: params?.ORDER_DATE_Start || "", // ORDER_DATE_End: params?.ORDER_DATE_End || "", // SALEBILL_TYPE: 6000, // OWNERUNIT_ID: currentUser?.OwnerUnitId, // PROVINCE_CODE: currentUser?.ProvinceCode, // SALEBILL_STATE: params?.SALEBILL_STATE === "0" ? "" : params?.SALEBILL_STATE // }, // PageIndex: 1, // PageSize: 999999, // } // const data = await handeGetSALEBILLList(req); handleSetlogSave(`点击查询按钮`) console.log('datadatadatadatadata', data); if (data.List && data.List.length > 0) { return { data: data.List, success: true, total: data.TotalCount } } return { data: [], success: true } }} columns={columns} toolbar={{ actions: [ ], }} />
{/* { // 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 }))(BookingMealOrder);