import React, { FC, useState } from 'react' import moment from 'moment' import { MoreSelect, MoreSelectDataItem, Select, FormBlock, FormButton, BoxForm, BoxFormMore, Button, ControlledFormItem, useControlFormRef, OnFieldsChange, ControlledFormProps, Divider, Switch, TextArea, Checkbox, CheckboxGroup, Radio, RadioGroup, InputNumber, DatePicker, RecommendInput, ColorPicker, LevelSelect, List, } from '../../../index' import { noop } from 'lodash' import { DateRangeFilter, SearchFilter } from './components' import { areaData } from '../../level_list/stories/constants' import item from '../../tree/item' interface FilterOptions { status: string pay_status: string is_out_stock: string searchType: string serial_no: string receive_customer_id: string app_id: string customers: MoreSelectDataItem[] sale_menus: MoreSelectDataItem[] drivers: MoreSelectDataItem[] menu_period_group_ids: MoreSelectDataItem[] sort_remark: string service_period_id: string has_remark: string is_create_stock_sheet: boolean is_scan_receipt: boolean dayRange: { begin: Date end: Date dateType: number } } const initialValues = { dayRange: { begin: moment().startOf('day').toDate(), end: moment().endOf('day').toDate(), dateType: 1, }, searchType: 1, status: 0, pay_status: 0, app_id: 0, sort_remark: 0, is_scan_receipt: 0, is_create_stock_sheet: 0, has_remark: 0, drivers: [ '1', '2', // { value: '1', text: '司机1' }, // { value: '2', text: '司机2' }, ], } const hideData = [ { value: 'dayRange', text: '日期', }, { value: 'status', text: '订单状态', }, { value: 'has_remark', text: '订单备注', }, { value: 'app_id', text: '订单来源', }, ] function getStates(label: string) { return Array(3) .fill(0) .map((_, index) => ({ value: `${index + 1}`, text: `${label}${index + 1}`, })) } const dateFilterData = [ { type: 1, diyText: '下单日期', name: '按下单日期', expand: false, // limit: (date: Date) => { // return moment(date) > moment().endOf('day') // }, }, { type: 2, diyText: '收货日期', name: '按收货日期', expand: false, // limit: (date: Date) => { // return moment(date) > moment().add(30, 'day').endOf('day') // }, }, ] const groupOptions = [ { value: 1, children: '广州', }, { value: 2, children: '深圳', disabled: true, }, { value: 3, children: '成都', }, { value: 4, children: '东莞', disabled: true, }, { value: 5, children: '珠海', }, { value: 6, children: '惠州', }, ] export const ComBoxFormControl: FC = () => { const [values, setValues] = useState>({}) const [fieldsValues, setFieldsValues] = useState>({}) const [hides, setHides] = useState[]>([]) const hideItems: ControlledFormProps['hideItems'] = {} hides.forEach((item) => (hideItems[item.value as keyof FilterOptions] = true)) const form = useControlFormRef() const omSubmit: ControlledFormProps['onSubmit'] = (values) => { setValues(values) } const onFieldsChange: OnFieldsChange = ([changeField, changeValue]) => { if (changeField === 'searchType') { } switch (changeField) { case 'app_id': break default: break } } const changeValue = (): void => { form.current.setFieldsValue({ serial_no: '1', app_id: '1', }) } return (
{ return items?.map((item) => item.value) }, }} labelWidth='100px' colWidth='385px' onSubmit={omSubmit} onFieldsChange={onFieldsChange} form={form} >