| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import React, { useRef } from 'react'; |
| | import { Modal, Form } from '@douyinfe/semi-ui'; |
| |
|
| | const SearchModal = ({ |
| | searchModalVisible, |
| | handleSearchConfirm, |
| | handleCloseModal, |
| | isMobile, |
| | isAdminUser, |
| | inputs, |
| | dataExportDefaultTime, |
| | timeOptions, |
| | handleInputChange, |
| | t, |
| | }) => { |
| | const formRef = useRef(); |
| |
|
| | const FORM_FIELD_PROPS = { |
| | className: 'w-full mb-2 !rounded-lg', |
| | }; |
| |
|
| | const createFormField = (Component, props) => ( |
| | <Component {...FORM_FIELD_PROPS} {...props} /> |
| | ); |
| |
|
| | const { start_timestamp, end_timestamp, username } = inputs; |
| |
|
| | return ( |
| | <Modal |
| | title={t('搜索条件')} |
| | visible={searchModalVisible} |
| | onOk={handleSearchConfirm} |
| | onCancel={handleCloseModal} |
| | closeOnEsc={true} |
| | size={isMobile ? 'full-width' : 'small'} |
| | centered |
| | > |
| | <Form ref={formRef} layout='vertical' className='w-full'> |
| | {createFormField(Form.DatePicker, { |
| | field: 'start_timestamp', |
| | label: t('起始时间'), |
| | initValue: start_timestamp, |
| | value: start_timestamp, |
| | type: 'dateTime', |
| | name: 'start_timestamp', |
| | onChange: (value) => handleInputChange(value, 'start_timestamp'), |
| | })} |
| | |
| | {createFormField(Form.DatePicker, { |
| | field: 'end_timestamp', |
| | label: t('结束时间'), |
| | initValue: end_timestamp, |
| | value: end_timestamp, |
| | type: 'dateTime', |
| | name: 'end_timestamp', |
| | onChange: (value) => handleInputChange(value, 'end_timestamp'), |
| | })} |
| | |
| | {createFormField(Form.Select, { |
| | field: 'data_export_default_time', |
| | label: t('时间粒度'), |
| | initValue: dataExportDefaultTime, |
| | placeholder: t('时间粒度'), |
| | name: 'data_export_default_time', |
| | optionList: timeOptions, |
| | onChange: (value) => |
| | handleInputChange(value, 'data_export_default_time'), |
| | })} |
| | |
| | {isAdminUser && |
| | createFormField(Form.Input, { |
| | field: 'username', |
| | label: t('用户名称'), |
| | value: username, |
| | placeholder: t('可选值'), |
| | name: 'username', |
| | onChange: (value) => handleInputChange(value, 'username'), |
| | })} |
| | </Form> |
| | </Modal> |
| | ); |
| | }; |
| |
|
| | export default SearchModal; |
| |
|